UDP协议格式
? ?UDP協(xié)議在IP協(xié)議上增加了復(fù)用、分用和差錯(cuò)檢測(cè)功能。UDP的特點(diǎn):
?????? A)是無連接的。相比于TCP協(xié)議,UDP協(xié)議在傳送數(shù)據(jù)前不需要建立連接,當(dāng)然也就沒有釋放連接。
?????? B)是盡最大努力交付的。也就是說UDP協(xié)議無法保證數(shù)據(jù)能夠準(zhǔn)確的交付到目的主機(jī)。也不需要對(duì)接收到的UDP報(bào)文進(jìn)行確認(rèn)。
?????? C)是面向報(bào)文的。也就是說UDP協(xié)議將應(yīng)用層傳輸下來的數(shù)據(jù)封裝在一個(gè)UDP包中,不進(jìn)行拆分或合并。因此,運(yùn)輸層在收到對(duì)方的UDP包后,會(huì)去掉首部后,將數(shù)據(jù)原封不動(dòng)的交給應(yīng)用進(jìn)程。
???????D)沒有擁塞控制。因此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)和相與,如果無差錯(cuò)應(yīng)該全為1。如果有誤,則將報(bào)文丟棄或者發(fā)給應(yīng)用層、并附上差錯(cuò)警告。
總結(jié)
- 上一篇: ruby语言学习-开启篇
- 下一篇: java ireport 打印_irep