- Die Transportschicht wird durch zwei Protokolle repräsentiert: TCP und UDP.
- Das IP-Protokoll in der Netzwerkschicht übermittelt ein Datagramm von einem Quellhost an den Zielhost.
- Heutzutage unterstützt das Betriebssystem Mehrbenutzer- und Mehrprozessorumgebungen, ein ausgeführtes Programm wird als Prozess bezeichnet. Wenn ein Host eine Nachricht an einen anderen Host sendet, bedeutet dies, dass der Quellprozess einen Prozess an einen Zielprozess sendet. Die Transportschichtprotokolle definieren einige Verbindungen zu einzelnen Ports, die als Protokollports bezeichnet werden.
- Ein IP-Protokoll ist ein Host-zu-Host-Protokoll, das zur Übermittlung eines Pakets vom Quellhost an den Zielhost verwendet wird, während Transportschichtprotokolle Port-zu-Port-Protokolle sind, die auf den IP-Protokollen aufbauen, um das Paket vom Ursprungshost zu übermitteln Port zu den IP-Diensten und von IP-Diensten zum Zielport.
- Jeder Port wird durch eine positive Ganzzahladresse definiert und besteht aus 16 Bit.
UDP
- UDP steht für Benutzer-Datagramm-Protokoll .
- UDP ist ein einfaches Protokoll und bietet nichtsequenzierte Transportfunktionen.
- UDP ist ein verbindungsloses Protokoll.
- Diese Art von Protokoll wird verwendet, wenn Zuverlässigkeit und Sicherheit weniger wichtig sind als Geschwindigkeit und Größe.
- UDP ist ein End-to-End-Protokoll auf Transportebene, das den Daten aus der oberen Schicht Transportebenenadressen, Prüfsummenfehlerkontrolle und Längeninformationen hinzufügt.
- Das vom UDP-Protokoll erzeugte Paket wird als Benutzerdatagramm bezeichnet.
Benutzerdatagrammformat
Das Benutzerdatagramm hat einen 16-Byte-Header, der unten dargestellt ist:
Wo,
Quellportadresse: | Es definiert die Adresse des Anwendungsprozesses, der eine Nachricht zugestellt hat. Die Quellportadresse besteht aus einer 16-Bit-Adresse.
Zielportadresse: | Es definiert die Adresse des Bewerbungsprozesses, der die Nachricht erhalten soll. Die Zielportadresse ist eine 16-Bit-Adresse.
Gesamtlänge: | Es definiert die Gesamtlänge des Benutzerdatagramms in Bytes. Es ist ein 16-Bit-Feld.
Prüfsumme: | Die Prüfsumme ist ein 16-Bit-Feld, das zur Fehlererkennung verwendet wird.
Nachteile des UDP-Protokolls
- UDP stellt grundlegende Funktionen bereit, die für die End-to-End-Zustellung einer Übertragung erforderlich sind.
- Es bietet keine Sequenzierungs- oder Neuordnungsfunktionen und gibt beim Melden eines Fehlers nicht das beschädigte Paket an.
- UDP kann erkennen, dass ein Fehler aufgetreten ist, gibt jedoch nicht an, welches Paket verloren gegangen ist, da es keine ID oder Sequenznummer eines bestimmten Datensegments enthält.
TCP
- TCP steht für Transmission Control Protocol.
- Es bietet vollständige Transportschichtdienste für Anwendungen.
- Es handelt sich um ein verbindungsorientiertes Protokoll, bei dem es sich um die Herstellung einer Verbindung zwischen beiden Enden der Übertragung handelt. Zur Herstellung der Verbindung erzeugt TCP für die Dauer einer Übertragung eine virtuelle Verbindung zwischen Sender und Empfänger.
Merkmale des TCP-Protokolls
Stream-Datenübertragung: | Das TCP-Protokoll überträgt die Daten in Form eines zusammenhängenden Bytestroms. TCP gruppiert die Bytes in Form von TCP-Segmenten und leitet sie dann zur Übertragung an das Ziel an die IP-Schicht weiter. TCP selbst segmentiert die Daten und leitet sie an die IP weiter.
Zuverlässigkeit: | TCP weist jedem übertragenen Byte eine Sequenznummer zu und erwartet eine positive Bestätigung vom empfangenden TCP. Wenn innerhalb eines Timeout-Intervalls kein ACK empfangen wird, werden die Daten erneut an das Ziel übertragen.
Der empfangende TCP verwendet die Sequenznummer, um die Segmente wieder zusammenzusetzen, wenn sie in der falschen Reihenfolge eintreffen, oder um die doppelten Segmente zu entfernen.
Ablaufsteuerung: | Beim Empfang sendet TCP eine Bestätigung an den Absender zurück, die die Anzahl der Bytes angibt, die es empfangen kann, ohne dass sein interner Puffer überläuft. Die Anzahl der Bytes wird im ACK in Form der höchsten Sequenznummer gesendet, die problemlos empfangen werden kann. Dieser Mechanismus wird auch als Fenstermechanismus bezeichnet.
Multiplexen: | Multiplexing ist ein Prozess, bei dem Daten von verschiedenen Anwendungen akzeptiert und an die verschiedenen Anwendungen auf verschiedenen Computern weitergeleitet werden. Auf der Empfängerseite werden die Daten an die richtige Anwendung weitergeleitet. Dieser Vorgang wird als Demultiplexen bezeichnet. TCP überträgt das Paket über die als Ports bezeichneten logischen Kanäle an die richtige Anwendung.
Logische Verbindungen: | Die Kombination aus Sockets, Sequenznummern und Fenstergrößen wird als logische Verbindung bezeichnet. Jede Verbindung wird durch das Paar von Sockets identifiziert, die von Sende- und Empfangsprozessen verwendet werden.
Vollduplex: | TCP bietet einen Vollduplex-Dienst, d. h. den Datenfluss in beide Richtungen gleichzeitig. Um einen Vollduplex-Dienst zu erreichen, sollte jeder TCP über Sende- und Empfangspuffer verfügen, damit die Segmente in beide Richtungen fließen können. TCP ist ein verbindungsorientiertes Protokoll. Angenommen, der Prozess A möchte die Daten von Prozess B senden und empfangen. Die folgenden Schritte finden statt: - Stellen Sie eine Verbindung zwischen zwei TCPs her.
- Der Datenaustausch erfolgt in beide Richtungen.
- Die Verbindung wird beendet.
TCP-Segmentformat
Wo,
Quellportadresse: | Es wird verwendet, um die Adresse des Anwendungsprogramms auf einem Quellcomputer zu definieren. Es ist ein 16-Bit-Feld.
Zielportadresse: | Es wird verwendet, um die Adresse des Anwendungsprogramms auf einem Zielcomputer zu definieren. Es ist ein 16-Bit-Feld.
Sequenznummer: | Ein Datenstrom wird in zwei oder mehr TCP-Segmente unterteilt. Das 32-Bit-Sequenznummernfeld stellt die Position der Daten in einem Originaldatenstrom dar.
Bestätigungsnummer: | Eine 32-Felder-Bestätigungsnummer bestätigt die Daten von anderen kommunizierenden Geräten. Wenn das ACK-Feld auf 1 gesetzt ist, gibt es die Sequenznummer an, die der Empfänger erwartet.
Header-Länge (HLEN): | Es gibt die Größe des TCP-Headers in 32-Bit-Wörtern an. Die Mindestgröße des Headers beträgt 5 Wörter und die maximale Größe des Headers beträgt 15 Wörter. Daher beträgt die maximale Größe des TCP-Headers 60 Byte und die minimale Größe des TCP-Headers 20 Byte.
Reserviert: | Es handelt sich um ein Sechs-Bit-Feld, das für die zukünftige Verwendung reserviert ist.
Steuerbits: | Jedes Bit eines Kontrollfeldes funktioniert einzeln und unabhängig. Ein Kontrollbit definiert die Verwendung eines Segments oder dient als Gültigkeitsprüfung für andere Felder.
Es gibt insgesamt sechs Arten von Flags im Kontrollfeld:
URG: | Das URG-Feld gibt an, dass die Daten in einem Segment dringend sind.
ACK: | Wenn das ACK-Feld gesetzt ist, validiert es die Bestätigungsnummer.
PSH: | Das PSH-Feld wird verwendet, um den Absender darüber zu informieren, dass ein höherer Durchsatz erforderlich ist. Daher müssen Daten nach Möglichkeit mit höherem Durchsatz übertragen werden.
RST: | Das Reset-Bit wird verwendet, um die TCP-Verbindung zurückzusetzen, wenn es zu einer Verwechslung der Sequenznummern kommt.
SYN: | Das SYN-Feld wird verwendet, um die Sequenznummern in drei Arten von Segmenten zu synchronisieren: Verbindungsanforderung, Verbindungsbestätigung (mit gesetztem ACK-Bit) und Bestätigungsbestätigung.
ENDE: | Das FIN-Feld wird verwendet, um das empfangende TCP-Modul darüber zu informieren, dass der Absender das Senden von Daten abgeschlossen hat. Es wird beim Verbindungsabbruch in drei Arten von Segmenten verwendet: Abbruchanforderung, Abbruchbestätigung und Bestätigung der Abbruchbestätigung. Fenstergröße: | Das Fenster ist ein 16-Bit-Feld, das die Größe des Fensters definiert.
Prüfsumme: | Die Prüfsumme ist ein 16-Bit-Feld, das zur Fehlererkennung verwendet wird.
Dringender Hinweis: | Wenn das URG-Flag auf 1 gesetzt ist, ist dieses 16-Bit-Feld ein Offset von der Sequenznummer, der angibt, dass es sich um ein letztes dringendes Datenbyte handelt.
Optionen und Polsterung: | Es definiert die optionalen Felder, die dem Empfänger die zusätzlichen Informationen übermitteln.
Unterschiede zwischen TCP und UDP
Vergleichsbasis | TCP | UDP |
Definition | TCP baut vor der Übertragung der Daten eine virtuelle Verbindung auf. | UDP überträgt die Daten direkt an den Zielrechner, ohne zu prüfen, ob der Empfänger empfangsbereit ist oder nicht. |
Verbindungstyp | Es ist ein verbindungsorientiertes Protokoll | Es ist ein verbindungsloses Protokoll |
Geschwindigkeit | langsam | hoch |
Zuverlässigkeit | Es ist ein zuverlässiges Protokoll. | Es ist ein unzuverlässiges Protokoll. |
Headergröße | 20 Byte | 8 Byte |
Wissen | Es wartet auf die Bestätigung der Daten und hat die Möglichkeit, die verlorenen Pakete erneut zu senden. | Es nimmt weder die Bestätigung entgegen, noch überträgt es den beschädigten Frame erneut. |