Datenkommunikation - FET
Datenkommunikation - FET
Datenkommunikation - FET
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Aufbau von TCP-Segmenten<br />
Über eine TCP-Verbindung werden die Daten in Form von festgelegten Datenblöcken oder TCP-Segmente ausgetauscht.<br />
Aufgabe von TCP ist es, die zu übertragenden Daten im Quellrechner in nummerierte Segmente zu zerlegen, was man als<br />
Segmentierung bezeichnet. Jedes Datensegment erhält einen TCP-Header. Vor Beginn einer Übertragung wird zwischen den<br />
TCP-Instanzen im Quell- und im Zielrechner die maximale Segmentgröße vereinbart. Die TCP-Segmente werden dann vom<br />
IP-Protokoll als zusammenhanglose IP-Pakete (Datagramme) übertragen. Die TCP-Instanz des Zielrechners setzt die empfangenen<br />
IP-Pakete in der richtigen Reihenfolge in die ursprünglichen Daten (Nachricht) zurück. Kommt das IP-Paket nicht<br />
beim Zielrechner an, wird die Wiederholung der Übertragung eines entsprechenden Datensegments von TCP veranlasst.<br />
0 16 31<br />
source port destination port<br />
data<br />
offset<br />
sequence number<br />
acknowledgement number<br />
U A P R S F<br />
reserved R C S S Y I<br />
G K H T N N<br />
checksum urgent pointer<br />
options padding<br />
URG Urgent pointer field significant<br />
ACK Acknowledge field significant<br />
PSH Push function<br />
data [bytes]<br />
Bild: TCP Header<br />
window<br />
RST Reset the connection<br />
SYN Synchronize the sequence numbers<br />
FIN Finalize, no more data from sender<br />
Die Kontrollinformationen im TCP-Header<br />
sind wie folgt:<br />
• Source Port: Der Quell-Port enthält die<br />
Portnummer des Anwenderprozesses im<br />
Quellrechner, der die Daten sendet.<br />
• Destination Port: Der Ziel-Port enthält<br />
die Portnummer des Anwenderprozesses<br />
im Zielrechner, an den die Daten adressiert<br />
sind.<br />
• Sequence Number: Die Sequenznummer gilt in der Senderichtung und dient zur Nummerierung der gesendeten Datensegmenten.<br />
Beim Aufbau einer virtuellen Ende-zu-Ende-Verbindung generiert jedes TCP-Modul eine Anfangs-<br />
Sequenznummer. Diese Nummern werden ausgetauscht und gegenseitig bestätigt. Im Quellrechner wird die Sequenznummer<br />
immer jeweils um die Anzahl bereits gesendeter Bytes erhöht.<br />
• Acknowledgement Number: Die Quittungsnummer gilt in der Empfangsrichtung und dient der Bestätigung von empfangenen<br />
Datensegmenten. Diese Nummer wird vom Zielrechner gesetzt, um dem Quellrechner mitzuteilen, bis zu welchem<br />
Byte die Daten korrekt empfangen wurden.<br />
• Data Offset: Das vier Bit große Feld mit der Bezeichnung Datenabstand gibt die Länge des TCP-Headers in 32-Bit-<br />
Worten an und damit die Stelle, ab der die Daten beginnen.<br />
• Control Flags: Die Kontroll-Flags legen fest, welche Felder im Header gültig sind, und steuern somit die Verbindung. Es<br />
gibt 6 Bits, und wenn das entsprechende Bit gesetzt ist, gelten die folgenden Bedingungen:<br />
- URG: Der Urgent Pointer (Zeiger im Urgent-Feld) ist gültig.<br />
- ACK: Die Quittungsnummer ist gültig.<br />
- PSH (Push): Die Daten sollen sofort an die nächsthöhere Schicht weitergegeben werden.<br />
- RST (Reset): Die Verbindung soll zurückgesetzt werden.<br />
- SYN: Verbindungsaufbauwunsch, der quittiert werden muss.<br />
- FIN: Einseitiger Verbindungsabbau und Ende des Datenstroms aus dieser Richtung. Auch hier muss quittiert werden.<br />
• Window: Mit der Fenstergröße zur Flusskontrolle nach dem Fenster-Mechanismus steuert der Zielrechner den an ihn<br />
gerichteten Datenstrom im Quellrechner. Das Feld gibt an, wie viele Bytes (beginnend ab der Quittungsnummer) der Zielrechner<br />
in seinem Aufnahme-Puffer noch aufnehmen kann. Empfängt der Quellrechner ein TCP-Segment mit der Fenstergröße<br />
gleich 0, muss der Sendevorgang gestoppt werden. Die Fenstergröße kann die Effizienz der Übermittlung beeinflussen<br />
(Senderblockade). Die Ermittlung einer optimalen Fenstergröße gehört zu den wichtigsten Aufgaben bei der<br />
TCP/IP-Implementierung.<br />
• Checksum (Prüfsumme): Diese Prüfsumme erlaubt es, den TCP-Header, die Daten und einen Auszug aus dem IP-<br />
Header (Pseudo Header), der an das TCP-Protokollmodul zusammen mit den Daten übergeben wird, auf das Vorhandensein<br />
von Fehlern (Bitfehler, Datenverlust) zu überprüfen. Bei Berechnung der Prüfsumme wird dieses Feld selbst als null<br />
angenommen.<br />
• Urgent Pointer (Urgent-Zeiger): Das Protokoll TCP ermöglicht es, wichtige (dringliche) und meist kurze Nachrichten<br />
(z.B. Interrupts) den gesendeten normalen Daten hinzuzufügen und an Kommunikationspartner direkt zu übertragen. Damit<br />
können außergewöhnliche Zustände signalisiert werden. Derartige Daten werden hierbei als Urgent-Daten bezeichnet.<br />
Institut für Kommunikationsnetze - TU Wien o. Univ. Prof. Dr. Harmen R. van As Vorlesung <strong>Datenkommunikation</strong> Teil 3.3 9