当前位置:文档之家› 网络故障排除思路

网络故障排除思路

网络故障排除思路
网络故障排除思路

锐捷产品网络故障处理总结内部公开

目录

网络故障排除技术总结 (1)

1.网络故障排除技术概览 (1)

1.1在当今日益复杂的网络中进行故障排除 (1)

1.2网络故障的一般分类 (2)

1.3一般网络故障的解决步骤 (2)

2.网络排错常用诊断工具介绍 (8)

2.1 Ping命令 (8)

2.2 Traceroute 命令 (13)

2.3 Show命令 (18)

2.4 Clear命令 (22)

2.5 Debug命令 (23)

3.故障排除常用方法 (26)

3.1分层故障排除法 (26)

3.2分块故障排除法 (27)

3.3分段故障排除法 (27)

3.4替换法 (29)

4. 故障排除对排错技术人员的要求 (29)

4.1对协议要求有精深的理解 (29)

4.2能够引导客户详细描述出故障现象和相关信息 (29)

4.3充分了解自己所管理和维护的网络 (31)

4.4及时进行故障排除的文档记录和经验总结 (32)

网络故障排除技术总结

1.网络故障排除技术概览

1.1在当今日益复杂的网络中进行故障排除

当今的网络互连环境是日趋复杂的,而且随着需求发展的步伐这种复杂性是日益增长的,主要原因如下:

?现代的网络要求支持更广泛的应用:包括内容上的数据、语音、视频的应用;接入方式上有线,光纤,无线,多协议转换器,逻辑链路的应用;网络结构上二层,三层,二三层混合,VPN等的应用。

?新业务发展使得网络的的需求不断增长,新技术的不断出现。例如:百兆以太网向千兆、万兆以太网的演进;各种防范攻击技术的出现;提供QoS 能力;IPV6的支持等。

●新技术的应用同时还要兼顾传统的技术。例如,传统的网络体系结构仍

在某些场合使用。各种协议的发展,使得新网络的建设需要兼容原来的基础而进行改造。

图1-1多样业务的需求和各种先进技术的引入

使网络日益复杂

因此,现代的互连网络是协议、技术、介质和拓扑的混合体。互连网络环境越复杂,意味着网络的连通性和性能故障发生的可能性越大,而且引发故障的原因也越发难以确定。同时,由于人们越来越多的依赖网络处理日常的工作和事务,一旦网络故障不能及时修复,其所造成的损失可能很大甚至是灾难性的。

能够正确地维护网络尽量不出现故障,并确保出现故障之后能够迅速、准确地定位问题并排除故障,对网络维护人员和网络管理人员来说是个挑战,这不但要求我们对网络协议和技术有着深入的理解,更重要的是要建立一个系统化的故障排除思想并合理应用于实际中,以将一个复杂的问题隔离、分解或缩减排错范围,从而及时修复网络故障。

1.2网络故障的一般分类

网络故障一般分为两大类:连通性问题和性能问题。它们各自故障排除的关注点如下:

?连通性问题

硬件、系统、电源、媒介故障

配置错误

不正确的相互作用

?性能问题

网络拥塞

到目的地不是最佳路由

转发异常

路由环路

网络错误

1.3一般网络故障的解决步骤

故障排除系统化是合理地一步一步找出故障原因并解决的总体原则。它的基本思想是系统地将由故障可能的原因所构成的一个大集合缩减(或隔离)成几个小的子集,从而使问题的复杂度迅速下降。

故障排除时有序的思路有助于解决所遇到的任何困难,下图给出了一般网络故障解决的处理流程。

图1-2 网络故障排除基本步骤

我们以一个故障排除的实例来学习如何应用这些步骤。

案例:某用户网段广播包过多造成该网段的服务器FTP 业务传输速度变慢 组网图如下:

某校园网的三个局域网,其中10.11.56.0为一个用户网段,10.11.56.118为一个日志服务器;10.15.0.0是一个集中了很多应用服务器的网段。

图1-3 用户网段广播包过多造成该网段的服务

器FTP 业务传输速度慢

1. 故障现象描述

要想对网络故障做出准确的分析,首先应该了解故障表现出来的各种现象,然后才能确定可能产生这些现象的故障根源或症结。因此,对网络故障做出完整、清晰的描述是重要的一步。

如上述案例,用户反映:“日志服务器与备份服务器间备份发生问题。”这就是一个不完整不清晰的故障现象描述。因为这个描述没有讲述清楚下列问题:

●这个问题是连续出现,还是间断出现的?

●是完全不能备份,还是备份的速度慢(即性能下降)?

●哪个或哪些局域网服务器受到影响,地址是什么?

正确的故障现象描述是:

在网络的高峰期,日志服务器10.11.56.11到集中备份服务器10.15.254.253之间进行备份时,FTP传输速度很慢,大约只有0.6Mbps。

2. 故障案例相关信息收集

本步骤是搜集有助于查找故障原因的更详细的信息。主要是三种途径:

●向受影响的用户、网络人员或其他关键人员提出问题;

●根据故障描述性质,使用各种工具搜集情况,如网络管理系统、协议分

析仪、相关show命令等;

●测试性能与网络基线进行比较。

如上述案例,可以向用户提问或自行收集下列相关信息:

●网络结构或配置是否最近修改过,即问题出现是否与网络变化有关?

●是否有用户访问受影响的服务器时没有问题?

●在非高峰期日志服务器和备份服务器间FTP传输速度是多少?

通过该步骤,可以收集到了下面一些相关信息:

●最近10.11.56.0网段的客户机不断在增加;

●129.9.0.0网段的机器与备份服务器间进行FTP传输时速度正常为

7Mbps,与日志服务器间进行FTP传输时速度慢,只有0.6Mbps;

●在非高峰期日志服务器和备份服务器间FTP传输速度正常,大约为

6Mbps;

3. 经验判断和理论分析

利用前两个步骤收集到的数据,并根据自己以往的故障排除经验和所掌握的互连网络设备和协议的知识,来确定一个排错范围。通过范围的划分,就只需注意某一故障或与故障情况相关的那一部分产品、介质和主机。

如上述案例:我们现在能够确定是一个网络性能下降问题。那么,是网段10.11.56.0的性能问题?是中间网云的性能问题?是10.15.0.0网段的性能问题呢?

由于129.9.0.0网段的机器与备份服务器间进行FTP传输时速度正常为7Mbps这一事实,我们可以排除掉10.15.0.0网段的性能问题。

4. 各种可能原因列表

该步骤列出根据经验判断和理论分析后总结的各种可能原因。

如上述案例,可能原因如下:

(1) 网段10.11.56.0的性能问题,其子原因可能为:

●日志服务器A的性能问题

●10.11.56.0网络的网关性能问题

●10.11.56.0网络本身的性能问题

(2) 网云性能问题,主要是到网络10.15.0.0的路由不是最佳路由

5. 对每一原因实施排错方案

根据所列出的可能原因制定故障排查计划,分析最有可能的原因,确定一次只对一个变量进行操作,这种方法使你能够重现某一故障的解决办法。如果有多个变量同时被改变,而问题得以解决,那么如何判断哪个变量导致了故障发生呢?

说明:

我们在对故障处理流程5、6、7步骤介绍完毕后,再继续进行上述实例案例的排错步骤介绍。

6. 观察故障排查结果

当我们对某一原因执行了排错方案后,需要对结果进行分析,判断问题是否解决,是否引入了新的问题。如果问题解决,那么就可以直接进入文档化过程;如果没有解决问题,那么就需要再次循环进行到故障排查过程。

7. 循环进行故障排查过程

当实施了一个方案没有达到预期的排错目的时,我们进入到该步骤――这是一个努力缩小可能原因的清单过程。

在进行下一循环之前必须做的事情就是将网络恢复到实施上一方案前的状态。如果保留上一方案对网络的改动,很可能导致新的问题,例如:假设修改了访问列表但没有产生预期的结果,此时如果不将访问列表恢复到原始状态,就会导致出现不可预期的结果。

循环排错可以有两个切入点:

●当针对某一可能原因的排错方案没有达到预期目的,循环进入下一可能

原因制定排错方案并实施;

●当所有可能原因列表的排错方案均没有达到排错目的,重现进行故障相

关信息收集以分析新的可能原因。

如上述案例,我们在列出了可能原因列表后,开始制定方案进行故障排除。

(1) 可能原因1:“网络10.11.56.0到网络10.15.0.0的路由不是最佳路由”制定的方案:在10.11.56.0网段的网关上使用“Traceroute 10.15.245.253”命令,发现探测报文返回时长仅为10ms,表明该可能原因并不是造成故障的原因。

我们进入循环排错过程。

(2) 可能原因2:“日志服务器A的性能问题”

制定的方案:测试同一网段的主机C和日志服务器间的FTP传输速度,是6Mbps,正常。可见问题与服务器A无关。

(3) 可能原因3:“10.11.56.0网络的网关性能问题”

制定的方案:测试主机C和备份服务器B间FTP传输速度是7Mbps,正常。排除了网关因素,因为B、C在不同网段上而速度正常。

(4) 可能原因3:“10.11.56.0网络本身的性能问题”

制定的方案:在网段10.11.56.0的以太网交换机上使用命令“show interfaces fastEthernet 0/X counters”,输出如下:

Interface : Fa0/x

5 minute input rate : 4800 bits/sec, 4 packets/sec

5 minute output rate : 5593

6 bits/sec, 5 packets/sec

InOctets : 32533624

InUcastPkts : 390531

InMulticastPkts : 39

InBroadcastPkts : 13164

OutOctets : 32126341

OutUcastPkts : 33133

OutMulticastPkts : 1840

OutBroadcastPkts : 12611

广播与单播的比例在1:3,显然太大了。

在网段10.15.0.0上的以太网交换机上使用命令“show interfaces fastEthernet 0/x counters”输出如下:

Interface : Fa0/13

5 minute input rate : 4800 bits/sec, 4 packets/sec

5 minute output rate : 5593

6 bits/sec, 5 packets/sec

InOctets : 4253824

InUcastPkts : 29432175

InMulticastPkts : 39

InBroadcastPkts : 11061

OutOctets : 21127345

OutUcastPkts : 39432172

OutMulticastPkts : 1840

OutBroadcastPkts : 12611

广播与单播的比例在1:280,是正常的。

由此知道,网段10.11.56.0上广播包和单播包比例为1:3,确实太大了。再次询问用户该网段主要运行的业务是什么,从而得出了故障最终原因如下:10.11.56.0是普通用户网段,由于业务原因每个用户需要发送大量广播包和多播包,随着近期越来越多的用户接入该网络,在这个网段上的服务器需要花费更多的资源来处理越来越多的广播和多播包,因此其服务的传输速度自然减慢。

由于这是一个网络布局不恰当的问题,于是重新安排服务器的位置,将服务器移动10.15.0.0网段后,故障排除。

8. 故障排除过程文档化

当最终排除了网络故障后,那么排除流程的最后一步就是对所做的工作进行文字记录。文档化过程决不是一个可有可无的工作,原因如下:

●文档是排错宝贵经验的总结,是“经验判断和理论分析”这一过程中最

重要的参考资料;

●文档记录了这次排错中网络参数所做的修改,这也是下一次网络故障应

收集的相关信息。

文档记录主要包括以下几个方面:

●故障现象描述及收集的相关信息

●网络拓扑图绘制

●网络中使用的设备清单和介质清单

●网络中使用的协议清单和应用清单

●故障发生的可能原因

●对每一可能原因制定的方案和实施结果

●本次排错的心得体会

●其他:如排错中的使用的参考资料列表等

请读者对照上述案例完成文档记录工作。

2.网络排错常用诊断工具介绍

锐捷的产品提供了一套完整的命令集,可以用于监控网络互联环境的工作状况和解决基本的网络故障。主要包括以下命令:

?Ping命令

?Traceroute命令

●Show命令

●Clear命令

●Debug命令

2.1 Ping命令

1.原理:

“ping”这个词源于声纳定位操作,指来自声纳设备的脉冲信号。Ping命令的思想与发出一个短促的雷达波,通过收集回波来判断目标很相似;即源站点向目的站点发出一个ICMP Echo Request报文,目的站点收到该报文后回

一个ICMP Echo Reply报文,这样就验证了两个节点间IP层的可达性--表示了网络层是连通的。

2.功能

Ping命令用于检查IP网络连接及主机是否可达。

3.RGNOS平台的ping命令

在RG系列设备上,Ping命令的格式如下:

Ping ip-address

例如,向主机10.15.50.1 Ping报文

RG# ping 10.15.50.1 //ping通

Switch>PING

Target IP address or host: 10.15.50.1

Repeat count [5]: 2

Datagram size [100]: 8100

Timeout in milliseconds [2000]: 5000

Extended commands [n]:

Sending 2, 8100-byte ICMP Echos to 10.15.50.1,

timeout is 5000 milliseconds.

!!

Success rate is 100 percent (2/2)

Minimum = 21ms Maximum = 22ms, Average = 21msRG

# ping 10.15.50.1 //不通

Sending 5, 100-byte ICMP Echos to 10.15.50.1,

timeout is 2000 milliseconds.

.....

Success rate is 0 percent (0/5)

4.Windows平台的Ping命令

在PC机上或Windwos NT为平台的服务器上,Ping命令的格式如下:Ping [ -n number ] [ -t ] [ -l number ] ip-address

-n Ping报文的个数,缺省值为5;

-t 持续地ping 直到人为地中断,Ctr+Breack暂时中止ping命令并查看当前的统计结果,而Ctr+C则中断命令的执行。

-l 设置Ping报文所携带的数据部分的字节数,设置范围从0至65500。

例:向主机10.15.50.1 发出2个数据部分大小为 3000 Bytes的ping报文

C:\>ping -l 3000 -n 2 10.15.50.1

Pinging 10.15.50.1 with 3000 bytes of data

Reply from 10.15.50.1: bytes=3000 time=321ms TTL=123

Reply from 10.15.50.1: bytes=3000 time=297ms TTL=123

Ping statistics for 10.15.50.1:

Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 297ms, Maximum = 321ms, Average = 309ms

说明:

实际上Windows平台的Ping命令的参数非常多,这里只介绍其中最重要的三个参数。其他参数介绍请参考Windows在线帮助。

5.巧用Ping命令进行故障排除

案例一:连通性问题还是性能问题?

(1) 案例描述

?工程师小C,在配置完一台路由器之后执行Ping命令检测链路是否通畅。

发现5个报文都没有Ping通,于是检查双方的配置命令并查看路由表,却一直没有找到错误所在。最后又重复执行了一遍相同的Ping命令,发现这一次5个报文中有1个Ping 通了--原来是线路质量不好存在比较严重的丢包现象。

?工程师小C又配置了一台路由器,然后执行Ping命令访问Internet上某站点的IP地址,但没有Ping通。有了上次的教训小L,再一次Ping了20个报文,仍旧没有响应。于是小L断定是网络故障。但是在费劲周折检查了配置链路之后仍没有发现任何可疑之处,最后小L采取逐段检测的方法对链路中的网关进行逐级测试,发现都可以Ping 通,但是响应的时间越来越长,最后一个网关的响应时间在1800ms左右。会不会是由于超时而导致显示为Ping 不同呢?受此启发,小L将Ping 命令报文的超时时间改为4000ms,这次成功Ping通了,显示所有的报文响应时间都在2200ms 左右。

(2) 建议和总结:

真的是Ping不通吗?这个问题需要定位清楚,因为连通性问题和性能问题排错的关注点是不一样的――问题定位错误必然会导致排错过程的周折。使用一般的Ping命令,缺省是发送5个报文的,超时时长是2000ms。如果Ping 不通情况发生,最好能够再用带参数-c和-t的Ping命令再执行一遍,如:Ping -c 20 -t 4000 ip-address,即连续发送20个报文,每个报文的超时时长为4000ms,这样一般可以判断出到底是连通性问题还是性能问题。

案例二:使用大包ping对端进行MTU不一致的故障排除

(1) 现象描述:

某次开局,使用RG路由器与其他厂商的某路由器互连,并运行OSPF协议。数据配置完毕后,一切正常,并在今后相当长的时间内设备运转稳定。但两个月后,用户反馈网络中断。

(2) 相关信息显示:

?登录到两台路由器上,发现双方连接正常,可以相互Ping通对端地址。

但OSPF协议中断;

?登录RG路由器查看邻居状态,发现邻居状态机处于Exstart状态。打开相应的debug开关查看相应的报文信息,发现双方都可以收到Hello报文,但RG路由器发送DD报文后,一直没有收到对方回应的DD报文;

?登录其他厂商的那台路由器,打开相应的debug开关,发现对方收到RG 路由器发送的DD报文后,一发送了相应的DD报文予以回应。

(3) 原因分析:

初步断定,RG路由器没有收到DD回应报文,但对方确实发出来了。

既然可以接收到HELLO 报文说明链路是通畅的,而且多播报文的收发也没有问题。那么有可能是对方发送的DD 报文有错误导致RG路由器拒收,但查看相应的信息,并没有报告接收到错误的DD 报文。

仔细查看某厂商路由器的调试信息发现这个DD报文很大有2000 多字节。会不会是由于报文太大导致的问题呢?试着Ping了一个2000字节的报文,结果不通。那么故障原因很可能是--由于双方的MTU不一致导致大包不通。

(4) 处理过程:

检查配置,发现对方路由器的MTU设置为4000多而RG路由器的MTU设置为1500,于是修改对端路由器的MTU为1500。故障排除。

那么为什么工程初期没有问题呢?这是因为前期DD报文长度小于1500字节,而后来网络扩容导致路由信息过多使DD 报文的长度超过了1500 字节。

(5) 建议和总结:

由于Ping 缺省报文是56 个字节,所以显示的Ping 通信息只是表示56字节的报文可以通而并不一定表示其他大小的报文仍旧可以通。所以,应当善于使用Ping的其他参数来进行故障排除。

案例三:A能Ping通B,B就一定能Ping通A吗?

(1) 现象描述

组网图如下:

图1-4案例:A能Ping通B,B就一定能Ping

通A吗?

在RouterA上配置一条指向2.0.0.0/8的静态路由:

RouterA(config)# ip route 2.0.0.0 255.0.0.0 1.1.1.1

在RouterA 上Ping RouterB 的以太网地址2.2.2.2,显示可以正常Ping通;但是在RouterB上Ping RouterA的以太网地址3.3.3.3,却无法Ping通。

(2) 原因分析:

由于在RouterB 上却没有相应的配置到3.0.0.0/8 路由,所以从RouterB 上Ping不通RouterA的以太网口3.3.3.3 。

但是为何在A上可以Ping 通2.2.2.2 呢?同样是没有回程路由呀?打开路由器上的IP报文调试开关发现,原来从RouterA上发出的ICMP报文的源地址填写的是1.1.1.1而不是3.3.3.3,由于两台路由器的s0口处于同一网段,所以响应报文可以顺利到达RouterB。

(3) 建议和总结:

A能够Ping通B则B一定能够Ping通A(不考虑防火墙的因素),这句话的对错取决于A和B到底是指主机还是指路由器。

?如果是指两台主机,那么这句话就是正确的。

?如果是指两台路由器那就是错误的,因为路由器通常会有多个IP地址。

现在就有如下问题:当从一台路由器上执行Ping命令它发出的ICMP Echo报文的源地址究竟选择哪一个呢?实际情况是路由器选择发出报文的接口的IP地址。

相关主题
文本预览
相关文档 最新文档