导航

    <#CACHE_INCLUDE_NAVBAR#>
« 手動調整路由器Buffer分配Linux下ICMP Ping的實現 »

實例講解:解決Cisco路由器嚴重丟包現象

2011年1月22日 Cisco 0条评论 0个引用

部門(下稱部門A)中有人反映不能訪問上級部門(部門B)的網絡。我從該人所用的計算機A1(IP地址為10.20.12.11/24)上用ping命令向部門B網絡中的計算機B1(IP地址為10.20.30.110/24)和B2(IP地址為10.20.30.111/ 24)發送測試數據包,丟包率達100%,ping本部門的其它計算機則顯示連接正常。檢查其計算機IP設置,發現網關設置正確(正確網關為10.20.12.1),於是懷疑路由器不能正常工作。用本辦公室計算機A2、A3測試,發現以下奇怪現象:

(1)在計算機A2(IP為10.20.12.12/24)上用ping命令分別ping部門B網絡中計算機B1和B2,發現B1有正常回應,B2的回應率在20%~50%之間;在計算機A3(IP為10.20.12.13/24)中用ping命令分別ping計算機B1和B2,回應顯示連接正常,丟包率為0。

(2)將計算機A3的IP地址改為10.20.12.12/24後測試,ping得的結果同(1)中的計算機A2測試情況。

(3)將計算機A2的IP地址改為尚未使用過的IP地址:10.20.12.22/24,測試與B1和B2的連接,結果顯示正常,丟包率為0。

(4)將計算機A1的IP地址改為尚未使用過的IP地址:10.20.12.23/24,測試與B1和B2的連接,結果顯示正常,丟包率為0。

故障分析

考慮到網絡連通情況與本機IP地址有關,參考本單位網絡拓撲結構圖,於是懷疑可能是由於部門B網絡的防火牆設置引發該故障。由於部門B與本部門分別位於城市中兩個不同地方,不方便查看其防火牆設置,於是打電話詢問。但該部門網絡管理員告之其防火牆是針對網絡IP段設置的,也就是說,該防火牆對於部門A的整個網絡IP段都是允許訪問的。

分析以上原因,可能是本部門中某些計算機向部門B網絡發送過非法訪問信息,部門B的防火牆自動將該IP列入侵計算機名單,屏蔽了其發送的IP數據包,從而引發網絡連接不正常的現象。調查本部門中所有計算機,將不能正常訪問外部網絡(部門B網絡)的計算機的IP更換為新的IP地址,問題暫時解決。
但一個星期後,網絡又出現故障,有幾個原來能正常訪問部門B計算機出現丟包現象,而有幾個原來不能正常訪問外部網絡的IP地址卻可以正常訪問外部網絡,看來問題可能不在防火牆上。

在計算機上A2(IP地址為10.20.12.12/24)用Tracert命令跟踪測試,現像如下:

c:\>Tracert 10.20.30.110

Tracing route to 10.20.30.110 over a maximum of 30 hops

1 <1 ms <1 ms <1 ms 10.20.12.1

2 1 ms <1 ms 1 ms 192.168.10.2

3 1 ms 1 ms 1 ms 10.20.30.1

4 2 ms 1 ms 2 ms 10.20.30.110

Trace complete

將計算機上A2的IP地址改為10.20.12.22/24,用Tracert命令跟踪測試,現像如下:

Tracing route to 10.20.30.110 over a maximum of 30 hops

1 <1 ms <1 ms <1 ms 10.20.12.1

2 1 ms * * 192.168.10.2

3 * 2 ms * 10.20.30.1

4 * * * Request timed out

5 * * * Request timed out

6 * * 2 ms 10.20.30.110

Trace complete

Trace complete

有時用Tracert跟踪測試得到4、5行及以後顯示的都是Request timed out。

回顧近期網絡結構變動情況,原來本部門中網關的位置用的是一個三層交換機(只使用其路由功能),當時內網能正常訪問外部網絡,在一星期前換為Cisco 3640路由器,將按三層交換機中的配置重新配置3640路由器,換後不久就出現以上網絡故障。檢查Cisco 3640的端口配置和路由配置,發現端口IP地址配置正常,而在路由列表中有兩條路由:

ip route 0.0.0.0 0.0.0.0 192.168.10.2

ip route 0.0.0.0 0.0.0.0 10.20.12.254

因本部門網絡是單位廣域網中最下層子網,根據業務需要訪問本單位整個廣域網,而本部門網絡只通過一台Cisco 3640路由器Router A接入部門B網絡中,再通過部門B的路由器Router B接入單位廣域網(見前面網絡拓樸圖)。為方便設置,我們只需要在Cisco 3640加入一條缺省路由“ip route 0.0.0.0 0.0.0.0 192.168.10.2”就可以將本部門對外部網絡的的訪問都轉發到部門B的路由器Router B,從而實現網絡的互聯。可能由於設置人員的失誤,在路由表中多加了一條並不存在的下一跳節點“ip route 0.0.0.0 0.0.0.0 10.20.12.254”。以致當內網中的計算機訪問外部網絡時,路由器有時不能將IP數據包正確地發送到192.168.10.2中,由於路由器加電工作後,內存中保存了內網對外網的訪問路由列表,使得一些計算機一直能正常訪問外網,而另一些計算機不能正常訪問,當路由器重新啟動(如第二個星期一早上重啟路由器)後,訪問路由列表重新建立,使得內部計算機訪問外網的現象發現變化。

故障排除

在路由器特權模式下刪除無用的路由列表:

# no ip route 0.0.0.0 0.0.0.0 10.20.12.254

#wr

重啟路由器後,本部門所有計算機都能正常訪問部門B的網絡及單位廣域網,故障得到徹底解決。

指的是路由器或者其他互聯網網絡設備上存儲的表,該表中存有到達特定網絡終端的路徑,在某些情況下,還有一些與這些路徑相關的度量。

路由表的一般形式為:

Destination Gateway Flag Refs Use Inerface

其中,Destination目標網絡或主機的IP地址;Gateway到達指定目地的使用網關;Flag標誌字段,描述這一路由的一些特性;Refcnt表示為了建一次連接,該路由使用的次數;Use表示通過該路由傳輸的分組報文數;Interface表示該路由使用的網絡接口名。

一個典型的路由表的例子

Destination Gateway Flags Refs Use Interface

default 26.112.191.98 UGS 0 0 net0

default 26.112.191.98 UGS 0 18 net0

26.112.191 26.112.191.2 UC 1 0 net0

26.112.191.2 127.0.0.1 UGHS 3 92 lo0

127.0.0.1 127.0.0.1 UH 3 9786480 lo0

224 26.112.191.2 UCS 0 0 net0
 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By Z-Blog 1.8 Arwen Build 81206