• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            aurain
            技術文摘
            posts - 137,  comments - 268,  trackbacks - 0
            引用自:http://blog.csdn.net/jiadelin/archive/2008/07/28/2726435.aspx

            // ICMP header
            typedef struct _tagX_icmphdr
            {
             unsigned char i_type;     //類型
             unsigned char i_code;     //代碼
             unsigned short i_cksum;  //檢驗和
             unsigned short i_id;        //標識符
             unsigned short i_seq;     //序列號
             unsigned long i_timestamp;  //當前時間  =(unsigned long)::GetTickCount();

            }XIcmpHeader;

             

            各種ICMP報文的前32bits都是三個長度固定的字段:type類型字段(8位)、code代碼字段(8位)、checksum校驗和字段(16位)

            8bits類型和8bits代碼字段:一起決定了ICMP報文的類型。常見的有:
              
              類型8、代碼0:回射請求。
              
              類型0、代碼0:回射應答。
              
              類型11、代碼0:超時。
              
              16bits校驗和字段:包括數據在內的整個ICMP數據包的校驗和,其計算方法和IP頭部校驗和的計算方法是一樣的。

            下圖是一張ICMP回射請求和應答報文頭部格式

             

            對于ICMP回射請求和應答報文來說,接下來是16bits標識符字段:用于標識本ICMP進程。
              
            最后是16bits序列號字段:用于判斷回射應答數據報。

             

            ICMP報文包含在IP數據報中,屬于IP的一個用戶,IP頭部就在ICMP報文的前面

            一個ICMP報文包括IP頭部(20字節)、ICMP頭部(8字節)和ICMP報文

            IP頭部的Protocol值為1就說明這是一個ICMP報文

            ICMP頭部中的類型(Type)域用于說明ICMP報文的作用及格式

            此外還有代碼(Code)域用于詳細說明某種ICMP報文的類型

            所有數據都在ICMP頭部后面。RFC定義了13種ICMP報文格式,具體如下:

            類型代碼 類型描述

            0 響應應答(ECHO-REPLY)

            3 不可到達

            4 源抑制

            5 重定向

            8 響應請求(ECHO-REQUEST)

            11 超時

            12 參數失靈

            13 時間戳請求

            14 時間戳應答

            15 信息請求(*已作廢)

            16 信息應答(*已作廢)

            17 地址掩碼請求

            18 地址掩碼應答

            其中代碼為15、16的信息報文已經作廢。

            下面是幾種常見的ICMP報文:

            1.響應請求

            我們日常使用最多的ping,就是響應請求(Type=8)和應答(Type=0),一臺主機向一個節點發送一個Type=8的ICMP報文,如果途中沒有異常(例如被路由器丟棄、目標不回應ICMP或傳輸失敗),則目標返回Type=0的ICMP報文,說明這臺主機存在,更詳細的tracert通過計算ICMP報文通過的節點來確定主機與目標之間的網絡距離。

            2.目標不可到達、源抑制和超時報文

            這三種報文的格式是一樣的,目標不可到達報文(Type=3)在路由器或主機不能傳遞數據報時使用,例如我們要連接對方一個不存在的系統端口(端口號小于1024)時,將返回Type=3、Code=3的ICMP報文,它要告訴我們:“嘿,別連接了,我不在家的!”,常見的不可到達類型還有網絡不可到達(Code=0)、主機不可到達(Code=1)、協議不可到達(Code=2)等。源抑制則充當一個控制流量的角色,它通知主機減少數據報流量,由于ICMP沒有恢復傳輸的報文,所以只要停止該報文,主機就會逐漸恢復傳輸速率。最后,無連接方式網絡的問題就是數據報會丟失,或者長時間在網絡游蕩而找不到目標,或者擁塞導致主機在規定時間內無法重組數據報分段,這時就要觸發ICMP超時報文的產生。超時報文的代碼域有兩種取值:Code=0表示傳輸超時,Code=1表示重組分段超時。

            3.時間戳

            時間戳請求報文(Type=13)和時間戳應答報文(Type=14)用于測試兩臺主機之間數據報來回一次的傳輸時間。傳輸時,主機填充原始時間戳,接收方收到請求后填充接收時間戳后以Type=14的報文格式返回,發送方計算這個時間差。一些系統不響應這種報文。

            --------------------------------種類-------------------------------------

            ICMP報文格式
            ICMP雖然是網絡層的協議,但要將ICMP報文放入IP中發送。

            ICMP報文的公共頭標由1字節的類型(type)、1字節的
            代碼(code)和2字節的校驗和(checksum)組成。
            類型域和代碼域用來標識各種ICMP報文。類型域表示ICMP報文的類型,目前已定義了14
            種,從類型值來看ICMP報文可分為二大類。

            第1 類是取值為1~127的差錯報文,

            第2類是取值128以上的是信息(informational)報文。


            1不能到達信宿(Destination Unreachable)差錯報文
            2分組過大(Packet Too Big)差錯報文
            3超時(Time Exceeded)差錯報文


            4參數問題(Parameter Problem)差錯報文
            128返回請求(Echo Request)報文
            129返回應答(Echo Reply)報文
            130組成員查詢(Group Membership Query)
            131組成員報告(Group Membership Report)
            132組成員結束(Group Membership Termination)
            133路由器請求(Router Solicitation)
            134路由器公告(Router Advertisement)
            135鄰機請求(Neighbor Solicitation)
            136鄰機公告(Neighbor Advertisement)
            137 重定向(Redirect)

            posted on 2009-01-16 13:37 閱讀(3749) 評論(0)  編輯 收藏 引用 所屬分類: tcp/ip

            <2008年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(17)

            隨筆分類(138)

            隨筆檔案(137)

            網絡開發

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 500428
            • 排名 - 37

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            久久亚洲精品无码观看不卡| 久久青青草原亚洲av无码app| 国内精品久久久久久久coent| 久久久精品国产免大香伊| 欧美亚洲另类久久综合婷婷| 亚洲国产成人精品91久久久 | 久久精品桃花综合| 久久婷婷成人综合色综合| 99精品国产在热久久无毒不卡| 久久av免费天堂小草播放| 香蕉久久夜色精品升级完成| 国内精品久久国产大陆| 久久精品视频一| 欧美日韩中文字幕久久伊人| 伊人精品久久久久7777| 精品国产VA久久久久久久冰| 久久无码精品一区二区三区| 亚洲午夜久久久影院| 人妻系列无码专区久久五月天| 久久综合久久综合久久综合| 无码国产69精品久久久久网站| 精品水蜜桃久久久久久久| 青青青伊人色综合久久| 久久777国产线看观看精品| 久久久久久亚洲AV无码专区| 伊人久久大香线蕉AV色婷婷色| 亚洲精品成人久久久| 亚洲国产小视频精品久久久三级| 国产精品无码久久久久| 中文字幕亚洲综合久久菠萝蜜| 亚洲一区中文字幕久久| 精品无码久久久久久久动漫 | 国产精品99久久久精品无码 | 久久se精品一区精品二区| 色综合久久最新中文字幕| 久久精品国产久精国产| 久久久久亚洲AV成人网人人网站| 人人狠狠综合久久亚洲婷婷| 久久久久久无码国产精品中文字幕| 久久久亚洲裙底偷窥综合| 久久久久久久99精品免费观看|