OSPF多区域介绍

OSPF多区域的基本概念

OSPF(Open Shortest Path First)是一种基于链路状态的动态路由协议,支持多区域划分以实现层次化网络设计。多区域通过将大型网络分割为多个逻辑区域,减少路由表规模、优化SPF计算并提高网络稳定性。区域0(Area 0)是骨干区域,其他非骨干区域必须直接或间接连接到骨干区域。

OSPF路由器角色

  • 内部路由器(IR) :所有接口属于同一区域,仅维护本区域LSDB。
    • DR(指定路由器) 和 BDR(备份指定路由器)
    • DR 和 BDR 之外的路由器称为 DR Other
  • 区域边界路由器(ABR):连接多个区域,维护各区域的LSDB并汇总区域间路由。
  • 自治系统边界路由器(ASBR):引入外部路由(如RIP、静态路由),生成Type 5或Type 7 LSA。

OSPF多区域的优势

  • 减少LSDB规模:每个区域仅维护本区域的链路状态数据库(LSDB),降低内存和CPU消耗。
  • 限制LSA泛洪范围:LSA(链路状态通告)仅在区域内传播,区域间通过ABR汇总路由。
  • 提高收敛速度:区域内部拓扑变化不会触发其他区域的SPF计算。

OSPF多区域配置要点

  1. 区域划分:确保非骨干区域与Area 0直接相连,虚链路(Virtual Link)仅作为临时解决方案。
  2. 路由汇总 :在ABR上配置区域间路由汇总(area X range命令),减少Type 3 LSA数量。
  3. 特殊区域配置
    • 末节区域:ABR需配置area X stub,区域内所有路由器需一致启用该特性。
    • NSSA:使用area X nssa命令,并可选配置no-summary禁止Type 3 LSA。

OSPF选路原则

  1. 按照路由类型的优先级选择
    1. 区域内路由(Intra Area)
    2. 区域间路由(Inter Area)
    3. 第一类外部路由(Type1 External)
    4. 第二类外部路由(Type2 External)
  2. 在类型相同的情况下,选择路由开销(Cost)较小的路由

OSPF路由汇总

① 区域间路由汇总(在 ABR 上做)

把 Area 1 里的 10.1.0.0/24--10.1.255.0/24 汇总成 10.1.0.0/16 通告进 Area 0:

复制代码
router ospf 1
 area 1 range 10.1.0.0 255.255.0.0

位置:ABR(同时连接 Area 0 和 Area 1 的路由器)。

② 外部路由汇总(在 ASBR 上做)

把该路由器重分发进 OSPF 的多条静态外部路由 172.16.0.0/24--172.16.255.0/24 汇总成 172.16.0.0/16:

复制代码
router ospf 1
 summary-address 172.16.0.0 255.255.0.0

位置:ASBR (做了 redistribute static 或其他协议的路由器)。

LSA类型

四种OSPF特殊区域

前置说明如下(命令以思科设备演示)

加完全:禁止 Type-3 LSA(区域间汇总路由)

加非纯:允许本区域以 Type-7 LSA 的方式引入少量外部路由,由 ABR 转成 Type-5 泛洪到其它区域。

末梢区域
复制代码
! ===== ABR =====
router ospf 1
 router-id 10.0.0.1
 network 10.1.0.0 0.0.0.255 area 1
 network 10.0.0.0 0.0.0.255 area 0
 area 1 stub          ! 关键字
!

! ===== 区域内路由器 IR =====
router ospf 1
 router-id 10.0.0.11
 network 10.1.1.0 0.0.0.255 area 1
 area 1 stub          ! 关键字
!
完全末梢区域
复制代码
! ===== ABR =====
router ospf 1
 router-id 10.0.0.1
 network 10.1.0.0 0.0.0.255 area 1
 network 10.0.0.0 0.0.0.255 area 0
 area 1 stub no-summary   ! 多一个 no-summary
!

! ===== IR =====
router ospf 1
 router-id 10.0.0.11
 network 10.1.1.0 0.0.0.255 area 1
 area 1 stub              ! 与 Stub 写法完全一样
!
非纯末梢区域
复制代码
! ===== ABR =====
router ospf 1
 router-id 10.0.0.1
 network 10.1.0.0 0.0.0.255 area 1
 network 10.0.0.0 0.0.0.255 area 0
 area 1 nssa              ! 关键字
!

! ===== IR =====
router ospf 1
 router-id 10.0.0.11
 network 10.1.1.0 0.0.0.255 area 1
 area 1 nssa              ! 关键字
!
完全非纯末梢区域
复制代码
! ===== ABR =====
router ospf 1
 router-id 10.0.0.1
 network 10.1.0.0 0.0.0.255 area 1
 network 10.0.0.0 0.0.0.255 area 0
 area 1 nssa no-summary   ! 多一个 no-summary
!

! ===== IR =====
router ospf 1
 router-id 10.0.0.11
 network 10.1.1.0 0.0.0.255 area 1
 area 1 nssa              ! 与其它 NSSA 成员写法一致
!
相关推荐
qqssss121dfd18 分钟前
STM32H750XBH6的ETH模块移植LWIP
网络·stm32·嵌入式硬件
酣大智44 分钟前
参考模型--物理层
网络
B2_Proxy2 小时前
IP 来源合规性,正在成为全球业务的隐性门槛
网络·爬虫·网络协议·安全
MMME~3 小时前
Ansible Playbook高效自动化实战指南
网络·自动化·ansible
数据安全科普王3 小时前
从 HTTP/1.1 到 HTTP/3:协议演进如何改变 Web 性能?
网络·其他
舰长1153 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
学***54233 小时前
如何轻松避免网络负载过大
开发语言·网络·php
weixin_395448913 小时前
main.c_cursor_0129
前端·网络·算法
CS创新实验室3 小时前
《计算机网络》深入学:路由算法与路径选择
网络·计算机网络·算法
wWYy.5 小时前
C++-集群聊天室(2):muduo网络库
网络·c++