TCP/UDP/IP 協定若有錯誤情形發生時,
會利用 Internet Control Message Protocol(ICMP)協定來送錯誤訊息。
雖然 IP 用 ICMP 來送錯誤訊息,但是 ICMP 的封包卻是利用 IP 來包裝與傳送。

在 ICMP 的 type 中,目前約有 15 種。其中較重要的式:

Echo Request/Reply:
任何一台電腦可以送 echo request 給另一台電腦,如果網路正常收到
echo request的電腦便會回 echo reply。目前我們常用的指令 ping
就是利用這兩個指令來做。Echo Request 與 Reply 的 type 及 code
分別是 (8,0)與(0.0)。

Destination Unreachable:
這類訊息的 type 值是 3。可能的訊息包括 network unreachable
(code=0),host unreachable(code=1),protocol unreachable
(code=2), port unreachable(code=3),source route fail
(code=5) ,destination network unknown (code=6), destination
host unknown(code = 7 ) 等 。

Source Quench:
當 router 的 buffer 已滿,無法再接收並轉送封包時,router 必須丟掉再
傳來的的封包 。 此時,router 要送 source quench(type=4)的 ICMP
訊息給此封包之 source。

Routing redirect:
如果一區域網路有兩台以上之 router,那麼有時工作站會將封包交給不對的
router 來轉送。此時 router 會將封包轉給正確的 router,並送 一個 redirect
( type=5, code=0 or 1, (network host))的
ICMP 訊息給 source。

Time Exceeded:
IP header 中的 TTL 表示可經過多少的 router。如果
router 拿到一封包,將其 TTL 減一後是零,router 便將封包丟掉,並送
給 source 一 Time Exceeded(type=11 )的 ICMP 訊息。我們常用的
traceroute 指令便是利用此 ICMP 訊息來知道路徑。

IP header error:
若封包的 IP header 有錯(如 option 設錯或無法進行)則送此 ICMP 訊息
(type=12)。

Address Mask Request/Reply:
一台電腦可以廣播 Address Mask Request(type = 17, code = 0 ) 之
ICMP 訊 息以詢問 subnet mask 之值。Router 收到後,會 回 Address Mask
Reply(type=18, code=0)訊息。



【 遠端主機連通測試 -- Ping 】

ICMP最常使用ICMP的是「封包網際網路groper程式」,也就是一般所稱ping(Packet
InterNet Groper)會命令你的IP堆疊送出一個ICMP Echo請求(型態8),然後等
待ICMP Echo回應(型態0)。假如ICMP封包的目的地有開機且具有IP堆疊,同時不再
阻擋ICMP echo的裝置(防火牆)之後,你的IP堆疊就會收到ICMP Echo回應,並於
ping程式中展示出,那代表遠端系統有開機而且可到達。

ping 與其他的 Internet 服務程式不太相同,大部份的 TCP/IP 系統都將 ping
的 Server 端的reply功能直接設計在kernel內,而不像其他的服務,另外還必須執
行一個 Server 端的 Daemon 應用程式。

ping 除了可以用來測試與遠端主機間的網路是否暢通外,從它顯示的 round-trip
time,RTT,也可以提供我們一些其他的訊息,比如該主機到底離我們有多遠、或是彼
此間的傳輸速率.是快是慢。由傳回的封包數目的遺失率,也可用來判斷目前彼此間的
網路情況是否正常或忙碌。

有關ICMP的應用及 OS 偵測技術的文章,最主要是探討作業系統對於 TOS(Type-of-
Service)位元所做的回應,當你使用 Ping 送出 一個 ICMP ECHO請求時,對方機器的
ECHO Reply回應裡面,不同作業系統對於 TOS位元所設定的 IP TTL 欄位值,都不一
樣,我們可以用它來作為作業系統的判斷。



http://www.chu.edu.tw/~jerry/chnc/docs/icmp.htm
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 jiena 的頭像
    jiena

    把握青春年華

    jiena 發表在 痞客邦 留言(0) 人氣()