Ping丢包故障處理方法
1、Ping丢包故障定位思路故障分析
Ping丢包是指Ping報文在網絡中傳輸,由于各種原因(如線路過長、網絡擁塞等)而産生部分Ping報文丢棄的現象。在使用Ping命令,出現Ping丢包的現象時,第一步需要确定Ping丢包的網絡位置,其次是确定Ping丢包的故障原因,然後依據定位的故障原因再進行解決。
确認Ping丢包的網絡位置時一般采用逐段Ping的方法,可以将Ping丢包故障最終确定在直連網段之間。 确認Ping丢包的故障原因一般采用流量統計的方法,通過流量統計可以知道丢棄報文的具體位置、判斷故障原因。
導緻Ping丢包的原因非常多,也非常複雜,實際故障定位中需要綜合考慮各種因素。本文檔針對常見Ping丢包故障分析,總結出以下幾種常見故障:
物理環境故障;網絡環路;ARP問題;ICMP問題。
需要注意并不是Ping丢包就一定表示網絡質量差,某些情況下雖然Ping丢包,但是業務是正常的。分析Ping丢包時注意以下兩點:
當設備對報文進行硬件轉發,速度非常快,就不會丢包。例如,Ping設備端口下挂的電腦。當報文需要CPU進行處理時,CPU繁忙就會丢包。例如:Ping設備上的IP地址。
為了防止網絡攻擊對設備造成影響,設備具有CPU保護功能,對于超過CPCAR(Control Plane Committed Access Rate)值的ARP、ICMP等報文進行丢棄,造成Ping丢包現象。此種現象不影響業務的正常運行。
2、Ping丢包故障定位
圖1 Ping測試組網圖
如上圖1所示,以一個Ping丢包實例,介紹Ping丢包故障定位。
3、Ping丢包故障現象
C:\Users> ping -n 100 192.168.4.41
正在 Ping 192.168.4.41 具有 32 字節的數據:
請求超時。
請求超時。
來自 192.168.4.41 的回複: 字節=32 時間<1ms TTL=128
...
來自 192.168.4.41 的回複: 字節=32 時間<1ms TTL=128
192.168.4.41 的 Ping 統計信息:
數據包: 已發送 = 100,已接收 = 80,丢失 = 20 (20% 丢失),
往返行程的估計時間(以毫秒為單位):
最短 = 0ms,最長 = 0ms,平均 = 0ms
4、Ping丢包故障定位
依據故障發生的可能原因進行故障定位,故障定位方法如下:
1、配置Ping多包。
為了持續複現丢包現象,以便于故障處理,需要持續發送Ping報文。可以配置Ping的-c count參數,發送多個Ping報文。
2、縮小故障範圍。
當在PC上直接Ping IP地址192.168.4.41丢包時,直接判定故障出現的原因将非常的困難。此時可以先縮小故障範圍,在PC上分别Ping SwitchA、SwitchB、SwitchC和SwitchD,通過Ping結果可以判斷出哪一段網絡出現故障。本例假設PC上Ping SwitchB時也出現丢包,則可以初步判斷丢包發生在SwitchA和SwitchB直連網段之間。
3、配置流量統計。
通過縮小故障範圍最終将故障定位在SwitchA和SwitchB之間,為了進一步确認故障點,需要在SwitchA和SwitchB上配置流量統計功能,觀察丢包情況。具體理論統計配置方法請參考各設備的說明手冊。
4、分析統計結果。
在SwitchA上持續Ping SwitchB。
如果離開SwitchA的報文數目多餘進入SwitchB的報文數目,說明傳輸鍊路上存在丢包,請依照後面介紹的物理鍊路故障引起ping丢包進行處理。
如果離開SwitchA的報文數目等于進入SwitchB的報文數目,但是離開SwitchB的報文數目少于進入SwitchB報文數目,說明SwitchB上存在丢包。引起SwitchB設備丢包可能原因分為網絡環路和ICMP問題。
登錄設備,續查看CPU和接口利用率是否很高、查看是否出現MAC地址漂移。如果出現利用率高或MAC地址漂移現象,請依照後面的網絡環路引起ping丢包進行處理。
登錄設備,查看是否有ICMP報文被丢棄、查看ICMP報文限速的配置是否過小。如果出現報文被丢棄或ICMP報文限速配置得很小,請依照後面介紹的ICMP問題引起ping丢包進行處理。
如果離開SwitchA的報文數目少于Ping發送的報文數目,說明SwitchA上丢包。引起SwitchA丢包可能原因分為網絡環路和ARP問題。
登錄設備,查看CPU和接口利用率的情況,查看是否出現MAC地址漂移,如果出現利用率高或MAC地址漂移現象,請依照後面介紹的網絡環路引起ping丢包進行處理。
登錄設備,查看是否有ARP報文被丢棄。如果出現報文被丢棄現象,請依照後面介紹的ARP問題引起ping丢包進行處理。
5、物理鍊路故障引起ping丢包分析
通過Ping丢包故障定位思路可以判斷出是否由于物理鍊路故障引起的丢包。物理鍊路故障常見以下原因:
計算機網卡有問題、設備接口不正常、線纜接頭接觸不良或松脫、網線過長或出現破損、光纖彎曲度過大、光模塊收發的光功率過低、電口協商不一緻,如一端自協商一端非自協商。
在實際環境中設備未接地導緻靜電不能釋放、風扇損壞導緻設備過熱等物理環境問題也會引起Ping丢包。
物理鍊路故障可以通過觀察發現,如光纖彎曲度過大、物理連接線過長、設備或者電腦網卡指示燈顯示不正常等。針對物理鍊路故障,故障的解決的辦法一般是更換物理器件,器件更換後故障即可恢複。
6、網絡環路故障引起ping丢包分析
以太網交換網絡中為了進行鍊路備份,提高網絡可靠性,通常會使用冗餘鍊路。但是使用冗餘鍊路會在交換網絡上産生環路,引發廣播風暴以及MAC地址表不穩定等故障現象,從而導緻用戶通信質量較差,甚至通信中斷。網絡環路會導緻設備CPU和端口利用率高,Ping報文被丢棄。
當設備處于存在環路的網絡中,設備的反應速度比較緩慢。環路問題判斷方法如下:
1、通過display interface brief | include up命令,查看所有UP接口下的流量,存在環路的接口上InUti和OutUti兩個計數會逐步增加,甚至到接近100%,遠遠超過業務流量。
第一次查詢:
<SwitchA> display interface brief | include up
...
Interface PHY Protocol InUti OutUti inErrors outErrors
GigabitEthernet0/0/2 up up 0.56% 0.56% 0 0
...
第二次查詢:
<SwitchA> display interface brief | include up
...
Interface PHY Protocol InUti OutUti inErrors outErrors
GigabitEthernet0/0/1 up up 76% 76% 0 0
...
2、判斷交換機是否存在MAC地址漂移。
可以執行display trapbuffer命令,查看MAC地址漂移的日志來判斷。
可以執行mac-address flapping detection命令配置MAC地址漂移檢測功能,然後通過display mac-address flapping record命令來判斷是否出現MAC地址漂移。
可以多次執行display mac-address來觀察,若MAC地址在交換機不同的接口學習到,則存在mac地址漂移。
3、檢查CPU的利用率。
通過命令display cpu-usage查看CPU的利用率。網絡環路會導緻CPU利用率一直很高,Ping報文未來得及處理就被丢棄。
解決此種Ping丢包問題的方法是破除網絡環路,可以在設備上部署RRPP、SEP、Smart Link、STP/RSTP/MSTP等協議,對環路進行處理。
7、ARP問題故障引起ping丢包分析
通過前面介紹的Ping丢包故障定位思路斷是否由于ARP問題導緻Ping丢包。ARP問題常見故障現象:開始(由于ARP學習失敗)出現Ping丢包,然後(學習到ARP)在一段時間内(ARP表項老化時間)無丢包現象,後續(再出現ARP學習失敗)會繼續出現丢包。
常見ARP問題有以下兩種:
設備配置了ARP安全功能,如ARP Miss的源抑制、ARP速率抑制等,會導緻ARP學習很慢,Ping丢包。 設備受到ARP報文攻擊,上送CPU的ARP報文數超過CPCAR值,導緻部分ARP報文被丢棄,Ping丢包。
常見問題判斷及解決方法如下:
通過display arp packet statistics命令,查看是否有ARP報文被丢棄,分析設備上ARP安全的配置情況,從而判斷問題的原因。對于該問題需要重新配置ARP安全,使設備能夠正常的處理ARP報文。
通過display cpu-defend statistics命令,查看CPU對于ARP報文處理情況,是否存在報文丢棄。
對于該問題需要檢查設備是否受到ARP攻擊,正确配置ARP安全來防範攻擊,同時增加ARP報文的CPCAR值。配置樣例如下:
<SwitchA> system-view
[SwitchA] cpu-defend policy arp
[SwitchA-cpu-defend-policy-arp] car packet-type arp-reply cir 32
Warning: Improper parameter settings may affect stable operating of the system. Use this command under assistance of Huawei engineers. Continue? [Y/N]:y
[SwitchA-cpu-defend-policy-arp] car packet-type arp-request cir 32
Warning: Improper parameter settings may affect stable operating of the system. Use this command under assistance of Huawei engineers. Continue? [Y/N]:y
[SwitchA-cpu-defend-policy-arp] quit
[SwitchA] cpu-defend-policy arp global
8、ICMP問題故障引起ping丢包分析
ICMP問題常見故障現象:
Ping設備時,一旦Ping速度比較快就會丢包,速度慢下來就不會丢包。 Ping大包時出現規律性丢包。 Ping設備時,會出現Ping通幾個報文後Ping不通,大約兩分鐘左右又可以Ping通,Ping通幾個報文後又Ping不通。
常見ICMP問題有以下三種:
設備受到ICMP報文攻擊,上送CPU的ICMP報文數超過CPCAR值,導緻部分ICMP報文被丢棄,Ping丢包。 設備配置ICMP攻擊防範,超過速度限制的ICMP報文被丢棄,Ping丢包。 設備配置ICMP限速功能,超過速度限制的ICMP報文被丢棄,Ping丢包。
常見問題判斷及解決方法如下:
1、通過display icmp statistics和display anti-attack statistics icmp-flood命令查看是否有ICMP報文被丢棄。
對于該問題需要重新配置ICMP安全,使設備能夠正常的處理ICMP報文。
2、檢查icmp rate-limit total threshold threshold-value命令的配置情況,了解ICMP流量限速的阈值。
如果阈值過小,則可通過icmp rate-limit total threshold threshold-value命令進行修改,使其允許更多的ICMP報文通過。配置樣例如下:
<SwitchA> system-view
[SwitchA] icmp rate-limit enable
[SwitchA] icmp rate-limit total threshold 500
3、通過display cpu-defend statistics packet-type icmp all命令,查看CPU對于ICMP報文處理情況,是否存在報文丢棄。
對于該問題需要檢查設備是否受到ICMP攻擊,正确配置ICMP安全來防範攻擊,同時增加ICMP報文的CPCAR值。ICMP報文的CPCAR值配置樣例如下:
<SwitchA> system-view
[SwitchA] cpu-defend policy icmp
[SwitchA-cpu-defend-policy-icmp] car packet-type icmp cir 256
Warning: Improper parameter settings may affect stable operating of the system. Use this command under assistance of Huawei engineers. Continue? [Y/N]:y
[SwitchA-cpu-defend-policy-icmp] quit
[SwitchA] cpu-defend-policy icmp global
還可以通過icmp-reply fast命令使能Ping快回功能來解決CPU丢棄ICMP報文故障。
,