一、概述
我们都知道OSPF在同一个区域内的所有路由器都会同步LSDB,但随着网络上的路由数量或LSA不断增加,一些路由器由于系统资源有限,不能再承载更多的路由信息,这种状态就被称为数据库超限(OSPF Database Overflow)。
对于路由信息不断增加导致路由器系统资源耗尽而失效的问题,可以通过配置Stub或NSSA等特殊区域来解决,但Stub或NSSA区域的方案不能解决动态路由增长导致的数据库超限问题。为了解决数据库超限引发的问题,通过设置LSDB中External LSA的最大条目数,可以动态限制数据库的规模。
二、工作原理
OSPF网络中所有路由器都配置相同的上限值,至于为什么要都配置成一致的这里后面再说,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并同事启动Overflow状态定时器(默认超时时间为5秒),路由器在定时器超过5秒后自动退出Overflow状态。
那为什么我们的路由器尽量都要设置成相同的上限值呢?
如上图所示,假如AR1的上限为1000,AR2为500,当AR1从其他区域引入了1000条路由时,往本区域进行转发,AR2收到了500条就不会进行接收了,AR2就不会从后面的LSU进行LSAck回复,那么AR1就会一直重传。
三、实验
拓扑
1、基础配置
AR1
system
sysname AR1
int g 0/0/0
ip add 10.0.12.1 24
AR2
system
sysname AR2
int g 0/0/0
ip add 10.0.12.2 24
int g 0/0/1
ip add 10.0.23.2 24
AR3
system
sysname AR3
int g 0/0/0
ip add 10.0.23.3 24
2、路由配置
AR1
ospf 1 router-id 1.1.1.1
area 0
netw 10.0.12.1 0.0.0.0
AR2
ospf 1 router-id 2.2.2.2
area 0
netw 10.0.12.2 0.0.0.0
netw 10.0.23.2 0.0.0.0
AR3
ospf 1 router-id 3.3.3.3
area 0
netw 10.0.23.3 0.0.0.0
查看OSPF邻居状态
[AR2]display 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 1.1.1.1 Full
0.0.0.0 GigabitEthernet0/0/1 3.3.3.3 Full
----------------------------------------------------------------------------
3、数据库超限配置
AR2
ospf 1
lsdb-overflow-limit 4
AR1
ip route-static 1.1.1.1 32 NULL 0
ip route-static 1.1.1.2 32 NULL 0
ip route-static 1.1.1.3 32 NULL 0
ip route-static 1.1.1.4 32 NULL 0
ospf 1
import-route static
查看LSDB
[AR2]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 2.2.2.2 2.2.2.2 107 48 80000008 1
Router 1.1.1.1 1.1.1.1 10 36 80000005 1
Router 3.3.3.3 3.3.3.3 104 36 80000004 1
Network 10.0.23.3 3.3.3.3 104 32 80000002 0
Network 10.0.12.2 2.2.2.2 107 32 80000002 0
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 1.1.1.4 1.1.1.1 10 36 80000001 1
External 1.1.1.1 1.1.1.1 10 36 80000001 1
External 1.1.1.3 1.1.1.1 10 36 80000001 1
External 1.1.1.2 1.1.1.1 10 36 80000001 1
可以看到此时还没有超限,因为我们设置的上限为4,所以AR2还会学习从AR1发来的LSA。
AR1
ospf 1
default-route-advertise always
[AR2]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 2.2.2.2 2.2.2.2 216 48 80000008 1
Router 1.1.1.1 1.1.1.1 119 36 80000005 1
Router 3.3.3.3 3.3.3.3 213 36 80000004 1
Network 10.0.23.3 3.3.3.3 213 32 80000002 0
Network 10.0.12.2 2.2.2.2 216 32 80000002 0
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 0.0.0.0 1.1.1.1 9 36 80000001 1
External 1.1.1.4 1.1.1.1 119 36 80000001 1
External 1.1.1.1 1.1.1.1 119 36 80000001 1
External 1.1.1.3 1.1.1.1 119 36 80000001 1
External 1.1.1.2 1.1.1.1 119 36 80000001 1
Overflow上限中并不影响缺省路由,所以就算到达上限了一样可以学习缺省路由
AR1
ip route-static 1.1.1.5 32 NULL 0
此时我们在加一条静态路由去AR2上查看OSPF LSDB表项是否有变化
[AR2]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 2.2.2.2 2.2.2.2 286 48 80000008 1
Router 1.1.1.1 1.1.1.1 189 36 80000005 1
Router 3.3.3.3 3.3.3.3 283 36 80000004 1
Network 10.0.23.3 3.3.3.3 283 32 80000002 0
Network 10.0.12.2 2.2.2.2 286 32 80000002 0
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 0.0.0.0 1.1.1.1 79 36 80000001 1
External 1.1.1.4 1.1.1.1 189 36 80000001 1
External 1.1.1.1 1.1.1.1 189 36 80000001 1
External 1.1.1.3 1.1.1.1 189 36 80000001 1
External 1.1.1.2 1.1.1.1 189 36 80000001 1
可以看到AR2的LSDB没有变化,并没有继续学习来自AR1的LSA了。
[AR1]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 2.2.2.2 2.2.2.2 284 48 80000008 1
Router 1.1.1.1 1.1.1.1 185 36 80000005 1
Router 3.3.3.3 3.3.3.3 282 36 80000004 1
Network 10.0.23.3 3.3.3.3 282 32 80000002 0
Network 10.0.12.2 2.2.2.2 284 32 80000002 0
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 0.0.0.0 1.1.1.1 76 36 80000001 1
External 1.1.1.5 1.1.1.1 5 36 80000001 1
External 1.1.1.4 1.1.1.1 185 36 80000001 1
External 1.1.1.1 1.1.1.1 185 36 80000001 1
External 1.1.1.3 1.1.1.1 185 36 80000001 1
External 1.1.1.2 1.1.1.1 185 36 80000001 1
但我们查看AR1的LSDB时可以看到我们刚刚引入的那条静态。
并且由于AR2收到该LSU后因为上限的原因AR2并不会发送LSAck给AR1,所以AR1就会一直重传。
我们去AR3上看看AR3的OSPF LSDB有没有受到影响
[AR3]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 2.2.2.2 2.2.2.2 472 48 80000008 1
Router 1.1.1.1 1.1.1.1 374 36 80000005 1
Router 3.3.3.3 3.3.3.3 467 36 80000004 1
Network 10.0.23.3 3.3.3.3 467 32 80000002 0
Network 10.0.12.2 2.2.2.2 472 32 80000002 0
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 0.0.0.0 1.1.1.1 265 36 80000001 1
External 1.1.1.4 1.1.1.1 374 36 80000001 1
External 1.1.1.1 1.1.1.1 374 36 80000001 1
External 1.1.1.3 1.1.1.1 374 36 80000001 1
External 1.1.1.2 1.1.1.1 374 36 80000001 1
可以看到AR3也没有学习到1.1.1.5的LSA,说明我们配置了AR2的数据库上限后也会影响后面的路由器。
以上就是本章的全部内容了,感谢大家的浏览观看!文章若有错误或疑问可联系博主删除更改,非常欢迎私聊博主讨论。