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:
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.
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.
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.
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ů.
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í.
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í.
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
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:
Koncepce front v protokolu 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:
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ů.