04-OSPF故障处理手册
本章节下载: 04-OSPF故障处理手册 (361.87 KB)
· OSPF邻居Down
· OSPF邻居震荡
本类故障的常见原因主要包括:
· BFD会话Down,即BFD检测到链路故障。
· 对端设备故障。
· CPU利用率过高。
· 链路故障。
· OSPF接口没有Up。
· 两端IP地址不在同一网段。
· OSPF两端参数的配置不匹配:
¡ Router ID配置冲突。
¡ 两端区域类型配置不一致。
¡ 两端OSPF验证配置不匹配。
¡ 两端定时器参数配置不一致。
¡ OSPF接口的网络类型不匹配。
本类故障的诊断流程如图1-1所示。
图1-1 OSPF邻居Down的故障诊断流程图
(1) 通过命令行或日志查看OSPF邻居状态变为Down的原因。
执行display ospf event-log peer命令,显示信息中的Reason字段为邻居状态发生变化的原因,一般包含如下几种情况:
¡ DeadExpired
表示在邻居失效定时器超时前没有收到Hello报文,导致OSPF邻居状态变为Down。出现这种情况请执行步骤(2)。
¡ BFDDown
表示BFD会话Down导致OSPF邻居状态变为Down。出现这种情况请执行步骤(2)。
¡ IntVliChange或virtual link was deleted or the route it relies on was deleted
表示虚连接删除或者其依赖的路由删除导致邻居关系变为Down。出现这种情况请执行步骤(2)。
¡ 1-Way
表示对端OSPF状态首先变成Down,然后向本端发送1-way Hello报文,导致本端OSPF状态变为Init。出现这种情况请排查对端设备的故障。
¡ IntPhyChange
接口Down或者接口MTU改变导致邻居关系变为Down。此时,执行display interface [ interface-type [ interface-number | interface-number.subnumber ] ]命令查看接口的运行状态和相关信息,排查接口故障。其他情况请执行步骤(11)。
请执行ping命令,检查链路是否故障。如果链路正常,请执行步骤(3)。
(3) 检查CPU利用率是否过高。
请执行display cpu-usage命令检查CPU利用率。如果设备的主控板和接口板的CPU利用率过高,会导致OSPF无法正常收发协议报文,继而导致邻居震荡。可通过关闭一些不必要的功能解决此问题。如果CPU利用率不高,则执行步骤(5)。
(4) 检查内存利用率是否超过了内存利用率阈值。
请执行display memory-threshold命令,查看显示信息中的Current free-memory state,即系统当前内存使用状态。如果Current free-memory state为Minor、Severe或Critical,表示剩余空闲内存较少,可能会导致设备无法收发OSPF报文或处理OSPF报文速度较慢,请关闭一些不必要的功能尝试解决此问题。如果系统当前内存使用状态为Normal,则执行步骤(5)。
执行display interface [ interface-type [ interface-number | interface-number.subnumber ] ]命令查看OSPF接口物理层的状态是否为UP。
¡ 如果接口物理层的状态为DOWN,说明接口故障,请首先解决此问题。
¡ 如果接口物理层的状态为UP,请执行display ospf interface命令查看OSPF协议下接口的状态是否正常。
- 如果OSPF接口状态为Down,检查OSPF进程下是否通过network命令通告了接口所属网段。如果OSPF未通告接口所属网段,则检查接口下是否使能了OSPF。如果接口使能了OSPF进程,请处理网络层接口故障问题。
- 如果OSPF下的接口协议状态正常,即接口状态为DR、BDR、DROther或PTP时,请执行步骤(6)。
(6) 检查两端IP地址是否在同一网段。
请执行display interface brief命令查看两端接口的IP地址:
¡ 如果两端接口的IP地址不在同一网段,请在接口视图下执行ip address命令修改两端的IP地址,使其在同一网段。
¡ 如果两端接口的IP地址处于同一网段,请执行步骤(7)。
(7) 检查各OSPF接口的MTU是否一致。
如果在OSPF接口上通过ospf mtu-enable命令将该接口发送的DD报文中MTU域的值填充为接口的MTU值(缺省情况下接口发送的DD报文中MTU域的值为0),则要求各个OSPF接口发送的DD报文中MTU域的值一致。否则,OSPF邻居无法协商成功。请执行display interface [ interface-type [ interface-number | interface-number.subnumber ] ]命令查看接口MTU信息:
¡ 如果接口的MTU值配置不一致,请在接口视图下执行mtu size命令,将各个接口的MTU值修改为一致。
¡ 如果接口的MTU值一致,请执行步骤(8)。
(8) 检查各接口的DR优先级是否非零。
对于Broadcast和NBMA类型的网络,为了保证正确选举出DR,需要保证至少有一个OSPF接口的DR优先级是非零的,否则两边的邻居状态只能达到2-Way。请使用display ospf interface命令查看OSPF接口信息,其中的Pri表示接口的DR优先级。
如果接口的DR优先级非零,请执行步骤(9)。
(9) 是否手工为NBMA网络或P2MP单播网络指定了邻居。
OSPF网络类型为NBMA或P2MP(unicast)时,必须通过peer命令手工指定邻居的IP地址。请在OSPF接口视图下使用display this命令查看接口的网络类型,如果接口的网络类型为NBMA或P2MP(unicast),请在OSPF视图下使用peer命令手工指定邻居的IP地址。
如果手工为NBMA网络或P2MP单播网络指定了邻居的IP地址,请执行步骤(10)。
(10) 检查两端OSPF的参数配置是否有错误。
a. 请使用display ospf命令检查两端OSPF Router ID配置是否冲突。如果OSPF Router ID配置冲突,请修改配置保证OSPF Router ID不再冲突。如果OSPF Router ID配置不冲突,请继续执行以下检查。
b. 请使用display ospf interface命令检查两端OSPF Area ID配置是否一致。如果OSPF Area ID配置不一致,请修改配置保证OSPF Area ID配置一致。如果OSPF Area ID配置一致,请继续执行以下检查。
c. 请使用display ospf interface命令检查两端接口的OSPF网络类型是否一致。如果OSPF网络类型不一致,请修改配置保证OSPF网络类型一致。需要说明的是,如果双方一端为PTP,另一端为Broadcast,那么邻居关系可以达到Full状态,但无法计算出路由信息。
如果接口的OSPF网络类型一致,请继续执行以下检查。
d. 请每隔10秒钟使用display ospf statistics error命令检查一次OSPF的错误统计信息,并持续5分钟。需要查看的信息包括:
- 查看Bad authentication type字段。如果这个字段值持续增长,说明建立OSPF邻居关系的两台设备上配置了不同的认证类型,请修改认证类型的配置,使两台设备上的认证类型保持一致。
- 查看Hello-time mismatch字段。如果这个字段值持续增长,说明OSPF接口上配置的Hello定时器的值不同,请修改Hello定时器的配置,使OSPF接口的Hello定时器的值保持一致。
- 查看Dead-time mismatch字段。如果这个字段值持续增长,说明OSPF接口上配置的Dead定时器的值不同,请修改Dead定时器的配置,使OSPF接口的Dead定时器的值保持一致。
- 查看Ebit option mismatch字段。如果这个字段值持续增长,说明OSPF区域类型不一致(例如,一端的OSPF区域类型为普通区域,另一端的OSPF区域类型为Stub)。请修改OSPF区域配置,使两端的区域类型保持一致。
如果故障依然存在,请执行步骤(11)。
(11) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
模块名:OSPF-TRAP-MIB
· ospfVirtIfStateChange (1.3.6.1.2.1.14.16.2.1)
· ospfNbrStateChange (1.3.6.1.2.1.14.16.2.2)
· ospfVirtNbrStateChange (1.3.6.1.2.1.14.16.2.3)
· OSPF/5/OSPF_NBR_CHG
· OSPF/5/OSPF_NBR_CHG_REASON
OSPF的状态机包括Down、Init、2-way、Exstart、Exchange、Loading和Full。其中,稳定状态包括Down、2-way和Full:
· Down:表示未使能OSPF。
· 2-way:DRother之间的邻居关系。
· Full:形成邻接关系。
对于使用OSPF进行路由计算和路由转发的网络中,只有2-way和Full是正常的邻居状态。如果邻居状态既未处于2-way状态、也未处于Full状态,说明邻居关系不正常。
本类故障的常见原因主要包括:
· 链路故障,OSPF报文被丢弃。
· 接口的DR优先级配置不合理。
· 两端配置的OSPF MTU值不同。
本类故障的诊断流程如图1-2所示:
图1-2 OSPF邻居无法达到FULL状态的故障诊断流程图
(1) 使用display ospf peer命令查看OSPF邻居信息,并根据不同的邻居状态进行相应的处理。
¡ 没有邻居信息。
表示OSPF邻居Down或者邻居震荡,请参见“1.1.1 OSPF邻居Down”故障处理。
¡ 邻居状态一直为Init。
表示对端设备收不到本端发送的Hello报文,此时请排查链路和对端设备是否故障。
¡ 邻居状态一直为2-way。
执行命令display ospf interface verbose查看设备在OSPF接口的DR优先级是否为0:
- 如果OSPF接口的DR优先级为0,那么邻居状态为2-way属于正常情况。
- 如果OSPF接口的DR优先级不为0,请执行步骤(2)。
¡ 邻居状态一直是Exstart。
表示设备始终在进行DD协商,但无法完成DD同步。如下两种情况可能导致该问题:
- 接口无法正常收发超大报文。
可以通过多次执行命令ping -s packet-size neighbor-address查看超大报文收发情况,将packet-size设置为1500或更大数值。如果无法Ping通,请先解决链路问题。
- 两端OSPF MTU配置值不一致。
如果OSPF接口下配置了ospf mtu-enable命令,请检查两端的OSPF MTU值是否相等。如果不相等,则修改接口下的MTU值。
如果故障没有解决,请执行步骤(2)。
¡ 邻居状态一直是Exchange。
表示设备在进行DD交换,请参见邻居状态一直为Exstart状态的处理。
如果故障没有解决,请执行步骤(2)。
¡ 邻居状态一直是Loading。
如果使用display ospf peer命令查看邻居状态一直处于Loading,可以尝试执行reset ospf [ process-id ] process命令重启OSPF进程。
如果故障没有解决,请执行步骤(2)。
(2) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
运行OSPF的设备学习不到部分OSPF路由。
本类故障的常见原因主要包括:
· 双方一端的网络类型为P2P,另一端的网络类型为Broadcast,邻居关系达到Full状态,但是学习不到路由。
· OSPF进程下配置了filter-policy import命令。
· 本OSPF区域下配置了filter import命令。
· 其他OSPF区域下配置了filter export命令。
· 绑定了VPN实例的OSPF进程,该进程引入外部路由的Tag值与AS External LSA(Type-5)或NSSA External LSA(Type-7)中的Tag值一致。
· ABR设备不可达。
· 在ABR设备上,非骨干区的Summary LSA不参与路由计算。
· ASBR设备不可达。
· AS External LSA(Type-5)或NSSA External LSA(Type-7)的FA地址不可达。
· NSSA External LSA(Type-7)到达FA地址的路由与NSSA External LSA(Type-7)不在同一区域。
图1-3 设备学习不到OSPF路由故障诊断流程图一
图1-4 设备学习不到OSPF路由故障诊断流程图二
(1) 检查建立邻居关系的双方是否一端的网络类型为P2P,另一端的网络类型为Broadcast。
如果一端的网络类型为P2P,另一端的网络类型为Broadcast,那么邻居关系可以达到Full状态,但无法计算出路由信息。
a. 请执行display ospf interface命令查看接口的网络类型。
<Sysname> display ospf interface
OSPF Process 1 with Router ID 5.5.5.5
Interfaces
Area: 0.0.0.1
IP Address Type State Cost Pri DR BDR
192.168.51.5 PTP P-2-P 1 1 0.0.0.0 0.0.0.0
b. 如果存在上述情况,请在OSPF接口视图下执行ospf network-type命令将本端设备与邻居设备的OSPF接口网络类型配置为一致。
如果不存在上述情况,请执行步骤(2)。
(2) 多次查看OSPF路由表,检查是否存在OSPF路由震荡的问题。
请执行display ip routing-table protocol ospf verbose命令,查看Age字段,确认是否存在震荡的OSPF路由。
¡ 如果某条或某些OSPF路由Age字段的数值一直很小,说明相应的OSPF路由发生震荡,请解决路由震荡问题。
¡ 如果不存在路由震荡的问题,请执行步骤(3)。
<Sysname> display ip routing-table protocol ospf verbose
Summary count : 3
Destination: 192.168.12.0/24
Protocol: O_INTER
Process ID: 1
SubProtID: 0x2 Age: 12h53m09s
Cost: 2 Preference: 10
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x13000003 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x10041 OrigNextHop: 192.168.51.1
Label: NULL RealNextHop: 192.168.51.1
BkLabel: NULL BkNextHop: N/A
SRLabel: NULL Interface: GigabitEthernet0/0/2
BkSRLabel: NULL BkInterface: N/A
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/2
BkTunnel ID: Invalid BkIPInterface: N/A
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: 0.0.0.0 VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
Destination: 192.168.24.0/24
Protocol: O_INTER
Process ID: 1
SubProtID: 0x2 Age: 12h53m09s
Cost: 3 Preference: 10
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x13000003 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x10041 OrigNextHop: 192.168.51.1
Label: NULL RealNextHop: 192.168.51.1
BkLabel: NULL BkNextHop: N/A
SRLabel: NULL Interface: GigabitEthernet0/0/2
BkSRLabel: NULL BkInterface: N/A
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/2
BkTunnel ID: Invalid BkIPInterface: N/A
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: 0.0.0.0 VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
Destination: 192.168.51.0/24
Protocol: O_INTRA
Process ID: 1
SubProtID: 0x1 Age: 12h54m07s
Cost: 1 Preference: 10
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Inactive Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x13000001 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x10c1 OrigNextHop: 0.0.0.0
Label: NULL RealNextHop: 0.0.0.0
BkLabel: NULL BkNextHop: N/A
SRLabel: NULL Interface: GigabitEthernet0/0/2
BkSRLabel: NULL BkInterface: N/A
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/2
BkTunnel ID: Invalid BkIPInterface: N/A
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: 0.0.0.0 VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
(3) 检查OSPF进程下是否配置了filter-policy import命令。
某些场景下需要对路由信息进行过滤,实现业务隔离。请检查是否存在OSPF路由被错误过滤的情况。
a. 请在本端设备出现问题的OSPF进程下执行display this命令,查看该OSPF进程下是否配置了filter-policy import命令,导致OSPF路由被过滤。
[Sysname-ospf-1] display this
#
ospf 1
import-route direct
filter-policy 2000 import
area 0.0.0.1
network 192.168.51.0 0.0.0.255
nssa
#
return
b. 如果OSPF进程下配置了filter-policy import命令,请查看该命令引用的过滤规则的配置信息。
- 对于filter-policy import命令引用ACL规则进行路由过滤的情况,请执行display acl { acl-number | name acl-name }命令查看ACL的配置信息。
- 对于filter-policy import命令引用前缀列表进行路由过滤的情况,请执行display ip prefix-list命令查看地址前缀列表的配置信息。
- 对于filter-policy import命令引用路由策略进行路由过滤的情况,请执行display route-policy命令查看路由策略的配置信息。
如果路由被过滤规则拒绝,请结合组网及实际业务需求确认过滤规则的配置是否合理。如果不合理,请修改filter-policy import命令引用的过滤规则。
c. 如果该路由没有被拒绝,或者该OSPF进程并没有配置filter-policy import过滤策略,请执行步骤(4)。
(4) 检查OSPF进程的LSDB是否包含未学习到的OSPF路由的LSA。
请根据OSPF进程未学习到的路由信息的类型选择不同的故障处理方式。
¡ OSPF区域内路由
如果OSPF进程缺失区域内路由,请在用户视图下执行display ospf [ process-id ] lsdb router命令,检查LSDB是否包含该区域中所有的Router LSA信息。
<Sysname> display ospf 100 lsdb router
OSPF Process 100 with Router ID 5.5.5.5
Area: 0.0.0.1
Link State Database
Type : Router
LS ID : 5.5.5.5
Adv Rtr : 5.5.5.5
LS age : 7
Len : 36
Options : ASBR O NP
Seq# : 80000026
Checksum : 0x5f1f
Link Count: 1
Link ID: 192.168.51.1
Data : 192.168.51.5
Link Type: TransNet
Metric : 1
Type : Router
LS ID : 1.1.1.1
Adv Rtr : 1.1.1.1
LS age : 8
Len : 36
Options : ASBR ABR O NP
Seq# : 8000002a
Checksum : 0x534a
Link Count: 1
Link ID: 192.168.51.1
Data : 192.168.51.1
Link Type: TransNet
Metric : 1
- 如果OSPF进程的LSDB缺失Router LSA,请执行步骤(7)。
- 如果OSPF进程的LSDB包含完整的Router LSA,但是无法计算出路由信息,请执行步骤(7)。
¡ OSPF区域间路由
如果OSPF进程缺失区域间路由,请在用户视图下执行display ospf [ process-id ] lsdb summary命令,检查LSDB是否包含其他所有区域的Network Summary LSA。
<Sysname> display ospf lsdb summary
OSPF Process 1 with Router ID 5.5.5.5
Area: 0.0.0.1
Link State Database
Type : Sum-Net
LS ID : 192.168.24.0
Adv Rtr : 1.1.1.1
LS age : 576
Len : 28
Options : O NP
Seq# : 8000001f
Checksum : 0x4c25
Net Mask : 255.255.255.0
Tos 0 Metric: 2
Type : Sum-Net
LS ID : 192.168.12.0
Adv Rtr : 1.1.1.1
LS age : 576
Len : 28
Options : O NP
Seq# : 8000001f
Checksum : 0xc6b7
Net Mask : 255.255.255.0
Tos 0 Metric: 1
- 如果OSPF进程的LSDB缺失Network Summary LSA,检查本区域下是否配置了filter import命令,或者Network Summary LSA的发布者所在区域下是否配置了filter export命令。如果filter import命令或filter export命令引用的过滤规则错误地过滤掉了Network Summary LSA,请修改过滤规则相关配置。
filter import命令和filter export命令可以引用ACL、前缀列表、路由策略对Network Summary LSA进行过滤,请分别使用display acl { acl-number | name acl-name }命令、display ip prefix-list命令、display route-policy命令查看相应的配置信息。
- 如果OSPF进程的LSDB包含完整的Network Summary LSA,但是无法计算出路由信息,请执行步骤(7)。
¡ O_ASE路由或者O_NSSA路由
如果OSPF进程缺失O_ASE路由,请在用户视图下执行display ospf [ process-id ] lsdb ase命令。检查LSDB是否包含AS External LSA。
<Sysname> display ospf 100 lsdb ase
OSPF Process 100 with Router ID 1.1.1.1
Link State Database
Type : External
LS ID : 10.1.1.0
Adv Rtr : 1.1.1.1
LS age : 713
Len : 36
Options : O E
Seq# : 80000001
Checksum : 0x934b
Net Mask : 255.255.255.0
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 192.168.51.5
Tag : 1
如果OSPF进程缺失O_NSSA路由,请在用户视图下执行display ospf [ process-id ] lsdb nssa命令,检查LSDB是否包含NSSA External LSA。
<Sysname> display ospf 100 lsdb nssa
OSPF Process 100 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Area: 0.0.0.1
Link State Database
Type : NSSA
LS ID : 192.168.51.0
Adv Rtr : 5.5.5.5
LS age : 965
Len : 36
Options : O NP
Seq# : 8000001f
Checksum : 0x1dfa
Net Mask : 255.255.255.0
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 192.168.51.5
Tag : 1
Type : NSSA
LS ID : 10.1.1.0
Adv Rtr : 5.5.5.5
LS age : 965
Len : 36
Options : O NP
Seq# : 8000001f
Checksum : 0x6840
Net Mask : 255.255.255.0
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 192.168.51.5
Tag : 1
- 如果OSPF进程的LSDB缺失AS External LSA或NSSA External LSA,请执行步骤(7)。
- 如果OSPF进程的LSDB包含完整的AS External LSA或NSSA External LSA,但是无法学习到O_ASE路由或者O_NSSA路由的情况,请执行步骤(7)。
(5) 检查ABR设备是否可达。
区域间路由是ABR设备发布的,如果本端设备和ABR设备之间路由不可达,则会导致本端设备无法学习到区域间路由。
a. 请在本端设备执行display ospf [ process-id ] lsdb summary命令,查看Adv Rtr字段,该字段为通告Network Summary LSA的Router ID,即ABR的Router ID。
<Sysname> display ospf 100 lsdb summary
OSPF Process 100 with Router ID 5.5.5.5
Area: 0.0.0.1
Link State Database
Type : Sum-Net
LS ID : 192.168.12.0
Adv Rtr : 1.1.1.1
LS age : 913
Len : 28
Options : O E
Seq# : 80000001
Checksum : 0x5d45
Net Mask : 255.255.255.0
Tos 0 Metric: 1
b. 请在本端设备执行display ospf abr-asbr命令,查看Destination字段和RtType字段,RtType字段取值为ABR时,Destination字段为ABR的Router ID。查看到此类路由信息时,说明存在到达为ABR的路由。
<Sysname> display ospf 100 abr-asbr
OSPF Process 100 with Router ID 5.5.5.5
Routing Table to ABR and ASBR
Type Destination Area Cost Nexthop RtType
Intra 1.1.1.1 0.0.0.1 1 192.168.51.1 ABR
c. 如果abr-asbr信息中不包含到达通告Network Summary LSA的ABR的路由,请执行步骤(7)。
d. 如果abr-asbr信息中包含到达通告Network Summary LSA的ABR的路由,且本设备为ABR设备,请检查OSPF区域是否为骨干区域。
- 如果OSPF区域为非骨干区域(区域ID不为零),根据RFC 2328的规定,ABR设备不会对非骨干区的Network Summary LSA进行计算,没有区域间路由是正常现象。
- 如果OSPF区域为骨干区域(区域ID为零),但是没有学习到区域间路由,请执行步骤(7)。
e. 如果abr-asbr信息中包含到达通告Network Summary LSA的ABR的路由,且本OSPF进程绑定了VPN实例。请检查OSPF进程下是否配置了vpn-instance-capability simple命令。如果OSPF进程下配置了vpn-instance-capability simple命令,请执行步骤(7)。
如果OSPF进程下未配置vpn-instance-capability simple命令,故障处理方式如表1-1所示。
表1-1 OSPF进程下未配置vpn-instance-capability simple命令的故障处理方式
DN比特位是否置位 |
故障处理方式 |
未配置vpn-instance-capability simple命令,且Network Summary LSA的Option字段包含DN比特位(即DN比特位置位) |
根据RFC 2328的规定,私网OSPF进程不会使用DN比特位置位的Network Summary LSA进行路由计算。没有对应的区域间路由是正常现象 |
未配置vpn-instance-capability simple命令,且Network Summary LSA的Option字段不包含DN比特位 |
请执行步骤(7) |
(6) 检查ASBR设备是否可达,检查是否有防环检测。
O_ASE路由和O_NSSA路由是ASBR设备发布的,如果本端设备和ASBR设备之间路由不可达,则会导致本端设备无法学习到AS外部的路由。
a. 请执行display ospf [ process-id ] lsdb [ ase | nssa ]命令,查看Adv Rtr字段,该字段为通告AS External LSA(Type-5)或NSSA External LSA(Type-7)的Router ID,即ASBR的Router ID。
<Sysname> display ospf 100 lsdb ase
OSPF Process 100 with Router ID 1.1.1.1
Link State Database
Type : External
LS ID : 10.1.1.0
Adv Rtr : 1.1.1.1
LS age : 169
Len : 36
Options : O E
Seq# : 80000001
Checksum : 0x934b
Net Mask : 255.255.255.0
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 192.168.51.5
Tag : 1
<Sysname> display ospf 100 lsdb nssa
OSPF Process 100 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Area: 0.0.0.1
Link State Database
Type : NSSA
LS ID : 192.168.51.0
Adv Rtr : 5.5.5.5
LS age : 156
Len : 36
Options : O NP
Seq# : 80000001
Checksum : 0x59dc
Net Mask : 255.255.255.0
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 192.168.51.5
Tag : 1
Type : NSSA
LS ID : 10.1.1.0
Adv Rtr : 5.5.5.5
LS age : 156
Len : 36
Options : O NP
Seq# : 80000001
Checksum : 0xa422
Net Mask : 255.255.255.0
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 192.168.51.5
Tag : 1
b. 请执行display ospf abr-asbr命令,查看Destination字段和RtType字段,RtType字段取值为ASBR时,Destination字段为ASBR的Router ID。查看到此类路由信息时,说明存在到达为ASBR的路由。
<Sysname> display ospf 100 abr-asbr
OSPF Process 100 with Router ID 1.1.1.1
Routing Table to ABR and ASBR
Type Destination Area Cost Nexthop RtType
Intra 5.5.5.5 0.0.0.1 1 192.168.51.5 ASBR
c. 如果abr-asbr信息中不包含到达通告AS External LSA或NSSA External LSA的ASBR的路由,请执行步骤(7)。
d. 如果abr-asbr信息中包含到达通告AS External LSA或NSSA External LSA的ASBR的路由,且LSA的Forwarding Address字段不为零,需要检查Forwarding Address的可达性及路由类型。
请在用户视图下执行disply ospf arouting forwarding-address { mask-length | mask }命令查询是否存在到达Forwarding Address的路由。
<Sysname> display ospf 100 routing 192.168.51.5 24
OSPF Process 100 with Router ID 1.1.1.1
Routing Table
Routing for network
Destination Cost Type NextHop AdvRouter Area
192.168.51.0/24 1 Transit 0.0.0.0 5.5.5.5 0.0.0.1
Total nets: 1
Intra area: 1 Inter area: 0 ASE: 0 NSSA: 0
Forwarding Address的可达性及路由类型对OSPF是否能够学习到O_ASE路由或O_NSSA路由的影响如表1-2所示。
表1-2 Forwarding Address的可达性及路由类型对O_ASE路由或O_NSSA路由的影响
Forward Address是否可达 |
故障处理方式 |
不可达 |
如果通过display ospf routing forwarding-address { mask-length | mask }命令无法查看到路由信息,说明Forwarding Address不可达,请执行步骤(7) |
可达 |
如果外部路由是由NSSA External LSA(Type-7)通告的,根据RFC 3101的规定,要求到达Forwarding Address的路由所在区域与NSSA External LSA所在区域相同。如果Area字段标明的区域号与NSSA External LSA所在的区域不同,OSPF不使用此类NSSA External LSA进行路由计算。因此,没有对应的外部路由是正常现象 |
通过display ospf routing forwarding-address { mask-length | mask }命令查看到的路由的Type字段为Type1或者Type2,说明到达Forwarding Address的路由类型是外部路由。根据RFC 2328的规定,到达非零Forwarding Address的路由类型不允许是外部路由,OSPF不使用此类LSA进行路由计算。因此,没有对应的外部路由是正常现象 |
e. 如果abr-asbr信息中包含到达通告AS External LSA或NSSA External LSA的ASBR的路由,且本OSPF进程绑定了VPN实例。
请检查本OSPF进程下是否配置了vpn-instance-capability simple命令。如果OSPF进程下配置了vpn-instance-capability simple命令,请执行步骤(7)。
如果OSPF进程下未配置vpn-instance-capability simple命令,故障处理方式如表1-1所示。
表1-3 OSPF进程下未配置vpn-instance-capability simple命令的故障处理方式
DN比特位是否置位 |
故障处理方式 |
未配置vpn-instance-capability simple命令,且AS External LSA或者NSSA External LSA的Option字段包含DN比特位 |
根据RFC 2328的规定,私网OSPF进程不会使用DN比特位置位的AS External LSA或者NSSA External LSA进行路由计算。没有对应的外部路由是正常现象 |
未配置vpn-instance-capability simple命令,且AS External LSA或者NSSA External LSA的Option字段不包含DN比特位 |
请执行display ospf命令查看Default ASE parameters字段,确认AS External LSA或者NSSA External LSA的Tag值是否与私网OSPF进程的Tag值相同: · 对于Tag值相同的情况,根据RFC 2328的规定,私网OSPF进程不会使用此类LSA进行路由计算。因此,没有对应的外部路由是正常现象 · 对于Tag值不同的情况,请执行步骤(7) |
(7) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
OSPF组网中不同设备上配置相同的接口IP地址,会导致OSPF路由震荡。出现此问题时,设备通常伴随如下现象:
· 执行命令display cpu-usage查看到设备CPU使用率较高。
· OSPF频繁地老化LSA、重新生成LSA。
· 设备路由频繁刷新、路由计算出错。
以图1-5为示例说明此类故障的处理方式。其他组网与该组网处理此类故障的思路是相同的。
图1-5 网络中IP地址冲突导致路由震荡组网示例
(2) 在OSPF网络中的各个设备上每隔一秒执行一次display ospf [ process-id ] lsdb命令,查看每台设备的OSPF链路状态数据库(LSDB)信息。
(3) 检查是否存在LSA老化异常的情况。
同时满足如下条件时,说明LSA老化异常。
a. 在Device A上发现同一个AdvRouter通告的Network LSA(Type-2)的老化时间(Age)非自然增长,一直为最小值,且Sequence字段增加很快。例如在如下显示信息中,LinkStateID为172.168.0.1的Network LSA的Age非自然增长,短时间内Sequence从8000002D快速增长为8000002F。
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 10.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 797 48 80000009 0
Router 1.1.1.1 1.1.1.1 835 36 80000005 0
Router 4.4.4.4 4.4.4.4 798 36 80000004 0
Router 10.1.1.1 10.1.1.1 415 36 80000007 0
Router 2.2.2.2 2.2.2.2 415 48 80000015 0
Network 192.168.0.2 3.3.3.3 802 32 80000002 0
Network 172.168.0.3 4.4.4.4 791 32 80000002 0
Network 172.168.0.1 10.1.1.1 7 32 8000002D 0
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 10.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 810 48 80000009 0
Router 1.1.1.1 1.1.1.1 848 36 80000005 0
Router 4.4.4.4 4.4.4.4 811 36 80000004 0
Router 10.1.1.1 10.1.1.1 428 36 80000007 0
Router 2.2.2.2 2.2.2.2 428 48 80000015 0
Network 192.168.0.2 3.3.3.3 815 32 80000002 0
Network 172.168.0.3 4.4.4.4 804 32 80000002 0
Network 172.168.0.1 10.1.1.1 4 32 8000002F 0
b. 在Device B上相同Network LSA的Age不断在3600和其他较小值之间切换,而且Sequence字段增加很快。例如在如下显示信息中,LinkStateID为172.168.0.1的Network LSA的Age在3600和其他较小值之间切换,短时间内Sequence从80000023快速增长为80000041。
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 2.2.2.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 708 48 80000009 0
Router 1.1.1.1 1.1.1.1 746 36 80000005 0
Router 4.4.4.4 4.4.4.4 709 36 80000004 0
Router 10.1.1.1 10.1.1.1 329 36 80000007 0
Router 2.2.2.2 2.2.2.2 327 48 80000015 0
Network 172.168.0.3 4.4.4.4 702 32 80000002 0
Network 192.168.0.2 3.3.3.3 713 32 80000002 0
Network 172.168.0.1 10.1.1.1 3600 32 80000023 0
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 2.2.2.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 748 48 80000009 0
Router 1.1.1.1 1.1.1.1 786 36 80000005 0
Router 4.4.4.4 4.4.4.4 749 36 80000004 0
Router 10.1.1.1 10.1.1.1 369 36 80000007 0
Router 2.2.2.2 2.2.2.2 367 48 80000015 0
Network 172.168.0.3 4.4.4.4 742 32 80000002 0
Network 192.168.0.2 3.3.3.3 753 32 80000002 0
Network 172.168.0.1 10.1.1.1 7 32 80000041 0
c. 在Device C上,相同Network LSA的Age一直为3600,或者偶尔没有这条LSA,而且Sequence字段增加很快。例如在如下显示信息中,LinkStateID为172.168.0.1的Network LSA的Age为3600,或者偶尔没有这条LSA;存在这条LSA时,短时间内Sequence从80000309增长到80000346。
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 3.3.3.3
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 740 48 8000000D 0
Router 4.4.4.4 4.4.4.4 759 36 80000008 0
Router 10.1.1.1 10.1.1.1 364 36 8000000B 0
Router 2.2.2.2 2.2.2.2 366 48 80000019 0
Network 172.168.0.3 4.4.4.4 755 32 80000006 0
Network 192.168.0.2 3.3.3.3 744 32 80000006 0
Network 172.168.0.1 10.1.1.1 3600 32 80000309 0
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 3.3.3.3
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 745 48 8000000D 0
Router 4.4.4.4 4.4.4.4 764 36 80000008 0
Router 10.1.1.1 10.1.1.1 369 36 8000000B 0
Router 2.2.2.2 2.2.2.2 371 48 80000019 0
Network 172.168.0.3 4.4.4.4 760 32 80000006 0
Network 192.168.0.2 3.3.3.3 749 32 80000006 0
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 3.3.3.3
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 1302 48 8000000D 0
Router 4.4.4.4 4.4.4.4 1321 36 80000008 0
Router 10.1.1.1 10.1.1.1 926 36 8000000B 0
Router 2.2.2.2 2.2.2.2 928 48 80000019 0
Network 172.168.0.3 4.4.4.4 1317 32 80000006 0
Network 192.168.0.2 3.3.3.3 1306 32 80000006 0
Network 172.168.0.1 10.1.1.1 3600 32 80000346 0
(4) 检查是否存在OSPF路由震荡。
在Device B上每隔一秒执行一次display ospf [ process-id ] routing命令,查看路由是否震荡。
<Sysname> display ospf 100 routing
OSPF Process 100 with Router ID 2.2.2.2
Routing Table
Routing for network
Destination Cost Type NextHop AdvRouter Area
192.168.0.0/24 1 Transit 0.0.0.0 3.3.3.3 0.0.0.0
172.168.0.0/24 1 Transit 0.0.0.0 10.1.1.1 0.0.0.0
Total nets: 2
Intra area: 2 Inter area: 0 ASE: 0 NSSA: 0
<Sysname> display ospf 100 routing
OSPF Process 100 with Router ID 2.2.2.2
Routing Table
Routing for network
Destination Cost Type NextHop AdvRouter Area
192.168.0.0/24 1 Transit 0.0.0.0 3.3.3.3 0.0.0.0
172.168.0.0/24 2 Transit 192.168.0.2 4.4.4.4 0.0.0.0
Total nets: 2
Intra area: 2 Inter area: 0 ASE: 0 NSSA: 0
当OSPF路由发生震荡,且多次执行display ospf peer命令发现邻居关系没有发生震荡时,可以判断该OSPF组网中存在IP地址冲突。同时,由于Network LSA(Type-2)是由DR发布的,说明产生冲突的设备中有一台设备是DR。
如果任一台设备上出现两个LinkState ID相同的Network LSA,并且这两个Network LSA老化异常。说明产生冲突的设备均为DR。
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 10.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 367 48 80000021 0
Router 4.4.4.4 4.4.4.4 369 36 80000013 0
Router 10.1.1.1 10.1.1.1 477 36 80000012 0
Router 2.2.2.2 2.2.2.2 403 48 8000002B 0
Network 192.168.0.1 2.2.2.2 395 32 80000002 0
Network 172.168.0.1 3.3.3.3 3600 32 8000002B 0
Network 172.168.0.1 10.1.1.1 9 32 80000036 0
<Sysname> display ospf 100 lsdb
OSPF Process 100 with Router ID 10.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 460 48 80000021 0
Router 4.4.4.4 4.4.4.4 462 36 80000013 0
Router 10.1.1.1 10.1.1.1 570 36 80000012 0
Router 2.2.2.2 2.2.2.2 496 48 8000002B 0
Network 192.168.0.1 2.2.2.2 488 32 80000002 0
Network 172.168.0.1 3.3.3.3 3600 32 80000034 0
Network 172.168.0.1 10.1.1.1 6 32 80000041 0
(5) 定位产生冲突的设备。
结合display ospf lsdb的显示信息,找到产生IP地址冲突的设备。
¡ 产生冲突的设备中,仅有一台设备为DR。
根据异常Network LSA的AdvRouter,可以找到产生该Network LSA的DR设备;然后根据Network LSA中的LinkState ID找到产生IP地址冲突的接口,确定该接口的IP地址。根据接口的IP地址以及网络IP地址规划,找到另外一台产生冲突的设备。
在本例中,可以判断Router ID为10.1.1.1的DR设备接口IP地址与其他设备接口IP地址冲突,产生冲突的IP地址是172.168.0.1。然后根据网络IP地址规划,找到与DR设备接口IP地址冲突的另外一台设备。
¡ 产生冲突的设备均为DR。
根据异常Network LSA的AdvRouter,可以找到产生该Network LSA的DR设备;然后根据Network LSA中的LinkState ID找到产生IP地址冲突的接口。
(6) 根据网络IP地址规划修改冲突一方的IP地址。
(7) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
无
无
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!