TCP ist eine Abkürzung für Transmission Control Protocol und wird als separate Buchstaben ausgesprochen. TCP ist eines der Hauptprotokolle in TCP / IP-Netzwerken. Während das IP-Protokoll nur Pakete behandelt, ermöglicht TCP zwei Hosts, eine Verbindung herzustellen und Datenströme auszutauschen. TCP garantiert die Zustellung von Daten und garantiert auch, dass Pakete in derselben Reihenfolge zugestellt werden, in der sie gesendet wurden.
Wie funktioniert eine TCP-Verbindung?
Um eine TCP-Verbindung herzustellen, muss eine Konversation zwischen Client und Server stattfinden. Dies wird üblicherweise als dreistufiger Handschlag bezeichnet:
-
Der Client initiiert den Kontakt mit einem SYN-Paket (Synchronize) und einer Zufallszahl als Fehlerprüfungsmaßnahme. (Dazu später mehr.)
-
Sobald der Server das Paket empfangen hat, gibt er das Signal zurück, um die Verbindung zu beginnen, indem er ein SYN-ACK-Paket sendet und die ursprüngliche Zufallszahl um eins erhöht. Der Server sendet auch eine eigene Zufallszahl an den Client.
-
Der letzte Schritt besteht darin, dass der Client ein ACK-Paket (Bestätigungspaket) an den Server sendet, sobald er die Übertragung in Schritt XNUMX empfangen hat. Der Client erhöht auch beide Zufallszahlen um eins und gibt sie an den Server zurück.
Sobald die TCP-Verbindung hergestellt ist, können Server und Client sofort mit der Datenübertragung beginnen. Es ist wichtig zu beachten, dass bei einer Verzögerung beim Empfang der Bestätigungspakete (SYN-ACK oder ACK) ein Prozess namens Zeitüberschreitung bei erneuter Übertragung verwendet wird, um ein Paket nach einer bestimmten Zeitdauer automatisch erneut zu übertragen.
Wie lange dauert eine TCP-Verbindung?
Theoretisch können TCP-Verbindungen unbegrenzt dauern, sobald sie hergestellt wurden. In der Praxis halten sie jedoch normalerweise nur so lange an, bis eine externe Kraft eingreift oder eine Unterbrechung der Verbindung verursacht, z. B. ein NAT-Router, eine Firewall, Bandbreitenprobleme usw. In den meisten Fällen wird ein Keepalive-Signal verwendet, um eine inaktive Verbindung regelmäßig zu überprüfen und verhindern Sie Unterbrechungen oder Brüche. Wenn das Keepalive-Signal nach einer bestimmten Zeitspanne nicht gesendet oder empfangen wird (abhängig von der eindeutigen Übertragungsgeschwindigkeit der Verbindung), läuft die Verbindung ab und muss wiederhergestellt werden.
Unterscheiden sich TCP und UDP?
Ja. Zwar gibt es Ähnlichkeiten in der Funktionsweise von TCP und UDP (User Datagram Protocol) und in der Funktionsweise innerhalb eines IP-Stacks, es gibt jedoch klare Unterschiede in der Funktionsweise und der Verwendung. Sprach- und Videoverkehr wird im Allgemeinen über UDP gesendet, und eine Reihe von Internetanwendungen verwenden das Protokoll, z. B. DNS (Domain Name Service), SNMP und DHCP.
TCP |
UDP |
Stellt eine Verbindung zwischen Server und Client her, bevor Daten freigegeben werden |
Startet das Senden von Daten, bevor die Verbindung hergestellt wurde |
Bietet eine Fehlerprüfung während der Übertragung, um sicherzustellen, dass die Daten vollständig, in der richtigen Reihenfolge und ohne Beschädigung geliefert werden |
Garantiert keine Datenlieferung, Bestellung oder Richtigkeit |
Verwendet Übertragungspuffer, um den Datenfluss zu steuern |
Überträgt Daten kontinuierlich oder löscht nicht erfolgreiche Übertragungen |
Relativ langsamer als UDP |
Relativ schneller als TCP |
Verwendung: Anforderungen an hohe Zuverlässigkeit (z. B. HTTP / HTTPS, FTP, E-Mail usw.) |
Verwendung: Anforderungen an hohe Geschwindigkeit und Effizienz (z. B. Video-Streaming, DNS, VoIP usw.) |