CCNA Podle knihy VÝUKOVÝ PRŮVODCE Přípravou NA ZKOUŠKU 640-802

Úvod do protokolů TCP/IP - UDP

UDP (User Datagram Protocol)

Pokud porovnáte protokol UDP (User Datagram Protocol) s protokolem TCP, zjistíte, že první z nich je v zásadě zjednodušenou ekonomickou verZÍ druhého. Tento model se někdy označuje jako tenký protokol. Podobně jako hubený člověk na lavičce v parku ani tenký protokol nezabírá mnoho místa - v tomto případě vyžaduje menší šířku pásma sítě. Protokol UDP ani nenabízí všechny pokročilé funkce protokolu TCP, ale dokonale plní úkol přenosu informací, které nevyžadují spolehlivé doručení - a konzumuje přitom mnohem méně síťových prostředků. (Protokol UDP je podrobně popsán ve standardu RFC - Request for Comments - 768.)

Poznámka Dokumenty RFC (Requests for Comments) tvoří od roku 1969 souvislou řadu komentářů týkajících se Internetu (původně sítě ARPAnet). Tyto texty se týkají mnoha aspektů počítačové komunikace. Zaměřují se na síťové protokoly, postupy, programy a koncepce, ale zahrnují i poznámky ze schůzí, osobní názory a někdy i vtipy.

V některých situacích je rozhodně rozumné, aby vývojáři dali přednost protokolu UDP před protokolem TCP. Pamatujete si na hlídací protokol SNMP na vyšší procesní/aplikační vrstvě? Protokol SNMP sleduje síť a odesílá příležitostné zprávy a poměrně stabilní tok aktualizací stavu a upozornění, zejména v případě, kdy se používá v rozsáhlé síti. Náklady na navazování, údržbu a ukončování spojení TCP pro každou z těchto krátkých zpráv by způsobily, že jinak funkční a efektivní síť by se okamžitě zpomalila až k nepoužitelnosti! Jiná situace, kdy je vhodné zvolit protokol UDP místo protokolu TCP, nastává, když je spolehlivost již zajišťována na procesní/aplikační vrstvě. Protokol NFS (Network File System) se stará o spolehlivost sám, takže je v tomto případě použití protokolu TCP nepraktické i nadbytečné. Rozhodnutí o výběru protokolu UDP nebo TCP však nakonec musí přijmout vývojář, nikoli uživatel, který chce přenášet svá data rychleji.

Protokol UDP neřadí segmenty a nestará se o to, v jakém pořadí dorazí do cílového umístění. UDP prostě segmenty odešle a dále se jimi nezabývá. Nesleduje tyto segmenty, nekontroluje jejich stav ani neposkytuje potvrzení bezpečného doručení - dá se říci, že segmenty naprosto opouští. Vzhledem k tomu se označuje jako nespolehlivý protokol. To neznamená, že by byl protokol UDP neefektivní, pouze neřeší otázky spolehlivosti. UDP dále nevytváří virtuální okruh ani nekontaktuje cílové umístění před tím, než mu odešle data. Z tohoto důvodu se také považuje za nespojovaný protokol. Protokol UDP předpokládá, že aplikace zajistí spolehlivost svými vlastními metodami a sám žádnou metodu tohoto typu nepoužívá. Vývojář aplikace, který pracuje se zásobníkem protokolu IP, má tedy na výběr: TCP poskytující spolehlivost, nebo UDP urychlující přenosy.

Jestliže tedy například pracujete s technologií přenosu hlasu VolP (Voice over IP), rozhodně není vhodné zvolit protokol UDP. Pokud by totiž segmenty dorazily v nesprávném pořadí (což se v sítích IP stává velmi běžně), jednoduše by byly předány další vrstvě modelu OSI (ministerstva obrany) v libovolném pořadí tak, jak byly přijaty. Výsledná data by byla nesmyslně promíchána. Oproti tomu protokol TCP řadí segmenty tak, aby je bylo možné sestavit zpět přesně ve stejném pořadí. Tuto možnost protokol UDP jednoduše nenabízí.

Formát segmentu UDP

Obrázek 2.4 jasně dokládá mimořádně nízkou režii protokolu UDP v porovnání s vysokými nároky protokolu TCP. Pečlivě se na toto schéma podívejte. Jak se můžete sami přesvědčit, protokol UDP nepoužívá ve své hlavičce okna a ani neposkytuje potvrzení.

Potřebujete rozumět tomu, jaký význam mají jednotlivá pole v segmentu UDP:

Source port (Zdrojový port): Číslo portu aplikace na straně hostitele, která odesílá data.

Destination port (Cílový port): Číslo portu požadované aplikace v cílovém hostiteli.

Length (Délka): Délka hlavičky UDP a přenášených dat.

Checksum (Kontrolní součet): Kontrolní součet kombinace hlavičky UDP s datovými poli.

Data: Data horní vrstvy.

Protokol UDP stejně jako TCP nespoléhá na vyšší vrstvy a počítá vlastní hodnoty CRC. Pamatujte, že hodnota kontrolního součtu CRC se nachází v poli Frame Check Sequence (FCS). Z tohoto důvodu je uvedena informace FCS.

Následující výpis představuje segment UDP zachycený síťovým analyzátorem:

UDP - User Datagram P rotocol

Source Port : 1 0 85

Destination Port : 513 6

Length :  41

Checksum: Ox7a3c

UDP Data Area :

.. Z ...... 00 Ol 5a 96 00 Ol 00 00 00 00 00 II 0000 00

... C .. 2 . _C . _C 2e 03 00 43 02 1e 32 Oa 00 Oa 00 80 43 00 80

F r ame Check Sequence : OxOOOOOOOO

Všimněte si nízké režie! Pokuste se v segmentu UDP najít pořadové číslo, číslo potvrzení a velikost okna. Nepodaří se vám to, protože tyto hodnoty zde jednoduše nejsou.