User Datagram Protocol (UDP) je protokol Transport Layer. UDP je součástí sady internetových protokolů, označované jako sada UDP/IP. Na rozdíl od TCP je to an nespolehlivý a nespojitelný protokol. Před přenosem dat tedy není nutné navazovat spojení. UDP pomáhá vytvořit připojení s nízkou latencí a ztrátu tolerující připojení v síti. UDP umožňuje komunikaci mezi procesy.
Co je uživatelský datagramový protokol?
Ačkoli protokol TCP (Transmission Control Protocol) je protokol dominantní transportní vrstvy používaný u většiny internetových služeb; poskytuje zajištěné doručení, spolehlivost a mnoho dalšího, ale všechny tyto služby nás stojí další režii a latenci. Zde přichází na scénu UDP. Pro služby v reálném čase, jako jsou počítačové hry, hlasová nebo video komunikace a živé konference; potřebujeme UDP. Protože je potřeba vysoký výkon, protokol UDP umožňuje zahazování paketů namísto zpracování zpožděných paketů. V UDP není žádná kontrola chyb, takže také šetří šířku pásma.
Hlavička UDP
Hlavička UDP je an 8bajtový pevná a jednoduchá hlavička, zatímco u TCP se může lišit od 20 bajtů do 60 bajtů. Prvních 8 bajtů obsahuje všechny potřebné informace záhlaví a zbývající část tvoří data. Pole čísel portů UDP mají každé 16 bitů, proto je rozsah čísel portů definován od 0 do 65535; číslo portu 0 je rezervováno. Čísla portů pomáhají rozlišit různé uživatelské požadavky nebo procesy.
Hlavička UDP
- Zdrojový port: Zdrojový port je pole dlouhé 2 bajty používané k identifikaci čísla portu zdroje.
- Cílový přístav: Jedná se o pole dlouhé 2 bajty, které se používá k identifikaci portu určeného paketu.
- Délka: Délka je délka UDP včetně hlavičky a dat. Jedná se o 16bitové pole.
- kontrolní součet: Kontrolní součet je pole dlouhé 2 bajty. Je to 16bitový doplněk součtu jednoho komplementu hlavičky UDP, pseudohlavičky informací z hlavičky IP a dat doplněných nulovými oktety na konci (je-li to nutné), aby se vytvořil násobek dvou oktety.
poznámky – Na rozdíl od TCP není výpočet kontrolního součtu v UDP povinný. UDP neposkytuje žádné řízení chyb ani řízení toku. Proto UDP závisí na IP a ICMP pro hlášení chyb. UDP také poskytuje čísla portů, takže může rozlišovat mezi požadavky uživatelů.
Aplikace UDP
- Používá se pro jednoduchou komunikaci mezi žádostí a odpovědí, když je velikost dat menší, a proto jsou menší obavy o tok a kontrolu chyb.
- Je to vhodný protokol pro multicasting, protože UDP podporuje přepínání paketů.
- UDP se používá pro některé protokoly aktualizace směrování, jako je RIP (Routing Information Protocol).
- Obvykle se používá pro aplikace v reálném čase, které nemohou tolerovat nerovnoměrné zpoždění mezi sekcemi přijaté zprávy.
- UDP je široce používán v online hraní, kde je nízká latence a vysokorychlostní komunikace zásadní pro dobrý herní zážitek. Herní servery často odesílají klientům malé, časté pakety dat a protokol UDP se pro tento typ komunikace dobře hodí, protože je rychlý a lehký.
- Streamovací mediální aplikace, jako je IPTV, online rádio a videokonference, používají UDP k přenosu audio a video dat v reálném čase. Ztráta některých paketů může být v těchto aplikacích tolerována, protože data nepřetržitě proudí a nevyžadují opakovaný přenos.
- Služby VoIP (Voice over Internet Protocol), jako je Skype a WhatsApp, využívají UDP pro hlasovou komunikaci v reálném čase. Zpoždění v hlasové komunikaci může být patrné, pokud jsou pakety zpožděny kvůli řízení přetížení, proto se pro zajištění rychlého a efektivního přenosu dat používá protokol UDP.
- DNS (Domain Name System) také používá UDP pro své dotazy/odpovědi. DNS dotazy jsou obvykle malé a vyžadují rychlou odezvu, což z UDP činí vhodný protokol pro tuto aplikaci.
- DHCP (Dynamic Host Configuration Protocol) používá UDP k dynamickému přidělování IP adres zařízením v síti. Zprávy DHCP jsou obvykle malé a zpoždění způsobené ztrátou paketů nebo opakovaným přenosem není pro tuto aplikaci obecně kritické.
- Následující implementace používají UDP jako protokol transportní vrstvy:
- NTP (Network Time Protocol)
- DNS (Domain Name Service)
- BOOTP, DHCP.
- NNP (Network News Protocol)
- Protokol citace dne
- TFTP, RTSP, RIP.
- Aplikační vrstva může provádět některé úkoly prostřednictvím UDP-
- Trasovat trasu
- Záznam trasy
- Časové razítko
- UDP vezme datagram ze síťové vrstvy, připojí jeho hlavičku a odešle jej uživateli. Takže to funguje rychle.
- Pokud odeberete pole kontrolního součtu, UDP je ve skutečnosti nulový protokol.
- Snižte požadavky na počítačové zdroje.
- Při použití Multicast nebo Broadcast k přenosu.
- Přenos paketů v reálném čase, zejména v multimediálních aplikacích.
Výhody UDP
- Rychlost: UDP je rychlejší než TCP, protože nemá režii na vytvoření připojení a zajištění spolehlivého doručení dat.
- Nižší latence: Protože nedochází k navazování spojení, je zde nižší latence a rychlejší doba odezvy.
- Jednoduchost: UDP má jednodušší návrh protokolu než TCP, což usnadňuje jeho implementaci a správu.
- Podpora vysílání: UDP podporuje vysílání více příjemcům, což je užitečné pro aplikace, jako je streamování videa a online hraní.
- Velikost menšího balení: UDP používá menší velikosti paketů než TCP, což může snížit přetížení sítě a zlepšit celkový výkon sítě.
- User Datagram Protocol (UDP) je efektivnější z hlediska latence i šířky pásma.
Nevýhody UDP
- Bez spolehlivosti: UDP nezaručuje doručení paketů nebo pořadí doručení, což může vést k chybějícím nebo duplicitním datům.
- Žádná kontrola přetížení: UDP nemá řízení zahlcení, což znamená, že může odesílat pakety rychlostí, která může způsobit zahlcení sítě.
- Žádná regulace průtoku: UDP nemá řízení toku, což znamená, že může zahltit příjemce pakety, které nedokáže zpracovat.
- Zranitelné vůči útokům: UDP je zranitelný vůči útokům typu denial-of-service, kdy útočník může zaplavit síť pakety UDP, zahltit síť a způsobit její zhroucení.
- Omezené případy použití: UDP není vhodný pro aplikace, které vyžadují spolehlivé doručování dat, jako jsou e-maily nebo přenosy souborů, a je vhodnější pro aplikace, které mohou tolerovat určitou ztrátu dat, jako je streamování videa nebo online hraní.
Pseudohlavička UDP
- Účelem použití pseudozáhlaví je ověřit, že paket UDP dosáhl svého správného cíle
- Správný cíl se skládá z konkrétního stroje a konkrétního čísla portu protokolu v tomto stroji

UDP pseudo hlavička
Podrobnosti pseudohlavičky UDP
- Samotná hlavička UDP uvádí pouze číslo portu protokolu. Pro ověření cílového UDP na odesílajícím stroji se tedy vypočítá kontrolní součet, který pokrývá cílovou IP adresu i UDP paket.
- V konečném cíli UDP software ověří kontrolní součet pomocí cílové IP adresy získané z hlavičky IP paketu, který přenesl UDP zprávu.
- Pokud kontrolní součet souhlasí, pak musí platit, že paket dosáhl zamýšleného cílového hostitele a také správného portu protokolu v rámci tohoto hostitele.
Uživatelské rozhraní
Uživatelské rozhraní by mělo umožňovat vytváření nových přijímacích portů, přijímací operace na přijímacích portech, které vrací datové oktety a indikaci zdrojového portu a zdrojové adresy, a operaci, která umožňuje odeslání datagramu, specifikující data, zdroj a cílové porty a adresu k odeslání.
IP rozhraní
- UDP modul musí být schopen určit zdrojovou a cílovou internetovou adresu a pole protokolu z internetové hlavičky
- Jedno možné UDP/IP rozhraní by vrátilo celý internetový datagram včetně celé internetové hlavičky jako odpověď na operaci příjmu
- Takové rozhraní by také umožnilo UDP předat úplný internetový datagram s hlavičkou IP k odeslání. IP by ověřila konzistenci určitých polí a vypočítala kontrolní součet internetové hlavičky.
- Rozhraní IP umožňuje modulu UDP komunikovat se síťovou vrstvou zásobníku protokolů, která je zodpovědná za směrování a doručování dat po síti.
- Rozhraní IP poskytuje modulu UDP mechanismus pro komunikaci s ostatními hostiteli v síti poskytováním přístupu k základnímu protokolu IP.
- Rozhraní IP může modul UDP používat k odesílání a přijímání datových paketů přes síť pomocí mechanismů směrování a adresování IP.
- Rozhraní IP poskytuje úroveň abstrakce, která umožňuje modulu UDP komunikovat se síťovou vrstvou, aniž by se musel přímo zabývat složitostí směrování a adresování IP.
- IP rozhraní také zvládá fragmentaci a opětovné sestavení IP paketů, což je důležité pro přenosy velkých dat, které mohou překročit maximální velikost paketů povolenou sítí.
- IP rozhraní může také poskytovat další služby, jako je podpora parametrů kvality služeb (QoS) a bezpečnostních mechanismů, jako je IPsec.
- Rozhraní IP je kritickou součástí sady Internet Protocol Suite, protože umožňuje komunikaci mezi hostiteli na internetu a umožňuje bezproblémový přenos datových paketů po síti.
GATE Otázky pro praxi
- GATE CS 2013, otázka 12
- GATE CS 2012, otázka 65
- GATE CS 2007, otázka 20
- GATE CS 2005, otázka 23
- GATE IT 2008, otázka 66
- GATE Mock 2015, otázka 5
Často kladené otázky o UDP – FAQ
1. Jmenujte protokoly, které používají UDP?
Protokoly, které používají model UDP, jsou:
2. Co je rychlejší: TCP nebo UDP?
UDP je rychlejší než TCP.