PING
當我們架設好一個IP網路的時候﹐如果要檢查一下網路是否連接成功﹐最常用的一個命令就是ping了。ping就是ping﹐我也不知道其中文名字叫什麼﹐和為什麼叫ping﹖﹖反正﹐我們知道怎麼用就行啦。
ping可以說是一個最常用的網路檢查命令﹐如果運用得當﹐可以幫我們判斷出許多狀況。例如﹐我們要看一下跟遠方的機器是否連接得上﹐先可以ping一下對方的機器名稱﹔如果連接不上的話﹐我們可以ping對方的ip﹐如果ip可以ping得到﹐那麼﹐好可能是dns不工作了﹔那麼我們可以檢查本身主機的dns伺服器是否指定正確﹐以及dns伺服器是否設定正確。
如果連IP都ping不了﹐那麼﹐好可能是IP設定的問題了﹐也可能是網路的連線問題。檢查的步驟也有很多種﹐下面是方法之一﹕
- ping對方的router﹐如果ping得上﹐那可能是對方機器和其相連網路的問題了﹔
- 如果ping不到對方的router﹐那麼可以ping自己的router。如果ping得上﹐那麼好可能是router和router之間的問題了﹔
- 如果自己的router也ping不到﹐那麼可能是自己的機器和router之間的問題﹐我們可以ping一下自己的IP地址。如果自己的IP可以ping得到﹐那麼﹐好可能是連線的問題﹐我們可以檢查一下網線﹐hub﹐等設備﹐看看有沒有損毀的狀況。
- 同時﹐我們也可以ping一下網路上面其它的機器﹐也可以用其它機器ping一下router﹐來判別一下問題來自自己機器﹐還是網路﹐還是router﹐等等。
- 如果自己的IP都ping不到﹐那麼可能是網路卡壞掉了或沒有正確設定﹐可以看看設備資源有沒有衝突﹐也可以看看設備有沒有被系統啟動。
- 如果看來都沒問題﹐那麼可以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 |