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:

- 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
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.