ICMP協定


PING

當我們架設好一個IP網路的時候﹐如果要檢查一下網路是否連接成功﹐最常用的一個命令就是ping了。ping就是ping﹐我也不知道其中文名字叫什麼﹐和為什麼叫ping﹖﹖反正﹐我們知道怎麼用就行啦。

ping可以說是一個最常用的網路檢查命令﹐如果運用得當﹐可以幫我們判斷出許多狀況。例如﹐我們要看一下跟遠方的機器是否連接得上﹐先可以ping一下對方的機器名稱﹔如果連接不上的話﹐我們可以ping對方的ip﹐如果ip可以ping得到﹐那麼﹐好可能是dns不工作了﹔那麼我們可以檢查本身主機的dns伺服器是否指定正確﹐以及dns伺服器是否設定正確。

如果連IP都ping不了﹐那麼﹐好可能是IP設定的問題了﹐也可能是網路的連線問題。檢查的步驟也有很多種﹐下面是方法之一﹕

  1. ping對方的router﹐如果ping得上﹐那可能是對方機器和其相連網路的問題了﹔
  2. 如果ping不到對方的router﹐那麼可以ping自己的router。如果ping得上﹐那麼好可能是router和router之間的問題了﹔
  3. 如果自己的router也ping不到﹐那麼可能是自己的機器和router之間的問題﹐我們可以ping一下自己的IP地址。如果自己的IP可以ping得到﹐那麼﹐好可能是連線的問題﹐我們可以檢查一下網線﹐hub﹐等設備﹐看看有沒有損毀的狀況。
  4. 同時﹐我們也可以ping一下網路上面其它的機器﹐也可以用其它機器ping一下router﹐來判別一下問題來自自己機器﹐還是網路﹐還是router﹐等等。
  5. 如果自己的IP都ping不到﹐那麼可能是網路卡壞掉了或沒有正確設定﹐可以看看設備資源有沒有衝突﹐也可以看看設備有沒有被系統啟動。
  6. 如果看來都沒問題﹐那麼可以ping一下迴圈地址127.0.0.1﹐如果連這個都ping不了的話﹐這台機器的IP功能根本就沒被啟動﹗那麼﹐您就要先檢查一下網路功能有沒有選擇﹐IP協定有沒有被綁定(bind)﹐等基本網路設定了。

從上面的過程中﹐我們不難看出ping這個命令真是非常有用的。當然﹐上面只是其中一種偵測順序﹐我們也可以掉過來先ping自己的IP﹐然後自己router﹐對方router﹐對方IP、這樣的次序。

ICMP

Internet Control Message Protocol這個協定咋聽起來似乎神秘得很﹐但說穿了您可能會笑耶﹕ping就是一個ICMP協定啦~~﹗另外﹐tracert和traceroute也屬於ICMP的協定。

由於TCP/IP是一個開放式的網路環境﹐其動態性極高﹐在任何時候您都不能確定對方是否連上網路﹐或是離開網路了。所以﹐在傳遞資料封包之前﹐要確定對方是存在的﹐以及路由路徑是可靠的﹐就變得非常重要了。ICMP的目的﹐就是讓我們能夠檢測網路的連線狀況﹐也能確保連線的準確性﹐其功能主要有﹕

  • 偵測遠端主機是否存在。
  • 建立及維護路由資料。
  • 重導資料傳送路徑。
  • 資料流量控制。

ICMP在溝通之中使用不同的訊息讓機器來識別﹐親參閱下表﹕
訊息 代表意思
Echo Request 請求回應訊息。
Echo Reply 是一個回應信息。
Distination Unreachable 表示目的地不可到達。
Source Quench 當使用ICMP出現問題時﹐用來竭止來源繼續發送訊息。
Redirect 用來重新導向路由路徑。
Time Sexeeded for a Datagram 當資料封包在某些路由現象中逾時﹐可以要求來源忽略該封包。
Parameter Problem on a Datagram 當一個ICMP封包重複著之前的錯誤時﹐會回覆來源主機關於參數錯誤的訊息。
Timestamp Request 要求對方送出時間訊息﹐用以計算路由時間的差異﹐以滿足同步性協定的要求。
Timestamp Replay 此訊息純粹是回應Timestamp Request用的。
Information Request 在RARP協定應用之前﹐此訊息是用來在開機時取得網路信息。
Information Reply 用以回應Infromation Request訊息。
Address Mask Request 這訊息是用來查詢子網路mask設定信息。
Address Mask Reply 回應子網路mask查詢訊息的。

在ICMP使用中﹐會以不同的error code來回應各種錯誤信息﹕
訊息 代表意思
0 Network Unreachable
1 Host Unreachable
2 Protocol Unreachable
3 Port Unreachable
4 Fragmentation Needed and DF set
5 Source Route Failed
6 Destination network unknown
7 Destination host unknown
8 Source host isolated
9 Communication with destination network administraively prohibited
10 Communication with destination host administraively prohibited
11 Network unreachable for type of service
12 host unreachable for type of service

 

 


www.study-area.org © 2001 Netman 網中人
Last Updated: March 28, 2000