Uzgadnianie trójkierunkowe TCP (SYN, SYN-ACK, ACK)

Co to jest trójkierunkowe uzgadnianie protokołu TCP?

Trójstronny uścisk dłoni lub TCP 3-way handshake to proces, który jest używany w sieci TCP/IP do nawiązania połączenia między serwerem a klientem. Jest to trzyetapowy proces, który wymaga, aby zarówno klient, jak i serwer wymienili pakiety synchronizacji i potwierdzenia przed rozpoczęciem rzeczywistego procesu komunikacji danych.

Proces trójstronnego uzgadniania został zaprojektowany w taki sposób, że oba końce pomagają jednocześnie inicjować, negocjować i rozdzielać połączenia z gniazdem TCP. Umożliwia jednoczesne przesyłanie wielu połączeń gniazd TCP w obu kierunkach.

Typy komunikatów TCP

Twoja wiadomość Opis
Syn Służy do inicjowania i nawiązywania połączenia. Pomaga również synchronizować numery sekwencyjne między urządzeniami.
ACK Pomaga potwierdzić drugiej stronie, że otrzymała sygnał SYN.
SYN-ACK Komunikat SYN z urządzenia lokalnego i potwierdzenie wcześniejszego pakietu.
PŁETWA Służy do kończenia połączenia.

Proces trójstronnego uzgadniania protokołu TCP

Ruch TCP rozpoczyna się od trójstronnego uzgadniania. W tym procesie uzgadniania protokołu TCP klient musi zainicjować rozmowę, żądając sesji komunikacyjnej z serwerem:

Proces trójstronnego uzgadniania
Schemat uzgadniania trójstronnego
  • Krok 1: W pierwszym kroku klient nawiązuje połączenie z serwerem. Wysyła segment z SYN i informuje serwer o tym, że klient powinien rozpocząć komunikację i jaki powinien być jego numer kolejny.
  • Krok 2: W tym kroku sserwer odpowiada na żądanie klienta zestawem sygnału SYN-ACK. ACK pomaga oznaczyć odpowiedź odebranego segmentu, a SYN oznacza, jaki numer kolejny powinien móc zaczynać od segmentów.
  • Krok 3: W tym ostatnim kroku klient potwierdza odpowiedź Serwera i obaj tworzą stabilne połączenie, rozpoczynając właściwy proces przesyłania danych.

Przykład ze świata rzeczywistego

Przykład ze świata rzeczywistego

Oto prosty przykład procesu trójstronnego uzgadniania, który składa się z trzech kroków:

  • Host X rozpoczyna połączenie, wysyłając pakiet TCP SYN do swojego hosta docelowego. Pakiety zawierają losowy numer sekwencyjny (na przykład 4321), który wskazuje początek numerów sekwencyjnych dla danych, które Host X powinien przesłać.
  • Następnie serwer odbierze pakiet i w odpowiedzi poda swój numer kolejny. Jego odpowiedź zawiera także numer potwierdzenia, czyli numer sekwencyjny hosta X powiększony o 1 (tutaj jest to 4322).
  • Host X odpowiada serwerowi, wysyłając numer potwierdzenia, który jest głównie numerem sekwencyjnym serwera, zwiększanym o 1.

Po zakończeniu transmisji danych protokół TCP automatycznie kończy połączenie między dwoma oddzielnymi punktami końcowymi.

Podsumowanie

  • Trójstronny uzgadnianie TCP lub trójstronny uzgadnianie lub 3-kierunkowy uzgadnianie TCP to proces stosowany w Sieć TCP/IP aby nawiązać połączenie pomiędzy serwerem a klientem.
  • Syn służy do inicjowania i ustanawiania połączenia
  • ACK pomaga drugiej stronie potwierdzić, że otrzymała sygnał SYN.
  • SYN-ACK to wiadomość SYN z urządzenia lokalnego i potwierdzenie wcześniejszego pakietu.
  • FIN służy do kończenia połączenia.
  • W procesie uzgadniania protokołu TCP klient musi zainicjować rozmowę, żądając sesji komunikacyjnej z serwerem
  • W pierwszym kroku klient nawiązuje połączenie z serwerem
  • W tym drugim kroku serwer odpowiada na żądanie klienta zestawem sygnału SYN-ACK
  • W tym ostatnim kroku klient potwierdza odpowiedź Serwera
  • TCP automatycznie kończy połączenie pomiędzy dwoma oddzielnymi punktami końcowymi.