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