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

OSPF 路由协议多区域

一、课程目标

本课程旨在帮助学习者掌握 OSPF 多区域的核心知识,具体包括:掌握 OSPF 各种 LSA 的内容和传递过程、了解普通区域与特殊区域的特点、掌握 OSPF 多区域的配置。

二、OSPF 多区域划分的必要性
  1. 单区域存在的问题
    单区域 OSPF 网络中,存在三大问题:一是链路状态数据库(LSDB)庞大,占用大量内存,SPF 算法计算开销大;二是 LSA(链路状态通告)洪泛范围广,拓扑变化的影响范围大;三是路由无法汇总,导致路由表庞大,查找路由开销高。
    举例:一个大型园区如果只用一个区域,所有路由器都要存储整个园区的拓扑细节,一旦某个角落的网络变化,所有路由器都要重新计算路径,效率极低。

  2. 多区域的优势
    划分区域后,每个区域拥有独立的 LSDB,LSA 洪泛被限制在区域内,减少了拓扑变化的影响范围;同时,区域边界可以对路由进行汇总,减小路由表规模。

三、OSPF 多区域基本概念
  1. 区域分类

    • 骨干区域(Area 0):必须连续,不能被分割,是所有区域交换路由信息的核心。
    • 非骨干区域:必须直接与 Area 0 相连,非骨干区域之间不能直接交换路由,需通过 Area 0 中转。
    • 特殊区域:具有特殊性质,如 Stub、NSSA 等,用于简化路由管理。
      举例:骨干区域类似城市主干道,非骨干区域类似支路,支路必须连接主干道才能与其他支路互通。
  2. 关键设备

    • ABR(区域边界路由器):连接多个区域(至少包含 Area 0),负责在区域间传递路由信息,会生成汇总 LSA(LSA 3)描述区域间路由。
    • ASBR(自治系统边界路由器):连接 OSPF 域与其他路由协议(如 RIP),负责引入外部路由,会生成外部 LSA(LSA 5 或 LSA 7)描述外部路由。
LSDB(链路状态数据库)

四、OSPF 的 LSA 分类与传播
  1. LSA 类型及特点
    OSPF 的 LSA 分为 7 种主要类型,核心区别在于发起者、洪泛范围和作用:

    LSA 类型名称发起者洪泛范围作用
    1路由器 LSA所有 OSPF 路由器本区域内描述路由器直连的拓扑信息(如接口、邻居)
    2网络 LSADR(指定路由器)本区域内描述广播型 / NBMA 网络中连接的路由器列表
    3汇总 LSAABR单个区域内描述区域间的路由信息(如其他区域的网段)
    4ASBR 汇总 LSAABR单个区域内描述 ASBR 的位置(帮助其他区域找到外部路由的入口)
    5外部 LSAASBR整个 OSPF 域(除特殊区域)描述 OSPF 外部的路由(如从 RIP 引入的路由)
    7NSSA 外部 LSANSSA 区域的 ASBR本 NSSA 区域内描述 NSSA 区域的外部路由,会被 ABR 转换为 LSA 5 转发到其他区域

    举例:LSA 1 类似 “个人名片”,每个路由器在自己区域内分享自己的位置和连接;LSA 3 类似 “区域名片”,ABR 汇总其他区域的信息发给本区域;LSA 5 类似 “外部邀请函”,ASBR 告诉整个 OSPF 域 “外部有新路由可用”。

  2. LSA 传播过程

    • 区域内路由传播:以网段 10.1.3.0/24 为例,RT3(Area 1 内的路由器)生成 LSA 1,在 Area 1 内洪泛;区域内所有路由器通过 LSA 1 和 LSA 2 计算本地拓扑。
    • 区域间路由传播:ABR(如 RT1)收到 Area 1 的 LSA 1 后,生成 LSA 3(描述 10.1.3.0/24)并在 Area 0 洪泛;其他区域的 ABR(如 RT6)收到后,再生成新的 LSA 3 转发到自己所在的区域(如 Area 2)。
    • 外部路由传播:以外部路由 172.16.4.0/24 为例,ASBR(如 RT2)生成 LSA 5 在整个 OSPF 域洪泛;同时,ABR(如 RT6)生成 LSA 4(描述 RT2 的位置),帮助其他区域的路由器找到 ASBR,从而访问外部路由。
五、OSPF 特殊区域

特殊区域通过限制 LSA 类型简化路由管理,常见类型及特点如下:

区域类型限制的 LSA允许的 LSA补充说明
Stub 区域LSA 4、5LSA 1、2、3ABR 会注入默认路由(LSA 3),用于访问外部网络,适合不需要详细外部路由的区域
完全 Stub 区域LSA 3、4、5LSA 1、2ABR 仅注入默认路由(LSA 3),路由表中只有区域内路由和默认路由,适合对路由简化要求极高的区域
NSSA 区域LSA 4、5LSA 1、2、3、7允许区域内的 ASBR 通过 LSA 7 引入外部路由,ABR 会将 LSA 7 转换为 LSA 5 转发到其他区域,保留了引入外部路由的灵活性
完全 NSSA 区域LSA 3、4、5LSA 1、2、7ABR 注入默认路由(LSA 3),仅允许区域内路由和通过 LSA 7 引入的外部路由,兼顾简化和外部路由需求

 

举例:Stub 区域类似 “封闭小区”,只知道小区内的路和到主干道的默认路,不知道外部城市的详细路;NSSA 区域类似 “半开放小区”,可以自己引入外部小路(LSA 7),再通过小区门口(ABR)转换为大路(LSA 5)告诉其他区域。

六、路由汇总与外部路由开销
  1. 路由汇总
    为减少路由条目,ABR 和 ASBR 可对路由进行汇总:

    • 区域间汇总(ABR):通过area N range 目标网段 子网掩码命令,将 Area N 内的细化路由汇总为一条路由,以 LSA 3 发布到其他区域。
    • 外部路由汇总(ASBR):通过summary-address 目标网段 子网掩码命令,将引入的外部细化路由汇总为一条路由,以 LSA 5 发布。
      举例:将 172.18.0.0/24、172.18.1.0/24 等 4 个网段汇总为 172.18.0.0/22,路由表中只需保留一条汇总路由,简化管理。
  2. 外部路由开销类型
    OSPF 外部路由的开销计算有两种类型:

    • 类型 1:总开销 = LSA 携带的外部开销 + 本地到 ASBR 的开销(与 OSPF 内部开销统一)。
    • 类型 2:总开销 = LSA 携带的外部开销(忽略本地到 ASBR 的开销,默认类型)。
      优先级:类型 1 优于类型 2(类型 2 相当于外部开销 “无穷大”)。例如,访问外部网段时,类型 1 会计算 “本地到入口(ASBR)的路费 + 外部路费”,类型 1 更精准;类型 2 只算 “外部路费”,适合外部路由开销远大于内部的场景。
七、OSPF 多区域配置案例

以一个多区域 OSPF 网络为例,核心配置包括:

  1. 区域划分:将网络分为 Area 0(骨干)、Area 1、Area 2(NSSA 区域)。
  2. 路由汇总:ABR(如 SWA、SWB)对 Area 1 的 172.18.0.0/24 等网段汇总为 172.18.0.0/22。
  3. NSSA 配置:Area 2 配置为 NSSA 区域,ASBR(如 SWD)引入外部路由并汇总为 192.168.0.0/22。
  4. 默认路由注入:核心交换机(SWA、SWB)向 OSPF 域注入默认路由,确保所有区域能访问外部网络。
http://www.lryc.cn/news/600012.html

相关文章:

  • 利用Dify实现应用日志关键信息提取之实践
  • 九联UNT413AS_晶晨S905L3S芯片_2+8G_安卓9.0_线刷固件包
  • RK3588 HDMI-RX 驱动、RGA 加速与 OpenCV GStreamer 支持完整指南
  • React性能优化终极指南:memo、useCallback、useMemo全解析
  • 堆(Heap)优先级队列(Priority Queue)
  • python基础:request模块简介与安装、基本使用,如何发送get请求响应数据,response属性与请求头
  • 《计算机组成原理与汇编语言程序设计》实验报告一 基本数字逻辑及汉字显示
  • 机器学习详解(28):LightGBM原理
  • Linux系统编程——进程
  • 腾讯云CodeBuddy+微信小程序:5分钟开发番茄小闹钟
  • IPv6,你开始使用了吗?
  • 学习日志18 python
  • 从入门到进阶:JavaScript 学习之路与实战技巧
  • [科普] 快速傅里叶变换(FFT)和离散傅里叶变换(DFT)的差异
  • JDK8保姆级安装教程
  • 微观低代码
  • 前端项目组成
  • 【DeepRare】疾病识别召回率100%
  • Linux parted问题:指定分区边界失效
  • HTTP响应状态码详解
  • Java 常用数据库详解
  • 数据结构 之 【排序】(递归实现快速排序)
  • 【补题】Codeforces Round 735 (Div. 2) B. Cobb
  • 中国移动融合企业网关H10G-13-中星微ZX296716处理器-破解教程
  • 基于springboot的小区车位租售管理系统
  • 学习:JS[6]环境对象+回调函数+事件流+事件委托+其他事件+元素尺寸位置
  • 利用DeepSeek测试kdb+x的tpch sf=10数据
  • Vue2-VueRouter
  • rtpengine的docker化
  • 【C语言进阶】一篇文章教会你文件的读写