logo

User Datagram Protocol (UDP)

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.



UDP-gif

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.

UDP-hlavička



Hlavička UDP

  1. Zdrojový port: Zdrojový port je pole dlouhé 2 bajty používané k identifikaci čísla portu zdroje.
  2. Cílový přístav: Jedná se o pole dlouhé 2 bajty, které se používá k identifikaci portu určeného paketu.
  3. Délka: Délka je délka UDP včetně hlavičky a dat. Jedná se o 16bitové pole.
  4. 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.
    1. Snižte požadavky na počítačové zdroje.
    2. Při použití Multicast nebo Broadcast k přenosu.
    3. 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

  1. GATE CS 2013, otázka 12
  2. GATE CS 2012, otázka 65
  3. GATE CS 2007, otázka 20
  4. GATE CS 2005, otázka 23
  5. GATE IT 2008, otázka 66
  6. 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.