• <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

               Ping程序由Mike Muuss編寫,目的是為了測試另一臺主機是否可達。該程序發(fā)送一份ICMP回顯請求報文給主機,并等待返回ICMP回顯應答。

            Ping程序

                我們稱發(fā)送回顯請求的Ping程序為客戶,而稱被Ping的主機為服務器。大多數的TCP/IP

            實現(xiàn)都在內核中直接支持Ping服務器,這種服務器不是一個用戶進程。

                ICMP回顯請求和回顯應答報文如圖1所示。

            1ICMP回顯請求和回顯應答報文格式

            Unix系統(tǒng)在實現(xiàn)ping程序時是把ICMP報文中的標識符字段置成發(fā)送進程的ID號。這樣即使在同一臺主機上同時運行了多個ping程序實例, ping程序也可以識別出返回的信息。

            序列號從0開始,每發(fā)送一次新的回顯請求就加1ping程序打印出返回的每個分組的序

            列號,允許我們查看是否有分組丟失、失序或重復。IP是一種最好的數據報傳遞服務,因此這三個條件都有可能發(fā)生。

             

            IP記錄路由選項

            ping程序為我們提供了查看IP記錄路由(RR)選項的機會。大多數不同版本的ping程序都提供-R選項,以提供記錄路由的功能。它使得ping程序在發(fā)送出去的IP數據報中設置IP

            RR選項(該IP數據報包含ICMP回顯請求報文)。這樣,每個處理該數據報的路由器都把它的

            IP地址放入選項字段中。當數據報到達目的端時, IP地址清單應該復制到ICMP回顯應答中,

            這樣返回途中所經過的路由器地址也被加入清單中。當ping程序收到回顯應答時,它就打印

            出這份IP地址清單。

            最大的問題是IP首部中只有有限的空間來存放IP地址。IP首部中的首部長度字段只有4bit,因此整個IP首部最長只能包括154bit全為18+4+2+1=15)個32bit長的字(即60個字節(jié))。由于IP首部固定長度為20字節(jié)(參加第三章的IP首部格式) RR選項用去3個字節(jié),這樣只剩下37個字節(jié)(60-20-3)來存放IP地址清單,也就是說只能存放94×9)個IP地址。

            IP數據報中的RR選項的一般格式如圖2所示。

            2IP首部中的記錄路由選項的一般格式

            code是一個字節(jié),指明IP選項的類型。對于RR選項來說,它的值為7lenRR選項總字

            節(jié)長度,在這種情況下為39(盡管可以為RR選項設置比最大長度小的長度,但是ping程序

            總是提供39字節(jié)的選項字段,最多可以記錄9IP地址。由于IP首部中留給選項的空間有限,

            它一般情況都設置成最大長度)。

            ptr稱作指針字段。它是一個基于1的指針,指向存放下一個IP地址的位置。它的最小值為4,指向存放第一個IP地址的位置。隨著每個IP地址存入清單, ptr的值分別為81 21 6,最大到36。當記錄下9IP地址后,ptr的值為40,表示清單已滿。

             

            IP時間戳選項

                IP時間戳選項與記錄路由選項類似。IP時間戳選項的格式如圖3所示。

            3IP首部中時間戳選項的一般格式

            時間戳選項的代碼為0x44。其他兩個字段lenptr與記錄路由選項相同:選項的總長度

            (一般為3640)和指向下一個可用空間的指針( 5913等)。接下來的兩個字段是4 bit的值:OF表示溢出字段,FL表示標志字段。

            posted on 2008-06-10 23:17 閱讀(2808) 評論(5)  編輯 收藏 引用 所屬分類: tcp/ip

            FeedBack:
            # re: TCP/IP詳解讀書筆記(第七章 Ping程序)
            2008-06-11 10:58 | daisy
            原來Ping IP是這樣工作的呀...學習了...  回復  更多評論
              
            # re: TCP/IP詳解讀書筆記(第七章 Ping程序)
            2008-06-11 22:25 |
            @daisy
            稍后給出代碼實現(xiàn)  回復  更多評論
              
            # re: TCP/IP詳解讀書筆記(第七章 Ping程序)
            2008-06-13 10:48 | yxcwf
            我碰到這樣一種現(xiàn)象,即ping a.b.c.d 時,ICMP回顯卻是另一個IP

            不知道這是什么原因造成的?  回復  更多評論
              
            # re: TCP/IP詳解讀書筆記(第七章 Ping程序)
            2008-06-13 18:16 |
            應該是那個網站采用了cdn技術  回復  更多評論
              
            # re: TCP/IP詳解讀書筆記(第七章 Ping程序)
            2008-08-07 08:53 | AlexEric
            真是一筆財富.留下記號好學習.  回復  更多評論
              

            <2008年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(17)

            隨筆分類(138)

            隨筆檔案(137)

            網絡開發(fā)

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 497604
            • 排名 - 36

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            狠狠色综合网站久久久久久久高清 | 久久久噜噜噜久久中文字幕色伊伊 | 亚洲国产成人久久综合区| 国产2021久久精品| 久久久精品久久久久久| 久久中文字幕精品| 精品永久久福利一区二区 | 影音先锋女人AV鲁色资源网久久 | 热RE99久久精品国产66热| 国产精品美女久久久m| 久久99精品国产麻豆宅宅| 色综合合久久天天综合绕视看| 91久久精品视频| 青青青青久久精品国产h久久精品五福影院1421 | 久久国产亚洲精品无码| 久久电影网一区| 午夜精品久久影院蜜桃| 国内精品九九久久精品| 午夜不卡888久久| 国产精品久久久久久久app | 久久人人爽人人精品视频| 综合人妻久久一区二区精品| 精品久久久久久综合日本| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久精品国产亚洲欧美| 久久99热这里只有精品66| 国产成人无码久久久精品一| 人人狠狠综合88综合久久| 久久99亚洲网美利坚合众国| 青青青青久久精品国产h久久精品五福影院1421 | 97精品国产97久久久久久免费| 国产免费福利体检区久久| 老色鬼久久亚洲AV综合| 久久精品国产99久久丝袜| 久久久久亚洲Av无码专| 久久人人添人人爽添人人片牛牛| 日本精品久久久久中文字幕| 久久综合狠狠综合久久| 久久久久精品国产亚洲AV无码| 91亚洲国产成人久久精品网址 | AV色综合久久天堂AV色综合在|