TCP Transmission Control Protocol Wiederholung TCP-Ports Segmentierung TCP Header Verbindungsaufbau-/abbau, 3 - WayHandShake Timeout & Retransmission MTU maximum transfer Unit
TCP Sicher Verbunden? Individuelle Leitung der IP-Datagramme durch das Netzwerk Kein zuverlässiger Transport Falsche Reihenfolge oder kommen gar nicht erst an
TCP bis Internetebene einschließlich nur unzuverlässige Übertragung auf Transportebene ist zuverlässige Übertragung eine Möglichkeit diese wird durch TCP hergestellt auf Transportebene außerdem angesiedelt: Zuordnung einer Verbindung zu Prozessen geschieht über Portnummer
Pakete Quell-IP-Adresse Quell-Port Ziel-IP-Adresse Ziel-Port
die TCP-Pakete werden vom IP-Protokoll als zusammenhanglose IP-Pakete (Datengramme) übertragen TCP-Instanz des Zielrechners setzt die empfangenen IP-Pakete in der richtigen Reihenfolge in die ursprünglichen Daten (Nachricht) zurück TCP ist im RFC 793( RFC 1122, RFC 1323) definiert
Schichten
Ports auch bei TCP werden den aktiven Anwendungsprozessen Ports zugeordnet sie werden den Anwendungsprozessen nach Bedarf (auch dynamisch) zugeordnet bei TCP werden für eine Portnummer 16 Bit verwendet also bis zu 65535 TCP-Ports je Rechner möglich
Ports wie bei UDP auch bei TCP einige Portnummern reserviert 0 bis 1023 sind weltweit eindeutig für Standarddienste (sog. well known services) reserviert im Bereich von 1024 bis 65535 können sie im Rechner den Anwendungsprozessen frei zugeteilt werden
Segmentierung den Anwendungen bietet TCP Daten als Datenstrom (data stream) an Datenstrom prinzipiell unendlich lang Daten sind jedoch so nicht verschickbar tiefere Ebenen bieten nur das Verschicken von Datenpaketen begrenzter Größe an daher: einteilen in Datenblöcke (Segmente)
Segmentierung Segmentierung des Datenstroms in TCP- Datenpakete jedes Segment/Paket erhält TCP-Header Segmente werden durchnummeriert
Header Quellport (16 Bit): Der Quellport ist die Portnummer des Absenders. Zielport (16 Bit): Dies ist entsprechend die Portnummer des Empfängers. Sequenznummer (32 Bit): Sequenznummer des Pakets Bestätigungsnummer (32 Bit): bei gesetztem ACK-Bit von Bedeutung. Offset (4 Bit): Anzahl der 32-Bit-Wörter, aus denen der Header besteht; gibt entsprechend den Beginn der Nutzdaten im Paket an. Reserviert (6 Bit): Reserviert für zukünftige Anwendungen; muss 0 sein.
Header Flags (6 Bit): Verschiedene Statusbits; im Einzelnen: URG: Urgent Data wird versandt; der Inhalt des Urgent-Zeigers muss beachtet werden. ACK: Acknowledgement das Bestätigungsfeld muss berücksichtigt werden. PSH: Push-Funktion Pufferung des Pakets wird verhindert; es wird unmittelbar gesendet. RST: Reset Verbindung zurücksetzen SYN: Sequenznummern synchronisieren FIN: Ende der Sequenz; keine weiteren Daten vom Absender
Header Fenster (16 Bit): Die Anzahl von Datenbytes, die der Absender des Pakets zu empfangen bereit ist; basiert unter anderem auf der IP- MTU der verwendeten Schnittstelle. Prüfsumme (16 Bit): Anhand dieser einfacheren Plausibilitätskontrolle kann die Korrektheit der übertragenen Daten überprüft werden. Urgent-Zeiger (16 Bit): Ein Zeiger auf das Byte der aktuellen Sequenz, das Urgent Data enthält. Wird nur ausgewertet, wenn das URG-Flag gesetzt ist. Optionen (variable Länge): Enthält verschiedene hersteller- und implementierungsabhängige Zusatzinformationen; stets ein Vielfaches von 8 Bit lang.
Verbindungsaufbau TCP verhindert den gleichzeitigen Verbindungsaufbau zwischen zwei Stationen d.h. nur eine Station kann den Aufbau initiieren außerdem ist es nicht möglich, einen mehrfachen Aufbau einer Verbindung
Verbindungsaufbau Drei-Wege-Handshake - Drei spezielle Datenpakete ohne Nutzdateninhalt der Verbindungsaufbau zwischen zwei Rechnern erfolgt mit Three Way Handshake Synchronisation der Kommunikationspartner der Anwendungsprozeß im Quellrechner kommuniziert über einen wahlfreien Port, der dynamisch (aber nur im Quellrechner!) zugewiesen wird
3 - WayHandShake
Verbindungsabbau Abbau der Verbindung kann von jeder Seite eingeleitet werden Paket mit gesetztem FIN-Flag die beiden logischen Verbindungen werden nacheinander abgebaut und verhindert hierbei den Verlust von noch unquittierten Daten dann wird Port freigegeben und steht für spätere Verbindungen zur Verfügung
Verbindungsabbau
Hier ein bischen Text Flow Control
flow control - Sliding Window
Timeout & Retransmission der Datenaustausch zwischen zwei Stationen erfolgt nach dem Verbindungsaufbau gehen Daten bei der Übertragung verloren, wird nach Ablauf eines Timeouts die Wiederholung der fehlerhaften Segmente gestartet durch die Sequenznummer werden doppelt übertragene Pakete erkannt Maximum Retransmit erreicht?! - Verbindung zu unsicher!
MTU Maximum Transmission Unit (MTU) maximale Segmentgröße wird zwischen Quelle und Ziel vor dem Verschicken der ersten Daten ausgehandelt Round Trip Time ->RTT Zeit vom Versenden eines Packets bis zur Bestätigung - dient der Synchonisation