在日常的係統維護中,用戶可以使用ping命令和tracert命令來檢查當前網絡的連接情況;在日常的係統調試中,用戶可以使用debug命令來打開調試信息開關,通過調試信息來診斷係統故障。
通過使用ping命令,用戶可以檢查指定地址的設備是否可達,測試網絡連接是否出現故障。
Ping功能是基於ICMP協議來實現的:源端向目的端發送ICMP回顯請求(ECHO-REQUEST)報文後,根據是否收到目的端的ICMP回顯應答(ECHO-REPLY)報文來判斷目的端是否可達,對於可達的目的端,再根據發送報文個數、接收到響應報文個數來判斷鏈路的質量,根據ping報文的往返時間來判斷源端與目的端之間的“距離”。
通過使用tracert命令,用戶可以查看IP報文從源端到達目的端所經過的三層設備,從而檢查網絡連接是否可用。當網絡出現故障時,用戶可以使用該命令分析出現故障的網絡節點。
圖 1 Tracert原理示意圖
Tracert功能也是基於ICMP協議來實現的,如圖 1所示,Tracert功能的原理為:
(1) 源端(Device A)向目的端(Device D)發送一個IP數據報文,TTL值為1,報文的UDP端口號是目的端的任何一個應用程序都不可能使用的端口號;
(2) 第一跳(Device B)(即該報文所到達的第一個三層設備)回應一個TTL超時的ICMP錯誤信息(該報文中含有第一跳的IP地址1.1.1.2),這樣源端就得到了第一個三層設備的地址(1.1.1.2);
(3) 源端重新向目的端發送一個IP數據報文,TTL值為2;
(4) 第二跳(Device C)回應一個TTL超時的ICMP錯誤信息,這樣源端就得到了第二個三層設備的地址(1.1.2.2);
(5) 以上過程不斷進行,直到該報文到達目的端,因目的端沒有應用程序使用該UDP端口,目的端返回一個端口不可達的ICMP錯誤消息(攜帶了目的端的IP地址1.1.3.2)。
(6) 當源端收到這個端口不可達的ICMP錯誤消息後,就知道報文已經到達了目的端,從而得到數據報文從源端到目的端所經曆的路徑(1.1.1.2;1.1.2.2;1.1.3.2)。
設備提供了種類豐富的調試功能,對於設備所支持的絕大部分協議和功能,係統都提供了相應的調試信息,幫助用戶對錯誤進行診斷和定位。
調試信息的輸出可以由兩個開關控製:
l 協議調試開關,控製是否生成某協議的調試信息。
l 屏幕輸出開關,控製是否在某個用戶屏幕上顯示調試信息。
如圖 2所示:假設設備可以為1、2、3三個模塊提供調試信息,用戶隻有將兩個開關都打開,調試信息才會在終端顯示出來。