User Datagram Protocol

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
OSI модел
7. Приложен слой
NNTP • SIP • SSI • DNS • FTP • Gopher • HTTP • NFS • NTP • SMPP • SMTP • DHCP • SNMP • SSH • Telnet • Netconf • други...
6. Представителен слой
MIME • XDR • TLS • SSL
5. Сесиен слой
Named Pipes • NetBIOS • SAP • L2TP • PPTP
4. Транспортен слой
TCP • UDP • SCTP • DCCP • SPX
3. Мрежов слой
IP (IPv4, IPv6) • ICMP • IPsec • IGMP • IPX  • AppleTalk  • OSPF • RIP • BGP • IGRP • EIGRP
2. Канален слой
ATM • SDLC • HDLC • ARP • CSLIP • SLIP • PLIP • IEEE 802.3 • Frame Relay • ITU-T G.hn DLL • PPP • X.25 • Суич
1. Физически слой
EIA/TIA-232 • EIA/TIA-449 • ITU-T V-Series • I.430 • I.431 • POTS • PDH • SONET/SDH • PON • OTN • DSL • IEEE 802.3 • IEEE 802.11 • IEEE 802.15 • IEEE 802.16 • IEEE 1394 • ITU-T G.hn PHY • USB • Bluetooth • Хъб

User Datagram Protocol (UDP) е минимален транспортен пакетен протокол, документиран в IETF RFC 768.

В семейството от TCP/IP протоколи, UDP предоставя прост интерфейс между мрежовия протокол под него и приложните протоколи над него. UDP не гарантира доставката на данните: не се пази информация за изпратено съобщение, заради което UDP понякога се превежда и като „Unreliable Datagram Protocol“. UDP добавя към IP пакета единствено мултиплексиране на приложения и контролна сума върху данните.

Строеж на UDP пакета в IP4[редактиране | edit source]

+ Битове от 0 - 15 Битове 16 - 31
0 Изходен Порт Порт на дестинацията
32 Дължина Контролна сума
64  
Данни
 


Този строеж на пакета касае версия 4 на Интернет протокола (IP v4) Заглавната част на UDP пакета се състои от 4 полета, от които две не са задължителни. Изходящия (source) и входящия (destination) порт са 16-битови полета идентифициращи изпращащия и получаващия процеси. Тъй като UDP не пази междинно състояние, и няма повторно изпращане на UDP пакети, изходящия порт не е задължителен. Ако не се използва, изходящия порт следва да е нула. След портовете се намира задължително 16-битово поле за дължина в байтове на UDP пакета (заглавие и данни). Така минималната дължина става 8 байта (големината на заглавието). Последното поле е 16-битова контролна сума върху заглавието и данните. Контролната сума също не е задължителна, но се използва почти винаги.

Употреба[редактиране | edit source]

Приложенията използващи 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).

Външни препратки[редактиране | edit source]