TCP 3-Way Handshake (SYN, SYN-ACK, ACK)

Co je TCP Three-Way HandShake?

Třícestné podání ruky nebo TCP 3-way handshake je proces, který se používá v síti TCP/IP k navázání spojení mezi serverem a klientem. Jedná se o třístupňový proces, který vyžaduje, aby si klient i server vyměnili synchronizační a potvrzovací pakety před zahájením procesu skutečné datové komunikace.

Třícestný proces handshake je navržen tak, aby vám oba konce pomohly iniciovat, vyjednávat a oddělovat připojení TCP soketu současně. Umožňuje přenášet více připojení TCP soketu v obou směrech současně.

Typy zpráv TCP

Zpráva Description
syn Používá se k zahájení a navázání spojení. Pomáhá vám také synchronizovat sekvenční čísla mezi zařízeními.
ACK Pomáhá druhé straně potvrdit, že obdržela SYN.
SYN-ACK Zpráva SYN z místního zařízení a ACK předchozího paketu.
PLOUTEV Slouží k ukončení spojení.

TCP třícestný proces handshake

Provoz TCP začíná třístranným handshake. V tomto procesu TCP handshake musí klient zahájit konverzaci vyžádáním komunikační relace se serverem:

Třícestný proces podání ruky
Schéma třícestného handshake
  • Krok 1: V prvním kroku klient naváže spojení se serverem. Odešle segment se SYN a informuje server o tom, že klient má zahájit komunikaci a jaké má být jeho pořadové číslo.
  • Krok 2: V tomto kroku server odpoví na požadavek klienta nastavením signálu SYN-ACK. ACK vám pomůže označit odezvu segmentu, který je přijat, a SYN udává, jaké pořadové číslo by mělo začít se segmenty.
  • Krok 3: V tomto posledním kroku klient potvrdí odpověď serveru a oba vytvoří stabilní spojení a zahájí vlastní proces přenosu dat.

Příklad z reálného světa

Příklad z reálného světa

Zde je jednoduchý příklad procesu třícestného podání ruky, který se skládá ze tří kroků:

  • Hostitel X zahájí připojení odesláním paketu TCP SYN do cílového hostitele. Pakety obsahují náhodné pořadové číslo (například 4321), které označuje začátek pořadových čísel pro data, která by měl hostitel X vysílat.
  • Poté server přijme paket a odpoví svým pořadovým číslem. Jeho odpověď také obsahuje potvrzovací číslo, což je pořadové číslo hostitele X zvýšené o 1 (zde je to 4322).
  • Hostitel X odpoví serveru odesláním potvrzovacího čísla, které je většinou pořadovým číslem serveru, které se zvýší o 1.

Po ukončení procesu přenosu dat TCP automaticky ukončí spojení mezi dvěma samostatnými koncovými body.

Shrnutí

  • TCP 3-way handshake nebo three-way handshake nebo TCP 3-way handshake je proces, který se používá v TCP/IP síť k vytvoření spojení mezi serverem a klientem.
  • Syn se používá k zahájení a navázání spojení
  • ACK pomáhá potvrdit druhé straně, že přijala SYN.
  • SYN-ACK je zpráva SYN z místního zařízení a ACK dřívějšího paketu.
  • FIN se používá pro ukončení spojení.
  • TCP handshake proces, klient potřebuje zahájit konverzaci vyžádáním komunikační relace se serverem
  • V prvním kroku klient naváže spojení se serverem
  • V tomto druhém kroku server odpoví na požadavek klienta nastavením signálu SYN-ACK
  • V tomto posledním kroku klient potvrdí odpověď serveru
  • TCP automaticky ukončí spojení mezi dvěma samostatnými koncovými body.