1. TCP-Handshake-Protokoll
Im TCP/IP-Protokoll stellt das TCP-Protokoll zuverlässige Verbindungsdienste bereit, indem es einen Dreifach-Handshake verwendet, um eine Verbindung herzustellen.
Erster Handschlag: Beim Aufbau einer Verbindung sendet der Client ein Syn-Paket (syn=j) an den Server und tritt in den SYN_SEND-Zustand ein, während er darauf wartet, dass der Server bestätigt.
Der zweite Handschlag: Wenn der Server das SYN-Paket erhält, muss er das SYN des Kunden (ack=j+1) bestätigen und außerdem ein SYN-Paket (syn=k), also SYN+ACK-Paket, senden, woraufhin der Server in den SYN_RECV-Zustand eintritt.
Dritter Handschlag: Der Client empfängt das SYN+ACK-Paket vom Server und sendet das Bestätigungspaket ACK (ack=k+1) an den Server.
Nach drei Händeschütteln beginnen Client und Server, Daten zu übertragen, und es gibt einige wichtige Konzepte in diesem Prozess:
Unverbundene Warteschlange: Im Drei-Wege-Handshake-Protokoll verwaltet der Server eine nicht verbundene Warteschlange, die für jedes SYN-Paket des Clients einen Eintrag (syn=j) öffnet, der anzeigt, dass der Server das SYN-Paket empfangen hat, und dem Kunden eine Bestätigung ausgibt, während auf das Bestätigungspaket des Kunden gewartet wird. Die durch diese Einträge identifizierte Verbindung befindet sich im Syn_RECV Zustand auf dem Server, und wenn der Server ein Bestätigungspaket vom Kunden erhält, wird der Eintrag gelöscht und der Server tritt in den ETABLIERTEN Zustand ein. Backlog-Parameter: Gibt die maximale Anzahl nicht verbundener Warteschlangen an.
SYN-ACK-Wiederholungszeiten Wenn der Server das SYN-ACK-Paket sendet und das Kundenbestätigungspaket nicht empfängt, führt der Server die erste Wiederholung durch, wartet eine gewisse Zeit, ohne das Kundenbestätigungspaket zu empfangen, und führt die zweite Wiederholung durch. Beachten Sie, dass die Wartezeit für jede Wiederholung nicht unbedingt gleich ist.
Halbverbindungs-Überlebenszeit: bezeichnet die maximale Zeit, in der ein Eintrag in der Halbverbindungs-Warteschlange überlebt, also die maximale Zeit von dem Empfang des SYN-Pakets bis zur Bestätigung, dass das Paket ungültig ist, und der Zeitwert ist die Summe der maximalen Wartezeit für alle Nachübertragungsanforderungspakete. Manchmal nennen wir auch halbvernetzte Überlebenszeit, SYN_RECV Überlebenszeit.
|