UDP協議校驗和的計算

UDP協議的僞首部既不向上傳輸也不向下傳輸爲什麼我們還要計算它?

答:UDP的校驗和需要計算UDP首部加數據荷載部分,也需要加上UDP僞首部,既如圖所示:

源IP地址,目的IP地址,UDP長度,再加上被補充了1字節全零的協議類型(即第三字段和第四字段)構成了一個長度爲12字節的僞首部

在圖中可以看出在計算校驗和時,校驗和的那部分也被包含其中。在計算時校驗和的部分被置0方可計算

UDP校驗和的計算方法:(按圖二進行計算)

1.將校驗和字段置零。

2.把所有比特位按16-bit(2字節)一組進行劃分。

3.把2中劃分好的組進行向加,如果遇到進位,將進位值加到值的最低位上。舉例:(用16進製表示)

0xBB5E+0xFCED = 0x1 B84B, 可以看出在這個例子中結果有進位,所以將進位值1加到值的最低位上,得到結果是0xB84C

4.把所有的組相加到一起後,得到的結果是一個16位的數,將這個結果取反後則得到了校驗碼。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章