Diplomarbeit Skalierbare Hochverfügbarkeitslösungen mit Lastverteilung für E-Commerce Sites Mai 2000
zurück Inhalt weiter

2.1.3.6 TCP - Transmission Control Protocol
Bei TCP handelt es sich um einen verbindungsorientierten Kommunikationssteuerungsdienst.39 Es setzt unmittelbar auf dem Internet Protocol (IP) auf und bietet virtuelle Verbindungsdienste zur reihenfolgengetreuen, gesicherten Übertragung der Anwenderdaten. TCP gewährleistet eine zuverlässige Verbindung zwischen zwei Kommunikationspartnern.40 Bevor Daten von einem System zu einem anderen System übertragen werden, muß eine Verbindung hergestellt werden. Nach dem Übertragen der Daten wird diese Verbindung wieder gelöst. Eine TCP-Verbindung wird auch als Session bezeichnet. TCP ist als RFC 793 veröffentlicht.41
Um eine zuverlässige Verbindung in einem unzuverlässigen Netzverbund zu gewährleisten, bietet TCP eine Reihe von Diensten an:42


Abbildung 2.10 : TCP Header43 (Breite 32 Bits)

Die Abbildung 2.10 zeigt den Aufbau des TCP-Protokollkopfes. Die Felder Absender-Port und Empfänger-Port dienen der Identifikation der Anwendung. Jedem über TCP übertragenen Datenpaket weist der Sender eine Sequenznummer zu, die das erste Byte im Datenpaket kennzeichnet. Durch die Bestätigungsnummer bestätigt der Empfänger dem Sender alle empfangenen Datenpakete und zeigt gleichzeitig an, welche Sequenznummer beim nächsten Datenpaket erwartet wird. Das Feld Offset gibt die Länge des TCP-Headers an. Dies ist nötig, da der Header durch das variable Optionsfeld unterschiedlich lang sein kann. Das Flag-Feld dient zur Anzeige der Gültigkeit anderer Feldwerte und zur Kommunikationssteuerung. Fenster gibt die Größe des Puffers an, der von einem Endknoten für die Session reserviert wurde. TCP benötigt eine Prüfsumme, um Übertragungsfehler im Protokollkopf und bei den Daten zu erkennen. Das Feld Dringlichkeitszeiger zeigt an, daß die TCP-Datenpakete Informationen mit hoher Dringlichkeit transportieren. Solche Datenpakete werden durch das URG-Flag und den Dringlichkeitszeiger gekennzeichnet, der immer auf das Ende der Vorrangdaten zeigt. Vorrangdaten folgen unmittelbar auf den TCP-Header. Die beiden Felder Optionen und Füllzeichen haben eine voneinander abhängige variable Länge. Als einzige Option wird MSS44, die maximale Segmentgröße, verwendet. Mit dieser Option wird der Empfänger-TCP-Schicht die maximale Größe der zu sendenden Segmente mitgeteilt. Diese Größe beinhaltet auch den TCP-Header. Mit Hilfe des Feldes Füllzeichen wird das Optionsfeld, falls vorhanden, auf ein vielfaches von 32 Bit aufgefüllt.

2.1.3.7 TCP-Ports und Sockets
Wenn ein ankommendes Datenpaket an die TCP-Schicht durchgereicht wurde, muß TCP die Daten an eine Anwendung weiterreichen. Da mehrere Anwendungen gleichzeitig TCP nutzen können,45 müssen die einzelnen Anwendungen gesondert adressiert werden. Dazu werden die Port-Adressen benutzt. Eine Port-Adresse hat die Länge 16 Bit. Von den 65.536 möglichen Adressen sind 1024 für häufig genutzte Anwendungsprozesse reserviert.46 So ist z.B. Port 80 die Adresse für eine HTTP-Anwendung. Bei der Abfrage einer Webseite sucht sich der Browser eine Port-Quell-Adresse aus dem frei verfügbaren Addressraum aus und schickt die Abfrage der Webseite mit der Ziel-Port-Adresse 80 heraus. Die eindeutige Adresse dieser TCP- Session wird Socket genannt und hat die Form xxx.xxx.xxx.xxx:80. Die abgefragte Webseite wird dann direkt zurück an die Quell-Port-Adresse geleitet. Zu beachten ist, dass sich die Port-Adressen während einer TCP-Session nicht mehr ändern.



39aus: [7], S. 5-2
40vgl. [9], S. 61
41vgl. <8>
42aus: [9] S. 61
43aus: [7] S. 5-6
44Maximum Segment Size
45TCP-Multiplexmechanismus
46vgl. <17>
zurück Inhalt weiter