31.10.2012 Aufrufe

Datenkommunikation - FET

Datenkommunikation - FET

Datenkommunikation - FET

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!