Print
Category: Netzwerke
Hits: 8621

TCP - Das Transportschichtprotokoll und Erzeugung von TCP-Sockets

Nachdem unser Client im vorangegangen Schritt die IP des Zielservers ermittelt hat, erfolgt nun der Aufbau eines TCP-Sockets. Dazu initiiert der Client einen Drei-Wege-Handshake auf der Grundlage des TCP Transportschichtprotokolls. Im ersten Schritt erzeugt der Client ein TCP-SYN Segment, welches an den Zielport 80, dem Standardport für das HTTP-Protokoll, adressiert ist. Dieses Segment der Transportschicht wird als nächstens in ein IP-Datagramm der Netzwerkschicht untergebracht. Das IP-Datagramm wird wiederum in einem folgenden Schritt in einen Rahmen der Sicherungsschicht mit der Ziel-MAC-Adresse des Gateway-Routers gekapselt. Die TCP-SYN-Nachricht durchläuft nun anhand der Weiterleitungstabellen der einzelnen Router den Weg zum Zielserver. Erhält der Server die TCP-SYN Nachricht beginnt die Erzeugung eines Sockets auf Seiten des Servers. Aus dem ankommenden Datagramm wird per Demultiplexing das TCP-Segment extrahiert. Als nächstens erfolgt die Antwort des Servers. Dazu erzeugt der Sever eine TCP-SYNACK-Segment, welches in en Datagramm gekapselt wird. Das Datagramm wiederum ist in einen Rahmen der Sicherungsschicht abgelegt, welches an den nächstliegenden Router adressiert ist. Der Router schickt das Datagramm über mehrere Stationen bis es schließlich beim Clienten angekommen ist. Per Demultiplexing wir das TCP-Segment extrahiert und zum TCP Socket weitergereicht. Beide Teilnehmer, Client und Server sind nun miteinander verbunden. Die per TCP aufgebaute Verbindung ist die Basis für die Kommunikation per HTTP, welches das Anwendungsschichtprotokoll darstellt.

HTTP - Das Anwendungsschichtprotokoll und das Anfordern des Webseiteninhalts

Der Client erzeugt eine HTTP-GET-Nachricht, welches die angeforderte URL enthält. Das daraufhin erzeugte TCP-Segment verlässt den Socket und wird in ein Datagramm gekapselt, welches an den Empfänger gesendet wird. Der Empfänger erhält die HTTP-GET Nachricht, welche zuvor vom Socket entgegengenommen wurde und erzeugt eine HTTP-Response Nachricht  mit dem zuvor angeforderten Inhalt. Als Datagramm verpackt, verlässt die Antwort das Socket des Servers und erreicht über mehrere Stationen den Clienten. Dort empfängt das Socket des Clienten die Antwort des Servers. Der Client ist nun in der Lage den Inhalt der Webseite aus der empfangenen HTTP-Response Nachricht zu extrahieren.