Netzwerke - Das TCP/IP-Protokoll

Netzwerke - Das TCP/IP-Protokoll

Wir werden nun ein wenig tiefer in die Materie der Netzwerke eintauchen. Darum wird es nun auch ein wenig technischer.

Eigentlich handelt es sich bei TCP/IP nicht um das eine Protokoll, sondern um eine Sammlung von Netzwerkprotokollen, deren Oberbegriff eben "TCP/IP" ist.
Das bedeutet, dass es innerhalb des TCP/IP-Protokolls einige weitere Protokolle gibt, die auf TCP/IP aufbauen, wie etwas das HTTP-Protokoll (Hypertext Transfer Protocol) zur Übertragung von Dokumenten im World Wide Web oder das FTP-Protokoll, welches bei der Übertragung von Dateien zwischen verschiedenen Computern dient. Insgesamt umfasst die TCP/IP-Familie etwa 500 Protokolle.
Dabei sind das TCP- und IP-Protokoll schon unterschiedliche Protokolle mit vollkommen unterschiedlichen Aufgaben.

IP

Das Internet Protocol (IP) ist im Netzwerk dafür zuständig, die zu sendenden Daten in kleine Datenpakete zu zerlegen. Allerdings überprüft das IP nicht, ob die Datenpakete vollständig und sicher beim Empfänger angekommen sind. Man nennt das IP deswegen auch ein "unzuverlässiges" Protokoll.
Weiterhin steht die Adressierung im Netzwerk auf seiner Aufgabenliste. Das Internet Protokoll macht es möglich, Computer in einem Netzwerk logisch zu adressieren. Das bedeutet, dass jedem Computer eine eindeutige Kennzeichnung zugeordnet wird, die so genannte IP-Adresse. Diese besteht aus einer Folge von vier Zifferngruppen von jeweils einer bis drei Stellen.

Beispiel : 127.0.0.1 oder 192.168.27.61

Diese Adressierung ermöglicht auch das Routing in einem Netzwerk. Routing kommt von "Route" und bedeutet nichts anderes als die Suche des Weges vom Sender zum richtigen Empfänger innerhalb eines Netzes bzw. über verschiedene abgeschlossene Netzwerke hinweg.

Die derzeitig verwendete Version des Internet Protokolls ist Version 4. Man liest hierbei auch häufig IPv4. Allerdings gibt es eine Schwierigkeit bei der Nutzung dieser Version. Durch die stetig wachsende Anzahl von Geräten, die sich mit dem Internet verbinden können (z.B. Handys) und die beschränkte Anzahl von möglichen IP-Adressen werden diese langsam knapp.
Darum hat man sich entschlossen, eine neue Version des IP durchzusetzen, was die meisten Hersteller von Betriebssystemen mittlerweile getan haben : IPv6. Mit dieser neuen Version wird es sehr viel mehr mögliche Adressen geben.

Mit dem derzeit genutzten IPv4 können insgesamt etwa 4 Milliarden Adressen bereitgestellt werden. Durch die zunehmende Zahl von Klein- und Kleinstgeräten wie etwa Mobiltelefonen reichen diese Adressen bald nicht mehr aus.

Mit dem IPv6 wird es die unvorstellbare Zahl von 3,4 x 1038 möglichen Adressen geben. Das bedeutet, dass es für jeden Quadratzentimeter der Erdoberfläche ein Kontigent von etwa 600 Billiarden IP-Adressen geben könnte.

TCP

Das Transmission Control Protocol TCP dient quasi als Aufsatz und Ergänzung zum Internet Protocol. Denn während dieses lediglich die zu senden Daten in Pakete zerlegt, überprüft das TCP, ob diese Datenpakete auch wirklich beim Empfänger angekommen sind. Nicht ordnungsgemäß empfangene Pakete werden ganz einfach noch einmal gesendet. Außerdem sorgt das TCP dafür, dass die in wahlloser Reihenfolge gesendeten Datenpakete wieder in der richtigen Reihenfolge beim Empfänger zusammengesetzt werden.

TCP wird auch als so genanntes verbindungsorientiertes Protokoll bezeichnet. Das bedeutet, dass sowohl beim Sender als auch beim Empfänger für die Dauer der Verbindung eine Sitzung eingerichtet wird, also eine stehende Verbindung, bei der jede Seite von der anderen Kenntnis besitzt. Diese Verbindung ermöglicht das Senden von Daten gleichzeitig in beide Richtungen.

Der Aufbau einer solchen Verbindung erfolgt mittels eines "Drei-Wege-Handshake" genannten Verfahrens. Dieses funktioniert in etwa so:

Computer A möchte eine Verbindung mit Computer B aufnehmen. Dazu sendet A nun ein Datenpaket, welches eine spezielle Kennung trägt. Es heißt "SYN", was die Abkürzung für das Englische "Synchronize" ist. Zusätzliches enthält dieses Datenpaket einen Startwert vom Wert X.
Wenn Computer B die Verbindung aufnehmen will oder kann, sendet es ein Datenpaket mit einer zusätzlichen Kennung zurück. Diese zusätzliche Kennung wird "ACK" abgekürzt. Dies ist die Abkürzung für "Acknowledge", also "Bestätigung". Mit diesem Paket sendet B ebenfalls einen Startwert Y. Zusätzliches wird noch der von A gesendete Startwert X um 1 erhöht und ebenfalls zurückgesendet.
Möchte Computer A die Verbindung nun endgültig aufbauen, sendet es nochmals ein Datenpaket an B zurück, welches ebenfalls eine "ACK"-Kennung trägt und zusätzlich noch den eben gesendeten Wert Y, der um 1 erhöht wurde.

Ähnlich wird mit den einzelnen Datenpaketen verfahren. Zunächst wird ein Paket gesendet und von der Gegenseite bestätigt. Fehlt die Bestätigung, bedeutet das den Verlust des Pakets und veranlasst den Sender, das Paket nochmals zu senden.

Ist eine Verbindung sehr schlecht, gehen unter Umständen sehr viele Pakete verloren, die dann erneut gesendet werden müssen. Dadurch kommt es zu einer weiteren Belastung der Verbindung, die im Extremfall zu einem kompletten Erliegen der Verbindung führen kann.
Durch eine ständige Beobachtung der Verlustraten kann eine Verbindung entsprechend beeinflusst werden. Normalerweise wird eine TCP-Verbindung langsam gestartet und die Datenrate dann soweit erhöht, bis Datenverluste auftreten.

UDP

Das User Datagram Protocol ist ähnlich dem IP ein verbindungsloses Protokoll, bei welchem Datenpakete ohne jede Überprüfung an die Gegenstelle gesendet werden. Somit wird nicht sichergestellt, ob ein Datenpaket angekommen ist oder ob eventuell Datenpakete mehrfach empfangen wurden. Darum müssen die Empfänger der Daten entweder eine gewisse Fehlertoleranz oder Mechanismen zum Korrigieren der Fehler besitzen.

Eingesetzt wird UDP vor allem dann wenn es nicht so sehr darauf ankommt, daß Daten korrekt, wohl aber in hinreichend großer Geschwindigkeit empfangen werden, so z.B. bei Audio- und Videoübertragungen.