第1章 故障处理方法
一、网络的复杂性
一般网络包括路由、拨号、交换、视频、WAN(ISDN、帧中继、ATM、…)、LAN、VLAN、…
二、故障处理模型
1、 界定问题(Define the Problem)
具体而精确地描述故障的症状和潜在的原因
2、 收集具体信息(Gather Facts)
信息来源:要害用户、网络治理系统、路由器/交换机
1) 识别症状:
2) 重现故障:校验故障依然存在
3) 调查故障频率:
4) 确定故障的范围:有三种方法建立故障范围
? 由外到内故障处理(Outside-In Troubleshooting):通常适用于有多个主机不能连接到一台服务器或服务器集
? 由内到外故障处理(Inside-Out Troubleshooting):
? 半分故障处理(Divide-by-Half Troubleshooting)
3、 考虑可能情形(Consider Possibilities)
考虑引起故障的可能原因
4、 建立一份行动计划(Create the Action Plan)
5、 部署行动计划(Implement the Action Plan)
用于纠正网络故障原因。从最象故障源处,想出处理方法
每完成一个步骤,检查故障是否解决
6、 观察行动计划执行结果(Observe Results)
7、 如有行动计划不能解决问题,重复上述过程(Iterate as Needed)
三、记录所做修改
在通过行动计划解决问题后,建议把记录作为故障处理的一部分,记录所有的配置修改。
第2章 网络文档
一、网络基线
解决网络问题的最简单途径是把当前配置和以前的配置相比较。
基线文档由不同的网络和系统文档组成,它包括:
? 网络配置表
? 网络拓扑图
? ES网络配置表
? ES网络拓扑图
创建网络的注重事项:
1) 确定文档覆盖的范围;
2) 保持一致:收集网络中所有设备的相同信息;
3) 明确目标:了解文档的用途;
4) 文档易于使用和访问;
5) 及时维护更新文档。
二、网络配置表
网络配置表的通常目标是提供网络中使用的硬件和软件组成的列表,其组成有:
分级 项目
杂项信息 设备名、设备型号、CPU类型、FLASH、DRAM、接口描述、用户名口令
第1层 介质类型、速率、双工模式、接口号、连接插座或端口
第2层 MAC地址、STP状态、STP根桥、速端口信息、VLAN、Etherchannel配置、封装、中继状态、接口类型、端口安全、VTP状态、VTP模式
第3层 IP地址、IPX地址、HSRP地址、子网掩码、路由协议、ACL、隧道信息、环路接口
在多数情形下,存储这些信息的最佳方式是电子表格或数据库,电子表格用于较小的网络,数据库用于较大的网络。
三、网络拓扑图
网络拓扑图是图示网络的各组成部分之间如何在逻辑上和物理上相互连接。
1、网络拓扑图的组成
分级 项目
杂项信息 设备名、设备型号、设置间连接、接口描述
第1层 介质类型、接口号
第2层 MAC地址、VLAN、封装、中继状态、接口类型、DLCI
第3层 IP地址、子网掩码、路由协议
对于大型的网络,可以制作多个网络拓扑图,每个网络拓扑图反映一个分离的部分。
2、建立网络拓扑图
四、发现网络配置信息
1、收集路由器和第3层交换机网络配置信息
show version ;显示设备型号、Flash、DRAM、IOS版本
show ip interface brief ;显示接口简要信息(类型、状态、协议状态、IP地址)
show interface e0/0 ;显示某接口具体信息(MAC、IP、MASK、…)
show ip protocols ;显示IP路由协议信息
show ip interface e0/0 ;显示接口的IP协议信息(状态、IP地址、ACL、…)
2、收集交换机配置信息
交换机网络配置表包含的信息:设备名、型号、位置、Flash、DRAM、CATOS版本、治理地址、VTP域、VTP模式、端口号、端口速率、端口双工、VLAN、STP状态、速端口状态、中继状态、…
show version ;显示IOS或CATOS版本、DRAM、Flash
show vtp domain ;(CatOS)显示VTP域和VTP模式
show vtp status ;(IOS)
show interface ;(CatOS)显示治理接口信息
show port ;(CatOS)显示每个端口的简要信息(号、VLAN、双工、…)
show interface ;(IOS)
show trunk ;(CatOS)显示中继信息(模式、封装、答应端口、剪裁、…)
show interface trunk ;(IOS)
show spantree 45 ;(CatOS)显示端口的STP模式、类型、状态、速端口、…)
show spanning-tree 45 ;(IOS)
3、发现相邻CISCO设备的信息
CDP(Cisco Discovery Protocol)是CISCO的专用协议,用于识别直接相邻的CISCO设备信息,CDP工作在第2层。
Show cdp neighbor ;显示相邻CISCO设备的简要信息(ID、相邻接口、平台、…)
Show cdp neighbor detail;显示相邻CISCO设备的具体信息(包含第3层信息)
五、创建网络文档的过程
1、 LOGIN ;登录到设备进入特权模式。
2、 接口发现 ;发现关于设备的所需信息
3、 Document ;在网络配置表中记录发现的信息。
4、 Diagram ;从网络配置表传输所需信息到网络拓扑图
5、 设备发现 ;判定是否有相邻设备没有记录文档。
第3章 ES文档和故障处理
一、ES网络配置表
ES网络配置表是ES的硬件和软件组成的列表。ES网络配置常包括以下项目:
分级 项目
杂项信息 系统名、系统厂商/型号、CPU速率、RAM、存储器、系统功能
第1、2层 介质类型、接口速率、VLAN、MAC、网络接头
第3层 IP地址、缺省网关、子网掩码、WINS、DNS、
第7层 操作系统(版本)、基于网络的应用程序、高带宽应用程序、低延时应用程序、特定考虑
二、ES网络拓扑图
ES网络拓扑图的典型项目有:系统名、网络连接、物理位置、系统目标、VLAN、IP地址、子网掩码、操作系统、网络应用程序
大多数ES网络拓扑图都建立在网络拓扑图中,其中还可加入ES网络配置表数据的子集。
三、收集ES网络配置信息
通用命令:
1) ping host/ip-address ;发送和接收ICMP响应,校验网络的连通性
2) arp -a ;查看修改ES的MAC-IP映射表(同一子网)
3) telnet host/ip-address ;登录远程ES或特定TCP端口
Windows平台命令
1) ipconfig /all ;查看修改ES的IP信息(适用所有Windows平台)
2) winipcfg ;查看修改ES的IP信息(仅适用于Win9x平台)
3) tracert host/ip-address ;校验到主机的连接并显示路径上的设备IP
4) route print ;显示本设备IP路由表的内容
5) netstat ;显示当前网络连接
Unix、Linux和Mac OS系统命令
1) ifconfig -a ;查看UNIX和MAC主机的IP信息
2) traceroute host/ip ;
3) route –n ;
4) cat /etc/resolv.conf ;查看DNS服务器信息
四、通用的故障处理过程
1、通用的故障处理过程:
l 收集症状:收集网络、用户、ES的症状
1) 分析现存症状
2) 判定所属
3) 窄化范围
4) 判定症状
5) 记录症状
l 分离问题
1) Bottom-Up troubleshooting
从物理层开始向上排查,直到应用层。常用于怀疑问题发生在物理层,或在处理复杂网络问题时使用。
2) Top-Down troubleshooting
从应用层开始向下排查故障,用于怀疑问题发生在软件部分。
3) Divide-and-Conquer troubleshooting
选择OSI模型的特定层(数据链路层、网络层、传输层)开始故障处理,确定问题是在该层、还是上层或下层。适于具有丰富的经验的人员使用。
常用traceroute命令检查下4层(从物理层到应用层)。
l 纠正问题
2、ES故障处理命令
1) ping
连续Ping: ping –t 192.168.0.1 ;Windows系统
ping –s 192.168.0.1 ;Unix环境
记录路由: ping –r 192.168.0.1 ;Windows
ping –s –nRv 192.168.0.1 ;Unix
2) Trace Route
Tracert 10.0.0.1 ;Windows系统
Tracerout 10.0.0.1 ;Unix
Ping记录路由器的出接口,而traceroute通常记录进入的接口。
3) Arp
显示第2层和第3层地址的映射表: Arp –a ;Windows/Unix
4) Route
显示路由表: route print ;windows系统
route –n ;Unix
5) Netstat
显示到ES的当前连接及端口: netstat –n ;Windowx & Unix
6) Ipconfig&Ifconfig
显示ES的IP配置: ipconfig /all ;windows
ifconfig –a ;unix
7) NBTstat
显示当前名称解析缓存: nbtstat –c ;
清除当前名称解析缓存: nbtstat –r ;
第4章 协议属性
一、OSI参考模型
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
二、全局协议分类
1、面向连接的协议:
windows size:在需要目标系统确认的传输的数据包数。
队列数据传送:对进入和发送的PDU指定序号,在目的地再按序号重排数据;
流控:确保发送的速率不超过目标接收的速率,通过为传输建立窗口尺寸实现;
错误控制:确保接收到的数据连续并无错,如有丢失或损失的PDU,则不发送ACK包。
面向连接的协议有:ATM、TCP、Novell SPX、Apple Talk ATP;
2、非连接的协议
不包括连接设置和终止,没有流控和错误控制。
非连接的协议有:UDP、Apple Talk DDP、Novell IPX;
三、第2层:数据链路层
1、Ethernet/IEEE802.3
2、Token Ring/IEEE802.5
四、PPP
五、SDLC
六、Frame Relay
七、ISDN
八、第3、4层:IP路由协议
1、IP
2、ICMP
3、TCP
4、UDP
第5层 Cisco测试命令和TCP/IP连接故障处理
一、故障处理命令
1、show命令:
1) 全局命令:
show version ;显示系统硬件和软件版本、DRAM、Flash
show startup-config ;显示写入NVRAM中的配置内容
show running-config ;显示当前运行的配置内容
show buffers ;具体输出buffer的名称和尺寸
show stacks ;提供路由器进程和处理器利用率信息, 用stack decode
show tech-support ;显示几个show命令的输出
show Access-lists ;查看访问列表配置
show memory ;用于测试内存问题
2) 接口相关命令
show queueing [fairprioritycustom]
show queue e0/1 ;查看接口上队列的设置和操作
show interface e0/1 ;Cisco缺省的Ethernet封装方法是ARPA
show ip interface e0/1 ;显示指定接口的TCP/IP配置信息
3) 进程相关命令
show processes cpu ;显示路由器CPU的使用率和当前的进程
show processes memory ;显示路由器当前进程的内存使用情况
4) TCP/IP协议相关命令
Show ip access-list ;显示IP访问列表(1-199)
Show ip arp ;显示路由器的ARP缓存(IP、MAC、封装类型、接口)
Show ip protocols ;显示运行在路由器上的IP路由协议的信息
Show ip route ;显示IP路由表中的信息
Show ip traffic ;显示IP流量统计信息
2、debug命令
DEBUG不应在CPU使用率超过50%的路由器上运行。
1) 限制debug输出
在使用DEBUG获得所需数据后,要关闭Debug
使路由器对所有消息都配置使用时间戳:
Router#service timestamps debug datetime msec localtime
Router#service timestamp log datetime msec localtime
缺省,error和debug信息仅发送到console,telnet到路由器上看不到debug和log的信息。想在telnet中看到debug和log信息:
Router#terminal monitor
Router#terminal monitor ;关闭信息输出
Router#undebug all ;关闭debug进程及所有相关信息的输出
可以应用ACL到debug以限定仅输出要求的debug信息。
如仅查看从10.0.1.1到10.1.1.1的ICMP包:
Router(config)#access-list 101 permit icmp host 10.0.1.1 host 10.1.1.1
Router#debug ip packet detail 101
2) 全局debug命令:
3) 接口debug
4) 协议debug
5) IP debug
debug ip packets
3、logging命令
输出error和其它信息到console、terminal、路由器内部buffer或一台syslog服务器:
Routershow logging
Cisco路由器有8种可能的logging级:0-7
Logging级别 名称 描述
1 Emergencies 系统不能用的信息
2 Alerts 直接行动
3 Critical 紧急情形
4 Errors 错误信息
5 Warnings 警告信息
6 Notifications 正常但重要的情形
7 Informational 信息
8 Debugging 调试
缺省地,console、monitor、buffer的logging被设置为debugging级,而trap(syslog)服务器的logging被设置为informational。
4、执行路由核心复制
core dump包含一份当前系统内存中信息的精确拷贝。捕捉包含在内存中信息的方法有:
1) 配置路由器在崩溃时执行Core Dump,存储到TFTP、FTP、RCP服务器:
对TFTP协议,只需指定TFTP服务器IP,不需要任何附加的配置:
Router(config)#exception dump 192.168.1.1 ;TFTP服务器的IP地址
对FTP协议的配置:
Router(config)#exception dump 192.168.1.1 ;FTP服务器的IP地址
Router(config)#ip ftp username Kevin
Router(config)#ip ftp passWord aloha
Router(config)#ip ftp source-interface e0
Router(config)#exception protocol ftp
对RCP协议的配置:
Router(config)#exception protocol rcp
Router(config)#exception dump 192.168.1.1 ;RCP服务器的IP地址
Router(config)#ip rcmd remote-username Kevin
Router(config)#ip rcmd rcp-enable
Router(config)#ip rcmd rsh-enable
Router(config)#ip rcmd remote-host Kevin 192.168.1.1 kevin ;
2) 在系统没有崩溃的情况下,执行Core Dump命令。
Router#write core
Core Dump仅在Cisco工程师测试和解决路由器问题时有用。
5、ping命令
ping用于测试整个网络可达性和连通性。可在用户EXEC模式和特权EXEC模式下使用。
IP的ping使用ICMP协议提供连通性和可能性信息,缺省只发送5个echo信息。
扩展Ping的选项有:源IP地址;服务类型;数据;包头选项。
Ping的响应字符集
字符 解释 字符 解释
! Received an echo-reply message Q Source quench
. Timeout M Unable to fragment
U/H Destination unreachable A Administratively denied
N Network unreachable ? Unknown packet-type
P Protocol unreachable
6、traceroute命令
traceroute用于显示到达目标的包路径。可在用户模式和特权模式下使用。
Traceroute的响应:
字符 解释 字符 解释
Xx msec The RTT for each packet * Timeout
H Host unreachable U Port unreachable
N Network unreachable P Protocol unreachable
A Administratively denied Q Source quench
? Unknown packet type
二、LAN连接问题
1、获得IP地址
主机可以动态或静态获得IP地址。
1) DHCP:DHCP比BootP多了地址池和租期。
2) BootP:
3) Helper Addresses:指定集中放置的DHCP服务器的IP地址
Ip helperaddress ip-address ;
No ip forward-protocol udp 137 ;
4) 路由器上的DHCP服务:配置路由器为一台DHCP服务器
5) DHCP和BootP故障处理
Show dhcp server ;
Show dhcp lease ;
2、ARP
ARP映射第2层MAC地址到第3层地址。
Show arp ;显示路由器的ARP表
Debug arp ;
1) ARP代理:缺省Cisco路由器的ARP代理是启用的
在下列情况下,CISCO路由器将用自身的MAC地址响应ARP请求:
? 接收到ARP的接口上的Proxy ARP是启用的;
? ARP请求的地址不在本地子网;
? 路由器的路由表中包含ARP请求地址的子网;
3、TCP连接示例
三、IP访问列表
1、标准ACL:基于IP包的源IP地址答应或禁用
2、扩展ACL:提供源地址、目标地址、端口号、会话层协议进行过滤。
3、命名ACL:可以是标准ACL,也可以是扩展ACL。
命名ACL与编号ACL的区别:命名ACL有一个逻辑名,可以删除命名ACL中单独一行。
Ip access-list extended Example-Named-ACL
Deny tcp any any eq echo
Deny tcp any any eq 37
Permit udp host 172.16.10.2 any eq snmp
Permit tcp any any
第6章 TCP/IP路由协议故障处理
一、缺省网关
当包的目的地址不在路由器的路由表中,如路由器配置了缺省网关,则转发到缺省网关,否则就丢弃。
Show ip route ;查看Cisco路由器的缺省网关
二、静态和动态路由
三、处理RIP故障
RIP是距离矢量路由协议,度量值是跳数。RIP最大跳数为15,假如到目标的跳数超过15,则为不可达。
RIP V1是有类别路由协议,RIP V2是非分类路由协议,支持CIDR、路由归纳、VLSM,使用多播(224.0.0.9)发送路由更新。
RIP相关的show命令:
Show ip route rip ;仅显示RIP路由表
Show ip route ;显示所有IP路由表
Show ip interface ;显示IP接口配置
Show running-config
Debug ip rip events ;
常见的RIP故障:RIP版本不一致、RIP使用UDP广播更新
四、处理IGRP故障
IGRP是Cisco专用路由协议,距离矢量协议。IGRP的度量值可以基于五个要素:带宽、延时、负载、可靠性、MTU,缺省只使用带宽和延时。
IGRP相关的show命令:
Show ip route igrp ;显示IGRP路由表
Debug ip igrp events ;
Debug ip igrp transactions ;
常见的IGRP故障:访问列表、不正确的配置、到相邻路由器的line down
五、处理EIGRP故障
EIGRP是链路状态协议和距离矢量混合协议,是CISCO专用路由协议。EIGRP使用多播地址224.0.0.10发送路由更新,使用DUAL算法计算路由。EIGRP的度量值可以基于带宽、延时、负载、可靠性、MTU,缺省仅使用带宽和延时。
EIGRP使用3种数据库:路由数据库、拓扑数据库、相邻路由器数据库。
EIGRP相关的show命令:
Show running-config
Show ip route
Show ip route eigrp ;仅显示EIGRP路由
Show ip eigrp interface ;显示该接口的对等体信息
Show ip eigrp neighbors ;显示所有的EIGRP邻居及其信息
Show ip eigrp topology ;显示EIGRP拓扑结构表的内容
Show ip eigrp traffic ;显示EIGRP路由统计的归纳
Show ip eigrp events ;显示最近的EIGRP协议事件记录
EIGRP相关的debug命令:
Debug ip eigrp as号
Debug ip eigrp neighbor
Debug ip eigrp notifications
Debug ip eigrp summary
Debug ip eigrp
常见的EIGRP故障:相邻关系、缺省网关等的丢失、老版本IOS的路由、stUCk in active。
处理EIGRP故障时,先用show ip eigrp neighbors查看所有相邻路由器,然后再用show ip route gigrp查看路由器的路由表,再用show ip eigrp topology查看路由器的拓扑结构表,也可用show ip eigrp traffic查看路由更新是否被发送。
六、处理OSPF故障
OSPF是链路状态协议,维护3个数据库:相邻数据库、拓扑结构数据库、路由表。
OSPF相关的show命令:
Show running-config
Show ip route
Show ip route ospf ;仅显示OSPF路由
Show ip ospf process-id ;显示与特定进程ID相关的信息
Show ip ospf ;显示OSPF相关信息
Show ip ospf border-routers ;显示边界路由器
Show ip ospf database ;显示OSPF的归纳数据库
Show ip ospf interface ;显示指定接口上的OSPF信息
Show ip ospf neighbor ;显示OSPF相邻信息
Show ip ospf request-list ;显示链路状态请求列表
Show ip ospf summary-address ;显示归纳路由的再发布信息
Show ip ospf virtual-links ;显示虚拟链路信息
Show ip interface ;显示接口的IP设置
OSPF相关的debug命令:
Debug ip ospf adj ;
Debug ip ospf events
Debug ip ospf flood
Debug ip ospf lsa-generation
Debug ip ospf packet
Debug ip ospf retransmission
Debug ip ospf spf
Debug ip ospf tree
常见的OSPF故障:OSPF的每个area不超过100台路由器,整个网络不超过700台路由器;通配符掩码配置不当;
七、处理BGP故障
BGP(包括IBGP和EBGP)的要害配置是邻居关系,BGP使用TCP建立相邻关系。
BGP相关的show命令:
Show ip bgp ;显示BGP所学习到的路由
Show ip bgp network ;显示特定网络的BGP信息
Show ip neighbors ;显示BGP邻居信息
Show ip bgp peer-group ;显示BGP对待组信息
Show ip bgp summary ;显示所有BGP连接的归纳
Show ip route bgp ;显示BGP路由表
BGP相关的debug命令:
Debug ip bgp 192.1.1.1 updates
Debug ip bgp dampening
Debug ip bgp events
Debug ip bgp keepalives
Debug ip bgp updates
典型的BGP故障:
八、再发布路由协议
九、TCP/IP症状和原因
症状 原因
本地主机不能与远程主机通讯1) DNS工作不正常2) 没有到远程主机的路由3) 缺少缺省网关4) 治理拒绝(ACL)
某个应用程序不能正常工作 1) 治理拒绝(ACL)2) 网络没有正常配置以处理该应用程序
启动失败 1) BootP服务器没有MAC地址的实体2) 缺少IP helper-address3) ACL4) 修改NIC或MAC地址5) 重复的IP地址6) 不正常的IP配置
不能ping远程主机 1) ACL2) 没有到远程主机的路由3) 没有设置缺省网关4) 远程主机down
缺少路由 1) 没有正确配置路由协议2) 发布列表3) 被动接口4) 没有通告路由的邻居5) 路由协议版本不一致6) 邻居关系没有建立
相邻关系没有建立 1) 不正确的路由协议配置2) 不正确的IP配置3) 没有配置network或neighbor语句4) hello间隔不一致5) 不一致的area ID
高的CPU利用率 1) 不稳定的路由更新2) 没有关闭debug3) 进程过重
路由触发活跃模式 1) 不一致的间隔2) 硬件问题3) 不稳定的链路
十、TCP/IP症状和行动计划
问题 行动计划
DNS工作不正常 1)配置DNS主机的配置和DNS服务器,可以使用nslookup校验DNS服务器的工作
没有到远程主机的路由 1) 用ipconfig /all检查缺省网关2) 用show ip route查看是否相应路由3) 假如没有该路由,用show ip route查看是否有缺省网关4) 如有网关,检查到目标的下一跳;如无网关,修正问题
ACL 有分离的问题与ACL相关,必须分析ACL、或重写ACL并应用。
网络没有配置以处理应用程序 查看路由器配置
Booting失败 1) 查看DHCP或BootP服务器,并查看是否存在故障机的MAC实体2) 使用debug ip udp校验从主机接收的包3) 校验helper-address正确配置4) 查看ACL是否禁用包
缺少路由 1) 在第1台路由器上用show ip route查看所学到的路由2)校验相邻路由器3)有正确的路由network和neighbor语句4) 对OSPF,校验通配符掩码5) 检查应用到接口上的distribute list6)验证邻居的IP配置7) 假如路由被再发布,验证度量值8) 验证路由被正常的再发布
没有构成相邻关系 1) 用show ip protocol neighbors列表已构成的相邻关系2) 查看没有构成相邻关系的协议配置3)检查路由配置中的network语句4)用show ip protocol/interface查看特定的接口信息,如Hello间隔