Základy počítačových sítí
11. Úkoly transportní vrstvy
11.2. Třístupňové sladění
Protokol TCP je spojovací protokol, což znamená, že než může zdrojový hostitel odeslat jakákoli data cílovému hostiteli, musí být mezi nimi navázáno spojení. Tato kombinace se nazývá třícestné podání ruky. Zdrojový hostitel, tj. klient, odešle segment obsahující příznak SYN (SYN je příznak synchronizace sériového čísla) a segment obsahuje také náhodné sériové číslo klienta (nazývané také ISN, SEQ=100), které se použije pro následné sloučené datové fragmenty.
Po přijetí tohoto segmentu je cílový hostitel, tj. server, informován, že si s ním klient přeje navázat spojení. V odpovědi server odešle segment s nastavenými příznaky SYN a ACK (příznak ACK informuje klienta, že server přijal předchozí segment), sekvenční číslo přijaté od klienta se zvýší o 1 (ACK = 101) a jeho náhodné sekvenční číslo (SEQ = 300).
Nakonec klient odešle segment zpět na server s nastaveným příznakem ACK a potvrdí přijetí předchozí zprávy s pořadovým číslem serveru zvýšeným o 1 (SEQ=101, ACK=301). Tím se proces připojení dokončí a data se správně přenesou. Níže je uveden třístupňový proces odsouhlasení.
Teprve po navázání spojení TCP se serverem může klient odeslat příslušná data, například požadavek na webovou stránku nebo soubor.
Po odeslání všech dat je třeba relaci uzavřít. Klient pak odešle serveru segment s příznakem FIN, kterým informuje server o svém záměru uzavřít relaci, a ten odpoví potvrzovacím segmentem s příznakem ACK, že takový segment obdržel. Server pak rovněž odešle segment s příznakem FIN a klient odpoví potvrzovacím segmentem s příznakem ACK. Tím dojde k uzavření relace TCP.
Vlajka |
Aplikace |
URG |
Označuje existenci pole indikátoru naléhavosti v záhlaví (urgent) |
ACK |
Označuje existenci pole s číslem potvrzení v záhlaví. (acknowledgment) |
PSH |
Vynucený přenos paketů (push) |
RST |
Opětovné navázání spojení (reset) |
SYN |
Synchronizace sekvenčních čísel |
FIN |
Konec dat od odesílatele |