logo

Protokol UDP

V počítačových sítích UDP znamená User Datagram Protocol. David P. Reed vyvinul protokol UDP v roce 1980. Je definován v RFC 768 a je součástí protokolu TCP/IP, jde tedy o standardní protokol přes internet. Protokol UDP umožňuje počítačovým aplikacím odesílat zprávy ve formě datagramů z jednoho stroje na druhý přes síť internetového protokolu (IP). UDP je alternativní komunikační protokol k protokolu TCP (transmission control protocol). Stejně jako TCP, i UDP poskytuje sadu pravidel, která řídí, jak by měla být data vyměňována přes internet. UDP funguje tak, že zapouzdří data do paketu a paketu poskytne vlastní informace o hlavičce. Poté je tento UDP paket zapouzdřen do IP paketu a odeslán na místo určení. Oba TCP a UDP protokoly odesílají data přes síť internetového protokolu, takže je také známý jako TCP/IP a UDP/IP. Mezi těmito dvěma protokoly je mnoho rozdílů. UDP umožňuje procesu zpracovávat komunikaci, zatímco TCP poskytuje komunikaci mezi hostiteli. Protože UDP odesílá zprávy ve formě datagramů, je považován za nejnáročnější způsob komunikace. TCP odesílá jednotlivé pakety, jde tedy o spolehlivé transportní médium. Dalším rozdílem je, že TCP je protokol orientovaný na připojení, zatímco UDP je protokol bez připojení, protože k přenosu dat nevyžaduje žádný virtuální okruh.

UDP také poskytuje různé číslo portu pro rozlišení různých uživatelských požadavků a také poskytuje schopnost kontrolního součtu pro ověření, zda dorazila kompletní data nebo ne; vrstva IP tyto dvě služby neposkytuje.

Vlastnosti protokolu UDP

Následující vlastnosti protokolu UDP:

    Protokol transportní vrstvy

UDP je nejjednodušší komunikační protokol transportní vrstvy. Obsahuje minimální množství komunikačních mechanismů. Je považován za nespolehlivý protokol a je založen na doručovacích službách s maximální snahou. UDP neposkytuje žádný potvrzovací mechanismus, což znamená, že příjemce neposílá potvrzení pro přijatý paket a odesílatel také nečeká na potvrzení pro paket, který odeslal.

    Bez připojení

UDP je protokol bez připojení, protože nevytváří virtuální cestu pro přenos dat. Nevyužívá virtuální cestu, takže pakety jsou odesílány různými cestami mezi odesílatelem a příjemcem, což vede ke ztrátě paketů nebo přijímání mimo provoz.

Objednané doručení dat není zaručeno.

V případě UDP není zaručeno, že datagramy odeslané v určitém pořadí budou přijaty ve stejném pořadí, protože datagramy nejsou očíslovány.

    Porty

Protokol UDP používá různá čísla portů, aby mohla být data odeslána do správného cíle. Čísla portů jsou definována mezi 0 a 1023.

    Rychlejší přenos

UDP umožňuje rychlejší přenos, protože se jedná o protokol bez připojení, tj. pro přenos dat není vyžadována žádná virtuální cesta. Existuje však možnost, že se jednotlivý paket ztratí, což má vliv na kvalitu přenosu. Na druhou stranu, pokud dojde ke ztrátě paketu v TCP spojení, bude tento paket odeslán znovu, takže je zaručeno doručení datových paketů.

    Mechanismus potvrzení

UDP má jakýkoli potvrzovací mechanismus, tj. mezi odesílatelem UDP a příjemcem UDP nedochází k žádnému handshakingu. Pokud je zpráva odeslána v TCP, pak příjemce potvrdí, že jsem připraven, pak odesílatel odešle data. V případě TCP dochází k handshakingu mezi odesílatelem a příjemcem, zatímco v UDP k žádnému handshakingu mezi odesílatelem a příjemcem nedochází.

    Se segmenty se zachází nezávisle.

S každým segmentem UDP se zachází individuálně, protože každý segment prochází k cíli jinou cestou. Segmenty UDP mohou být ztraceny nebo doručeny mimo pořadí, aby dosáhly cíle, protože mezi odesílatelem a příjemcem neexistuje žádné spojení.

    Bez státní příslušnosti

Jedná se o bezstavový protokol, což znamená, že odesílatel neobdrží potvrzení o odeslaném paketu.

Proč požadujeme protokol UDP?

Jak víme, UDP je nespolehlivý protokol, ale přesto v některých případech vyžadujeme protokol UDP. UDP se nasazuje tam, kde pakety vyžadují velkou šířku pásma spolu se skutečnými daty. Například při streamování videa je potvrzování tisíců paketů problematické a plýtvá to velkým množstvím šířky pásma. V případě streamování videa nemůže ztráta některých paketů způsobit problém a lze ji také ignorovat.

urfi javed

Formát záhlaví UDP

Protokol UDP

V UDP je velikost záhlaví 8 bajtů a velikost paketu je až 65 535 bajtů. Tato velikost paketu však není možná, protože data musí být zapouzdřena v datagramu IP a paketu IP může být velikost záhlaví 20 bajtů; proto by maximum UDP bylo 65 535 minus 20. Velikost dat, která může UDP paket přenést, by byla 65 535 minus 28, tedy 8 bajtů pro hlavičku paketu UDP a 20 bajtů pro hlavičku IP.

Záhlaví UDP obsahuje čtyři pole:

    Číslo zdrojového portu:Je to 16bitová informace, která identifikuje, který port bude paket odesílat.Číslo cílového portu:Identifikuje, který port bude přijímat informace. Jedná se o 16bitové informace, které se používají k identifikaci služby na úrovni aplikace na cílovém počítači.Délka:Je to 16bitové pole, které specifikuje celou délku UDP paketu, který obsahuje také hlavičku. Minimální hodnota by byla 8 bajtů, protože velikost záhlaví je 8 bajtů.kontrolní součet:Je to 16bitové pole a je to volitelné pole. Toto pole kontrolního součtu kontroluje, zda jsou informace přesné nebo ne, protože existuje možnost, že informace mohou být během přenosu poškozeny. Je to volitelné pole, což znamená, že záleží na aplikaci, zda chce zapsat kontrolní součet nebo ne. Pokud nechce zapsat kontrolní součet, pak je všech 16 bitů nula; jinak zapíše kontrolní součet. V UDP je pole kontrolního součtu aplikováno na celý paket, tj. záhlaví i datovou část, zatímco v IP je pole kontrolního součtu aplikováno pouze na pole záhlaví.

Koncepce front v protokolu UDP

Protokol UDP

V protokolu UDP se čísla používají k rozlišení různých procesů na serveru a klientovi. Víme, že UDP poskytuje proces zpracování komunikace. Klient generuje procesy, které potřebují služby, zatímco server generuje procesy, které služby poskytují. Fronty jsou dostupné pro oba procesy, tj. dvě fronty pro každý proces. První fronta je příchozí fronta, která přijímá zprávy, a druhá je odchozí fronta, která zprávy odesílá. Fronta funguje, když je proces spuštěn. Pokud je proces ukončen, fronta bude také zničena.

UDP zpracovává odesílání a přijímání paketů UDP pomocí následujících komponent:

    Vstupní fronta:Pakety UDP používají pro každý proces sadu front.Vstupní modul:Tento modul převezme uživatelský datagram z IP a poté najde informace z tabulky řídicích bloků stejného portu. Pokud nalezne záznam v tabulce řídicích bloků se stejným portem jako uživatelský datagram, zařadí data do fronty.Modul řídicího bloku:Spravuje tabulku řídicích bloků.Tabulka řídicích bloků:Tabulka řídicích bloků obsahuje záznam otevřených portů.Výstupní modul:Výstupní modul vytvoří a odešle uživatelský datagram.

Několik procesů chce využívat služeb UDP. UDP multiplexuje a demultiplexuje procesy, takže více procesů může běžet na jednom hostiteli.

Omezení

  • Poskytuje nespolehlivou službu doručení připojení. Neposkytuje žádné služby IP kromě toho, že poskytuje komunikaci mezi procesy.
  • Zpráva UDP může být ztracena, zpožděna, duplikována nebo může být mimo provoz.
  • Neposkytuje spolehlivou přepravní doručovací službu. Neposkytuje žádné potvrzení ani mechanismus řízení toku. Do určité míry však poskytuje kontrolu chyb.

Výhody

  • Produkuje minimální počet režijních nákladů.