User Datagram Protocol

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

UDP (User Datagram Protocol) je jeden ze sady protokolů internetu. O protokolu UDP říkáme, že nedává záruky na datagramy, které přenáší mezi počítači v síti. Někdy je označován jako nespolehlivý, ale správněji by mělo být bez záruky doručení, což je hlavní rozdíl proti protokolu TCP.

Protokol UDP je vhodný pro nasazení, které vyžaduje jednoduchost, malá režie nebo pro aplikace pracující systémem otázka-odpověď (např. DNS, sdílení souborů v LAN). +more Jeho bezstavovost je užitečná pro servery, které obsluhují mnoho klientů nebo pro nasazení, kde se počítá se ztrátami datagramů a není vhodné, aby se ztrácel čas novým odesíláním (starých) nedoručených zpráv (např. VoIP, online hry).

Technický přehled

UDP protokol je protokol transportní vrstvy orientovaný na zprávy a byl uveden v RFC 768.

V sadě protokolů Internetu poskytuje UDP velmi jednoduché rozhraní mezi síťovou vrstvou pod a aplikační vrstvou nad. UDP neposkytuje žádné záruky doručení a odesílatelova UDP vrstva si u jednou už odeslaných zpráv neudržuje žádný stav. +more UDP pouze přidává kontrolní součty a schopnost roztřiďovat UDP pakety mezi více aplikací běžících na stejném počítači.

0zdrojový portcílový port
32délkadélkadélkadélkadélkadélkadélkadélkadélkadélkadélkadélkadélkadélkadélkadélkakontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součetkontrolní součet
64datadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadatadata

UDP hlavička se skládá jen ze 4 políček, z nichž 2 jsou volitelná. Políčka zdrojového a cílového portu jsou šestnáctibitová a identifikují odesílající a přijímající proces. +more Protože UDP je bezestavový a odesílatel nemusí vyžadovat odpověď, zdrojový port je volitelný. Pokud není použit, zdrojový port by měl být nastaven na nulu. Po číslech portů následuje povinná délka UDP paketu včetně dat, v bytech. Minimální hodnota činí 8 bajtů. Zbývající políčko hlavičky tvoří šestnáctibitový kontrolní součet pokrývající hlavičku i data. Tento součet je možné vynechat, ale v praxi se téměř vždy používá.

Kvůli chybějícím zárukám se UDP aplikace musí smířit s nějakými ztrátami, chybami nebo duplikacemi. Některé aplikace (jako třeba TFTP) mohou podle potřeby přidávat jednoduchý mechanismus spolehlivosti do aplikační vrstvy. +more Aplikace používající UDP nejčastěji opravný mechanismus nepotřebují, a dokonce jím mohou být zdržovány. Pokud aplikace vyžaduje vysoký stupeň spolehlivosti, může se místo něj použít TCP nebo opravné kódy.

Protože UDP postrádá mechanismus předcházení a regulace zahlcení sítě, je nutné nadbytečné UDP datagramy na routerech zahazovat. Jako částečné řešení tohoto problému je navrhován protokol DCCP (Datagram Congestion Control Protocol).

Ačkoliv je celkové množství UDP provozu na typické síti jen v řádu procent, je UDP používán řadou klíčových služeb včetně DNS, SNMP, DHCP a RIP.

Porty

UDP používá porty, aby bylo možné rozlišit v počítači jednotlivé aplikace a správně jim doručit data, i když jich komunikuje v počítači více. Port je 16bitová hodnota, která umožňuje používat porty z rozsahu 0-65535. +more Port 0 je rezervován, ale je možné ho použít, pokud odesílající proces neočekává žádnou odpověď.

Porty 1-1023 jsou tzv. dobře známé a na Unixech a odvozených operačních systémech jsou potřeba práva uživatele root, aby je bylo možné použít. +more Porty 1024-49151 jsou registrované porty. Porty 49152-65535 jsou používány pro komunikaci klienta se serverem.

Rozdíl mezi TCP a UDP

TCP je spojově orientovaný protokol což znamená, že k navázání "end-to-end" komunikace potřebuje, aby proběhl mezi klientem a serverem tzv. "handshaking". +more Poté, co bylo spojení navázáno, data mohou být posíláná oběma směry. Charakteristické vlastnosti TCP protokolu jsou:.

* spolehlivost - TCP používá potvrzování o přijetí, opětovné posílání a překročení časového limitu. Pokud se jakákoliv data ztratí po cestě, server si je opětovně vyžádá. +more U TCP nejsou žádná ztracená data, jen pokud několikrát po sobě vyprší časový limit, tak je celé spojení ukončeno. * zachování pořadí - Pokud pakety dorazí ve špatném pořadí, TCP vrstva příjemce se postará o to, aby se některá data pozdržela a finálně je předala správně seřazená. * vyšší režie - TCP protokol potřebuje např. tři pakety pro otevření spojení, umožňuje to však zaručit spolehlivost celého spojení.

UDP je jednodušší protokol založený na odesílání nezávislých zpráv. Charakteristika protokolu:

* bez záruky - Protokol neumožňuje ověřit, jestli data došla zamýšlenému příjemci. Datagram se může po cestě ztratit. +more UDP nemá žádné potvrzování, přeposílání ani časové limity. V případě potřeby musí uvedené problémy řešit vyšší vrstva. * nezachovává pořadí - Při odeslání dvou zpráv jednomu příjemci nelze předvídat, v jakém pořadí budou doručeny. * jednoduchost - Nižší režie než u TCP (není zde řazení, žádné sledování spojení atd. ).

Externí odkazy

RFC 768 * [url=http://www.iana.org/assignments/port-numbers]přiřazená čísla portů[/url]

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top