11. Zadania warstwy transportowej

11.2. Uzgadnianie 3-etapowe

TCP jest protokołem połączenia, co oznacza, że ​​zanim host źródłowy będzie mógł wysłać jakiekolwiek dane do hosta docelowego, musi zostać między nimi nawiązane połączenie. Ta kombinacja nazywana jest trójdrożnym uściskiem dłoni. Host źródłowy, czyli klient, wysyła segment zawierający flagę SYN (SYN to flaga synchronizacji numerów sekwencyjnych), a segment zawiera również losowy numer seryjny klienta (zwany również numerem ISN, SEQ=100), który służy do kolejnych scalonych fragmentów danych.

Po otrzymaniu tego segmentu host docelowy, czyli serwer, jest informowany, że klient chce nawiązać z nim połączenie. W odpowiedzi serwer wysyła segment z ustawionymi flagami SYN i ACK (flaga ACK informuje klienta, że ​​serwer odebrał poprzedni segment), numer sekwencyjny otrzymany od klienta jest zwiększany o 1 (ACK = 101) i jego losowy numer kolejny (SEQ = 300).

Na koniec klient wysyła segment z powrotem do serwera z ustawioną flagą ACK, potwierdzając odbiór poprzedniej wiadomości z numerem sekwencyjnym serwera zwiększonym o 1 (SEQ=101, ACK=301). To kończy proces połączenia i umożliwia prawidłowe przesyłanie danych. Poniżej przedstawiono trzyetapowy proces uzgadniania.

Dopiero po nawiązaniu połączenia TCP z serwerem klient może przesłać odpowiednie dane, takie jak żądanie strony internetowej lub pliku.

Wreszcie, gdy wszystkie dane zostaną przesłane, sesja musi zostać zamknięta. Klient wysyła następnie segment do serwera z flagą FIN, która informuje serwer o zamiarze zamknięcia sesji, który odpowiada segmentem potwierdzającym z flagą ACK, że otrzymał taki segment. Następnie serwer wysyła również segment z flagą FIN, a klient odpowiada segmentem potwierdzenia z flagą ACK. Spowoduje to zamknięcie sesji TCP.

Flaga

Zastosowanie

URG

Informuje o istnieniu pola wskaźnik pilności w nagłówku (urgent)

ACK

Informuje o istnieniu pola numer potwierdzenia w nagłówku (acknowledgment)

PSH

Wymuszenie przesłania pakietu (push)

RST

Ponowne zestawienie połączenia (reset)

SYN

Synchronizacja numerów sekwencyjnych

FIN

Koniec danych od nadawcy