Cisco路由器故障诊断技术Word文件下载.docx
- 文档编号:21643437
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:30.72KB
Cisco路由器故障诊断技术Word文件下载.docx
《Cisco路由器故障诊断技术Word文件下载.docx》由会员分享,可在线阅读,更多相关《Cisco路由器故障诊断技术Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
集成后的功能对路由处理器和交换处理器都作了性能、稳定性、可扩充性和安全等方面的优化。
7500系列路由器既不支持自治交换也支持硅交换,它支持更加灵活的优化交换。
Cisco4000/2500系列路由器的硬件结构比7000/7500系列路由器的硬件结构简单。
这些设备只在交换过程中才共享存储器。
所有的报文缓存和Cache都位于共享存储器中,因此只支持快速交换或过程交换。
需要知道过程交换需要通过查询路由表来做出路由选择,而且其他交换技术都是通过缓存来提高交换速度的,因为其缓存的位置不同而分别称为不同的技术。
3故障诊断与排除命令
CiscoISO操作系统软件提供了一组功能丰富的命令,可以用来进行故障查找与排除、问题诊断以及性能检测。
命令大致可以分为两类:
show命令和debug命令。
同时,还包含一组用于连接这两类命令的clear命令。
下面我们分别讲解各命令
3.1show命令
在这一节中,我们将讲述最常用的show命令,阐述这些命令的输出以及这些命令适用于解决的故障类型。
为了叙述清楚,这些命令被分为全局系统命令、与接口相关的命令和与协议相关的命令。
我们仅讨论最常使用的命令。
全局系统命令
本节将列出与路由器软件和硬件相关的输出命令,其中包括存储区和电源。
showversion命令是最基本的命令之一,它显示路由器本身以及其所使用的软、硬件的基本信息。
showhardware命令的功能与showversion命令类似。
命令的输出信息包括:
IOS的版本、路由器持续运行的时间约23周、最近一次重启动的原因、路由器主存的大小、共享存储器的大小、闪存的大小、IOS映像的文件名,以及路由器从何处启动等信息。
showversion命令显示了路由器的许多非常有用的信息。
在解决问题时,通常应该从这个命令开始收集数据。
如果路由器的多个接口同时丢失报文,则可能由于路由器内存不足或者CPU过载。
用户可以使用showmemory命令检查内存利用率(如下所示)。
CPU利用率可以使用showprocess命令检查。
YH-Router#showmemory
HeadTotal(b)Used(b)Free(b)Lowest(b)Largest(b)
Processor60DB19C0191954566162924130325321161516411250780
Fast60DB19C0131072128344272827282684
showmemory的前两行显示了存储器的一般信息,它表明系统有足够可用的内存。
同时它还显示内存中没有碎片,因为在13.03兆字节可用内存中最大的可用块接近11.25兆字节。
内存碎片表明内存被划分为了许多不连续的块。
它将导致内存的利用率降低,严重时可能产生内存错误从而也严重影响路由器的性能。
现在看一看路由器中有许多内存碎片的情形(如下所示)。
此时我们有足够多的可用内存(8.4兆字节),但是其中最大的块仅为0.5兆字节。
连续内存中没有足够大的可用块,这有可能导致严重的内存分配问题。
这些问题有时表现为一个或多个接口间歇性的丢失报文。
此时路由器产生内存碎片错误消息。
HX-Router#shmem
Processor60DB19C019195456107137128481744192680586748
Fast60DB19C013107290936401364013640092
使用命令showmemoryfree,用户可以看到可用内存被划分为许多很小的碎片。
需要注意的是,路由器中存在一定数量的内存碎片是正常的。
虽然并没有一个很严格的界限来划分内存碎片的可接受程度,但是可用块的大小至少应该不小于可用内存的一半。
用户可以通过重新启动路由器来解决这个问题。
在重新启动时,系统重新分配内存和缓存空间。
此时,用户应该监视内存分配的过程。
如果再次发生类似的情况,则应该咨询CiscoTAC。
用户可以使用showprocesscpu命令检查路由器的CPU是否过载。
该命令将给出路由器CPU的利用率,同时显示路由器中不同进程的CPU占用率。
在下述示例中,路由器的CPU工作正常。
在通常情况下,在5分钟内CPU的平均利用率小于60%是可以接受的。
如果怀疑CPU利用率出现了问题,则需要不断地监视这一参数,因为它可能在短时间内发生变化。
最好每10秒钟使用一次该命令。
通过这种方法,可以清楚地了解CPU利用率的波动情况。
YH-Router#shprocesscpu
CPUutilizationforfiveseconds:
15%/4%;
oneminute:
175;
fiveminutes:
19%
PIDRuntime(ms)InvokeduSecs5Sec1Min5MinTTYProcess
14601845380085850.00%0.00%0.00%0NTP
225274953623842051060100.00%2.35%2.65%0CheckHeaps
......
1326155236913595828620.32%0.25%0.22%0IPBackground
1431772015015021160.00%0.00%0.00%0IPCacheager
23515983801350948513810.32%0.24%0.28%0IPXInput
24867921242366207136670.98%0.87%0.89%0IPXRIP
2543848094812338416135537.94%3.31%3.91%0IPXSAP
如果CPU的平均利用率超过了80%,则表明路由器过载。
下一步需要检测那一些进程导致了CPU利用率过高。
在上面的显示中,我们可以看到进程IPXSAP占用了绝大部分的CPU处理能力,但是它还在可以接受的范围之内。
有时候,如果SRBbackground参数持续过高,则表明发生了路由网桥风暴。
showprocessmemory命令可以用来给出路由器可用内存的一般信息,然后显示每一个进程所占用的内存空间的详细信息。
如果路由器由于临时重启动而完全崩溃,则相应的错误消息将包含在showversion命令的输出中。
showstack命令用于跟踪路由器的堆栈,提供路由器临时重新启动的原因。
如果由于错误而导致重新启动,堆栈记录将在输出的末尾显示。
为了抽取与故障相关的信息,堆栈记录需要解码。
这一工作通常由CiscoTAC工程师完成。
此外,拥有相应CCO登录ID的用户可以通过将showstack命令的输出发送到CCO而获得解码信息。
堆栈记录解码的结果有时与Cisco路由器的bug有关。
当用户向CiscoTAC报告故障时,支持技术人员通常要求用户发送showtech_support命令的输出结果。
这个命令将导致下述命令的按序执行:
Showversion、Showcontrollers、Showbuffers、Showinterface、Showstack、Showprocesscpu、Showprocessmemory和Showrunning-config。
这些命令的组合将给出路由器配置以及大多数关键性能参数的详细信息。
showtech_support命令的输出对于CiscoTAC技术人员解决复杂网络问题是十分有用。
与接口相关的命令
下面我们将阐述一些直接与路由器活跃接口相关的命令。
showipinterfacebrief将显示每一个路由器接口的IP地址信息以及第二层的状态信息(如下所示)。
其他与IP对应的协议的相关性信息可以通过相应命令属性获得,比如showipxinterfacebrief。
YH-Router#shipinbrief
InterfaceIP-AddressOK?
MethodStatusProtocol
TokenRing0/0172.26.12.3YESNVRAMupup
TokenRing0/1172.27.12.3YESNVRAMupup
TokenRing0/2172.28.12.3YESNVRAMupup
TokenRing0/3unassignedYESNVRAMadministrativelydowndown
Ethernet1/0172.30.12.3YESNVRAMupup
Ethernet1/0172.31.12.3YESNVRAMupup
Ethernet1/0172.32.12.3YESNVRAMupup
Ethernet1/0172.33.12.3YESNVRAMupup
showinterface命令可以获得更多的信息。
我们以以太网为例来讨论这些通用接口参数。
YH-Router#shinte1/0
"
Ethernet1/0isup,lineprotcolisup"
HardwareiscxBusEthernet,addressis00e0.f78a.6d40(bia00e0.f78a.6d40)"
Description:
seg=E2LABSRV1
Internetaddressis172.30.12.3/16
MTU1500bytes,BW10000Kbit,DLY1000usec,rely255/255,load1/255"
EncapsulationARPA,loopbacknotset,keepaliveset(10sec)"
ARPtype:
ARPA,ARPTimeout04:
00:
00"
Lastinput00:
00,output00:
00,outputhangnever"
Queueingstrategy:
fifo
Outputqueue0/40,44drops;
inputqueue0/75,66114drops"
5minuteinputrate181000bits/sec,23packets/sec"
5minuteoutputrate43000bits/sec,26packets/sec"
525599659packetsinput,2042735431bytes,0nobuffer"
Received4004547broadcasts,10runts,0giants"
139inputerrors,0CRC,129frame,0overrun,0ignored,0abort"
0inputpacketswithdribbleconditiondetected
481020335packetsoutput,1069273018bytes,47underruns"
20outputerrors,95880485collisions,0interfaceresets"
0babbles,0latecollision,0deferred"
0lostcarrier,0nocarrier"
0outputbufferfailures,0outputbuffersswappedout"
其中:
Ethernet1/0isup表明OSI模型的第一层成功启动。
Lineprotocolup表明第二层成功启动。
Description用户自定义的描述。
使用这一功能给出接口准确的描述是十分重要的。
在一个大型组织中,一个局部网络的工程师很难定位发生故障的路由器。
MTU指定最大传输单元,用户可以配置。
BW、Dly、rely、load(带宽、延迟、可靠性和负载):
这些参数与IGRP/EIGRP标准有关。
带宽和延迟的配置可以影响到路由选择。
在工作正常的接口中,可靠性的值为255。
除非在十分繁忙的条件下,否则负载通常不应超过150/255。
Encapsulation它指在接口的第二层封装。
在以太网中,对于IP,Cisco的缺省设置为ARPA,而IPX的缺省设置为Novell-Ether。
从输出中还能获取哪些其他的信息呢?
读者可以看到,ARPcachetimeout的值为4小时(该值为缺省设置)。
从路由器接口输入到输出的时间不到1秒钟。
输出从未被挂起。
接口计数器最后一次被清0是在5个星期以前。
在评估接口的统计信息时,这些数据是十分有用的。
在通常情况下,可以将计数器清0以便作进一步的监视。
接口所采用的是FIFO排队规则。
输出队列和输入队列的缺省长度分别为40和75。
队列中都不包含报文。
在计数器最后一次被清0后,输入队列丢失了许多报文。
但是,正如我们前面所说的,计数器5个星期未被清0;
因此,该值不能说明一定发生了网络故障。
在这种情况下,应该首先将计数器清0,然后再监视输出队列的丢失报文数。
同时,命令的输出中还显示每1秒钟通过路由器接口的平均信息量(以字节为单位)以及报文数。
这些参数的总量信息、路由器接口观测到的所有广播报文的数量也在命令的输出中显示。
如果广播报文的数量增长非常迅速,尤其是如果相对于输入报文的数量非常高,则表明在局域网段中有广播风暴。
由于某些特定的应用程序需要频繁使用广播报文,因此确定广播报文的数量阀值是很困难的。
但是,如果广播报文的数量超过了整个输入报文的30%,则需要使用局域网协议分析仪进一步检测网络。
我们还可以获取接口的下列错误检测信息:
Runts是指大小小于最小值的报文。
在示例的以太网中,该值为64。
以太网中指定最小报文大小大小是由于在这种传输模式下的工作站需要检测碰撞。
如果以太网段中包含以太网中继器并且其距离符合规定的标准,最小报文大小大小可以使处在这种传输模式下的工作站检测线路中的任何碰撞。
Giants指大小超过线路可以承受的最大报文大小的报文。
以太网的MTU通常为1500字节,或者最大的封装数据为1500字节。
Inputerrors指到达报文中检测到的错误,也可能表明网段本身发生了错误。
Outputerrors指输出报文中的错误,它可能表明路由器接口本身发生了故障。
CRCs由于报文不正确的以太网校验和而检测到的循环冗余校验错。
它可能由于网段的噪声引起,或者由于网卡故障、报文冲突引发。
CRC的频率应是每100000个输入报文中发生一次。
Frameerrors指接收到的帧的类型与路由器以太网帧类型(IP协议帧类型为ARPA)不匹配。
Aborts在碰撞检测中过度的重传而导致的问题。
在以太网中,重传的最大次数不超过15次。
Dribblecondition指接收到的帧比MTU大,但不属于Giants。
Babble是指持续接收到可疑的帧。
Deferred如果线路繁忙,报文在传输时将被延缓发送。
Interfaceresets在检测到过多的错误时,路由器将重置接口。
这些错误可能存在于局域网段中,也可能是接口本身的错误。
在此不能够判断具体是那儿发生故障,但是,如果伴随着大量的输出错误,则表明路由器接口本身发生故障。
Collisions在以太网中,冲突被分为两大类:
early和late。
earlycollision由发送方在帧的前64个字节进入线路之前检测到的冲突。
earlycollision是以太网CSMA/CD访问方法中的组成部分。
earlycollision通常导致小的被中断的帧或称为runt。
Latecollision发生在帧的多个字节(大于64)被发送到线路中时产生的冲突。
在理论上,以太网不会产生此类冲突。
产生latecollision的原因包括:
?
;
电缆违反了距离规则。
发生故障的NIC卡不正确地监听线路。
Lostcarrier表明在计数器最后一次清0后,载波和线路协议发生的故障。
此类故障通常与路由器无关。
例如,载波丢失可能是因为路由器与集线器之间的电缆连接中断。
Bufferparametersshowinterface命令还提供与缓冲区分配有关的故障信息,它包括nobuffer、overruns、ignored、underruns、bufferfailures和swappedoutbuffers等。
上面,我们详细讨论了showinterface命令的用法。
这些命令的输出提供了与路由器接口相关以及与传输介质相关的参数等有价值的信息。
showcontroller命令提供连接到路由器接口物理线路以及传输介质的详细信息。
并且提供状态的历史信息。
其中一些详细信息很少被使用,它们一般仅被TAC技术人员用于解决十分复杂的问题。
与协议相关的命令
本节将讨论如何使用与不同协议相关的显示命令。
showprotocol命令给出了路由器运行的协议信息以及路由这些协议的每一个接口的地址信息(如下所示)。
YH-Router#shprotocol
Globalvalues:
InternetProtocolroutingisenabled
Novellroutingisenabled
Serial0isup,lineprotocolisup"
Internetaddressis171.137.8.130/25
NovelladdressisAB890880.0000.30e8.b7c8
Serial1isadministrativelydown,lineprotocolisdown"
TokenRing0isup,lineprotocolisup"
Internetaddressis171.137.6.1/25
NovelladdressisAB890600.0000.30e8.b7c8
3.2Debug命令
CiscoIOS软件中包含大量的调试命令。
这些命令可以在路由器正常工作或者发生网络故障时获得在路由器中交换的报文和帧的细节信息。
调试命令在排除网络故障时的特殊功能,可以减少用户对协议分析仪的需求。
在使用调试命令时,需要注意以下几点:
在没有完全掌握调试命令的工作过程以及它所提供的信息时,不要使用调试命令。
调试命令仅能捕获通过过程交换的报文。
调试命令会明显增加处理器的负载。
某一些命令的负载很小,但是另一些处理器敏感的命令会极大地增加处理器的负担。
建议读者在使用调试命令之前,使用命令showprocesscpu检查CPU的负载。
即使CPU的负载很小,在使用处理器敏感的命令时仍需要十分慎重。
在不能确定的情况下,可以查询Cisco调试命令参考手册。
对CPU十分敏感的命令将会产生警告信息。
通常情况下,调试命令的大量输出将会增加处理器的负担。
调试命令针对故障排除,监视时最好不要使用这些命令。
在获得了足够的信息后,应立刻中止调试命令的执行。
下面我们将阐述在CiscoIOS中可以使用的各种调试命令。
为了叙述清楚,我们将所有的调试命令分为三类:
全局(系统)调试命令、接口调试命令以及协议调试命令。
与show命令类似,这些命令之间并没有严格的界限。
首先,需要了解的是有哪些调试命令可以使用。
使用与调试相关的帮助,输入“debug?
”,我们将获得了一个命令的列表,其中每一个命令都包含若干的属性,它们在排除故障时提供各种不同的作用。
全局调试
在配置Cisco路由器时,全局和接口命令的界限是十分明显的。
在这种情况下,我们使用“全局”来标识那些不能用于接口调试或者特定的传输介质类型和协议调试的命令。
例如,在2500系列路由器中,就可以使用调试命令分析Cisco发现协议(CiscoDiscoveryProtocol,CDP)。
我们通过telnet远程登录到路由器。
在缺省方式下,调试命令的输出被发送到控制台,如果处于telnet会话中,我们可以使用terminalmonitor命令查看输出。
接口调试
debugserialinterface命令是直接与路由器接口和传输介质类型相关的调试命令。
在下面的示例中,串行接口采用HDLC封装。
端到端的HDLC保持活跃的报文每10秒钟交换一次。
这表明链路操作正常并且第二层工作正常。
showinterfaceserial0命令表明线路协议正常启动。
使用undebugall命令关闭所有的调试。
YH-Router#debugserialinterface
Serialnetworkinterfacedebuggingison
YH-Router#
Jun121:
54:
55PDT:
Serial0:
HDLCmyseq171093,mineseen171
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cisco 路由器 故障诊断 技术