1. UDP協(xié)議
UDP只在IP數(shù)據(jù)報服務之上增加了很少功能,即復用分用和差錯檢測功能。
UDP的主要特點:
-
UDP是無連接的,減少開銷和發(fā)送數(shù)據(jù)之前的時延。
-
UDP使用最大努力交付,即不保證可靠交付。
-
UDP是面向報文的,適合一次性傳輸少量數(shù)據(jù)的網(wǎng)終應用。
應用層給UDP多長的報文,UDP就照樣發(fā)送,即一次發(fā)一個完整報文。
UDP報文太長,會導致數(shù)據(jù)報在網(wǎng)絡層分片,導致效率低,
UDP報文太低,導致網(wǎng)絡層的IP報頭比有效載荷長很多,導致效率下降。所以應用層傳輸?shù)臄?shù)據(jù)報長度需要適中。
-
UDP沒有擁塞控制,適合很多實時應用。(視頻會議)
-
UDP首部開銷比較小8B,TCP首部固定字段20B(不包括選項字段和填充字段)
UDP報文格式
16位UDP長度:代表的是UDP報文的整個長度
16位UDP檢驗和:檢驗整個UDP數(shù)據(jù)報是否出錯。出錯就丟棄報文。
UDP報文分用時,找不到對應的目的端口號,就丟棄報文。
并給發(fā)送方發(fā)送ICMP端口不可達差錯報告報文.
UDP校驗過程
偽首部:
- 在計算校驗和的時候才出現(xiàn),不向上傳遞或向下傳遞
- 偽首部的第三個字段為全0
- 第四個字段17代表,封裝UDP報文的IP數(shù)據(jù)報首部協(xié)議字段是17。
- UDP長度:UDP首部8B+數(shù)據(jù)部分長度(不包括偽首部)。
偽首部校驗過程:
上圖中每一行都是4字節(jié)。有時UDP報文數(shù)據(jù)部分不一定是4字節(jié)的整數(shù)倍,需要在后面填充0到4字節(jié)整數(shù)倍。
UDP校驗在發(fā)送方:文章來源:http://www.zghlxwxcb.cn/news/detail-425249.html
- 填充偽首部
- 校驗和字段全部填寫為0(初始化校驗和)
- 數(shù)據(jù)部分填充到4字節(jié)的倍數(shù)。
- 偽首部+首部+數(shù)據(jù)部分采用二進制反碼求和。
- 將求和結(jié)果求反碼填充到校驗和字段
- 去掉偽首部,發(fā)送數(shù)據(jù)
UDP校驗在接收方:文章來源地址http://www.zghlxwxcb.cn/news/detail-425249.html
- 填上偽首部
- 偽首部+首部+數(shù)據(jù)部分采用二進制反碼求和。(此時校驗和字段不是0)
- 結(jié)果二進制序列全為1則無差錯,否則丟棄數(shù)據(jù)報或交給應用層附上出差錯的警告。差錯控制由應用層負責。
到了這里,關于計算機網(wǎng)絡-傳輸層(UDP協(xié)議報文格式,偽首部,UDP校驗過程)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!