<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關(guān)注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks
    很多文章對ip首部檢驗和的計算介紹得很簡略,在理解上常常會比較困難。這篇文章是我自己的一些理解。或許也有不正確的地方,希望大家指正。
    這個問題一直困繞了我很長時間,今天終于理解了。 


    我們可以通過spynet sniffer抓包軟件,抓取一個ip數(shù)據(jù)包進行分析研究。
    下面我以本機抓到的一個完整的ip首部為例(紅色字體表示):

    0000: 00 e0 0f 7d 1e ba 00 13 8f 54 3b 70 08 00 45 00
    0010: 00 2e be 55 00 00 7a 11 51 ac de b7 7e e3 c0 a8
    0020: 12 7a

    45 00 00 2e----4表示ip版本號為ip第4版;5表示首部長度為5個32 bit字長,即為20字節(jié);00 2e表示ip總長度為46字節(jié),其中ip數(shù)據(jù)部分為
    26字節(jié)。
    be 55 00 00----be 55表示標識符;00 00表示3 bit標志及13 bit片偏移量;
    7a 11 51 ac----7a表示ttl值為122;11表示協(xié)議號為17的udp協(xié)議;51 ac表示16 bit首部檢驗和值;
    de b7 7e e3----表示32 bit 源ip地址為222.183.126.227
    c0 a8 12 7a----表示32 bit 目的ip地址為192.168.18.122



    檢驗和計算:
    首先,把檢驗和字段置為0。
    45 00 00 2e
    be 55 00 00
    7a 11 00 00<----檢驗和置為0
    de b7 7e e3
    c0 a8 12 7a
    其次,對整個首部中的每個16 bit進行二進制反碼求和,求和值為3ae50,然后3+ae50=ae53(這是根據(jù)源代碼中算法 cksum = (cksum
    >> 16) + (cksum & 0xffff) 進行的 )

    最后,ae53+51ac=ffff。因此判斷ip首部在傳輸過程中沒有發(fā)生任何差錯。
    posted on 2007-05-17 21:43 allic 閱讀(557) 評論(0)  編輯  收藏 所屬分類: TCP/IP 開發(fā)
    主站蜘蛛池模板: 亚洲日产乱码一二三区别 | 免费看国产成年无码AV片| 亚洲精品123区在线观看| 全免费a级毛片免费**视频| 一级毛片一级毛片免费毛片| 久久亚洲AV午夜福利精品一区 | 最近免费中文字幕大全免费 | 亚洲乱码日产精品一二三| 国产亚洲精品免费视频播放| 99久久99热精品免费观看国产 | 久久精品免费网站网| 亚洲神级电影国语版| 亚洲成a人片在线观看久| 久久久精品午夜免费不卡| 亚洲精品一卡2卡3卡四卡乱码| 中文字幕精品亚洲无线码二区| 成年女人免费视频播放77777 | 又粗又长又爽又长黄免费视频| 亚洲精品综合久久中文字幕| 国产免费卡一卡三卡乱码| 最好看最新的中文字幕免费| 精品国产日韩亚洲一区91| 亚洲欧洲一区二区| 亚洲国产成人五月综合网 | 国产精品亚洲а∨无码播放| 四虎永久在线精品免费网址 | 亚洲黄色激情视频| 久久91亚洲人成电影网站| 国产免费怕怕免费视频观看| 免费在线视频你懂的| a在线免费观看视频| 看免费毛片天天看| 亚洲乱码一二三四区乱码| 亚洲国产精品特色大片观看完整版 | 亚洲福利电影在线观看| 亚洲熟女一区二区三区| mm1313亚洲精品国产| 在线免费不卡视频| 1a级毛片免费观看| 免费av一区二区三区| 一个人看的在线免费视频|