Semester 1 Flashcards
Tupel für TCP Socket Adressierung
Quell IP, Ziel IP, Quell Port, Ziel Port
Tupel für UDP Socket Adressierung
Ziel-IP, Ziel-Port
Name für Datenpaket auf Transportebene
Segment
Eigenschaften von TCP
Verbindungsorientiert, Zuverlässig, Reihenfolgeerhaltung, Flusskontrolle, Staukontrolle
Eigenschaften UDP
Verbindungslos
Minimale Schicht über IP
Anwendungen für UDP
Media Streaming
DNS
SNMP
RDT
Reliable Data Transfer
Fehlerbild RDT 1.0
Fehlerfreie Netzwerkschicht unter der Transportschicht
Fehlerbild RDT 2.x
Einführung von Bitfehler
Kein Paket geht verloren
Fehlerbild RDT 3.0
Zu Bitfehlern kommen Paketverluste hinzu
Fehlerbild 4711
Nur Paketverluste
Lösungsansatz RDT 2.x
Bestätigung (ACKs, bis 2.1 auch NAKs, danach ACKs mit Sequenznummer)
Prüfsumme in Paketen (Datenpakete wie ACK-Pakete)
Wiederholtes Senden von Paketen
Sequenznummern, um Dubletten von neuen Daten unterscheiden zu können
Lösungsansatz RDT 3.0
Wie RDT 2.2, aber zusätzlich noch:
Timer auf Senderseite
Handling: Bei Paketversand Timer stellen, Nach Timeout Wiederholung des Paketes, dann Timer neu stellen, bei Empfang des richtigen ACK Timer stoppen
Go-Back-N
N Pakete gleichzeitig in Übertragung
Empfänger erwartet Pakete in korrekter Reihenfolge, kumulatives ACK
Bei Timeout Wiederholung des ältesten unbestätigten Paketes, sowie aller folgenden Pakete
Minimiert Speicherbedarf bei Empfänger
Selective Repeat
N Pakete gleichzeitig in Übertragung
Empfänger puffert Paket in einzelnes ACK
Pro Paket ein Timer auf Senderseite
Bei Timeout Wiederholung nur des einen Paketes
Minimiert Netzwerklast vom Sender zum Empfänger
TCP Header
- 2 Byte größe:
Quellport
Zielport
Reveicer Window
Checksum
Urgent Data Pointer - 4 Byte größe
Sequence number
Acknowledgement number - Sonstiges
Header Lengts
Flags UAPRSF
Options
TCP Charakteristika
Punkt zu Punkt
Verbindunsorientiert
Übertragung zuverlässigen Bytestroms
Voll-Duplex
Pipelined
Flusskontrolle
Staukontrolle
Berechnung TCP Timeout
EstimatedRTT + 4 * DevRTT
Glättung EstimatedRTT
(1-a)EstimatedRTT+aSampleRTT für a beispielsweise = 1/8
Glättung DevRTT
(1-b)DevRTT + b|SampleRTT-EstimatedRTT|
für beispielsweise b = 1/4
TCP RDT
Einen Timer für das älteste unbestätigte Paket
Kumulative ACKs
Bei Timeout senden nur des ältesten unbestätigten Paketes
Neuversand bei Timer oder bei 3 Dubletten in den ACKs
Puffer bei Empfänger für Pakete außerhalb der Reihenfolge kann, muss aber nicht implementiert werden
TCP Congestion Control
Duplikate in den ACKs -> Halbierung der letzten Datenrate, dann lineares Wachstum
Timeout -> Reduktion der Datenrate auf 1 unbestätigtes Paket, dann TCP Slow Start bis 1/2 mal letztes Maximum, dann linear weiter
ATM ABR Congestion Control
RM-Zellen
NI-BIT -> No Increase
CI-Bit -> Congestion indication
AIMD
AIMD = additive increace - multiplicative decrease
Kein Paketverlust: Senderate wird erhöht
Bei Paketverlust: Senderate wird verringert
TCP Slow Start
Exponentielles Wachstum bis entweder Paketverlust oder Schwellwert (1/2 * letztes Maximum)
TCP Cubic
Nach Halbierung der Datenrate, zu Beginn schnellere Annäherung an altes Maximum, dann vorsichtigere Annäherung durch kubische Kurve
Delayed-based TCP congestion control
Basis: Minimal beobachtete RTT
RTT nahe RTT-min: cwnd linear erhöhen
RTT viel höher: cwnd linear verringern
Erläutere QUIC
HTTP/2 using UDP
Schnellerer Verbindungsaufbau, da kein seperater TLS Handshake nötig
Bei Paketverlust: Kein HOL-Blocking, Keine Halbierung cwnd
Was ist Multiplexing allgemein und welche Funktion erfüllt es?
Ein Prozess, durch den mehrere Datenströme über einen Übertragungskanal gesendet werden um Bandbreite effizient zu nutzen
Was ist Demultiplexing allgemein und welche Funktion erfüllt es?
Ist ein Prozess, bei dem die am Ziel empfangenen kombinierten Datenströme wieder getrennt werden und einer entsprechenden Anwendung zugeordnet werden
Multiplexing UDP auf Senderseite
Daten werden von mehreren Sockets verarbeite und in ein Transport-Header hinzugefügt
Transport-Header enthält Informationen wie Ziel-Port, Ziel-IP
Demultiplexing in UDP
Host verwendet IP-Adresse und Portnummer, um ein empfangenes Segment dem entsprechendem Socket zuzuordnen
CIDR
Classless Inter-Domain Routing
forwarding vs. routing
Forwarding: Weiterleitung eines Paketes auf die entsprechende Ausgangskarte eines Routers auf Basis einer Weiterleitungstabelle
Routing: Berechnung optimaler Routen von einer Quelle zu einer oder mehreren Senken. Das Ergebnis kann in eine Weiterleitungstabelle gewandelt werden
SDN
Software Defined Networking
Verbindungsorientierte Netzwerkarchitekturen
ATM, X.25, frame relay
Dienstgüten für einzelne Pakete bzw. für einen Strom von pakete
Garantierte Auslieferung
Garantierte maximale Verzögerung
Reihenfolgeerhaltung
Minimale durchschnittliche Datenrate
Beschränkte Varianz in den Ankunftszeiten von Paketen
Eigenschaften von ATM ABR
Garantierte Reihenfolge
Garantierte minimale Bandbreite
Stau-Feedback
Abkürzung ATM ABR
Asynchronous Tranfer Mode - Available BIt Rate
Virtual Curcuit
Virtuelle Verbindung, ähnlich zu analoger Telefonie-Tecknig
Vor Datenaustausch Aufbau eines virtuellen Pfades von Quelle zu Senke:
- Aushandlung / Reservierung von Quality of Service Werten (Garantien)
Besteht aus
- Pfad, VC Nummern pro Link, Einträgen in Routingtabelle
QoS
Quality of Service
Matching von Routing Einträgen
Longest prefix matching
Swichting Fabrik Typen
Hauptspeicher (2 x Bus) (Gemeinsamer Speicher)
Bus (Zentraler Bus zw. Ports)
Crossbar (Matrix von Schaltern verbindet Eingangs und Ausgansport)
HOL-Blocking
Head of the line BlockingS
Scheduling Strategien in Routern
First come first serverd
Priority
Round Robin
Weighted fair queueing
ICMP
Internet Control Message Protocol
IPv4 Header
4 Byte:
- Source IP
- Destination IP
- Fragmentation Management
2 Byte:
- Datagram Lenght
Sonstiges
- Time to live
- Upper Layer
- Type of Service
- Header lenght
- Version
- Options
DHCP
Dynamic Host Configuration Protocol
Was wird beim DHCP an Konfig Daten mitgegeben
IP Adresse
Subnetz Maske
Gateway Adresse
DNS Adresse
ICANN
Internet Corporation for Assigned Names and Numbers
NAT
Network Address Translation
NAT Traversal Problem
Problem: Server hinter NAT nicht von außen erreichbar
Lösung:
- Statische Port-Weiterleitung
- Dynamische Port-Weiterleitung über UPnP im IGD Protocol
- Relay Knoten im Netz, der von beiden Teilnehmern kontaktiert wird (Skype Ansatz)
IGD Protocol
Internet Gateway Device Protocol
UPnP
Universal Plug and Play
IPv6 Header
16 Bytes:
- Quell IP
- Ziel IP
Sonstiges:
- Version
- Priority
- Flow Label
- Payload length
- next Header
- Hop limit
IPv6 Änderungen
128 Bit Adressen statt 32 Bit Adressen
Keine Checksum
Keine Fragmentierung
Feste Headergrößen
QoS Support: Flow Label und Priority
Arten von Middleboxes
Cache
Firewall
Load Balancer
Intrusion Detection
Application Specific (z.B. CDNs)
Link-State Verfahren
Globales Wissen über Graph
- Knoten (Router)
- Kanten (Link)
- Kosten
Router versenden Zustand regelmäßig per Broadcast im Routernetz
Jeder Knoten berechnet seine Routingtabelle auf Basis vollst. Informationen
Distance Vector Verfahren
Austausch von Kostenvektoren mit direktem Nachbarn
Berechnung auf Basis der Kosten der Nachbarn sowie der Kosten zu den Nachbarn
Versand des eigenen Vektors nach jeder Änderung
Bellman Ford Gleichung
Kosten für Knoten x zu Ziel y ist das Minimum, gesucht über alle direkten Nachbarn, über Summe der Kosten zum jeweiligen Nachbarn wie dessen Kosten zum Ziel y
d-x(y) = min-v{c(x,y) + dv(y)}
AS
Autonomes System
hot potatoe routing
Weiterleitung eines Paketes auf dem für den Betreibers des AS kostengünstigsten Weges aus seinem System, nicht über den bezüglich der Gesamtkosten günstigsten Weg
Scheduling Strategien im Router
FCFS
Priority
Round Robin
Weighted fair queuing
Strategie FCFS
Pakete werden in der Reihenfolge versandt, in der sie eintreffen
Strategie Priority
Erst werden alle hochprioren Pakete versandt, dann erst niedrig priore Pakete -> Verhungern!
Strategie Round Robin
Pakete werden in Prioritäten-Queues sortiert. Diese kommen jeweils nacheinander dran
Strategie Weighted Fair Queueing
Wie Round Robin, aber der Anteil der jeweiligen Queue am Gesamtvolumen kann adaptiert werden
Idee Generalized Forwarding
Pattern auf Basis von Feldern der Header von Schicht 2 bis Schicht 4, dazu dann Actions, z.B. drop, forward, modify, log
RFC
Request for comments
IETF
Internet Engineering task force
IP
Internet Protocol
http
hypertext transfer protoco
udp
user datagram protocol
tcp
transmission control protocol
tp
twisted pait
dsl
digital subscriber lin
hfc
hybrid fiber coax
fdm
frequency division multiplexing
tdm
time division multiplexing
ISP
Internet service provider
DNS
Domain Name System
lan
local area network
wan
wide area network
URL
Uniform ressource locator
RTT
Round Trip Time
FTP
File Transfer Protocol
SMTP
Simple Mail Transfer Protocol
MIME
Multipurpose Mail extensions
POP
Post office Protocol
IMAP
Internet Message Access Protocol
TLD
Top Level Domain
SNMP
Simple Network management Protocol
DASH
Dynamic Adaptive Streaming over HTTP
OTT
Over the top
CDN
Content Distribution Network
Welche Aussagen treffen auf Pipelining zu?
Die Anzahl unterschiedlicher Paketnummern muss größer sein als die Anzahl nicht bestätigter Pakete
Pipelining erfordert im Vergleich zu stop and wait auf Empfänger und Senderseite immer ein vielfaches an Puffer
Was trifft auf go back n und selective repeat zu?
Bei Selective repreat wird jedes Segment seperat bestätigt
Selective repreat minimiert Datenverkehr zw. Sender und Empfänger
Go back N ist einfach zu implementieren als selective repeat
Berechnung Checksum
Addition beider zahlen und dann einerkomplement
UDP/TCP Aussagen
UDP ist eine dünne Transportschicht oberhalb von IP, welche fast keine Zusatzfunktion bietet
TCP-Socket addresiert sich aus Portnummer, IP von Quell und Ziel