当前位置: 首页 > 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.dtcms.com/a/287050.html

相关文章:

  • MyBatis之缓存机制详解
  • uniapp中报错:ReferenceError: FormData is not defined
  • 【安卓笔记】RxJava的Hook机制,整体拦截器
  • JavaScript空值安全深度指南
  • 加线机 和 胶带机
  • LVS 集群技术实践:NAT 与 DR 模式的配置与对比
  • 如何在HTML5页面中嵌入视频
  • 基于单片机宠物喂食器/智能宠物窝/智能饲养
  • 车载传统ECU---MCU软件架构设计指南
  • MSTP 多生成树协议
  • 零基础学后端-PHP语言(第一期-PHP环境配置)
  • 题解:CF1690G Count the Trains
  • 【C++基础】--多态
  • PortSwigger Labs 之 点击劫持利用
  • Go语言流程控制(if / for)
  • 编程研发工作日记_廖万忠_2016_2017
  • 从零构建监控系统:先“完美设计”还是先“敏捷迭代”?
  • Java Web项目Dump文件分析指南
  • 白话深度学习:一副PPT入门CNN,ResNet和Transformer
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十三课——图像直方图和灰度图像叠加的FPGA实现
  • 14-链路聚合
  • ZeroMQ中的REQ/REP模式:分布式系统的同步调用之道
  • JavaSE -- 数据操作流
  • 比亚迪古德伍德亮相:从技术突破到文化对话
  • 【53】MFC入门到精通——MFC串口助手(二)---通信版(发送数据 、发送文件、数据转换、清空发送区、打开/关闭文件),附源码
  • SDIO协商,枚举,CMD等概念
  • SSM框架——Day4
  • 文件管理-文件控制块和索引节点
  • 深入解析Linux文件描述符:原理、机制与应用实践
  • 光伏系统遮挡分析与设计优化策略