Transportschicht Flashcards
Aufgaben und Eigenschaften der Transportschicht
End-zu-End-Datenübertragung über unzuverlässige 3. Schicht (Vermittlungsschicht)
- Zuordnung von ein-/ausgehenden Datenströmen zur Anwendung
mögliche Eigenschaften: - Fehlerbehandlung (fehlerhafte oder verlorene Daten)
- Flusskontrolle (Übertragungsrate)
- Reihenfolgegarantie
Wie funktioniert die Zuordnung der Datenströme zu Anwendungen?
Transportschicht unterteilt jeden Netzadapter in 2^16 Ports (hier virtuelle “Briefkästen”, bei Switch/Router physische Anschlüsse)
Anwendungen reservieren sich Ports bevor sie Daten empfangen / senden
Was sind Sockets
Kommunikationsendpunkte
IP-Adresse + Portnummer
x.x.x.x:x
Protokolle der Transportschicht im Internet. Unterschiede in Eigenschaft / Funktionalität + Einsatzzwecke
User Datagram Protocol (UDP)
- keine optionalen Eigenschaften (keine Fehlerbehandlung, keine Flusskontrolle, keine Reihenfolgegarantie)
- Ports für Zuordnung von Anwendungen und Datenströmen
- bei Echtzeit-Übertragungen (Audio-, Video-Streams)
Transport Control Protocol (TCP)
- optionale Eigenschaften (Flusskontrolle, Reihenfolgegarantie, Fehlererkennung und Neusenden) jeweils End-zu-End
- Ports für Zuordnung von Anwendungen und Datenströmen
- bei zuverlässigen Verbindungen (Email, Browsern, Downloads)
Welche Unterschiede gibt es in Ports
Es gibt speziell reservierte (<=1024)
und frei wählbar (>1024)
Wie funktioniert die TCP-Verbindung
TCP Aufbau:
- Client sucht sich freien Port
- TCP-Verbindungsaufbau per 3-Wege-Handshake
TCP-Datenaustausch:
- Anfrage Client -> Server
- Antwort Server -> Client (mit eigentlichen Inhalten)
TCP-Verbindungsabbau
Was ist der 3-Wege-Handshake?
- Client senden SYN-Flag mit zufälliger seq and Server
- Server antwortet mit SYN-, ACK-Flag mit zufälliger seq und der seq+1 der Clients als ack
- Client antwortet mit ACK-Flag und der ack des Servers als seq bzw. dem seq+1 des Servers als ack
Wie findet der TCP-Datenaustausch statt?
- Client sendet Daten und seq an Server
- Server antwortet mit ACK-Flag und eigener seq, ack mit dem Wert seq des Client + gesendete Daten, win mit der Größe des Empfangspuffers
- Clientsendet neue Daten mit ack der Antwort als seq
- ….
- Server sendet ACK-Flag, seq, ack und win=0 -> Puffer voll
- Client wartet
- Anwendung liest Daten aus Puffer -> Puffer leert sich
- Server sendet ACK-Flag mit neuer win size etc.
Wie findet der TCP-Verbindungsabbau statt?
- Client (oder Server) sendet FIN-Flag und ACK-Flag mit seq und ack
- Server antwortet mit ACK-Flag und seq die ack des Clients entspricht und ack die seq+1 des Clients entspricht
- Server sendet selbst FIN-Flag und ACK-Flag mit seq und ack (siehe Schritt vorher für Werte)
- Client sendet ACK-Flag mit seq die ack des Servers entspricht und ack die seq+1 des Servers entspricht
Wie sieht die Verschachtelung der Daten aus für die Schichten 2 bis 4 (Vermittlungsschicht, Sicherungsschicht, Transportschicht)?
Die Nutzdaten werden in Segmente mit Segmentheader gepackt.
Die Segmente werden in IP-Paket mit Paket-Header gepackt.
Das IP-Paket wird in Ethernet-Rahmen mit Rahmen-Header gepackt.