新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > IP協(xié)議校驗算法程序

IP協(xié)議校驗算法程序

作者: 時間:2010-08-23 來源:網(wǎng)絡(luò) 收藏

  采用統(tǒng)一的,其計算比較簡單:設(shè)和初值為0,然后對數(shù)據(jù)每16位求異或,結(jié)果取反,便得和。校驗時將數(shù)據(jù)(含校驗和)按同樣的求和,結(jié)果為0則數(shù)據(jù)正確,不為0表示通訊出錯,需要丟棄該數(shù)據(jù)包。這樣能簡化校驗設(shè)計,提高TCP/的效率。

本文引用地址:http://m.butianyuan.cn/article/157167.htm

  應(yīng)廣大讀者的要求給出作者通用的校驗

     typedef unsigned int    __u16;typedef unsigned long   __u32;__u16 checksum(__u16 xdata *dp, __u16 length){__u32 sum = 0;__u16 len = length >> 1;while(len-- > 0)sum += *dp++;if(length  1)sum += (*dp  0xFF00);sum = (sum >> 16) + (sum  0xFFFF);sum += (sum >> 16);len = sum  0xFFFF;return(~len);}

  所有TCP/IP的校驗和計算和數(shù)據(jù)包的校驗均由上面的子完成。不過需要注意的是TCP和UDP的校驗需要加上偽頭標,不然得不到正確的結(jié)果,偽頭標違背了協(xié)議的分層原則,但這種違背是出于實際需要的,也正體現(xiàn)了TCP/IP協(xié)議設(shè)計的靈活性。

tcp/ip相關(guān)文章:tcp/ip是什么




關(guān)鍵詞: 程序 算法 校驗 協(xié)議 IP

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉