Transportschicht (Transport Layer)
Definition und Funktion
Die Transportschicht (Transport Layer) ist eine zentrale Komponente in den Schichtenmodellen der Netzwerkarchitektur, sowohl im ISO/OSI-Modell als auch im TCP/IP-Modell. Ihre Hauptaufgabe besteht darin, eine zuverlässige und effiziente Datenübertragung zwischen Endsystemen zu gewährleisten. Für angehende IT-Fachleute ist das Verständnis der Transportschicht aus mehreren Gründen von großer Bedeutung:
- Zuverlässige Datenübertragung: Die Transportschicht stellt Mechanismen bereit, um eine zuverlässige Datenübertragung sicherzustellen. Dies umfasst Funktionen wie Fehlererkennung und -korrektur, Datenflusskontrolle und die Wiederherstellung verlorener oder beschädigter Pakete. Protokolle wie TCP (Transmission Control Protocol) bieten eine verlässliche, verbindungsorientierte Kommunikation, während UDP (User Datagram Protocol) eine verbindungslose Kommunikation ermöglicht.
- Verbindungsmanagement: Bei verbindungsorientierten Protokollen wie TCP übernimmt die Transportschicht das Management von Verbindungen. Dies umfasst das Einrichten (Handshake), Aufrechterhalten und Beenden von Verbindungen zwischen den Kommunikationspartnern. Dies ist entscheidend für Anwendungen, die eine zuverlässige Datenübertragung erfordern, wie z.B. Webbrowser und E-Mail-Clients.
- Multiplexing und Demultiplexing: Die Transportschicht ermöglicht die gleichzeitige Kommunikation mehrerer Anwendungen über ein Netzwerk. Sie verwendet Portnummern, um Datenströme zu identifizieren und sicherzustellen, dass die Daten an die richtigen Anwendungen weitergeleitet werden. Dies ist besonders wichtig für den Betrieb von Servern, die viele Verbindungen gleichzeitig bedienen müssen.
- Datenflusskontrolle: Die Transportschicht sorgt dafür, dass die Sender die Empfänger nicht mit Daten überfluten. Dies geschieht durch Mechanismen wie das Sliding-Window-Protokoll in TCP, das sicherstellt, dass nur eine bestimmte Anzahl von Datenpaketen gesendet wird, bevor eine Bestätigung empfangen wird.
- Fehlermanagement: Die Transportschicht stellt sicher, dass Fehler in der Datenübertragung erkannt und korrigiert werden. TCP verwendet Prüfsummen, um Datenintegrität zu gewährleisten, und fordert die erneute Übertragung beschädigter Pakete an. Diese Fähigkeit zur Fehlerbehandlung ist entscheidend für die Zuverlässigkeit von Netzwerkanwendungen.
- Anwendungsunterstützung: Die Transportschicht stellt verschiedene Dienste zur Verfügung, die von Anwendungen genutzt werden können. Während TCP eine zuverlässige, verbindungsorientierte Kommunikation bietet, ist UDP ideal für Anwendungen, die geringe Latenz und geringe Overhead-Kosten benötigen, wie z.B. Streaming-Dienste und Online-Spiele.
TCP (Transmission Control Protocol)
Eigenschaften:
- Verbindungsorientiert: TCP stellt vor dem Datenaustausch eine Verbindung zwischen Sender und Empfänger her (Drei-Wege-Handshake).
- Zuverlässigkeit: TCP gewährleistet die zuverlässige Übertragung von Daten, indem es sicherstellt, dass alle Pakete in der richtigen Reihenfolge und ohne Fehler ankommen. Verlorene Pakete werden erneut gesendet.
- Fehlererkennung und -korrektur: TCP verwendet Prüfsummen zur Fehlererkennung und erfordert Bestätigungen (ACKs) für empfangene Datenpakete.
- Datenflusskontrolle: TCP reguliert die Datenmenge, die gesendet werden kann, um den Empfänger nicht zu überlasten (Sliding-Window-Protokoll).
- Segmentierung und Reihenfolge: TCP zerlegt Daten in kleinere Segmente und stellt sicher, dass diese in der richtigen Reihenfolge beim Empfänger ankommen.
Verwendung:
- Geeignet für Anwendungen, die eine zuverlässige Datenübertragung erfordern, wie z.B. Webbrowser (HTTP/HTTPS), E-Mail (SMTP), Dateiübertragungen (FTP), und Remote-Sitzungen (SSH).
UDP (User Datagram Protocol)
Eigenschaften:
- Verbindungslos: UDP benötigt keine Verbindungseinrichtung und -abbau. Daten werden direkt gesendet, ohne vorher eine Verbindung aufzubauen.
- Unzuverlässig: UDP bietet keine Garantie, dass Datenpakete ankommen oder in der richtigen Reihenfolge eintreffen. Es gibt keine Mechanismen zur Fehlerkorrektur.
- Geringer Overhead: Da UDP keine Verbindungsverwaltung und keine Fehlerkorrektur bietet, hat es weniger Overhead und ist schneller als TCP.
- Keine Datenflusskontrolle: UDP reguliert nicht die Datenmenge und bietet keine Flusskontrolle.
Verwendung:
- Geeignet für Anwendungen, die Geschwindigkeit und geringe Latenz bevorzugen und die gelegentliche Datenverluste tolerieren können, wie z.B. Video- und Audiostreaming, Online-Spiele, VoIP (Voice over IP), und DNS (Domain Name System) Anfragen.
Vergleich von TCP und UDP
Merkmal | TCP | UDP |
---|---|---|
Verbindungsorientierung | Ja | Nein |
Zuverlässigkeit | Hoch (mit Fehlerkorrektur und Bestätigung) | Niedrig (keine Fehlerkorrektur) |
Overhead | Hoch (aufgrund von Verbindungsmanagement und Fehlerkorrektur) | Gering (kein Verbindungsmanagement) |
Reihenfolgegarantie | Ja | Nein |
Flusskontrolle | Ja | Nein |
Anwendungsfälle | Web-Browsing, E-Mail, Dateiübertragung | Streaming, Online-Spiele, VoIP, DNS |