User Datagram Protocol
от Уикипедия, свободната енциклопедия
User Datagram Protocol (UDP) е минимален транспортен пакетен протокол, документиран в IETF RFC 768.
В семейството от TCP/IP протоколи, UDP предоставя прост интерфейс между мрежовия протокол под него и приложните протоколи над него. UDP не гарантира доставката на данните: не се пази информация за изпратено съобщение, заради което UDP понякога се превежда и като „Unreliable Datagram Protocol“. UDP добавя към IP пакета единствено мултиплексиране на приложения и контролна сума върху данните.
Заглавието на UDP пакета се състои от 4 полета, от които две не са задължителни. Изходящия (source) и входящия (destination) порт са 16-битови полета идентифициращи изпращащия и получаващия процеси. Тъй като UDP не пази междинно състояние, и няма повторно изпращане на UDP пакети, изходящия порт не е задължителен. Ако не се използва, изходящия порт следва да е нула. След портовете се намира задължително 16-битово поле за дължина в байтове на UDP пакета (заглавие и данни). Така минималната дължина става 8 байта (големината на заглавието). Последното поле е 16-битова контролна сума върху заглавието и данните. Контролната сума също не е задължителна, но се използва почти винаги.
Приложенията използващи UDP трябва да издържат на загуба на пакети, дублиране, и дори размяна в последователността на пристигането им. Някои приложения, като Trivial File Transfer Protocol, може да добавят базови механизми за надеждно доставяне на данните в приложния слой, но най-често UDP се използва от приложения които не изискват надеждна доставка, или такива, при които това пречи. Streaming media, мрежови игри в реално време и глас през IP (VoIP) са примери за приложения, които обикновенно използват UDP. Когато е необходима по-висока степен на надежост, може да се използва Transmission Control Protocol.
UDP няма механизми за избягване на задръствания, заради което общи механизми в самата мрежа се грижат да намалят ефекта на неконтролиран UDP трафик. С други думи, изпращащите UDP пакети не могат да установят дали не претоварват мрежата с трафика си. Когато това стане, мрежовото оборудване (рутерите) започват да редят пакетите в опашки до освобождаване на канал по който да се изпратят. Ако това не стане достатъчно бързо, част от пакетите се изхвърлят. Частично решение на този проблем се явява Datagram Congestion Control Protocol (DCCP), в който към UDP поток се добавя контролна информация подпомагаща срещу тези задръствания.
Въпреки че UDP трафика в една обикновенна мрежа често е само няколко процента, много ключови приложения използват UDP. Такива са например Domain Name System (DNS), Simple Network Management Protocol (SNMP), Dynamic host configuration protocol (DHCP) Routing Information Protocol (RIP).