ScholarGate
Assistent

Transmission Control Protocol

Das Transmission Control Protocol ist das verbindungsorientierte Transportprotokoll des Internets, das einen zuverlässigen, geordneten Vollduplex-Byte-Stream zwischen zwei Prozessen bereitstellt, inklusive integrierter Flusskontrolle und Überlastkontrolle.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Das Transmission Control Protocol ist ein verbindungsorientiertes Transportprotokoll, das eine zuverlässige, geordnete und fehlergeprüfte Übertragung eines Byte-Streams zwischen Anwendungsprozessen ermöglicht, inklusive Verbindungsaufbau und -abbau, Flusskontrolle und Überlastkontrolle.

Scope

Dieses Thema behandelt spezifisch TCP: seine Segmentstruktur, den Drei-Wege-Handshake zur Verbindungsherstellung und die Verfahren zu deren Beendigung, Sequenz- und Bestätigungsnummern, kumulative Bestätigungen, Neuübertragung mit adaptiver Timeout-Schätzung und schneller Neuübertragung sowie die Flusskontrolle über das Empfangsfenster. Es ordnet TCP als konkrete Realisierung von Prinzipien der zuverlässigen Datenübertragung plus Verbindungsmanagement ein. Sein Überlastkontrollverhalten wird hier zusammengefasst, aber im Thema Überlastkontrolle ausführlich behandelt.

Core questions

  • Was bewirkt der Drei-Wege-Handshake, und wie wird eine Verbindung geschlossen?
  • Wie verfolgen TCP-Sequenz- und Bestätigungsnummern einen Byte-Stream?
  • Wie schätzt TCP Timeouts und nutzt schnelle Neuübertragung zur Wiederherstellung nach Verlust?
  • Wie implementiert das Empfangsfenster die Flusskontrolle?
  • Wie kombiniert TCP Zuverlässigkeit, Flusskontrolle und Überlastkontrolle in einem Protokoll?

Key concepts

  • verbindungsorientierter Dienst
  • Drei-Wege-Handshake
  • TCP-Segmentstruktur
  • Sequenz- und Bestätigungsnummern
  • kumulative Bestätigung
  • Schätzung des Neuübertragungs-Timeouts
  • schnelle Neuübertragung
  • Flusskontrolle und Empfangsfenster
  • Byte-Stream-Abstraktion

Key theories

Verbindungsmanagement
TCP stellt eine Verbindung mit einem Drei-Wege-Handshake her, der anfängliche Sequenznummern synchronisiert, und beendet sie mit einem geordneten Austausch, wodurch jedem Ende ein konsistenter Zustand für einen zuverlässigen, Vollduplex-Byte-Stream bereitgestellt wird.
Zuverlässige Byte-Stream-Übertragung
TCP nummeriert jedes Byte, verwendet kumulative Bestätigungen und adaptive Neuübertragungs-Timer und wendet eine schnelle Neuübertragung bei doppelten ACKs an, wodurch ein zuverlässiger, geordneter Stream anstelle diskreter Nachrichten geliefert wird.
Flusskontrolle über das Empfangsfenster
Der Empfänger teilt mit, wie viel Pufferplatz er hat, und der Sender begrenzt seine ausstehenden Daten auf dieses Fenster, wodurch verhindert wird, dass ein schneller Sender einen langsamen Empfänger unabhängig von der Netzwerküberlastung überfordert.

Clinical relevance

TCP transportiert die überwiegende Mehrheit des zuverlässigen Internetverkehrs, einschließlich Web, E-Mail und Dateiübertragungen, sodass sein Verhalten direkt die Leistung dieser Anwendungen bestimmt. Sein Verbindungsaufbau führt zu Latenzzeiten, die neuere Protokolle zu reduzieren versuchen; seine Fluss- und Überlastkontrolle prägen den Durchsatz, und das Verständnis von TCP ist essenziell für Leistungsoptimierung, das Verhalten von Firewalls und NAT sowie die Diagnose von blockierten oder langsamen Verbindungen.

History

TCP entstand 1974 aus dem Cerf-Kahn-Protokoll für die Internetvernetzung, ursprünglich als einzelnes Protokoll, das später in TCP und IP aufgeteilt wurde. Es wurde 1981 in RFC 793 standardisiert und über Jahrzehnte verfeinert – adaptive Timeouts, schnelle Neuübertragung und Wiederherstellung, Fensterskalierung und selektive Bestätigung – wobei die Spezifikation 2022 in RFC 9293 konsolidiert und aktualisiert wurde.

Key figures

  • Vinton Cerf
  • Robert Kahn
  • Van Jacobson

Related topics

Seminal works

  • cerf1974
  • rfc9293
  • kurose2021

Frequently asked questions

Was ist der TCP-Drei-Wege-Handshake?
Es ist der Austausch, der eine TCP-Verbindung öffnet: Der Client sendet ein SYN mit seiner anfänglichen Sequenznummer, der Server antwortet mit einem SYN-ACK, das diese bestätigt und seine eigene angibt, und der Client sendet ein abschließendes ACK. Danach einigen sich die beiden Enden auf Startsequenznummern und können Daten zuverlässig austauschen.
Wie unterscheidet sich TCP von UDP?
TCP ist verbindungsorientiert und bietet einen zuverlässigen, geordneten Byte-Stream mit Fluss- und Überlastkontrolle, jedoch auf Kosten von Einrichtungs-Latenz und Overhead. UDP ist verbindungslos und bietet einen minimalen Best-Effort-Datagramm-Dienst ohne diese Garantien, was es leichter und latenzärmer macht, aber die Zuverlässigkeit der Anwendung überlässt.

Methods for this concept

Related concepts