Skip to main content

Co to jest UDP? (User Datagram Protocol)

UDP and TCP: Comparison of Transport Protocols (Czerwiec 2026)

UDP and TCP: Comparison of Transport Protocols (Czerwiec 2026)
Anonim

Protokół User Datagram Protocol (UDP) został wprowadzony w 1980 roku i jest jednym z najstarszych protokołów sieciowych. Jest to prosty protokół warstwy transportowej OSI dla aplikacji sieciowych klient / serwer, oparty na protokole internetowym (IP) i jest główną alternatywą dla TCP.

Krótkie wyjaśnienie UDP może wyjaśnić, że jest to niewiarygodny protokół w porównaniu do TCP. Chociaż jest to prawdą, ponieważ nie ma żadnych sprawdzeń błędów ani poprawek związanych z transmisjami danych, jest również prawdą, że są zdecydowanie aplikacje dla tego protokołu, których TCP nie może dopasować.

Protokół UDP (czasami określany jako UDP / IP) jest często używany w aplikacjach do wideokonferencji lub w grach komputerowych zaprojektowanych specjalnie pod kątem wydajności w czasie rzeczywistym. Aby osiągnąć wyższą wydajność, protokół pozwala na odrzucenie pojedynczych pakietów (bez ponawiania prób) i pakietów UDP, które są odbierane w innej kolejności, niż zostały wysłane, zgodnie z wymaganiami aplikacji.

Ta metoda transmisji, w porównaniu z TCP, pozwala na mniejsze obciążenie danych i opóźnienia. Ponieważ pakiety są wysyłane bez względu na wszystko i nie ma w nich kontroli błędów, skutkuje to mniejszą przepustowością.

Czy UDP jest lepszy od TCP?

Odpowiedź na to pytanie zależy od kontekstu, ponieważ UDP pozwala na lepszą wydajność, ale prawdopodobnie gorszą jakość niż TCP.

Dobrym przykładem tego, kiedy UDP może być preferowany w porównaniu z TCP, jest aplikacja, która działa lepiej przy mniejszych opóźnieniach, takich jak gry online, czaty wideo lub transmisje głosu. Pakiety mogą zostać utracone, ale przy mniejszej ilości opóźnień, które mogłyby tłumić jakość, naprawdę niewiele utraty jakości jest naprawdę postrzegane.

W grach online ruch UDP pozwala na kontynuację gry, nawet jeśli połączenie zostanie chwilowo utracone lub jeśli z jakiegoś powodu niektóre pakiety zostaną upuszczone. Gdyby doszło do korekty błędów, połączenie straciłoby na czasie, ponieważ pakiety próbują ponownie wejść tam, gdzie przerwały, aby nadrobić błędy, ale nie jest to konieczne w grach wideo na żywo. To samo dotyczy transmisji na żywo.

Jednak powodem, dla którego UDP nie jest tak wielki, jeśli chodzi o przesyłanie plików, jest to, że potrzebujesz całego pliku, aby poprawnie go użyć. Nie potrzebujesz jednak każdej paczki gry wideo lub wideo, aby móc się nią cieszyć.

Zarówno TCP, jak i UDP w warstwie 4 modelu OSI i działają z usługami takimi jak TFTP, RTSP i DNS.

Datagramy UDP

Ruch UDP działa poprzez tak zwane datagramy, z każdym datagramem składającym się z pojedynczej jednostki wiadomości. Szczegóły nagłówka są przechowywane w pierwszych ośmiu bajtach, ale reszta jest tym, co zawiera aktualną wiadomość.

Każda część wymienionego tutaj nagłówka datagramów UDP ma dwa bajty:

  • Numer portu źródłowego
  • Numer portu docelowego
  • Rozmiar datagramu
  • Suma kontrolna

Numery portów UDP umożliwiają różnym aplikacjom zachowanie własnych kanałów dla danych, podobnie jak w przypadku TCP. Nagłówki portów UDP mają długość dwóch bajtów; dlatego ważne numery portów UDP mieszczą się w zakresie od 0 do 65535.

Wielkość datagramu UDP jest liczbą całkowitą liczby bajtów zawartą w sekcji nagłówka i danych. Ponieważ długość nagłówka ma ustalony rozmiar, to pole efektywnie śledzi długość części danych o zmiennym rozmiarze (czasami nazywanej ładownością).

Rozmiar datagramów różni się w zależności od środowiska operacyjnego, ale ma maksymalnie 65535 bajtów.

Sumy kontrolne UDP chronią dane wiadomości przed manipulacją. Wartość sumy kontrolnej reprezentuje kodowanie danych datagramowych obliczanych najpierw przez nadawcę, a następnie przez odbiorcę. Jeśli indywidualny datagram zostanie zmodyfikowany lub ulegnie uszkodzeniu podczas transmisji, protokół UDP wykryje niedopasowanie kalkulacji sumy kontrolnej.

W protokole UDP kontrole są opcjonalne, w przeciwieństwie do TCP, w którym sumy kontrolne są obowiązkowe.