01-係統維護與調試配置
本章節下載: 01-係統維護與調試配置 (285.73 KB)
目 錄
通過使用Ping功能,用戶可以檢查指定地址的設備是否可達,測試鏈路是否通暢。
Ping功能是基於ICMP(Internet Control Message Protocol,互聯網控製消息協議)協議來實現的:源端向目的端發送ICMP回顯請求(ECHO-REQUEST)報文後,根據是否收到目的端的ICMP回顯應答(ECHO-REPLY)報文來判斷目的端是否可達,對於可達的目的端,再根據發送報文個數、接收到響應報文個數以及Ping過程報文的往返時間來判斷鏈路的質量。
圖1-1 Ping原理示意圖
Ping功能也可以通過ping -r命令查看到鏈路的具體路由,如圖1-1所示,原理為:
(1) 源端(Device A)發送RR選項(ICMP報文中的一個字段)為空的ICMP回顯請求給目的端(Device C)。
(2) 中間設備(Device B)將自己出接口的IP地址(1.1.2.1)添加到ICMP回顯請求報文的RR選項中,並轉發該報文。
(3) 目的端收到請求報文後,發送ICMP回顯響應報文,響應報文會拷貝請求報文的RR選項,並將自己出接口的IP地址(1.1.2.2)添加到RR選項中。
(4) 中間設備將自己出接口的IP地址(1.1.1.2)添加到RR選項中,並轉發該報文。
源端收到ICMP回顯響應報文,將自己入接口的IP地址(1.1.1.1)添加到RR選項中。最後得到,Device A到Device C具體路由為1.1.1.1 <-> {1.1.1.2; 1.1.2.1} <-> 1.1.2.2。
可在任意視圖下執行以下操作。
· 檢查IPv4網絡中的指定地址是否可達。
ping [ ip ] [ -a source-ip | -c count | -f | -h ttl | -i interface-type interface-number | -m interval | -n | -p pad | -q | -r | -s packet-size | -t timeout | -tos tos | -v ] * host
若網絡傳輸速度較慢,在使用本命令時,可適當增大超時時間-t參數的值。
· 檢查IPv6網絡中的指定地址是否可達。
ping ipv6 [ -a source-ipv6 | -c count | -i interface-type interface-number | -m interval | -q | -s packet-size | -t timeout | -tc traffic-class | -v | -vpn-instance vpn-instance-name ] * host
若網絡傳輸速度較慢,在使用本命令時,可適當增大超時時間-t參數的值。
檢查Device A與Device C之間是否路由可達。
圖1-2 Ping應用組網圖
# 使用ping命令查看Device A和Device C之間路由是否可達。
<DeviceA> ping 1.1.2.2
Ping 1.1.2.2 (1.1.2.2): 56 data bytes, press CTRL+C to break
56 bytes from 1.1.2.2: icmp_seq=0 ttl=254 time=2.137 ms
56 bytes from 1.1.2.2: icmp_seq=1 ttl=254 time=2.051 ms
56 bytes from 1.1.2.2: icmp_seq=2 ttl=254 time=1.996 ms
56 bytes from 1.1.2.2: icmp_seq=3 ttl=254 time=1.963 ms
56 bytes from 1.1.2.2: icmp_seq=4 ttl=254 time=1.991 ms
--- Ping statistics for 1.1.2.2 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.963/2.028/2.137/0.062 ms
以上顯示信息表明Device A給Device C發送了5個ICMP報文,收到5個ICMP報文,沒有報文丟失,路由可達。
通過使用Tracert功能,用戶可以查看IP報文從源端到達目的端所經過的三層設備,從而檢查網絡連接是否可用。當網絡出現故障時,用戶可以使用該功能分析出現故障的網絡節點。
圖1-3 Tracert原理示意圖
Tracert功能也是基於ICMP協議來實現的,如圖1-3所示,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)。
IPv4網絡環境:
· 需要在中間設備(源端與目的端之間的設備)上開啟ICMP超時報文發送功能。如果中間設備是H3C設備,需要在設備上執行ip ttl-expires enable命令(該命令的詳細介紹請參見“三層技術-IP業務命令參考”中的“IP性能優化”)。
· 需要在目的端開啟ICMP目的不可達報文發送功能。如果目的端是H3C設備,需要在設備上執行ip unreachables enable命令(該命令的詳細介紹請參見“三層技術-IP業務命令參考”中的“IP性能優化”)。
IPv6網絡環境:
· 需要在中間設備(源端與目的端之間的設備)上開啟設備的ICMPv6超時報文的發送功能。如果中間設備是H3C設備,需要在設備上執行ipv6 hoplimit-expires enable命令(該命令的詳細介紹請參見“三層技術-IP業務命令參考”中的“IPv6基礎”)。
· 需要在目的端開啟設備的ICMPv6目的不可達報文的發送功能。如果目的端是H3C設備,需要在設備上執行ipv6 unreachables enable命令(該命令的詳細介紹請參見“三層技術-IP業務命令參考”中的“IPv6基礎”)。
可在任意視圖下執行以下操作。
· 在IPv4網絡環境查看源端到目的端的路由。
tracert [ -a source-ip | –e | -f first-ttl | -m max-ttl | -p port | -q packet-number | -t tos | -w timeout ] * host
· 在IPv6網絡環境查看源端到目的端的路由。
tracert ipv6 [ -a source-ip | –e | -f first-hop | -m max-hops | -p port | -q packet-number | -t traffic-class | -vpn-instance vpn-instance-name [ -resolve-as { global | none | vpn } ] | -w timeout ] * host
Device A使用Telnet登錄Device C失敗,現需要確認Device A與Device C之間是否路由可達,如果路由不可達,需要確定故障的網絡節點。
圖1-4 Tracert應用組網圖
(1) 在Device A、Device B和Device C上分別配置IP地址,IP地址值如圖1-4所示。
(2) 在Device A上配置一條靜態路由。
<DeviceA> system-view
[DeviceA] ip route-static 0.0.0.0 0.0.0.0 1.1.1.2
(3) 使用ping命令查看Device A和Device C之間路由是否可達。
[DeviceA] ping 1.1.2.2
Ping 1.1.2.2 (1.1.2.2): 56 data bytes, press CTRL+C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- Ping statistics for 1.1.2.2 ---
5 packet(s) transmitted, 0 packet(s) received, 100.0% packet loss
(4) 路由不可達,使用tracert命令確定故障的網絡節點。
# 在Device B上開啟ICMP超時報文發送功能。
<DeviceB> system-view
[DeviceB] ip ttl-expires enable
# 在Device C上開啟ICMP目的不可達報文發送功能。
<DeviceC> system-view
[DeviceC] ip unreachables enable
# 在Device A上使用tracert命令確定故障的網絡節點。
[DeviceA] tracert 1.1.2.2
traceroute to 1.1.2.2 (1.1.2.2), 30 hops at most, 40 bytes each packet, press CTRL+C to break
1 1.1.1.2 (1.1.1.2) 1 ms 2 ms 1 ms
2 * * *
3 * * *
4 * * *
5
[DeviceA]
從上麵結果可以看出,Device A和Device C之間路由不可達。Device A發往Device C的報文已經到達Device B,Device B和Device C之間的連接出了問題。此時可以在Device A和Device C上使用debugging ip icmp命令打開ICMP報文的調試開關,查看設備有沒有收發指定的ICMP報文。或者使用display ip routing-table查看有沒有到對端的路由。
設備提供了種類豐富的調試功能。設備支持的大部分功能模塊,係統都提供了相應的調試信息,幫助用戶對錯誤進行診斷和定位。
調試信息的輸出可以由兩個開關控製:
· 模塊調試開關,控製是否生成某模塊的調試信息。
· 屏幕輸出開關,控製是否在某個用戶屏幕上顯示調試信息。屏幕輸出開關可以使用terminal monitor和terminal logging level命令打開,terminal monitor和terminal logging level命令的詳細介紹請參見“網絡管理和監控命令參考”中的“信息中心”。
如圖1-5所示:假設設備可以為1、2、3三個模塊提供調試信息,用戶隻有將兩個開關都打開,調試信息才會在終端顯示出來。
在控製台上顯示是最常用的調試信息輸出方式,用戶還可以將調試信息發送到別的輸出方向,具體配置請參見“網絡管理和監控配置指導”中的“信息中心”。
過多調試信息的輸出會影響係統的運行效率,所以建議在進行網絡故障診斷時根據需要打開某個功能模塊的調試開關,不要同時打開多個功能模塊的調試開關,以免導致設備CPU利用率上升,影響設備正常運行。
debugging命令一般在維護人員進行網絡故障診斷時使用。在調試結束後,建議使用undo debugging all命令關閉所有模塊的調試開關。
(1) 打開指定模塊的調試開關。
debugging module-name [ option ]
缺省情況下,所有模塊的調試開關均處於關閉狀態。
該命令在用戶視圖下執行。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後係統調試開關的狀態。
表1-1 係統調試開關顯示和維護
操作 |
命令 |
顯示已經打開的調試開關 |
display debugging [ module-name ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!