UDP協(xié)議在IP協(xié)議上增加了復(fù)用、分用和差錯(cuò)檢測(cè)功能。UDP的特點(diǎn):
A)是無(wú)連接的。相比于TCP協(xié)議,UDP協(xié)議在傳送數(shù)據(jù)前不需要建立連接耸采,當(dāng)然也就沒(méi)有釋放連接。
B)是盡最大努力交付的工育。也就是說(shuō)UDP協(xié)議無(wú)法保證數(shù)據(jù)能夠準(zhǔn)確的交付到目的主機(jī)虾宇。也不需要對(duì)接收到的UDP報(bào)文進(jìn)行確認(rèn)。
C)是面向報(bào)文的如绸。也就是說(shuō)UDP協(xié)議將應(yīng)用層傳輸下來(lái)的數(shù)據(jù)封裝在一個(gè)UDP包中嘱朽,不進(jìn)行拆分或合并旭贬。因此,運(yùn)輸層在收到對(duì)方的UDP包后搪泳,會(huì)去掉首部后稀轨,將數(shù)據(jù)原封不動(dòng)的交給應(yīng)用進(jìn)程。
D)沒(méi)有擁塞控制岸军。因此UDP協(xié)議的發(fā)送速率不送網(wǎng)絡(luò)的擁塞度影響奋刽。
E)UDP支持一對(duì)一、一對(duì)多艰赞、多對(duì)一和多對(duì)多的交互通信佣谐。
F)UDP的頭部占用較小,只占用8個(gè)字節(jié)方妖。
UDP報(bào)文格式
UDP協(xié)議分為首部字段和數(shù)據(jù)字段狭魂,其中首部字段只占用8個(gè)字節(jié),分別是個(gè)占用兩個(gè)字節(jié)的源端口党觅、目的端口雌澄、長(zhǎng)度和檢驗(yàn)和。
長(zhǎng)度:UDP報(bào)文的整個(gè)大小杯瞻,最小為8個(gè)字節(jié)(僅為首部)掷伙。
檢驗(yàn)和:在進(jìn)行檢驗(yàn)和計(jì)算時(shí),會(huì)添加一個(gè)偽首部一起進(jìn)行運(yùn)算又兵。偽首部(占用12個(gè)字節(jié))為:4個(gè)字節(jié)的源IP地址、4個(gè)字節(jié)的目的IP地址卒废、1個(gè)字節(jié)的0沛厨、一個(gè)字節(jié)的數(shù)字17、以及占用2個(gè)字節(jié)UDP長(zhǎng)度摔认。這個(gè)偽首部不是報(bào)文的真正首部逆皮,只是引入為了計(jì)算校驗(yàn)和。相對(duì)于IP協(xié)議的只計(jì)算首部参袱,UDP檢驗(yàn)和會(huì)把首部和數(shù)據(jù)一起進(jìn)行校驗(yàn)电谣。接收端進(jìn)行的校驗(yàn)和與UDP報(bào)文中的校驗(yàn)和相與,如果無(wú)差錯(cuò)應(yīng)該全為1抹蚀。如果有誤剿牺,則將報(bào)文丟棄或者發(fā)給應(yīng)用層、并附上差錯(cuò)警告环壤。