Uzgadnianie
W świecie rzeczywistym uścisk dłoni jest przyjętym powitaniem między dwiema osobami. Podobnie uzgadnianie między komputerami pełni funkcję powitania między dwoma systemami komputerowymi. Jest ono powszechnie używane do zainicjowania połączenia sieciowego między dwoma hostami.
Uzgadnianie między komputerami może zostać przeprowadzone między dowolnymi dwoma systemami, które komunikują się przy użyciu tego samego protokołu. Tymi systemami mogą być klient i serwer albo po prostu dwa komputery w sieci P2P. Uzgadnianie potwierdza tożsamość łączących się systemów i umożliwia dalszą komunikację.
Uzgadnianie przez sieć jest powszechnie nazywane uzgadnianiem trójetapowym (3-Way Handshake) lub „SYN-SYN-ACK”. Pomyślne uzgadnianie obejmuje siedem kroków:
- Host A wysyła do hosta B pakiet synchronizacji (SYN) pakiet.
- Host B odbiera żądanie SYN od hosta A.
- Host B wysyła do hosta A komunikat potwierdzenia synchronizacji (SYN-ACK).
- Host A odbiera komunikat SYN-ACK od hosta B.
- Host A wysyła do hosta B komunikat potwierdzenia (ACK).
- Host B odbiera komunikat ACK od hosta A.
- Połączenie między oboma systemami zostaje ustanowione.
Gdy system inicjuje uzgadnianie, możliwe są trzy wyniki:
- Brak odpowiedzi – Jeśli system odbierający uzgadnianie jest niedostępny lub nie obsługuje protokołu używanego przez system inicjujący, może nie odpowiedzieć na żądanie.
- Odrzucenie połączenia – System odbierający uzgadnianie jest dostępny i rozumie żądanie, ale odmawia połączenia.
- Akceptacja połączenia – System odbierający uzgadnianie jest dostępny, odbiera żądanie i akceptuje połączenie.
Trzeci z wymienionych wyników jest jedynym, w którym uzgadnianie zostaje zakończone. Jeśli uzgadnianie powiedzie się, oba systemy mogą rozpocząć komunikację i przesyłanie danych za pośrednictwem ustanowionego protokołu. Przykłady protokołów korzystających z uzgadniania to TCP, TLS i SSL.
Sprawdź swoją wiedzę