ping丟包故障處理方法

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丟包故障定位
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報文故障。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章