Protokół UDP (User Datagram Protocol)

User Datagram Protocol (UDP) wykorzystuje protokół internetowy do uzyskania jednostki danych, która jest również nazywana datagramem, z jednego urządzenia do drugiego przez sieć. UDP jest lekkim protokołem zdefiniowanym w Request For Comments 768 w 1980 roku. Jest on zdefiniowany jako lekki, ponieważ nie wymaga dużego ciężaru posiadania detali na nagłówku. Reklamy usług, takie jak aktualizacje protokołów routingu, dostępność serwerów oraz aplikacje do strumieniowego przesyłania strumieniowego, takie jak wideo i głos, to tylko niektóre z podstawowych zastosowań UDP.[1]

Dla UDP używany jest prosty model transmisji. Oznacza to, że nie ma gwarancji integralności lub wiarygodności danych zapewniających niezabezpieczone, niezabezpieczone, nieporządane, a czasami powielane datagramy. W przeciwieństwie do TCP, UDP nie polega w dużym stopniu na korekcji i sprawdzaniu błędów podczas wykonywania zadań. UDP nadaje się zatem dobrze do multicastingu lub wysyłania do wszystkich abonentów i pakietowego nadawania lub wysyłania do wszystkich w sieci lokalnej.[2] Ruch UDP, w przeciwieństwie do TCP, niekoniecznie wymaga odpowiedzi i połączenie nie musi być nawiązane, aby mogło być wysłane.[3]

Funkcjonalność

UDP, w przeciwieństwie do TCP, wysyła pakiety do odbiornika niezależnie od tego, czy jest on w stanie je w pełni odebrać czy nie. Każdy z pakietów jest bezpośrednio i indywidualnie wysyłany przez nadawcę do odbiorcy bez konieczności ustanawiania i potwierdzania wiarygodnego kanału danych. Użytkownicy nie mają możliwości żądania brakujących pakietów danych po ich utracie w trakcie transportu.[4] Ten typ protokołu jest stosowany głównie wtedy, gdy prędkość transmisji danych ma wyższy priorytet niż niezawodność udanego transferu danych. Nie ma nieodłącznego porządku w transmisji pakietów danych i wszystkie pakiety są wysyłane w sieci niezależnie od siebie.

Transmisja na żywo wideo

Na przykład, użytkownicy oglądający strumień wideo na żywo w Internecie polegają na serwerze, który wysyła ciągły strumień danych pakietów. Większość strumieni wideo na żywo wykorzystuje UDP zamiast TCP. Gdy widz napotyka na zatrzymanie ekranu lub opóźnienie podczas transmisji, jest to spowodowane utratą lub zerwaniem połączenia w postaci utraty pakietów podczas przesyłania danych. Utrata pakietów, mimo że powoduje zniekształcenia obrazu lub dźwięku, nadal pozwala na odtwarzanie całego obrazu wideo podczas przesyłania go przez UDP.

Gry online

Podobnie gry online realizują tę samą koncepcję. Postacie gracza mogą pojawić się na mapach w teleporcie, ponieważ otrzymujesz nowsze pakiety UDP, gdy przeoczysz niektóre z wcześniejszych transferów danych. Gra jest kontynuowana, a od użytkowników nie wymaga się pobierania starych i zagubionych pakietów. Scrapping korekcji błędów TCP zmniejsza opóźnienia i poprawia szybkość połączenia w grze.[5] Brakujące pakiety UDP podczas gry spowodują drobne usterki, ale niekoniecznie zmieniają jej wydajność. Podczas gdy gra jest kontynuowana w UDP, gry zależne od TCP będą miały inny wynik, co oznacza całkowite zamrożenie gry. W grach online liczy się to, co dzieje się w czasie rzeczywistym.[6]

Skutki

Jako unikalny protokół, protokół User Datagram Protocol ma swoje zalety i wady. Poniżej objaśniono niektóre z najczęstszych, z którymi będziesz się spotykać.

Zalety

Ma relatywnie szybszy transfer dzięki lekkim pakietom z minimalnym nagłówkiem. Ponieważ nie wymaga odpowiedzi, nadaje się do wideokonferencji, transmisji i gier.

Wady

Ponieważ podczas transferu nie ma sekwencjonowania i potwierdzania, UDP jest uważane za zawodne i niepewne. Uszkodzone pakiety są odrzucane i nie są proszone o retransmisję, gdy tylko zostaną utracone.

Protokoły i porty

Każde urządzenie lub komputer w Internecie ma swój unikalny numer przypisany do niego powszechnie znany jako adres IP. Jest to niezbędne do identyfikacji konkretnego komputera w czasie, gdy jesteś w Internecie. Informacje wysyłane przez Internet z komputera są teraz akceptowane przez porty. Podobnie jak TCP, UDP posiada również swoje własne specyficzne funkcje i porty. Poniżej przedstawiamy niektóre z najczęściej używanych dla UDP.

System nazw domen (DNS RFC 1034-1035: Port 53)

Protokół DNS jest jednym z powszechnie stosowanych protokołów zarówno w sieciach publicznych jak i prywatnych. Jego głównym celem jest przetłumaczenie nazw domen na adres IP do routingu sieciowego. jest szeroko stosowany w publicznym Internecie i sieciach prywatnych do tłumaczenia nazw domen na adresy IP, zazwyczaj do routingu sieci. Serwery DNS mogą być konfigurowane w sieci prywatnej, nie będąc częścią globalnego systemu.

Dynamic Host Configuration Protocol (DHCP RFC 2131: Port 67/68)

Protokół ten jest stosowany głównie w sieciach, które nie wykorzystują statycznego przydzielania adresów IP. Serwer może być skonfigurowany przez inżyniera lub administratora, który posiada pulę adresów dostępnych do przydzielenia. Klient może włączyć urządzenie i poprosić o adres IP z lokalnego serwera DHCP, gdy jest dostępny adres, zostanie on następnie przypisany do urządzenia. Nie jest to jednak zadanie stałe i wygasa w określonym przedziale czasu. Dzierżawa wygasa, jeśli nie jest wnioskowana o odnowienie i zostanie umieszczona z powrotem w puli w celu przydzielenia jej do innych urządzeń.

Protokół przesyłania plików trywialnych (TFP RFC 1350: Port 69)

Protokół ten, w odróżnieniu od zwykłego protokołu transferu plików wykonywanego w TCP, oferuje metodę transferu bez ustanawiania sesji. Używając TFTP, nie ma możliwości zapewnienia, że transfer plików został wykonany prawidłowo. Protokół ten jest głównie używany do aktualizacji oprogramowania układowego i oprogramowania dla urządzeń.

Prosty protokół zarządzania siecią (SNMP RFC 1901-1908, 3411-3418: Port 161-/162)

Protokół ten jest metodą używaną do zarządzania siecią. Możliwość monitorowania, konfigurowania i sterowania urządzeniami sieciowymi to tylko niektóre z możliwości SNMP. Pułapki są również skonfigurowane w taki sposób, aby powiadamiać o konieczności zwrócenia uwagi na konkretną akcję i dalszego wyszukiwania źródła zdarzenia.

Protokół czasu sieci (NTP RFC 5905: Port 123)

Głównym celem NTP jest synchronizacja urządzeń w Internecie i jest uważana za jeden z najczęściej pomijanych protokołów. Aby utrzymać dokładny zegar, większość nowoczesnych systemów operacyjnych korzysta z NTP. Ma możliwość bezproblemowego łączenia problemów z jednego urządzenia do drugiego, ponieważ zegary są dokładne, co sprawia, że NTP jest istotną częścią systemów sieciowych.[7]

Podsumowując, UDP służy swojemu własnemu celowi wraz z różnymi dotychczasowymi protokołami internetowymi. Jest on nadal używany w wielu aplikacjach głównego nurtu, które nadal używamy każdego dnia, takich jak strumieniowe konferencje wideo i wideokonferencje.


  1. https://enterprise.netscout.com/edge/tech-tips/difference-between-tcp-and-udp ↩︎

  2. https://www.diffen.com/difference/TCP_vs_UDP ↩︎

  3. https://www.itprotoday.com/strategy/tcp-vs-udp-ports ↩︎

  4. https://www.vpnmentor.com/blog/tcp-vs-udp/ ↩︎

  5. https://www.howtogeek.com/190014/htg-explains-what-is-the-difference-between-tcp-and-udp/ ↩︎

  6. https://www.vpnmentor.com/blog/tcp-vs-udp/ ↩︎

  7. http://www.pearsonitcertification.com/articles/article.aspx?p=1868080 ↩︎