Zanim TCP zacznie przesyłać dane, musi nawiązać połączenie. Proces ten nazywa się trójstronnym uzgodnieniem (three-way handshake) i składa się z trzech wymian segmentów. Na egzaminie INF.02 mogą spytać o kolejność lub znaczenie tych kroków.
Po tej lekcji będziesz umiał:
- opisać trzy etapy uzgodnienia TCP (handshake),
- wskazać znaczenie flag SYN i ACK w tym procesie.
Trzy etapy uzgodnienia TCP
- Klient → Serwer: SYN — klient wysyła segment z ustawioną flagą SYN (synchronizacja) i początkowym numerem sekwencji. „Chcę nawiązać połączenie.”
- Serwer → Klient: SYN-ACK — serwer odpowiada segmentem z flagami SYN i ACK. ACK potwierdza odebranie SYN klienta; własne SYN serwera inicjuje drugą „połowę” połączenia. „Odebrałem; zgadzam się; oto mój numer początkowy.”
- Klient → Serwer: ACK — klient wysyła potwierdzenie (ACK) segmentu serwera. Od tej chwili połączenie jest ustanowione (established) i można przesyłać dane.
Skrót: SYN → SYN-ACK → ACK. Dopiero po zakończeniu handshake’u przesyłane są dane aplikacji. UDP nie wykonuje handshake’u — od razu wysyła datagramy.