Peer-to-Peer-Netzwerke: Algorithmen und Methoden
Datenflusskontrolle vorhanden. Es fallt daher schwer, UDP als eigenstandiges Protokoll zu bezeichnen, da es nur die direkte Erzeugung von Datagrammen and den Eingang in der hoheren Schicht zur Verfugung stellt. Es ist so wenig verlasslich wie der Pakettransport im Internet.
2.3.2 TCP: Transmission Control Protocol
Die ursprungliche Spezifikation von TCP ist in RFC 793 [26] zu linden. Im Gegensatz zu UDP erzeugt TCP einen zuverlassigen Datenfluss zwischen zwei Rechnern. Hierfur werden die Datenstrome aus der Anwendungsschicht in Pakete angemesse- ner Lange unterteilt. Diese Pakete, wie auch Bestatigungsnachrichten (Acknowledgments) fur erhaltene Pakete, werden dann durch die Vermittlungsschicht versandt. Die Zielsetzung von TCP wird durch folgenden Satz beschrieben: TCP ist ein ver- bindungsorientierter and zuverlassiger Dienst fur bidirektionale Bytestrome. Die drei in diesem Satz zusammengefassten Eigenschaften erlautern wir im Folgenden naher:
• TCP ist verbindungsorientiert.
TCP bewerkstelligt ein so genanntes Unicast. Das ist eine Punkt-zu-Punkt- Verbindung zwischen zwei Parteien, d.h. TCP unterstutzt keine Multicast-Kom- munikation (siehe IP-Multicast auf Seite 52 and Seite 225). Bevor Daten ubertragen werden, wird die Verbindung aufgebaut. Wahrend des Verbindungsaufbaus wird sichergestellt, dass die Parteien sich gegenseitig erreichen konnen. AuBerdem werden elementare Verbindungsparameter ausgetauscht. Solange die Verbindung nicht ordentlich beendet wird, bleibt sie bestehen (Aus Sicherheits- grUnden wird hier mittlerweile mit einem Timeout-Mechanismus gearbeitet).
• TCP ist zuverlassig.
Fur die Bereitstellung einer zuverlassigen Verbindung wirken in TCP die folgenden Mechanismen. TCP unterteilt die Anwendungsdaten in Segmente, die auch TCP-Pakete genannt werden. Empfangt TCP ein Paket, sendet es dafar ein Bestatigungssegment (Acknowledgment), evtl. kombiniert mit einem Datenseg- ment. Wird die Bestatigung eines TCP-Pakets nicht empfangen, wird das Paket erneut versendet. TCP erstellt fur Daten- and Headerbereich des Segments eine Prafsumme (Checksum). Stellt der Empfanger Unstimmigkeiten zwischen Segment and mitgelieferter Prafsumme test, wird das TCP-Paket ersatzlos and ohne weitere Aktion verworfen. TCP-Pakete werden als IP-Datagramme versandt. Da IP nicht immer Pakete in der richtigen Reihenfolge ausliefert, stellt TCP die richtige Reihenfolge der Pakete wieder her. TCP loscht automatisch Pakete, die doppelt auftauchen. Solche Kopien konnen durch IP entstehen.
• TCP ist ein Dienst fiir bidirektionale Bytestrome.
Zwischen den beiden TCP-Anwendungen werden Daten auf 8-bit-Basis (Bytes) scheinbar kontinuierlich ausgetauscht. Es gibt keine Ubertragungsmarker, die TCP veranlassen, Daten an bestimmten Stellen zusammenzufassen oder zu trennen. Es findet grundsatzlich keine Interpretation der Anwendungsdaten statt. Auch das Zeitverhalten wird durch TCP nicht weitergegeben. Sendet beispielsweise die Anwendungsschicht zuerst 10 Bytes and spater 70 Bytes, so konnen auf der Empfangsseite beispielsweise alle 80 Bytes auf einmal oder als vier 20Byte Stuckchen ankommen.
TCP ermoglicht einen Full-Duplex-Dienst fur die Anwendungsschicht. Das heiBt, die Daten flieBen in beiden Richtungen vollig unabhangig, so als ob sie durch zwei vollig unabhangige Verbindungen realisiert werden warden. Wir werden sehen, dass die hin- and rackflieBenden Pakete tatsachlich gleichzeitig far beide Kommunikationsrichtungen benutzt werden.
Der TCP-Header
Jedes TCP-Segement besteht aus einem Header and den eigentlichen Daten, die abermittelt werden sollen. Der (mindestens) 20-Byte-Header eines TCP-Pakets besteht, wie in Abbildung 2.9 dargestellt, aus den folgenden Teilen.
Source Port
16 Bit Port-Nummer des Absenders. Diese Port-Nummer ist erforderlich, um uber eine IP-Adresse gleichzeitig TCP-Verbindungen zu verschiedenen Diensten aufrecht zu halten. Entsprechend dieser Portnummer werden die TCP-Pakete den Anwendungen auf einem Rechner zugeordnet. Die eigentliche Absender- IP-Adresse findet sich im IP-Header. Die Kombination aus Port and IP-Adresse wird als Socket bezeichnet.
Destination Port
16 Bit Port-Nummer des Empfangers. Der Zweck dieser Port-Nummer ist analog zum Source Port, jedoch auf Empfangerseite. Ziel- and Quell-Socket bilden zusammen das so genannte Socket-Pair. Dieses Paar beschreibt eine TCPVerbindung eindeutig.
Sequence Number
Anhand dieser 32 Bit Zahl wird die Reihenfolge der TCP-Pakete wiederherge- stellt.
Weitere Kostenlose Bücher