Um Daten genau an das Ziel zu liefern, verwendet das TCP-Protokoll eine Drei-Wege-Handshake-Strategie. Nachdem das Datenpaket über das TCP-Protokoll gesendet wurde, ignoriert TCP die Situation nach der Übertragung nicht und bestätigt der anderen Partei definitiv, ob es erfolgreich zugestellt wurde. Während des Handshakes werden TCP-Flags verwendet: SYN und ACK.
Die sendende Seite sendet zunächst ein Datenpaket mit einem SYN-Flag an die andere Partei. Nach dem Empfang sendet der Empfänger ein Datenpaket mit dem SYN/ACK-Flag zurück, um Bestätigungsinformationen zu übermitteln. Schließlich sendet die sendende Seite ein Datenpaket mit einem ACK-Flag zurück, das das Ende des „Handshakes“ anzeigt. Sollte der Handshake irgendwann ohne ersichtlichen Grund unterbrochen werden, sendet das TCP-Protokoll die gleichen Datenpakete in der gleichen Reihenfolge noch einmal.
Das Trennen einer TCP-Verbindung erfordert „vier Wellen“:
Die erste Welle: Die aktive schließende Partei sendet eine FIN, um die aktive Partei an die passive Partei zu schließen. Die Daten Übermittlung der Abschlusspartei, das heißt, die aktive Abschlusspartei teilt der passiven Abschlusspartei mit: Ich werde Ihnen keine Daten mehr senden (natürlich, wenn die vor dem Fin-Paket gesendeten Daten nicht die entsprechende Bestätigungsnachricht erhalten, wird die aktive Abschlusspartei aktiviert Die schließende Partei sendet die Daten weiterhin erneut, die aktiv schließende Partei kann die Daten jedoch zu diesem Zeitpunkt noch akzeptieren.
Die zweite Welle: Nachdem die passive Abschlusspartei das FIN-Paket empfangen hat, sendet sie eine ACK an die andere Partei und die Bestätigungssequenznummer ist die empfangene Sequenznummer + 1 (dasselbe wie SYN, eine FIN belegt eine Sequenznummer).
Die dritte Welle: Die passive Abschlusspartei sendet eine FIN, die verwendet wird, um die Datenübertragung von der passiven Abschlusspartei zur aktiven Abschlusspartei zu schließen, das heißt, um dies der aktiven Abschlusspartei mitzuteilen Meine Daten wurden gesendet, nein, ich sende Ihnen die Daten erneut.
Die vierte Welle: Nachdem die aktive Abschlusspartei die FIN erhalten hat, sendet sie eine ACK an die passive Abschlusspartei, und die Bestätigungssequenznummer ist die empfangene Sequenznummer + 1. An diesem Punkt vier Wellen sind abgeschlossen.
Das obige ist der detaillierte Inhalt vonEine kurze Analyse des Drei-Wege-Handshakes und der Vier-Wellen-Strategie der TCP-Übertragung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!