OSPF组网中时常会出现在不同的设备上,由于接口IP地址配置冲突而导致路由震荡的问题。在OSPF网络中,接口IP地址配置冲突有可能导致OSPF的LSA频繁的老化和重产生。此时通常伴随设备路由频繁刷新、路由计算出错、设备CPU利用率高(route进程高)的问题。
Network LSA,由DR负责产生和清除。如果网络中同区域某台设备上的地址和DR地址相同时就有可能会导致network LSA误被清除或者重产生。可以通过反复查看display ospf lsdb发现LSA震荡。这种冲突分为两种情况:
1、DR与非DR冲突,即网络中同区域有两台设备具有相同IP地址(如172.16.0.1),一台设备为此网段DR(如SWA),可以产生Network LSA;一台为非此网段DR(如SWC),RTB为中间设备。
1)在冲突网段的DR-SWA上每隔一秒输入display ospf lsdb,发现冲突网段的Network LSA 172.16.0.1的Age非自然增长,一直为较小值;AdvRouter一直为1.1.1.1;而且Sequence字段增加很快。
<SWA>dis ospf lsdb
OSPF Process 1 with Router ID 1.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 127 48 8000001F 0
Router 1.1.1.1 1.1.1.1 879 36 8000000E 0
Router 4.4.4.4 4.4.4.4 130 48 8000000B 0
Router 2.2.2.2 2.2.2.2 128 48 80000017 0
Network 172.16.0.3 4.4.4.4 121 32 80000002 0
Network 172.16.0.1 1.1.1.1 8 32 800002C4 0
Network 192.168.0.1 2.2.2.2 120 32 80000006 0
<SWA>dis ospf lsdb
OSPF Process 1 with Router ID 1.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 132 48 8000001F 0
Router 1.1.1.1 1.1.1.1 884 36 8000000E 0
Router 4.4.4.4 4.4.4.4 135 48 8000000B 0
Router 2.2.2.2 2.2.2.2 133 48 80000017 0
Network 172.16.0.3 4.4.4.4 126 32 80000002 0
Network 172.16.0.1 1.1.1.1 2 32 800002C5 0
Network 192.168.0.1 2.2.2.2 125 32 80000006 0
<SWA>dis ospf lsdb
OSPF Process 1 with Router ID 1.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 141 48 8000001F 0
Router 1.1.1.1 1.1.1.1 893 36 8000000E 0
Router 4.4.4.4 4.4.4.4 144 48 8000000B 0
Router 2.2.2.2 2.2.2.2 142 48 80000017 0
Network 172.16.0.3 4.4.4.4 135 32 80000002 0
Network 172.16.0.1 1.1.1.1 4 32 800002C6 0
Network 192.168.0.1 2.2.2.2 134 32 80000006 0
2)在中间路由器SWB上每隔一秒输入display ospf lsdb,发现冲突网段的Network LSA 172.16.0.1 Age不断在3600和其他较小值之间切换;AdvRouter一直为1.1.1.1;而且Sequence字段增加很快。
<SWB>display ospf lsdb
OSPF Process 1 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 456 48 8000001F 0
Router 1.1.1.1 1.1.1.1 1266 36 8000000E 0
Router 4.4.4.4 4.4.4.4 460 48 8000000B 0
Router 2.2.2.2 2.2.2.2 457 48 80000017 0
Network 172.16.0.3 4.4.4.4 450 32 80000002 0
Network 172.16.0.1 1.1.1.1 3600 32 800002E7 0
Network 192.168.0.1 2.2.2.2 449 32 80000006 0
<SWB>display ospf lsdb
OSPF Process 1 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 460 48 8000001F 0
Router 1.1.1.1 1.1.1.1 1270 36 8000000E 0
Router 4.4.4.4 4.4.4.4 464 48 8000000B 0
Router 2.2.2.2 2.2.2.2 461 48 80000017 0
Network 172.16.0.3 4.4.4.4 454 32 80000002 0
Network 172.16.0.1 1.1.1.1 10 32 800002E8 0
Network 192.168.0.1 2.2.2.2 453 32 80000006 0
<SWB>display ospf lsdb
OSPF Process 1 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 463 48 8000001F 0
Router 1.1.1.1 1.1.1.1 1273 36 8000000E 0
Router 4.4.4.4 4.4.4.4 467 48 8000000B 0
Router 2.2.2.2 2.2.2.2 464 48 80000017 0
Network 172.16.0.3 4.4.4.4 457 32 80000002 0
Network 172.16.0.1 1.1.1.1 3600 32 800002E8 0
Network 192.168.0.1 2.2.2.2 456 32 80000006 0
<SWB>display ospf lsdb
OSPF Process 1 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 469 48 8000001F 0
Router 1.1.1.1 1.1.1.1 1279 36 8000000E 0
Router 4.4.4.4 4.4.4.4 473 48 8000000B 0
Router 2.2.2.2 2.2.2.2 470 48 80000017 0
Network 172.16.0.3 4.4.4.4 463 32 80000002 0
Network 172.16.0.1 1.1.1.1 7 32 800002E9 0
Network 192.168.0.1 2.2.2.2 462 32 80000006 0
3)在地址冲突设备SWC上每隔一秒输入display ospf lsdb,发现冲突网段的Network LSA 172.16.0.1的age一直为3600或者偶尔没有这条LSA;AdvRouter一直为1.1.1.1;而且Sequence字段增加很快。
<SWC>display ospf lsdb
OSPF Process 1 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 1054 48 8000001F 0
Router 1.1.1.1 1.1.1.1 37 36 8000000F 0
Router 4.4.4.4 4.4.4.4 1057 48 8000000B 0
Router 2.2.2.2 2.2.2.2 1057 48 80000017 0
Network 172.16.0.3 4.4.4.4 1047 32 80000002 0
Network 172.16.0.1 1.1.1.1 3600 32 8000032A 0
Network 192.168.0.1 2.2.2.2 1048 32 80000006 0
<SWC>display ospf lsdb
OSPF Process 1 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 1058 48 8000001F 0
Router 1.1.1.1 1.1.1.1 41 36 8000000F 0
Router 4.4.4.4 4.4.4.4 1061 48 8000000B 0
Router 2.2.2.2 2.2.2.2 1061 48 80000017 0
Network 172.16.0.3 4.4.4.4 1051 32 80000002 0
Network 192.168.0.1 2.2.2.2 1052 32 80000006 0
<SWC>display ospf lsdb
OSPF Process 1 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 1070 48 8000001F 0
Router 1.1.1.1 1.1.1.1 53 36 8000000F 0
Router 4.4.4.4 4.4.4.4 1073 48 8000000B 0
Router 2.2.2.2 2.2.2.2 1073 48 80000017 0
Network 172.16.0.3 4.4.4.4 1063 32 80000002 0
Network 172.16.0.1 1.1.1.1 3600 32 8000032C 0
Network 192.168.0.1 2.2.2.2 1064 32 80000006 0
Network LSA震荡过程分析如下:
因为只有DR可以产生Network LSA。SWA生成Network LSA,Linkstate ID为172.16.0.1,在所在区域泛洪。SWB收到该LSA,进行相应处理并通告给邻居SWC。
SWC收到该LSA后,检查发现该LSA LinkState ID 172.16.0.1与自身接口IP一致,认为该LSA是自己产生的。但是发布路由器AdvRouter和自己的Router ID不一致,RTC将接收到的LSA中的LS age增加至Maxage,其余不做改变(包括ADV router、Sequence)并重新泛洪,从路由域中清除。
关于自己产生的LSA定义:1)该LSA的发布路由器和自身的Router ID一致,或者2)该LSA为network-LSA,其Link State ID(Type 2 LSA Link State ID为DR的IP地址 )和自身某个接口IP一致。
A self-originated
LSA is detected when either 1) the LSA&#39;s Advertising Router is
equal to the router&#39;s own Router ID or 2) the LSA is a network-
LSA and its Link State ID is equal to one of the router&#39;s own IP
interface addresses.
关于收到自身产生LSA的处理
OSPF设备收到自身产生的LSA,且比当前实例的更新,会重新生成该 LSA,同时序列号增加1。但也有特例:如2类LSA,其Link State ID和自身某个接口IP一致,但是AdvRouter不是自身,此时会将该LSA的age置为3600,在路由域泛洪。
Receiving self-originated LSAs
However, if the received self-originated LSA is newer than the
last instance that the router actually originated, the router
must take special action. The reception of such an LSA
indicates that there are LSAs in the routing domain that were
originated by the router before the last time it was restarted.
In most cases, the router must then advance the LSA&#39;s LS
sequence number one past the received LS sequence number, and
originate a new instance of the LSA.
It may be the case the router no longer wishes to originate the
received LSA. Possible examples include: 1) the LSA is a
summary-LSA or AS-external-LSA and the router no longer has an
(advertisable) route to the destination, 2) the LSA is a
network-LSA but the router is no longer Designated Router for
the network or 3) the LSA is a network-LSA whose Link State ID
is one of the router&#39;s own IP interface addresses but whose
Advertising Router is not equal to the router&#39;s own Router ID
(this latter case should be rare, and it indicates that the
router&#39;s Router ID has changed since originating the LSA). In
all these cases, instead of updating the LSA, the LSA should be
flushed from the routing domain by incrementing the received
LSA&#39;s LS age to MaxAge and reflooding
如何判断收到LSA是否更新
相同条件下:如同sequence 、checksums,age值为maxage会被认为是更新的LSA。
Determining which LSA is newer
An LSA is identified by its LS type, Link State ID and
Advertising Router. For two instances of the same LSA, the LS
sequence number, LS age, and LS checksum fields are used to
determine which instance is more recent:
The LSA having the newer LS sequence number is more recent.
If both instances have the same LS sequence number, then:
If the two instances have different LS checksums, then the
instance having the larger LS checksum (when considered as a
16-bit unsigned integer) is considered more recent.
Else, if only one of the instances has its LS age field set
to MaxAge, the instance of age MaxAge is considered to be
more recent.
Else, if only one of the instances has its LS age field set
to MaxAge, the instance of age MaxAge is considered to be
more recent.
SWB从SWC收到更新(newer)LSA,更新数据库并继续泛洪给SWA。SWA收到该老化LSA,因为该LSA的发布路由器和自身的Router ID一致,认为是该Network LSA是自身产生的,且该接收到的LSA比当前实例的更新(当sequence 、checksums 都相同的情况下LS age为MaxAge被认为更新),SWA会重新生成一个新的该Network LSA,序列号增加1,在区域内更新。
SWC对该LSA进行老化清除、SWA重新生成。如此反复,造成Network LSA震荡。如果有路由经过该链路,因该Network LSA时有时无,会导致路由计算出错。
DR与非DR冲突时,首先根据这条振荡的Network LSA(display ospf lsdb可以看到)的LinkState ID可以知道冲突的IP地址,然后根据AdvRouter找到其中的一台设备进而定位出是哪个接口。与其冲突的设备很难通过OSPF自身携带的信息找到,因为老化LSA会在整个区域泛洪,很难通过查看ospf信息判断哪台设备始发该LSA。只能够通过网络IP地址规划找到或者整个区域内逐台排查。
如上例中,可以首先判断出冲突的IP地址为172.16.0.1,其中一台冲突设备的Router ID为1.1.1.1;而与其冲突的另外一台设备(3.3.3.3)无法通过OSPF自身携带的信息找到。
2、两个DR的IP地址冲突,即网络中同区域有两台设备具有相同IP地址(假设为172.16.0.1),且都为该网段的DR(如SWA、SWC),都可以产生network LSA,RTB为中间设备。
1)在冲突网段的DR-SWA上每隔一秒输入display ospf lsdb,会发现存在两个LinkState Id都为172.16.0.1的Network LSA; AdvRouter分别为1.1.1.1和3.3.3.3;AdvRouter为自身1.1.1.1的Age非自然增长,一直处于较小值,且Sequence字段增加很快,说明该LSA一直在重新生成;AdvRouter为3.3.3.3的Age为3600,且Sequence字段也在增长,说明SWA在不断老化SWC发送的Network LSA。
SWC的显示类似,SWA、SWC互相删除对方发生的Network LSA,各自重新生成。如此反复,导致网络震荡。
<SWA>display ospf lsdb
OSPF Process 1 with Router ID 1.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 296 48 80000025 0
Router 1.1.1.1 1.1.1.1 1119 36 80000011 0
Router 4.4.4.4 4.4.4.4 297 48 80000011 0
Router 2.2.2.2 2.2.2.2 738 48 8000001A 0
Network 172.16.0.1 1.1.1.1 8 32 8000053A 0
Network 192.168.0.1 2.2.2.2 731 32 80000009 0
<SWA>display ospf lsdb
OSPF Process 1 with Router ID 1.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 299 48 80000025 0
Router 1.1.1.1 1.1.1.1 1122 36 80000011 0
Router 4.4.4.4 4.4.4.4 300 48 80000011 0
Router 2.2.2.2 2.2.2.2 741 48 8000001A 0
Network 172.16.0.1 3.3.3.3 3600 32 80000024 0
Network 172.16.0.1 1.1.1.1 0 32 8000053B 0
Network 192.168.0.1 2.2.2.2 734 32 80000009 0
<SWA>display ospf lsdb
OSPF Process 1 with Router ID 1.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 308 48 80000025 0
Router 1.1.1.1 1.1.1.1 1131 36 80000011 0
Router 4.4.4.4 4.4.4.4 309 48 80000011 0
Router 2.2.2.2 2.2.2.2 750 48 8000001A 0
Network 172.16.0.1 3.3.3.3 3600 32 80000025 0
Network 172.16.0.1 1.1.1.1 2 32 8000053C 0
Network 192.168.0.1 2.2.2.2 743 32 80000009 0
<SWC>display ospf lsdb
OSPF Process 1 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 409 48 8000002B 0
Router 1.1.1.1 1.1.1.1 497 36 80000017 0
Router 4.4.4.4 4.4.4.4 1023 48 80000016 0
Router 2.2.2.2 2.2.2.2 889 48 80000020 0
Network 172.16.0.1 3.3.3.3 3 32 80000477 0
Network 192.168.0.1 2.2.2.2 881 32 8000000F 0
<SWC>display ospf lsdb
OSPF Process 1 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 423 48 8000002B 0
Router 1.1.1.1 1.1.1.1 511 36 80000017 0
Router 4.4.4.4 4.4.4.4 1037 48 80000016 0
Router 2.2.2.2 2.2.2.2 903 48 80000020 0
Network 172.16.0.1 1.1.1.1 3600 32 80000997 0
Network 172.16.0.1 3.3.3.3 0 32 80000479 0
Network 192.168.0.1 2.2.2.2 895 32 8000000F 0
<SWC>display ospf lsdb
OSPF Process 1 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 431 48 8000002B 0
Router 1.1.1.1 1.1.1.1 519 36 80000017 0
Router 4.4.4.4 4.4.4.4 1045 48 80000016 0
Router 2.2.2.2 2.2.2.2 911 48 80000020 0
Network 172.16.0.1 1.1.1.1 3600 32 80000998 0
Network 172.16.0.1 3.3.3.3 8 32 80000479 0
Network 192.168.0.1 2.2.2.2 903 32 8000000F 0
2)在中间路由器SWB上每隔一秒输入display ospf lsdb,可以看到SWA、SWC LSA互删和重新生成的过程。SWB上存在两个LinkState Id都为172.16.0.1的Network LSA;AdvRouter分别为1.1.1.1和3.3.3.3;而且Sequence字段增加很快。
<SWB>display ospf lsdb
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
a Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 3.3.3.3 3.3.3.3 530 48 80000025 0
Router 1.1.1.1 1.1.1.1 1420 36 80000011 0
Router 4.4.4.4 4.4.4.4 530 48 80000011 0
Router 2.2.2.2 2.2.2.2 1007 48 8000001A 0
Network 172.16.0.1 3.3.3.3 9 32 8000003B 0
Network 172.16.0.1 1.1.1.1 9 32 80000551 0
Network 192.168.0.1 2.2.2.2 999 32 80000009 0
<SWB>display ospf lsdb
OSPF Process 1 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 534 48 80000025 0
Router 1.1.1.1 1.1.1.1 1424 36 80000011 0
Router 4.4.4.4 4.4.4.4 534 48 80000011 0
Router 2.2.2.2 2.2.2.2 1011 48 8000001A 0
Network 172.16.0.1 3.3.3.3 3600 32 8000003B 0
Network 172.16.0.1 1.1.1.1 3600 32 80000551 0
Network 192.168.0.1 2.2.2.2 1003 32 80000009 0
<SWB>display ospf lsdb
OSPF Process 1 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 537 48 80000025 0
Router 1.1.1.1 1.1.1.1 1427 36 80000011 0
Router 4.4.4.4 4.4.4.4 537 48 80000011 0
Router 2.2.2.2 2.2.2.2 1014 48 8000001A 0
Network 172.16.0.1 3.3.3.3 3600 32 8000003B 0
Network 172.16.0.1 1.1.1.1 7 32 80000552 0
Network 192.168.0.1 2.2.2.2 1006 32 80000009 0
<SWB>display ospf lsdb
OSPF Process 1 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 540 48 80000025 0
Router 1.1.1.1 1.1.1.1 1430 36 80000011 0
Router 4.4.4.4 4.4.4.4 540 48 80000011 0
Router 2.2.2.2 2.2.2.2 1017 48 8000001A 0
Network 172.16.0.1 3.3.3.3 10 32 8000003C 0
Network 172.16.0.1 1.1.1.1 3600 32 80000552 0
Network 192.168.0.1 2.2.2.2 1009 32 80000009 0
Network LSA震荡过程分析如下:
因为只有DR可以产生network LSA。SWA、SWC都可以生成该Network LSA,Linkstate ID为172.16.0.1,AdvRouter分别为SWA、SWC。
以SWA发送Network LSA更新为例,SWB收到该LSA,进行相应处理并通告给邻居SWC。
SWC收到该LSA,检查发现该LSA LinkState ID与自身接口IP一致,认为该LSA是自己产生的。但是发布路由器AdvRouter和自己的Router ID不一致,SWC将该LSA中的LS age增加至Maxage,其余不做改变(包括AdvRouter、Sequence)并重新泛洪,清除该LSA。
SWB从SWC收到更新(newer)LSA,更新数据库并继续将该LSA泛洪给SWA,SWA收到该老化LSA后,因该LSA的发布路由器和自身的Router ID一致,认为该Network LSA是自身产生的,且该接收的LSA比当前实例的更新(当sequence 、checksums 都相同的情况下LS age为MaxAge被认为更新),SWA会重新生成一个新的该Network LSA,序列号增加1,在区域泛洪。
同理SWC发送的该network LSA更新,到达SWA,会被SWA老化清除,重新泛洪。而SWC收到该老化LSA, SWC会重新生成一个新的该Network LSA,序列号增加1,在区域泛洪。
SWA、SWC互相老化对方产生的Network LSA,各自重新生成。如此反复,网络震荡。
DR与DR冲突时可以根据这两个LinkState Id相同的Network LSA(display ospf lsdb)的LinkState Id和AdvRouter判断出是哪台设备的哪个接口IP地址冲突了。
如上例中,很容易定位出是Router ID为3.3.3.3和1.1.1.1的两台设备上存在IP地址冲突的接口,然后再根据LinkState Id 172.16.0.1很容易就找到对应的接口。
查出冲突IP,修改配置。不要让在网设备有相同的地址运行。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作