Junior
Jaka jest różnica między protokołami TCP a UDP?
sobes.tech AI
Odpowiedź od AI
TCP (Protokół Kontroli Transmisji):
- Niezawodny: Gwarantuje dostarczenie pakietów, retransmisję utraconych, zachowuje kolejność. Używa potwierdzeń (acknowledgments) i timerów.
- Z ustanowieniem połączenia: Wymaga "trójstronnego uścisku dłoni" (three-way handshake) do rozpoczęcia wymiany danych.
- Strumieniowy: Dane są przesyłane jako ciągły strumień bajtów.
- Wolniejszy: Koszty związane z ustanowieniem połączenia i gwarancjami dostawy sprawiają, że jest wolniejszy od UDP.
- Zastosowania: HTTP/HTTPS, FTP, SMTP, Telnet.
UDP (Protokół Datagramów Użytkownika):
- Niezawodny: Nie gwarantuje dostarczenia, kolejności ani braku duplikatów.
- Bez ustanowienia połączenia: Nie wymaga "trójstronnego uścisku dłoni".
- Datagramowy: Dane są przesyłane w oddzielnych pakietach (datagramach).
- Szybki: Niskie koszty zapewniają wysoką prędkość.
- Zastosowania: DNS, DHCP, strumieniowe audio/wideo, gry online.
| Charakterystyka | TCP | UDP |
|---|---|---|
| Niezawodność | Wysoka (gwarancja dostarczenia i kolejności) | Niska (brak gwarancji) |
| Ustanowienie połączenia | Tak (three-way handshake) | Nie |
| Transmisja danych | Strumieniowa | Datagramowa |
| Prędkość | Wolniejsza | Szybsza |
| Kontrola błędów | Tak | Nie (tylko suma kontrolna nagłówka) |
| Gwarancja kolejności | Tak | Nie |
| Kontrola przepływu | Tak | Nie |