91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IP校驗和計算

發布時間:2020-05-25 17:52:59 來源:網絡 閱讀:1415 作者:鮮奶布丁 欄目:網絡安全

今天上課提到IP頭部校驗和怎么算的,還真不是很清楚,于是去網上查了些資料,整理記錄一下。
IP首部校驗和的計算主要是兩步:按位異或和取反,具體來說
1. IP頭部以16位為一個單位,逐個模2加(相當于異或);
2. 得到的結果取反,作為校驗和放入校驗和字段;
3. 初始計算校驗和字段時該字段全部用0填充;
     以上是對于發送者來說如何計算校驗和的,而對于接收者來說,驗證也很簡單:
1. 對于接收的IP報文頭部以16位為單位逐個求和;
2. 若結果為1,則校驗正確,否則出錯丟棄;
     原理很簡單,接收方的計算對象是A和A的反的異或,結果當然是1了!
     具體的程序實現例子如下:

SHORT checksum(USHORT* buffer, int size)

{

unsigned long cksum = 0;

//每16位相加

while(size>1)

{

    cksum += *buffer++;

    size -= sizeof(USHORT);

}

//最后的奇數字節

if(size)

{

    cksum += *(UCHAR*)buffer;

}

cksum = (cksum>>16) + (cksum&0xffff);  //將高16bit與低16bit相加

cksum += (cksum>>16);                             //將進位到高位的16bit與低16bit 再相加,確保高16位為0

return (USHORT)(~cksum); //最后將結果取反,得到checksum

}



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东宁县| 湖南省| 富裕县| 沈阳市| 台南县| 兴宁市| 丹凤县| 溧水县| 武城县| 平乡县| 枣阳市| 富锦市| 玉田县| 城步| 全椒县| 泉州市| 金坛市| 大城县| 酉阳| 萨嘎县| 松潘县| 北安市| 红原县| 土默特左旗| 堆龙德庆县| 株洲市| 鄯善县| 封丘县| 阳朔县| 宣恩县| 高台县| 黎城县| 抚顺市| 信阳市| 吉首市| 册亨县| 景东| 和林格尔县| 周口市| 安陆市| 南通市|