如果一个邻居停滞于以下某个状态并且持续很长时间就表示OSPF邻居关系可能出现了故障。
(1)执行display interface [ interface-type [ interface-number ] ]命令查看接口物理层
状态,检查设备链路是否故障(包括传输设备故障)。
(2)如果接口连接的是广播网络或NBMA网络,检查两端IP地址是否在同一网段。
(3)如果在接口上使能了ospf mtu-enable ,则要求接口的MTU一致,否则OSPF邻居无法协商成功。在接口视图下执行mtu mtu命令,修改链路两端的MTU值为一致。
(4)对于Broadcast和NBMA类型的网段,各接口的优先级至少有一个是非零的,以确保能够正确的选举出DR ,否则两边的邻居状态只能达到2-Way。执行命令display
ospf interface ,查看接口的优先级。
(5)检查两端OSPF的配置是否有错误:
检查两端OSPF RouterID配置是否相同:display ospf brief。如果相同则执行ospf router- idrouter-id命令修改配置Router ID在AS域内唯一。
检查两端OSPF Area配置是否一致:display ospf interface。
检查两端OSPF的其他配置是否一 致:每10秒钟执行一 次命令display ospf
error ,持续5分钟。
查看Bad authentication type字段,如果这个字段对应的计数值一直增长,表示建立邻居的两台设备配置的OSPF认证类型不一致,需要在两端设备上执行area-authentication-mode命令配置相同认证的类型。
查看Hello timer mismatch字段,如果这个字段对应的计数值一-直在增长 ,表示接口上hello timer配置不一致,需要通过检查两端设备接口配置,执行ospf timer hello命令将hello timer间隔配置一致。
查看Dead timer mismatch字段,如果这个字段对应的计数值一-直在增长 ,表示接口的dead timer配置不一致,需要通过检查两端设备接C口配置, 执行ospf timer dead命令将dead timer间隔配置一致。
查看Extern option mismatch字段,如果这个字段对应的计数值一直在增长 ,表示区域类型配置不一致( 一端配置为普通区域,另一端配置为stub或nssa区域),需要将两端区域类型配置一致(在OSPF区域视图下,如果有stub命令,表示区域类型为stub ;如果有nssa命令,表示区域类型为nssa )。
执行display interface [ interface-type [ interface-number ] ]命令查看接口物理层
状态,如果接口物理层状态为Down先处理接口故障问题。
如果接口物理层状态是Up ,执行display ospf interface查看接口在OSPF协议下状态是否为Up.
如果查看邻居状态时显示一直 是init ,表示对端设备收不到本端发送的hello报文,此
时需要排查链路和对端设备是否故障。
如果查看邻居状态一直是2-way ,则执行命令display ospf interface查看设备在OSPF下面使能的接口配置的dr-priority是否为0。如果OSPF下使能的接口配置的dr-priority是0且State为DROther,则说明他们都不是DR或BDR ,两者之间不需要交换
LSA , 2-way为正常状态,无需处理。
如果查看邻居状态一直是Exstart ,表示设备一直在进行DD协商,但无法进行DD同
步,出现该情况有两种可能性:
超大报文包无法正常收发。可以通过执行命令ping -s 1500 neighbor-address查看超大报文收发情况。如果无法Ping通,需先解决链路问题。
OSPF MTU值配置不同。如果OSPF接口下配置了ospf mtu-enable ,检查两端
的OSPF MTU值是否相等,如果不相等则修改接口下的MTU值。
如果查看邻居状态一直是Exchange ,表示设备在进行DD交换,通过单播交换DD报
文。此时需要排查链路和对端设备是否故障。
OSPF的域内路由故障常表现为邻居路由器不通告部分或全部路由。可能的原因通常为:
OSPF是一种基于链路状态的内部网关路由协议,存在链路状态数据库。在运行了OSPF的
路由器中需要重点关注邻居表、链路状态数据库(通常也会把它叫做”链路状态表”)、路由表。如果邻居不通告某条路由, 那么这条路由将无法显示在本地路由器的路由表和OSPF链路状态数据库中。同时,这也表示邻居没有把这条路由包含到它自己的OSPF链路
状态数据库中。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f5WQQeHm-1612269270008)(E:\Typora\image\image-20210201163853190.png)]
OSPF ABR路由器同时属于多个区域,并为它所连接的每个区域维护一个LSDB。 ABR路由器会将所连接的非骨干区域内的链路状态信息( Router LSA和Network LSA )抽象成路由信息( Network Summary LSA) ,并将此路由信息发布到骨干区域中,再由骨干区域进一步发布到其他非骨干区域中。同时, ABR也会将骨干区域的链路状态信息抽象成路由信息,并将此路由信息发布到所连接的非骨干区域中。OSPF区域间路由故障常表现为ABR路由器不能正常完成路由汇总功能。此时需要使用命令display current-configuration | begin ospf检查ABR上是否正确配置了abr-summary命令。
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]dis th
[V200R003C00]
#
area 0.0.0.0
#
return
[R2-ospf-1-area-0.0.0.0]q
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]dis th
[V200R003C00]
#
area 0.0.0.1
network 22.22.22.0 0.0.0.255
network 23.1.1.0 0.0.0.255
#
return
[R2-ospf-1-area-0.0.0.1]q
[R2-ospf-1]q
[R2]dis ospf peer brief
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
----------------------------------------------------------------------------
[R2]
可以发现无法显示邻居关系
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]dis th
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 23.1.1.2 255.255.255.0
ospf authentication-mode md5
#
return
[R3]dis ospf peer brief
OSPF Process 1 with Router ID 3.3.3.3
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
----------------------------------------------------------------------------
[R3]
可以发现无法显示邻居关系
[R2-GigabitEthernet0/0/0]dis th
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 23.1.1.1 255.255.255.0
ospf authentication-mode simple cipher %$%$QWX:*c+#MWFLGJHIW59V"JD1%$%$
#
return
[R2]dis ospf peer brief
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
----------------------------------------------------------------------------
[R2]
可以发现无法显示邻居关系
[R2]ospf 1 router-id 3.3.3.3
Info: The configuration succeeded. You need to restart the OSPF process to valid
ate the new router ID.
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
dis ospf peer brief
OSPF Process 1 with Router ID 3.3.3.3
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
----------------------------------------------------------------------------
可以发现无法显示邻居关系
dis ospf peer brief
OSPF Process 1 with Router ID 1.1.1.1
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 Serial0/0/0 2.2.2.2 Full
----------------------------------------------------------------------------
在点到点网络中可以建立邻居关系
注:死亡时间随着Hello时间的修改会自动变为其四倍
[R2-GigabitEthernet0/0/0]ospf timer hello 20
[R2]dis ospf peer brief
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
----------------------------------------------------------------------------
[R2]
可以发现无法显示邻居关系
Router Priority:用来做DR和BDR选举。如果该字段为0,则始发路由器没有资格被选成DR和BDR路由器。
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]dis th
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 23.1.1.1 255.255.255.0
ospf dr-priority 0
#
return
[R2]dis ospf peer brief
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 3.3.3.3 2-Way
----------------------------------------------------------------------------
[R2]
状态为2-Way
可以发现无法显示邻居关系
可以发现无法显示邻居关系
[R3-GigabitEthernet0/0/1]dis th
[V200R003C00]
#
interface GigabitEthernet0/0/1
mtu 1400
ip address 23.1.1.2 255.255.255.0
ospf mtu-enable
#
return
dis ospf peer brief
OSPF Process 1 with Router ID 3.3.3.3
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/1 2.2.2.2 ExStart
----------------------------------------------------------------------------
开启MTU检测,修改MTU。发现状态卡在ExStart
11.如果LSA没有LSACK确认也会无法建立邻居关系(链路丢包、设置LSA最大接受限制都会导致LSACK无法确认)lsdb-overflow-limit.这个设置会导致0SPF邻居关系翻滚inti-full-init 最后会卡在init。
OSPF在区域内会产生两类LSA:Router LSA,Network LSA
路由器以自己为树根构建最短路径树,这里的最短路径树按两步形成,第一步,仅考虑路由器和传输网络之间的连接。通过Dijkstra算法,根据连接状态数据库的子集形成树。第二步,考虑存根网络连接,作为叶子加入树。
LSDB通过描述一个有向线段图来描述网络拓扑结构,该有向图的端点有三种类型:路由器节点,Stub网段和Transit网段
链路类型
Type | Link ID | Data |
---|---|---|
point to point | 邻居的Router | 该网段上本地接口的IP地址 |
TransNet | DR的接口IP地址 | 该网段上本地接口的IP地址 |
StubNet | 该Stub网段的IP网络地址 | 该Stub网段的网络掩码 |
Virtual | 虚连接邻居的Router ID | 去往该虚连接邻居的本地接口IP地址。 |
(1)Stub网段表示该网段只有数据入口,例如一个LoopBACK接口就是一个Stub网段。
反映在网络类型:LOOPBACK类型
(2)Transit网段有能力转发既不是本网段产生的,也不以本网段做目的地的数据。有至少两台路由器的广播型网段或NBMA网段就是一种Transit网段。
反映在网络类型:BMA与NBMA
计算过程
Type-3 LSA及Type-4 LSA防环
(1)OSPF星型结构的设计保证区域间传播三类LSA无环
0SPF要求所有的非0区域必须与骨干区域直接相连,区域间(Inter-Area Route)路由需经由骨干区域中转。这个要求使得区域间的路由传递不能发生在两个非0的区域之间,这在很大程度上规避了区域间路由环路的发生,也使得0SPF的区域架构在逻辑上形成了一个类似星型拓扑。
(2)ABR有水平分割机制(区域上的水平分割)并且ABR有严格规定,只有0区域与普通区域的边界路由器才是ABR
ABR只能够将其所连接的区域的区域内部路由注入到Area0,但是可以将区域内部路由及区域间的路由注入到非0常规区域ABR从非骨干区域收到的Type-3 LSA不能用于区域间路由的计算。
(3)ABR不会将描述一个Area内部的路由信息的Type-3 LSA再注入回该区域中
Type-4 LSA实际上与Type-3 LSA都是Summary LSA,只不过一个是Network Summary LSA——用于描述网段路由,另一个则是ASBR Summary LSA——用于描述ASBR,他们使用的防环机制是一致的,因此这里不在赘述。
(4)Type-3 LSA还涉及了DN比特位,用于在MPLS VPN环境下的环路规避
注意DN位置位的情况在HUB-spoke结构下需要关闭,否则spoke之间不能收到对方路由
1)利用type-4 LSA防环
当一台OSPF路由器将外部路由引入OSPF域后,它就成为了一台ASBR,被引入的外部路由以Type-5 LSA在整个OSPF域内泛洪。一台路由器使用Type-5 LSA计算出路由的前提是两个,其一是要收到Type-5 LSA,其二是要知道产生这个Type-5 LSA的ASBR在哪里。与ASBR接入同一个区域的路由器能够根据该区域内泛洪的Type-1 LSA及Type-2LSA计算出到达该ASBR的最短路径,从而计算出外部路由。而其他区域的路由器就没有这么幸运了,因为ASBR产生的Type-1 LSA只能在其所在的区域内泛洪,所以才需要Type-4 LSA。因此其他区域的路由器在获取Type-4 LSA后便能计算出到达ASBR的最短路径,进而利用该ASBR产生的Type-5 LSA计算出外部路由。Type-5 LSA将会被泛洪到整个OSPF域,表面上看,它本身并不具有什么防环的能力,但是实际上,它并不需要,因为它可以依赖Type-1 LSA及Type-4 LSA来实现防环。
2)type-5 LSA中 external route tag防环 MPLS L3VPN环境
五类LSA Route-tag与DN位置位都存在时(思科dn不置位),首先根据Route-tag值来判断是否引入该路由,如果Route-tag值中的AS号信息与引入的BGP的AS号一致,则拒绝引入该路由。
route-tag disable 关闭