5.1 Übersicht Transport Layer
Die Transportschicht stellt Anwendungen eine Ende-zu-Ende-Kommunikation zwischen Prozessen bereit. Sie ordnet Daten mithilfe von Ports den richtigen Anwendungen zu und kann - abhängig vom verwendeten Protokoll - Verbindungen, Segmentierung, Reihenfolge, Zuverlässigkeit, Flusssteuerung und Überlastkontrolle bereitstellen. Diese Übersicht grenzt die allgemeinen Layer-4-Aufgaben von den Eigenschaften einzelner Protokolle ab.
Von Host-zu-Host zu Prozess-zu-Prozess
Die Vermittlungsschicht transportiert IP-Pakete zwischen Endsystemen. Die Transportschicht ergänzt darüber eine logische Kommunikation zwischen Anwendungsprozessen. Zwischenliegende Router leiten IP-Pakete weiter, sind aber normalerweise nicht Endpunkt der TCP-, UDP- oder QUIC-Kommunikation.
Für Anwendungen erscheint der Transport weitgehend unabhängig von den konkreten Übertragungsmedien und Zwischenroutern. Vollständig transparent ist er dennoch nicht: Verzögerung, Verlust, verfügbare Bandbreite, MTU und Pfadänderungen beeinflussen den Dienst, den ein Transportprotokoll bereitstellen kann.
| Ebene | Adressiert | Beispiel |
|---|---|---|
| Anwendung | Dienst oder Anwendungsfunktion | HTTPS, DNS, SSH |
| Transport | Prozess beziehungsweise Transportendpunkt | TCP-/UDP-Port oder QUIC-Verbindungskennung |
| Vermittlung | Netzinterface beziehungsweise Host | IPv4- oder IPv6-Adresse |
| Sicherung | Interface im lokalen Link | MAC-Adresse auf Ethernet |
Allgemeine Aufgaben der Transportschicht
Nicht jedes Transportprotokoll erfüllt alle denkbaren Aufgaben. Portadressierung und die Übergabe zwischen Anwendung und IP gehören zum gemeinsamen Kern von TCP und UDP. Zuverlässige Zustellung, geordnete Ausgabe, Verbindungszustand sowie Fluss- und Überlaststeuerung werden dagegen nur von Protokollen angeboten, die diese Funktionen ausdrücklich definieren.
| Aufgabe | Bedeutung | Protokollabhängig? |
|---|---|---|
| Multiplexing und Demultiplexing | mehrere Anwendungen nutzen denselben Host und dieselbe IP-Verbindung | Ports bei TCP und UDP; andere Kennungen sind möglich |
| Segmentierung und Wiederzusammensetzen | Anwendungsdaten in übertragbare Einheiten aufteilen und am Ziel zuordnen | ja, Form und Verhalten unterscheiden sich |
| Verbindungsverwaltung | Zustand aufbauen, halten und beenden | TCP und QUIC ja; UDP nein |
| Zuverlässigkeit | Verluste erkennen und Daten erneut übertragen | TCP und QUIC ja; UDP selbst nein |
| Reihenfolgesteuerung | Daten in der vorgesehenen Reihenfolge an die Anwendung geben | TCP-Bytestrom und QUIC-Streams ja |
| Flusssteuerung | schnellen Sender an die Aufnahmefähigkeit des Empfängers anpassen | TCP und QUIC ja |
| Überlastkontrolle | Sender an die Belastbarkeit des Netzes anpassen | TCP und QUIC ja; nicht Bestandteil des einfachen UDP-Dienstes |
Ports ermöglichen Multiplexing
Ein Host kann gleichzeitig Webzugriffe, Namensauflösung, Fernadministration und viele weitere Kommunikationen ausführen. TCP und UDP verwenden dafür jeweils einen eigenen 16-Bit-Portraum von 0 bis 65535. Ein Port ist keine physische Buchse, sondern eine logische Kennung innerhalb eines Transportprotokolls.
Ein Socket wird im praktischen Sprachgebrauch häufig als Kombination aus IP-Adresse, Transportprotokoll und Port beschrieben. Eine konkrete TCP-Verbindung wird durch Quell-IP, Quellport, Ziel-IP und Zielport eindeutig unterschieden. TCP-Port 53 und UDP-Port 53 sind deshalb getrennte Transportendpunkte.
| Portbereich | Bezeichnung | Einordnung |
|---|---|---|
| 0 bis 1023 | System / Well-Known Ports | für bekannte Dienste; Vergabe durch IANA |
| 1024 bis 49151 | User / Registered Ports | für registrierte Anwendungen und Dienste |
| 49152 bis 65535 | Dynamic / Private Ports | typischer Bereich für kurzlebige Clientports; konkrete Betriebssystembereiche können abweichen |
Segmentierung, Kapselung und Wiederzusammensetzen
Große Datenmengen werden nicht als ein einziges beliebig großes IP-Paket übertragen. Die Transportschicht beziehungsweise die jeweilige Protokollimplementierung bildet passende Einheiten. Bei TCP spricht man von Segmenten, bei UDP von Datagrammen; QUIC transportiert Frames innerhalb von QUIC-Paketen, die wiederum in UDP-Datagrammen liegen.
Der Begriff Blockung bezeichnet in älteren Darstellungen das Zusammenfassen oder Aufteilen von Daten in geeignete Übertragungseinheiten. Moderne Erklärungen unterscheiden genauer zwischen dem Bytestrom oder den Nachrichten der Anwendung, den Einheiten des Transportprotokolls und den daraus gebildeten IP-Paketen.
| Protokoll | Dienst für die Anwendung | Erhält Nachrichtengrenzen? |
|---|---|---|
| TCP | zuverlässiger geordneter Bytestrom | nein - Anwendung muss eigene Struktur festlegen |
| UDP | einzelne Datagramme mit geringem Protokollaufwand | ja |
| QUIC | sichere Verbindung mit mehreren zuverlässigen Streams und optionalen Datagrammen | Stream- beziehungsweise Datagrammstruktur |
Zuverlässigkeit ist kein Automatismus von Layer 4
Die Transportschicht kann einen zuverlässigen Ende-zu-Ende-Dienst bereitstellen, sie muss es aber nicht. TCP erkennt fehlende Daten, bestätigt empfangene Bereiche und überträgt bei Bedarf erneut. UDP garantiert weder Zustellung noch Reihenfolge noch Schutz vor Duplikaten. Benötigt eine UDP-Anwendung solche Eigenschaften, muss sie diese selbst oder durch ein darüberliegendes Protokoll ergänzen.
Auch ein zuverlässiges Transportprotokoll garantiert keinen erfolgreichen Geschäftsprozess. Ein bestätigtes TCP-Segment beweist beispielsweise nicht, dass eine Anwendung einen Datensatz fachlich verarbeitet oder dauerhaft gespeichert hat. Solche Bestätigungen gehören in das Anwendungsprotokoll.
| Ebene | Beispiel einer Bestätigung |
|---|---|
| Transport | Bytes wurden vom Transportendpunkt empfangen |
| Anwendung | HTTP-Anfrage wurde mit einem Status beantwortet |
| Fachprozess | Auftrag wurde geprüft, gespeichert und angenommen |
Flusssteuerung und Überlastkontrolle unterscheiden
Flusssteuerung schützt den Empfänger davor, schneller mit Daten beliefert zu werden, als er sie puffern und verarbeiten kann. Überlastkontrolle schützt den Netzpfad vor zu viel gleichzeitig eingespeistem Verkehr. Beide Mechanismen können die Sendemenge begrenzen, reagieren aber auf unterschiedliche Engpässe.
Die ältere Formulierung einer kosten- oder ressourceneffizienten Übertragung lässt sich heute deshalb präziser fassen: Ein geeignetes Transportprotokoll soll die verfügbaren Ressourcen fair und wirksam nutzen, Verluste und Verzögerungen berücksichtigen und gleichzeitig die Anforderungen der Anwendung erfüllen.
| Mechanismus | Zu schützende Ressource | Typisches Signal |
|---|---|---|
| Flusssteuerung | Empfangspuffer und verarbeitender Endpunkt | vom Empfänger gemeldetes Fenster oder Credit |
| Überlastkontrolle | Netzpfad und gemeinsam genutzte Übertragungskapazität | Verlust, ECN, Laufzeit- und Bestätigungsmuster |
TCP, UDP, QUIC und SCTP einordnen
TCP und UDP bleiben die grundlegenden Transportprotokolle des Internet Protocol Suite und werden auf der nächsten Lernseite detailliert verglichen. QUIC ist ein modernes, verbindungsorientiertes und abgesichertes Transportprotokoll, das zur leichteren Bereitstellung in UDP-Datagrammen transportiert wird. HTTP/3 verwendet QUIC.
SCTP ist ein weiteres standardisiertes Transportprotokoll. Es unterstützt Nachrichten, mehrere Streams und mehrere Netzpfade. Im allgemeinen Client-Server-Alltag ist es deutlich seltener sichtbar als TCP, UDP oder QUIC, gehört aber zur fachlich vollständigen Einordnung moderner Transportprotokolle.
| Protokoll | Grundmodell | Typische Einordnung |
|---|---|---|
| TCP | verbindungsorientierter, zuverlässiger Bytestrom | Web, Mail, Dateiübertragung, Administration und viele weitere Dienste |
| UDP | verbindungsloses Datagramm | DNS, Echtzeitverkehr, einfache Anfragen und Träger für andere Protokolle |
| QUIC | sichere Verbindung mit gemultiplexten Streams über UDP | HTTP/3 und moderne Anwendungen mit geringer Aufbauverzögerung |
| SCTP | zuverlässige Nachrichten mit Multi-Streaming und Multi-Homing | Telekommunikation und spezielle Infrastrukturen |
Historische OSI-Transportprotokollklassen TP0 bis TP4
Das klassische OSI-Transportprotokoll nach ISO/IEC 8073 beziehungsweise ITU-T X.224 definiert fünf Protokollklassen. Diese Klassen sind nicht mit TCP- oder UDP-Portbereichen und nicht mit heutigen Quality-of-Service-Klassen gleichzusetzen. Sie zeigen historisch, wie Transportfunktionen an unterschiedlich zuverlässige Netzdienste angepasst wurden.
ISO/IEC 8072 beschreibt den verbindungsorientierten Transportdienst und seine Qualitätsmerkmale, während ISO/IEC 8073 das dazugehörige Protokoll und die Klassen festlegt. Für heutige Fachinformatiker ist vor allem die Einordnung wichtig; TCP und UDP verwenden diese TP-Klassen nicht.
| Klasse | Bezeichnung | Kernidee |
|---|---|---|
| TP0 | Simple Class | einfacher Transport über einen bereits zuverlässigen verbindungsorientierten Netzdienst |
| TP1 | Basic Error Recovery Class | grundlegende Wiederherstellung nach Netzverbindungsfehlern |
| TP2 | Multiplexing Class | mehrere Transportverbindungen über eine Netzverbindung multiplexen |
| TP3 | Error Recovery and Multiplexing Class | Fehlerwiederherstellung und Multiplexing kombinieren |
| TP4 | Error Detection and Recovery Class | Fehlererkennung, Wiederherstellung, Flusssteuerung und Betrieb auch über verbindungslose Netzdienste |
Transportschicht bei der Fehlersuche
| Prüfschritt | Leitfrage |
|---|---|
| 1. Protokoll | Verwendet die Anwendung TCP, UDP, QUIC oder ein anderes Transportprotokoll? |
| 2. Endpunkte | Welche Quell- und Zieladressen sowie Ports gehören zur Kommunikation? |
| 3. Listener | Lauscht der erwartete Dienst am richtigen Interface und Port? |
| 4. Verbindungszustand | Kommt bei verbindungsorientierten Protokollen ein Handshake zustande? |
| 5. Rückweg | Erreichen Antworten den ursprünglichen Transportendpunkt? |
| 6. Filter und NAT | Blockieren Firewall, ACL oder Übersetzung den benötigten Port oder Zustand? |
| 7. Verlust und Laufzeit | Zeigen Mitschnitt und Messwerte Wiederholungen, Lücken oder auffällige Verzögerungen? |
| 8. Anwendung | Ist der Transport funktionsfähig, aber das Anwendungsprotokoll meldet einen Fehler? |
Quellen zur fachlichen Prüfung
- RFC Editor: RFC 9293 - Transmission Control Protocol
- RFC Editor: RFC 768 - User Datagram Protocol
- RFC Editor: RFC 9000 - QUIC Transport Protocol
- RFC Editor: RFC 9260 - Stream Control Transmission Protocol
- IANA: Service Name and Transport Protocol Port Number Registry
- ITU-T: X.224 - OSI connection-mode transport protocol
- ISO: ISO/IEC 8073:1997 - Connection-mode transport protocol
PDF-Download nach Anmeldung
Zum Schutz der Unterrichtsunterlagen steht der PDF-Download ausschließlich angemeldeten Nutzern zur Verfügung.
