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

第四章:OSPF 协议

一、OSPF 基础

  1. 技术背景(RIP 的问题)
    早期 RIP 因设计局限不适合大规模网络,主要问题:

    • 最大跳数 15,限制网络规模;
    • 30 秒周期性全量更新,浪费带宽;
    • 收敛慢,易产生路由环路;
    • 仅以跳数为度量,选路不精准。
  2. OSPF 协议特点
    OSPF 是链路状态型 IGP,优势显著:

    • 无跳数限制,支持大规模网络;
    • 组播更新(Hello 用 224.0.0.5,DR/BDR 接收 LSU 用 224.0.0.6),节约带宽;
    • 触发更新 + SPF 算法,收敛快且无环路;
    • 以 Cost(与带宽成反比)为度量,选路更科学;
    • 30 分钟周期性刷新 LSA,维持数据库时效性;
    • 核心:传递链路状态信息(而非路由表),各路由器基于 LSDB 独立计算路由。
  3. OSPF 三张核心表

    • 邻居表:记录通过 Hello 报文发现的邻居(含 Router ID、状态等),是建立邻接的基础;
    • 拓扑表(LSDB):存储区域内所有 LSA,描述完整拓扑,区域内路由器 LSDB 需完全同步;
    • 路由表:由 SPF 算法基于 LSDB 计算生成,记录到达目标网络的最佳路径。
  4. OSPF 数据包类型与封装
    封装在 IP 报文中(协议号 89),含 5 种类型:

    • Hello:发现 / 维护邻居(需匹配 Hello/Dead 时间、掩码等);
    • DD:交换 LSDB 摘要(协商同步,含 MTU 信息);
    • LSR:请求缺失的 LSA;
    • LSU:携带完整 LSA(响应 LSR 或泛洪更新);
    • LSAck:确认 LSU,保证可靠传输。
  5. OSPF 工作过程

    • 阶段 1:建立邻居关系:通过 Hello 报文发现邻居,选举 DR/BDR(广播 / NBMA 网络);
    • 阶段 2:同步 LSDB:交换 DD 报文确认差异,用 LSR 请求、LSU 响应、LSAck 确认完成同步;
    • 阶段 3:计算路由:LSDB 同步后进入 Full 状态,运行 SPF 算法生成路由表。
  6. OSPF 状态机
    从邻居发现到完全邻接的状态流转:
    Down→Init→2-Way(邻居关系建立)→ExStart(协商 DD 主从)→Exchange(交换 LSDB 摘要)→Loading(请求 / 接收 LSA)→Full(完全邻接,LSDB 同步)。

  7. Cost 计算

    • 公式:Cost = 参考带宽(默认 100Mbps)/ 链路带宽(Mbps);带宽≥参考带宽时 Cost=1;
    • 建议将参考带宽设为网络最大带宽(如 10000Mbps),避免高带宽链路 Cost 相同。
二、OSPF 区域划分
  1. 划分背景
    单区域网络规模扩大时,LSDB 庞大、SPF 计算复杂、LSA 泛洪耗带宽,故引入区域划分。

  2. 分区好处

    • 限制 LSA 泛洪范围,降低开销;
    • 提高网络可扩展性,便于管理。
  3. 区域类型

    • 骨干区域(Area 0):核心,所有非骨干区域需直接 / 通过虚连接与之相连;
    • 非骨干区域(Area 1,2...):普通接入区域;
    • 特殊区域:Stub、Totally Stub、NSSA、Totally NSSA(优化 LSDB 和路由表)。
  4. 路由器类型

    • 区域内路由器(IR):所有接口属同一区域;
    • 骨干路由器(BR):至少 1 个接口连骨干区域;
    • ABR:连接骨干与非骨干区域,传递区域间路由;
    • ASBR:连接 OSPF 与其他 AS,引入外部路由。
三、LSA(链路状态通告)

LSA 是 OSPF 核心,描述拓扑 / 路由信息,共 6 种主要类型:

类型生成者描述内容泛洪范围
Type-1区域内路由器自身链路状态(直连网段、邻居)本区域
Type-2DR(广播 / NBMA)网段信息及连接的路由器本区域
Type-3ABR区域间路由(网段形式)跨区域(经 ABR 更新)
Type-4ABR到达 ASBR 的路径跨区域
Type-5ASBR外部路由整个 OSPF 域(除特殊区域)
Type-7NSSA 内 ASBRNSSA 区域引入的外部路由仅 NSSA 区域(ABR 转 Type-5)
四、OSPF 网络类型

基于二层链路类型定义,影响邻居发现和 DR 选举:

网络类型应用场景报文发送方式DR/BDR 选举Hello/Dead 时间
广播以太网组播需要10s/40s
P2PPPP/HDLC组播不需要10s/40s
NBMA帧中继 / ATM单播(手动指定邻居)需要30s/120s
P2MP手动修改类型单播(模拟组播)不需要30s/120s
五、OSPF 高级特性
  1. 特殊区域

    • Stub:不接收 Type-4/5 LSA,ABR 下发 Type-3 默认路由;
    • Totally Stub:不接收 Type-3/4/5 LSA,仅 ABR 下发 Type-3 默认路由;
    • NSSA:不接收 Type-4/5 LSA,允许本区域引入外部路由(Type-7),ABR 转 Type-5;
    • Totally NSSA:不接收 Type-3/4/5 LSA,仅 ABR 下发 Type-3 默认路由。
  2. 路由聚合

    • ABR 聚合:将区域内多条 Type-3 LSA 聚合成一条,减少跨区域 LSA;
    • ASBR 聚合:将引入的多条外部路由(Type-5/7)聚合,减少外部 LSA;
    • 自动生成 Null0 黑洞路由防环。
  3. 安全与控制

    • 认证:支持接口 / 区域 / 虚链路认证(明文 / MD5);
    • 静默接口:不发送 Hello 报文,避免与终端建立邻居;
    • 路由控制:通过修改优先级、Cost 调整选路,通过过滤控制 LSA。
  4. 防环与选路

    • 防环:区域内依赖 SPF 算法,区域间依赖 “非骨干区域必连骨干” 原则;
    • 选路优先级:区域内路由 > 区域间路由 > 外部路由(Type-1 > Type-2)。
http://www.lryc.cn/news/608764.html

相关文章:

  • Dify中自定义工具类的类型
  • WebMvc自动配置流程讲解
  • MySQL 索引失效的场景与原因
  • 嵌入式开发学习———Linux环境下IO进程线程学习(二)
  • 04.Redis 的多实例
  • 笔试——Day27
  • 前端面试手撕题目全解析
  • 【数据迁移】Windows11 下将 Ubuntu 从 C 盘迁移到 D 盘
  • Redis——常用指令汇总指南(三)(哈希类型)
  • Odoo OWL前端框架全面学习指南 (后端开发者视角)
  • 三角洲行动ACE反作弊VT-d报错?CPU虚拟化如何开启!
  • GitOps:云原生时代的革命性基础设施管理范式
  • Ubuntu20.04 Carla安装与和Ros联合仿真
  • Ubuntu22.4部署大模型前置安装
  • AI + 云原生:正在引爆下一代应用的技术革命
  • LabVIEW小波变换检测信号断点
  • HCIP笔记(第四章)
  • 悬挂的绳子,它的函数方程是什么样子的?
  • Python Dash 全面讲解
  • 大屏项目展示
  • 基于Springboot+UniApp+Ai实现模拟面试小工具八:管理端基础功能实现
  • RAG与智能体技术全景解析:架构革新、场景落地与未来趋势
  • linux2.6 和 unix-v6 源码实验
  • uni-app学习笔记01-项目初始化及相关文件
  • Java小红书源码1:1还原uniapp_仿小红书源码
  • UniApp 实现顶部固定导航栏 Tab 及滚动变色效果
  • 7.13.B+树
  • io_setup系统调用及示例
  • [AI8051U入门第十五步]W5500实现DHCP自动获取IP
  • UE5的渲染Debug技巧