故障可能是下列某种原因之一引起的:
路由信息丢失;
错误的或不精确的路由信息。
对路由器的检查仍然是获取故障排除信息的主要来源。使用命令show ip ospf database查看不同的LsA也会得到重要的信息。例如,一条链路是不稳定的,那么通告它的LsA将会频繁变化。这种情况反映在它的序列号会比其他LsA的序列号明显的偏高。网络不稳定的另外一个迹象是LsA的老化时间从来不会变得很大。
当检查单独一台路由器的配置时,需要考虑以下几点:
- 所有接口配置的地址和掩码是否正确’
- network area语句使用的反向掩码是否正确?是否匹配正确的接口?
- network area语句是否把所有的接口都指定到正确的区域中了?
- network area语句的使用顺序正确吗?
当检查邻接关系时(或者缺少邻接关系时),请考虑下面这些问题:
- 从这两台邻居路由器中有Hcllo数据包正在发送吗?
- 这两个邻居路由器之间的计时器设置相同吗?
- 这两个邻居路由器之间的可选性能字段设置相同吗?
- 接口是配置在同一个子网上的吗(也就是说,它们的地址/掩码对是否属于同一个子网)?
- 邻居路由器的接口是否是同一种网络类型?
- 一台路由器是否正在试图和它的邻居路由器的辅助地址形成一种邻接关系?
- 如果使用了认证,那么在邻居路由器之间的认证类型是否相同?口令和密钥(在bID5的实例中)是否相同?该区域内的所有路由器是否都启用了认证?
- 在所有的访问列表中,是否有正在阻塞0sPF的访问列表?
- 如果邻居关系穿过一条虚链路,那么这条链路是否配置在—个末梢区域内?
如果怀疑某个邻居或者某个邻接关系变得不稳定了,那么可以通过debug ip ospf adj命令来监控这些邻接关系
当检查一个区域层面上的问题时,请记住以下几个问题|
ABR路由器是否配置正确?
对于相同F×域的类型是否所有的路由器部配置了?例如,如果一个区域是末梢区域,那么所有的路由器都必须使用area stub命令。
如果配置了地址汇总,那么配置的正确吗?
如果是路由器的性能出现了问题,那么可以在路由器上检查它们的CPU和内存的使用情况。如果内存的使用率在90%以上,那么可能是链路状态数据库太大了;如果CPU的利用率一直保持在ω%以上,那么网络的拓扑可能存在不稳定的情况。如果内存或CPU的利用率超过了50%的警戒线,网络管理员就应该开始分析网络性能加重的原因,并基于得出的分析结果,来制定改善网络的升级汁划。
使用命令show ip ospf border-router可以检查内部路由器的内部路由表信
息
OSPF邻居关系疑难解析
neighbor table is empty
stuck in ATTEMPT
stuck in INIT
stuck in 2-way
stuck in exstart/exchange
stuck in loading
neighbor table is empty (show ip ospf neighbor)
接口上没有启动OSPF(check show ip ospf interface eth 0)
layer 1/2 problem ,(show ip ospf interface eth0 ,check line protocol is up or down)
interface is configured as passive in ospf
4.access-list stop the ospf hello packet
5.netmask mismatch ( debug ip ospf adj)
hello time/deal interval mismatch ( debug ip ospf adj)
7.authentication type mismatch ( debug ip ospf adj)
authentication key mismatch ( debug ip ospf adj)
area ID mismatch
stub/NSSA area option mismatch
ospf adj has secondary ip
ospf adj 在异步接口上运行
stuck in ATTEMPT(NBMA network)
一个router 试图发送hello packet联络邻居但没有收到任何回应
- 错误配置leneighbor (show ip ospf neighbor)
- 在NBMA中单播中断了
stuck in INIT
(when a router receive a hello packet , it will include neighbor's RID in its own hello packet and send back to neighbor , if router not include neighbor's RID,neighbor will stuck in INIT)
- access-list stop the hello packet in one side ( only happen for one side situation, if denied on two sides ,will be null table)
ospf use multicast address 224.0.0.5 to send and receive hello packet.
show access-list 101
debug ip packet 101 detail
- 验证只在一边启用
- 在某一边的frame-relay map/dialer map语句中缺少broadcast
stuck in 2-way ( all the routers are configured with priority 0)
(priority 0 means the router will not participate in the selection of DR/BDR, router wil higher priority/RID will become DR, but all routers can not be in priority 0 )
stuck in exstart/exchange
- mismatch MTU interface
- duplicate RID in nieghbor
in this state , router will send DBD to slect the master and slave routers
- 不能用超过一定大小的MTU去ping通
如果存在个第二层接受大小在interface MTU内的大分组问题,将停止在exchange,普通ping能过,拓展ping不行
- 单播连接损坏
stuck in loading
mismatch MTU
损坏的链路状态请求分组
OSPF路由通告疑难解析
- neighbor不通告route
- 接口上没有启用ospf
- 通告接口shutdown(show ospf interface name, show ip ospf database router route)
- 第二接口和主借口处于不同的area
- ABR不通告summary route
- area is configured as totally stub area
- ABR is not connect to area 0
- 如果没有连接到area 0 ,ABR将不会产生汇总LSA
- exist a 不邻接的area 0
- 邻居不通告外部路由
- area is set as stub, totally stub area
- NSSA ABR did not change LSA type 7 to LSA type 5
- 不通告缺省路由
- short of default-information originate command (ospf receive default route from other protocol , it will not redistribute to ospf without the default-information comand)
- 邻居的router table 缺少缺省路由
- configure default route on other protocol
- add always on default-information command
- 邻居试图产生缺省路由进入stub area
- ABR/ASBR NSSA area do not originate type 7 LSA