Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Vzhľadom na to, že TCP je connection-oriented protokol, vyžaduje, aby bolo spojenie vybudované ešte pred prenosom dát.
Prijímacia a odosielajúca strana si musia najskôr zosynchronizovať ich sekvenčné čísla, aby sa mohol začať prenos.
Synchronizácia sa uskutočňuje výmenou segmentov, ktoré nesú synchronizačný bit (označovaný ako SYN) a počiatočné sekvenčné číslo – INS (Initial sequence number). To vyžaduje mechanizmus, ktorý sa nazýva handshake – niečo ako potriasanie rúk pri stretnutí ľudí.
Synchronizácia vyžaduje, aby každá strana poslala vlastné počiatočné sekvenčné číslo (INS) a aby dostala potvrdenie tejto výmeny – acknowledgement (ACK).
Celý tento mechanizmus sa realizuje v troch krokoch (preto threeway handshake).
Odosielajúci počítač (A) ziniciuje spojenie s počítačom tak, že odošle SYN paket, ktorý bude obsahovať jeho sekvenčné číslo X.
Prijímajúca strana (B) dostane paket so sekvenčným číslom počítača A (toto číslo má hodnotu X), a odpovie paketom ACK, v ktorom bude hodnota X+1, a súčasne paketom SYN, v ktorom bude počiatočné sekvenčné číslo počítača B nastavené na hodnotu Y.
Paket ACK (X+1) = počítač B dostal všetky pakety po číslo X a očakáva paket X+1. Počítač A dostane od počítača B paket, ktorý obsahuje INS počítača B rovné hodnote Y, a odpovie paketom ACK (Y+1), čím sa opäť potvrdí prijatie všetkých Y paketov a očakáva sa paket Y+1. Tým je spojenie vybudované a môže nastať prenos dát.
Three-way handshake je veľmi dôležitý, pretože sekvenčné čísla nie sú založené na globálnom časovaní v sieti a protokoly TCP môžu používať rozličné mechanizmy na výpočet počiatočného sekvenčného čísla.
Príjemca prvého SYN paketu nevie, či sa prijatý segment oneskoril, pokiaľ nezistí posledné sekvenčné číslo na danom spojení.
Ak príjemca túto informáciu nemá, musí požiadať odosielateľa o overenie jeho SYN paketu.
Celý tento proces je aj na obrázku.