ping

ping就是發送ICMP回顯請求並等待回顯應答,報文如下圖:

ping在LAN的輸出:

當返回I C M P回顯應答時,要打印出序列號和T T L,並計算往返時間,p i n g程序通過在I C M P報文數據中存放發送請求的時間值來計算往返時間。當應答返回時,用當前時間減去存放在I C M P報文中的時間值,即是往返時間。上圖往返時間都爲0 ms,因爲計數器的精度低。

ping在WAN輸出與LAN不同的是會丟包,產生重複和失序的包,且往返時間起伏較大。

 


ping提供了查看IP記錄路由(RR)選項.每個處理該數據報的路由器都把它的IP地址放入選項字段中。當數據報到達目的端時,I P地址清單應該複製到ICMP回顯應答中,這樣返回途中所經過的路由器地址也被加入清單中。當ping程序收到回顯應答時,它就打印出這份I P地址清單。

但由於IP首部長度有限,因此至多隻能存放9個ip地址:

R R選項的格式如下圖:

注意!上圖的總長度不是30字節,是39字節!即4x9+3=39。

code是指明IP選項的類型(RR爲7)。

len是RR選項總字節長度(39)。

ptr是一個基於1的指針,指向存放下一個IP地址的位置。它的最小值爲4,指向存放第一個IP地址的位置。隨着每個I P地址存入清單, ptr的值分別爲8,1 2,1 6,最大到36,當記錄下9個I P地址後,p t r的值爲4 0,表示清單已滿。

 


IP時間戳選項與RR選項類似,格式如下圖:

 

時間戳選項的code爲0x44,len一般爲36或40,ptr爲5,9,13等。

如果路由器由於沒有空間而不能增加時間戳選項,那麼它將增加溢出字段的值。

 

接下來的兩個字段是4bit的值:OF表示溢出字段, FL表示標誌字段。時間戳選項的操作根據標誌字段來進行,如下圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章