Protokoły transportowe - TCP i UDP

W warstwie transportowej modelu sieciowego odbywa się zarządzanie komunikacją między aplikacjami działającymi na różnych urządzeniach. Najważniejszymi protokołami tej warstwy są TCP i UDP. Oba pozwalają na przesyłanie danych przez sieć, ale robią to w zupełnie inny sposób – z różnymi zaletami i kompromisami.

Wartwy komunikacji sieciowej

Schemat warstw komunikacji sieciowej.

Źródło obrazka: geeksforgeeks.com

TCP – Transmission Control Protocol

TCP to protokół połączeniowy i niezawodny. Zanim rozpocznie się transmisja danych, TCP ustanawia połączenie między nadawcą a odbiorcą – tzw. handshake (trójfazowe uzgadnianie połączenia). Dzięki temu ma pewność, że obie strony są gotowe do komunikacji.

Ważne cechy TCP:

Ze względu na swoją niezawodność, TCP jest wykorzystywany w aplikacjach, gdzie utrata danych jest niedopuszczalna lub niepożądana. Przykłady:

UDP – User Datagram Protocol

UDP to protokół bezpołączeniowy. Nie nawiązuje on uprzedniego połączenia, tylko od razu wysyła dane – jak pocztówka bez potwierdzenia odbioru. Dzięki temu jest znacznie szybszy niż TCP, ale mniej niezawodny.

Ważne cechy UDP:

Dzięki swojej lekkości i szybkości, UDP jest wykorzystywany tam, gdzie szybkość ma większe znaczenie niż niezawodność. Przykłady:

Podsumowanie

Cecha TCP UDP
Typ połączenia Połączeniowy (z handshake) Bezpołączeniowy
Niezawodność Wysoka (potwierdzenia i retransmisja) Niska (brak potwierdzeń)
Prędkość Wolniejszy Szybszy
Przykłady użycia HTTP, FTP, SMTP VoIP, gry, DNS