OSPF高级特性之Overflow
一、概述
我们都知道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 24AR2
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 24AR3
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.0AR2
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.0AR3
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.2Peer 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 4AR1
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.2Link State Database Area: 0.0.0.0Type LinkState ID AdvRouter Age Len Sequence MetricRouter 2.2.2.2 2.2.2.2 107 48 80000008 1Router 1.1.1.1 1.1.1.1 10 36 80000005 1Router 3.3.3.3 3.3.3.3 104 36 80000004 1Network 10.0.23.3 3.3.3.3 104 32 80000002 0Network 10.0.12.2 2.2.2.2 107 32 80000002 0AS External DatabaseType LinkState ID AdvRouter Age Len Sequence MetricExternal 1.1.1.4 1.1.1.1 10 36 80000001 1External 1.1.1.1 1.1.1.1 10 36 80000001 1External 1.1.1.3 1.1.1.1 10 36 80000001 1External 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 lsdbOSPF Process 1 with Router ID 2.2.2.2Link State Database Area: 0.0.0.0Type LinkState ID AdvRouter Age Len Sequence MetricRouter 2.2.2.2 2.2.2.2 216 48 80000008 1Router 1.1.1.1 1.1.1.1 119 36 80000005 1Router 3.3.3.3 3.3.3.3 213 36 80000004 1Network 10.0.23.3 3.3.3.3 213 32 80000002 0Network 10.0.12.2 2.2.2.2 216 32 80000002 0AS External DatabaseType LinkState ID AdvRouter Age Len Sequence MetricExternal 0.0.0.0 1.1.1.1 9 36 80000001 1External 1.1.1.4 1.1.1.1 119 36 80000001 1External 1.1.1.1 1.1.1.1 119 36 80000001 1External 1.1.1.3 1.1.1.1 119 36 80000001 1External 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 lsdbOSPF Process 1 with Router ID 2.2.2.2Link State Database Area: 0.0.0.0Type LinkState ID AdvRouter Age Len Sequence MetricRouter 2.2.2.2 2.2.2.2 286 48 80000008 1Router 1.1.1.1 1.1.1.1 189 36 80000005 1Router 3.3.3.3 3.3.3.3 283 36 80000004 1Network 10.0.23.3 3.3.3.3 283 32 80000002 0Network 10.0.12.2 2.2.2.2 286 32 80000002 0AS External DatabaseType LinkState ID AdvRouter Age Len Sequence MetricExternal 0.0.0.0 1.1.1.1 79 36 80000001 1External 1.1.1.4 1.1.1.1 189 36 80000001 1External 1.1.1.1 1.1.1.1 189 36 80000001 1External 1.1.1.3 1.1.1.1 189 36 80000001 1External 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.1Link State Database Area: 0.0.0.0Type LinkState ID AdvRouter Age Len Sequence MetricRouter 2.2.2.2 2.2.2.2 284 48 80000008 1Router 1.1.1.1 1.1.1.1 185 36 80000005 1Router 3.3.3.3 3.3.3.3 282 36 80000004 1Network 10.0.23.3 3.3.3.3 282 32 80000002 0Network 10.0.12.2 2.2.2.2 284 32 80000002 0AS External DatabaseType LinkState ID AdvRouter Age Len Sequence MetricExternal 0.0.0.0 1.1.1.1 76 36 80000001 1External 1.1.1.5 1.1.1.1 5 36 80000001 1External 1.1.1.4 1.1.1.1 185 36 80000001 1External 1.1.1.1 1.1.1.1 185 36 80000001 1External 1.1.1.3 1.1.1.1 185 36 80000001 1External 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.3Link State Database Area: 0.0.0.0Type LinkState ID AdvRouter Age Len Sequence MetricRouter 2.2.2.2 2.2.2.2 472 48 80000008 1Router 1.1.1.1 1.1.1.1 374 36 80000005 1Router 3.3.3.3 3.3.3.3 467 36 80000004 1Network 10.0.23.3 3.3.3.3 467 32 80000002 0Network 10.0.12.2 2.2.2.2 472 32 80000002 0AS External DatabaseType LinkState ID AdvRouter Age Len Sequence MetricExternal 0.0.0.0 1.1.1.1 265 36 80000001 1External 1.1.1.4 1.1.1.1 374 36 80000001 1External 1.1.1.1 1.1.1.1 374 36 80000001 1External 1.1.1.3 1.1.1.1 374 36 80000001 1External 1.1.1.2 1.1.1.1 374 36 80000001 1
可以看到AR3也没有学习到1.1.1.5的LSA,说明我们配置了AR2的数据库上限后也会影响后面的路由器。
以上就是本章的全部内容了,感谢大家的浏览观看!文章若有错误或疑问可联系博主删除更改,非常欢迎私聊博主讨论。