logo

Was ist das Transmission Control Protocol (TCP)?

TCP steht für Übertragungskontrollprotokoll . Es handelt sich um ein Transportschichtprotokoll, das die Übertragung von Paketen von der Quelle zum Ziel erleichtert. Es handelt sich um ein verbindungsorientiertes Protokoll, das heißt, es stellt die Verbindung vor der Kommunikation her, die zwischen den Computergeräten in einem Netzwerk stattfindet. Dieses Protokoll wird mit einem IP-Protokoll verwendet, daher werden sie zusammen als TCP/IP bezeichnet.

Die Hauptfunktionalität des TCP besteht darin, die Daten von der Anwendungsschicht zu übernehmen. Dann teilt es die Daten in mehrere Pakete auf, nummeriert diese Pakete und überträgt sie schließlich an das Ziel. Das TCP hingegen setzt die Pakete wieder zusammen und überträgt sie an die Anwendungsschicht. Da wir wissen, dass TCP ein verbindungsorientiertes Protokoll ist, bleibt die Verbindung bestehen, bis die Kommunikation zwischen Sender und Empfänger abgeschlossen ist.

Jahr der Erfindung des Computers

Merkmale des TCP-Protokolls

Im Folgenden sind die Merkmale eines TCP-Protokolls aufgeführt:

    Transport Layer Protocol

TCP ist ein Transportschichtprotokoll, das zur Übertragung der Daten vom Sender zum Empfänger verwendet wird.

    Zuverlässig

TCP ist ein zuverlässiges Protokoll, da es dem Fluss- und Fehlerkontrollmechanismus folgt. Es unterstützt auch den Bestätigungsmechanismus, der den Status und den ordnungsgemäßen Eingang der Daten überprüft. Beim Bestätigungsmechanismus sendet der Empfänger entweder eine positive oder eine negative Bestätigung an den Sender, sodass der Sender erfahren kann, ob das Datenpaket empfangen wurde oder erneut gesendet werden muss.

    Die Reihenfolge der Daten bleibt erhalten

Dieses Protokoll stellt sicher, dass die Daten den vorgesehenen Empfänger in der gleichen Reihenfolge erreichen, in der sie gesendet werden. Es ordnet und nummeriert jedes Segment, sodass die TCP-Schicht auf der Zielseite sie basierend auf ihrer Reihenfolge wieder zusammensetzen kann.

    Verbindungs ​​orientiert

Es handelt sich um einen verbindungsorientierten Dienst, das heißt der Datenaustausch erfolgt erst nach dem Verbindungsaufbau. Wenn die Datenübertragung abgeschlossen ist, wird die Verbindung beendet.

    Vollduplex

Es handelt sich um Vollduplex, das heißt, die Daten können gleichzeitig in beide Richtungen übertragen werden.

thread.destroy
    Streamorientiert

TCP ist ein stromorientiertes Protokoll, da es dem Sender ermöglicht, die Daten in Form eines Bytestroms zu senden, und es dem Empfänger auch ermöglicht, die Daten in Form eines Bytestroms zu akzeptieren. TCP schafft eine Umgebung, in der sowohl Sender als auch Empfänger durch eine imaginäre Röhre verbunden sind, die als virtueller Schaltkreis bezeichnet wird. Diese virtuelle Verbindung überträgt den Bytestrom durch das Internet.

Bedarf an Transport Control Protocol

In der geschichteten Architektur eines Netzwerkmodells wird die gesamte Aufgabe in kleinere Aufgaben aufgeteilt. Jede Aufgabe ist einer bestimmten Schicht zugeordnet, die die Aufgabe verarbeitet. Im TCP/IP-Modell Die fünf Schichten sind Anwendungsschicht, Transportschicht, Netzwerkschicht , Datenverbindungsschicht und physikalische Schicht. Die Transportschicht spielt eine entscheidende Rolle bei der Bereitstellung einer End-to-End-Kommunikation für die direkten Anwendungsprozesse. Es schafft 65.000 Ports, sodass auf mehrere Anwendungen gleichzeitig zugegriffen werden kann. Es übernimmt die Daten von der oberen Schicht, teilt die Daten in kleinere Pakete auf und überträgt sie dann an die Netzwerkschicht.

TCP

Funktionsweise von TCP

Bei TCP wird die Verbindung durch Drei-Wege-Handshaking hergestellt. Der Client sendet das Segment mit seiner Sequenznummer. Im Gegenzug sendet der Server sein Segment mit seiner eigenen Sequenznummer sowie der Bestätigungssequenz, die um eins höher ist als die Client-Sequenznummer. Wenn der Client die Bestätigung seines Segments erhält, sendet er die Bestätigung an den Server. Auf diese Weise wird die Verbindung zwischen dem Client und dem Server hergestellt.

TCP

Vorteile von TCP

  • Es bietet einen verbindungsorientierten zuverlässigen Dienst, das heißt, es garantiert die Zustellung von Datenpaketen. Wenn das Datenpaket im Netzwerk verloren geht, sendet das TCP die verlorenen Pakete erneut.
  • Es bietet einen Flusskontrollmechanismus mithilfe eines Sliding-Window-Protokolls.
  • Es ermöglicht die Fehlererkennung mithilfe der Prüfsumme und die Fehlerkontrolle mithilfe des Go Back- oder ARP-Protokolls.
  • Es beseitigt die Überlastung durch die Verwendung eines Algorithmus zur Netzwerküberlastungsvermeidung, der verschiedene Schemata wie additive Erhöhung/multiplikative Verringerung (AIMD), langsamer Start und Überlastungsfenster umfasst.

Nachteil von TCP

Es erhöht den Overhead erheblich, da jedes Segment seinen eigenen TCP-Header erhält, sodass die Fragmentierung durch den Router den Overhead erhöht.

TCP-Header-Format

TCP
    Quellport:Es definiert den Port der Anwendung, die die Daten sendet. Dieses Feld enthält also die Quellportadresse, die 16 Bit groß ist.Zielhafen:Es definiert den Port der Anwendung auf der Empfangsseite. Dieses Feld enthält also die Ziel-Port-Adresse, die 16 Bit groß ist.Sequenznummer:Dieses Feld enthält die Sequenznummer der Datenbytes in einer bestimmten Sitzung.Bestätigungsnummer:Wenn das ACK-Flag gesetzt ist, enthält es die nächste Sequenznummer des Datenbytes und fungiert als Bestätigung für die zuvor empfangenen Daten. Wenn der Empfänger beispielsweise die Segmentnummer „x“ empfängt, antwortet er mit „x+1“ als Bestätigungsnummer.HLEN:Es gibt die Länge des Headers an, die durch die 4-Byte-Wörter im Header angegeben wird. Die Größe des Headers liegt zwischen 20 und 60 Byte. Daher würde der Wert dieses Feldes zwischen 5 und 15 liegen.Reserviert:Es handelt sich um ein 4-Bit-Feld, das für die zukünftige Verwendung reserviert ist und standardmäßig alle auf Null gesetzt ist.Flaggen
    Es gibt sechs Steuerbits oder Flags:
      URG:Es stellt einen dringenden Hinweis dar. Wenn es gesetzt ist, werden die Daten dringend verarbeitet.ACK:Wenn ACK auf 0 gesetzt ist, bedeutet dies, dass das Datenpaket keine Bestätigung enthält.PSH:Wenn dieses Feld festgelegt ist, wird das empfangende Gerät aufgefordert, die Daten ohne Pufferung an die empfangende Anwendung zu übertragen.RST:Wenn es gesetzt ist, fordert es den Neustart einer Verbindung an.SYN:Es wird verwendet, um eine Verbindung zwischen den Hosts herzustellen.ENDE:Es wird verwendet, um eine Verbindung freizugeben, und es findet kein weiterer Datenaustausch statt.
    Fenstergröße
    Es ist ein 16-Bit-Feld. Es enthält die Datengröße, die der Empfänger akzeptieren kann. Dieses Feld wird für die Flusskontrolle zwischen Sender und Empfänger verwendet und bestimmt auch die Puffermenge, die der Empfänger einem Segment zuweist. Der Wert dieses Feldes wird vom Empfänger bestimmt.Prüfsumme
    Es ist ein 16-Bit-Feld. Dieses Feld ist in UDP optional, aber im Fall von TCP/IP ist dieses Feld obligatorisch.Dringender Hinweis
    Es handelt sich um einen Zeiger, der auf das dringende Datenbyte zeigt, wenn das URG-Flag auf 1 gesetzt ist. Er definiert einen Wert, der zur Sequenznummer hinzugefügt wird, um die Sequenznummer des letzten dringenden Bytes zu erhalten.Optionen
    Es bietet zusätzliche Optionen. Das optionale Feld wird in 32 Bit dargestellt. Wenn dieses Feld weniger als 32-Bit-Daten enthält, ist eine Auffüllung erforderlich, um die verbleibenden Bits zu erhalten.