当前位置: 首页 > news >正文

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的数据库上限后也会影响后面的路由器。

以上就是本章的全部内容了,感谢大家的浏览观看!文章若有错误或疑问可联系博主删除更改,非常欢迎私聊博主讨论。

http://www.lryc.cn/news/593583.html

相关文章:

  • 【c++】提升用户体验:问答系统的交互优化实践——关于我用AI编写了一个聊天机器人……(12)
  • Buildroot vs Yocto:SDK 构建机制的核心差异与实践案例
  • 多线程 示例
  • QT窗口(8)-QFileDiag
  • esp32 sd卡
  • Kubernetes常用命令总结
  • MySQL 深度性能优化配置实战指南
  • 单例模式的设计与实现
  • Salesforce 与外部系统实时集成:基于事件驱动的异步集成架构
  • ChatGPT Agent深度解析:告别单纯问答,一个指令搞定复杂任务?
  • (LeetCode 面试经典 150 题) 49. 字母异位词分组 (哈希表)
  • 软件工程:可行性分析的任务及报告
  • picoCTF 2024: [[NoSQL]] Injection - Writeup
  • JAVA中的Collections 类
  • 【数据结构】二叉树初阶详解(一):树与二叉树基础 + 堆结构全解析
  • windows wsl2-05-docker 安装笔记
  • 光盘存储器的组成与分类
  • 从“数字土著”到“数据公民”:K-12数据伦理课程的设计、实施与成效追踪研究
  • Codeforces Round 1037 (Div. 3)(补题)
  • Codeforces Round 1037(Div.3)
  • 搭建比分网服务器怎么选数据不会卡顿?
  • 配置华为交换机接口链路聚合-支持服务器多网卡Bind
  • 数据结构:字符串(Strings)
  • RGB转灰度方法汇总
  • 本地安装部署Unstructured-api
  • Flutter基础(前端教程①③-单例)
  • 优先算法——专题十:哈希表
  • kafka--基础知识点--6--AR、ISR、OSR
  • Django母婴商城项目实践(九)- 商品列表页模块
  • [论文阅读] 软件工程 | 用模糊逻辑“解锁”项目成功:告别非黑即白的评估时代