logo

Proces uzgadniania trójkierunkowego TCP

Można to również postrzegać jako sposób ustanawiania połączenia TCP. Zanim przejdziemy do szczegółów, spójrzmy na kilka podstaw. TCP oznacza Protokół kontroli transmisji co wskazuje, że robi coś, aby niezawodnie kontrolować transmisję danych.

Proces komunikacji pomiędzy urządzeniami poprzez Internet odbywa się zgodnie z prądem TCP/IP model pakietu (okrojona wersja modelu referencyjnego OSI). Warstwa aplikacji to górny stos modeli TCP/IP, z którego aplikacje odwołujące się do sieci, takie jak przeglądarki internetowe po stronie klienta, nawiązują połączenie z serwerem. Z warstwy aplikacji informacja przekazywana jest do warstwy transportowej, gdzie na obraz pojawia się nasz temat. Dwa ważne protokoły tej warstwy to – TCP, UDP (protokół datagramów użytkownika) z których dominuje protokół TCP (ponieważ zapewnia niezawodność nawiązywanego połączenia). Można jednak znaleźć zastosowanie protokołu UDP w wysyłaniu zapytań do serwera DNS w celu uzyskania binarnego odpowiednika nazwy domeny używanej w witrynie.



TCP zapewnia niezawodną komunikację za pomocą tzw Pozytywne potwierdzenie z retransmisją (PAR) . Jednostka danych protokołu (PDU) warstwy transportowej nazywana jest segmentem. Teraz urządzenie korzystające z PAR ponownie wysyła jednostkę danych do momentu otrzymania potwierdzenia. Jeśli jednostka danych odebrana po stronie odbiorcy jest uszkodzona (sprawdza dane pod kątem sumy kontrolnej warstwy transportowej używanej do wykrywania błędów), odbiorca odrzuca segment. Nadawca musi zatem ponownie wysłać jednostkę danych, dla której nie otrzymano pozytywnego potwierdzenia. Z powyższego mechanizmu wynika, że ​​pomiędzy nadawcą (klientem) a odbiorcą (serwerem) wymieniane są trzy segmenty w celu ustanowienia niezawodnego połączenia TCP. Przyjrzyjmy się bliżej działaniu tego mechanizmu:



    Krok 1 (SYN): W pierwszym kroku klient chce nawiązać połączenie z serwerem, dlatego wysyła segment z SYN (numer sekwencji synchronizacji), który informuje serwer, że klient prawdopodobnie rozpocznie komunikację i w jakiej kolejności numer, od którego rozpoczyna segmenty. Krok 2 (SYN + ACK): Serwer odpowiada na żądanie klienta z ustawionymi bitami sygnału SYN-ACK. Potwierdzenie (ACK) oznacza odpowiedź odebranego segmentu, a SYN oznacza, z jakim numerem sekwencyjnym prawdopodobnie rozpocznie segmenty. Krok 3 (ACK): W końcowej części klient potwierdza odpowiedź serwera i oboje ustanawiają niezawodne połączenie, z którym rozpoczną faktyczny transfer danych