Die Anwenderdaten werden mit Portnummern versehen, je nach Priorität dem TC- oder UD-Protokoll zugeordnet und in einzelne Segmente aufgeteilt bevor sie auf die Reise gehen.
In diesem Artikel lernst Du, wie im Transport Layer diese Aufgaben definiert werden und mit welchen Eigenschaften sie verbunden sind. Du lernst den Aufbau von TCP- und UDP-Header sowie verschiedene Portnummern kennen. Darüber hinaus wird Dir der TCP-Verbindungsauf- und -abbau, die TCP-Übertragung und das TCP-Sliding-Window erklärt.
Aufgaben des Transportlayers
Segmentierung | Die Anwendungsdaten werden in einzelne Segmente aufgeteilt. Die Segmentgröße ist passend für die Verbindung. |
---|---|
Portnummervergabe | Daten erhalten für die Anwendungszuordnung eine eindeutige Portnummer. |
Muliplexing, Demultiplexing | Eingehende und ausgehende Daten auf einem Kanal, werden den Anwendungen zugeordnet. |
TCP-, UDP | Protokollzuordnung, je nachdem ob Geschwindigkeit oder Zurverlässigkeit bei der Übertragung gewünscht ist. |
Die wichtigsten TCP-Headerinformationen im Überblick:
Die wichtigsten UDP-Headerinformationen im Überblick:
well kown ports
Portnr. | Protokoll | Applikation |
---|---|---|
20, 21 | TCP | FTP - File Transfer Protocol - Data, Control |
22 | TCP | SSH - Secure Shell |
25 | TCP | SMTP - Simple Mail Transfer Protocol |
53 | UDP TCP | DNS - Domain Name Server |
67, 68 | UDP | DHCP - Dynamic Host Configuration Protocol - Server, Client |
69 | UDP | TFTP - Trivial File Transfer Protocol |
80 | TCP | HTTP - Hyper Text Transfer Protocol |
110 | TCP | POP3 - Post Office Protocol |
143 | TCP | IMAP - Internet Message Access Protocol |
161 | UDP | SNMP - Simple Network Management Protocol |
443 | TCP | HTTPS - Hyper Text Transfer Protocol Secure |
Mit Portnummern werden den Datenpaketen eindeutige Nummern für die Identifizierung der Anwendung zugeordnet. Man unterscheidet drei Gruppen von Portnummern:
Bei der Datenübertragung wird jedes Segment mit einer Source-Portnummer und Destination-Portnummer versehen. Bei einem Internetseitenaufruf ist die Portzielnummer 80 und die Portquellnummer bspw. 1305.
Zu jeder Datenübertragung gehören immer die folgenden Adressen:
Die Paare aus IP-Adresse und Portnummer bezeichnet man als Socket:
Quellsocket: 10.1.1.1:1305
Zielsocket: 10.1.1.2:80
Der Befehl netstat
zeigt im Terminal unter Windows, Linux oder MAC OS die derzeit aktiven Verbindungen an.
Wähle die korrekten Aussagen aus.
Nenne die korrekte Beschreibung des Ports im Transport Layer.
Wähle eine Antwort.
Wähle die Portnummer für einen HTTP-Request.
Wähle eine Antwort.
Welche Aussage über eine TCP-Verbindung ist wahr.
Wähle zwei Antworten.
Bestimme die wahre Aussage über Segmente.
Wähle eine Antwort.
Bestimme die well known Ports.
Wähle zwei Antworten.
Ein Anwender sendet eine Email. Wähle das
Zielsocket.
Wähle eine Antwort.
Für den Verbindungsaufbau werden die Sequenz Number SEQ, die Acknowledgement Number ACK und das Kontrollbit SYN verwendet.
Für den Verbindungsabbau werden die Sequenz Number SEQ, die Acknowledgement Number ACK und das Kontrollbit FIN verwendet.
Man beachte: TCP kann durch die Übermittlung von Sequenznummern empfangene Daten wieder in die richtige Reihenfolge bringen.
Auch können Verbindungen über das Kontrollbit RST direkt getrennt werden.
Nach dem Verbindungsaufbau wird ein Teil der Segmente übertragen und bestätigt.
Man beachte, dass die Acknowledgment-Nummer immer eins höher ist als das zuletzt empfangene Segment.
Sollte innerhalb einer bestimmten Zeit kein Acknowledgment kommen, wird das Segment erneut versendet.
Kommt es bei der Verbindung zu einem Fehler wird nur das letzte korrekte Segment bestätigt.
Dadurch muss in diesem Fall Segment 3 - 4 nochmals übertragen werden, auch wenn Segment 4 schon ankam.
Abhilfe schafft das selektive Acknowledgement SACK.
Dadurch müssen nur die fehlerhaften Segmente erneut übertragen werden.
Es werden nicht alle Segmente auf einmal übertragen, sondern immer nur eine maximal festgelegte Anzahl. Hierfür steht das sliding window:
Die Segmente 1-2 wurden gesendet und bestätigt.
Die Segmente 3-6 wurden gesendet und noch nicht bestätigt.
Die Segmente 7-9 können noch gesendet werden.
Die Segmente 10, 11, ... können noch nicht gesendet werden.
Tatsächlich wird die Fenstergröße (engl. window) nicht in Segmente angegeben, sondern in Byte. Die maximale Größe beträgt Window=65535 Byte. Ebenso wird maximale Segmentgröße (engl. maximum segment size) beim Verbindungsaufbau festgelegt, bspw. MSS=1460 Byte. Somit ergibt sich die Mindestanzahl an Segmenten im Sliding Window zu:
$$\text{Segmentanzahl}=\frac{Window}{MSS}$$Wähle die korrekten Aussagen zur gegebenen Schaltung aus.
Beim TCP-Verbindungsaufbau sendet PC A: SEQ=200 SYN=1. Bestimme die Antwort von PC B.
Wähle eine Antwort.
Beim TCP-Verbindungsabbau sendet PC A: SEQ=200 FIN=1. Bestimme die Antworten von PC B.
Wähle zwei Antworten.
Bei einer TCP-Übertragung von 8 Segmenten ist Segment 4 fehlerhaft. Bestimme die Rückantwort.
Wähle eine Antwort.
Bei einer TCP-Übertragung von 12 Segmenten ist Segment 4+5 fehlerhaft. Bestimme die Rückantwort.
Wähle eine Antwort.
Bei der Übertragung wird window=20000 angegeben und MSS=1600. Bestimme die Mindestanzahl an Segmenten im sliding window.
Wähle eine Antwort.
Bei der Übertragung breträgt die Mindestanzahl an Segmenten im sliding window 41 und MSS=1600.
Bestimme die Fenstergröße window.
Wähle eine Antwort.
die Segmentierung, -en | das Aufteilen von Anwenderdaten in einzelne Segmente, dabei werden diese u.a. mit Portnummern versehen |
die Portnummer, -n | einzelne Segmente erhalten für die Anwendungszuordnung eine eindeutige Nummer |
well known ports, - | Portnummern für Standard Serverdienste |
Multiplexing, - | ausgehende Daten verschiedener Anwendungen werden hintereinander auf einen Kanal übertragen |
Demultiplexing, - | eingehende Daten auf einem Kanal werden auf verschiedene Anwendungen verteilt |
TCP | Transmission Control Protocol - zuverlässig |
UDP | User Datagram Protocol - schnell |
connectionless | verbindungslos: es gibt keine direkte Verbindung zum Empfänger der Nachricht |
best effort | unzuverlässig: die Auslieferung des IP-Pakets wird nicht gewährleistet |
connection-based | die Verbindung wird auf- und abgebaut und besteht ununterbrochen während der Übertragungsdauer |
das Socket, -s | ein Paar aus IP-Adresse und Portnummer, z.B. 10.1.1.1:80 |
der TCP-Verbindungsaufbau, - | Beim sogenannten "three-way-handshake" wird mit Hilfe der Sequenznummer SEQ, der Bestätigungsnummer ACK und dem Kontrollbit SYN eine Verbindung aufgebaut. |
der TCP-Verbindungsabvbau, - | Mit Hilfe der Sequenznummer SEQ, der Bestätigungsnummer ACK und dem Kontrollbit FIN wird die Verbindung getrennt. |
positive acknowledgment and retransmission | PAR regelt bei TCP das Versenden von Daten und die erneute Übertragung von fehlerhaften Daten |
sliding window | Die Fenstergröße gibt bei TCP die maximal zulässige Anzahl an versendbaren Segmenten an, bevor diese vom Empfänger bestätigt werden müssen. |