ospf笔记

一、OSPF 技术定位与优势

1. 路由协议对比分析

  • RIP 的固有缺陷

    受限于 15 跳的最大路由范围,无法支持大规模网络;每 30 秒周期性发送完整路由表,占用大量带宽;以跳数为唯一度量值,无法根据链路实际性能选路;收敛速度慢且易产生路由环路。

  • OSPF 的突破性改进

    彻底摆脱跳数限制,可适配超大规模园区或广域网络;仅通过组播发送变化的路由信息,大幅降低带宽消耗;采用触发式更新机制,实现毫秒级快速收敛;以链路实际开销(COST)为度量,选路更精准;通过 SPF 算法天然避免环路,30 分钟仅周期性更新链路状态摘要(LSA),稳定性更强。

  • 本质区别

    OSPF 传递的是全网拓扑结构图 + 路由信息,路由器可自主计算最优路径;RIP 仅传递路由表条目,路由器被动接收转发。

2. 核心组件解析

(1)三大关键数据表
  • 邻居表:记录所有已发现的邻居路由器信息,包括邻居状态、Router ID 等,是建立通信的基础。
  • 拓扑表(LSDB):即链路状态数据库,存储整个网络的完整拓扑结构,相当于路由器的 "地图库"。
  • 路由表 :通过 SPF 算法从拓扑表中计算出的最优转发路径,可使用 dis ip routing-table pro ospf 命令查看 OSPF 生成的路由。
(2)OSPF 协议数据包(IP 协议号 89)
数据包类型 核心功能 关键特征
Hello(类型 1) 邻居发现、建立与保活 含 10s Hello 间隔、40s Dead 间隔(Hello 的 4 倍)、DR/BDR 信息;组播地址 224.0.0.5
DBD(类型 2) 交换链路状态数据库摘要 携带 LSA 头部信息,主从关系由 Router ID 大的设备决定,通过序列号控制同步
LSR(类型 3) 请求缺失的链路状态信息 用 "类型 + ID + 通告路由器" 三元组精准定位所需 LSA
LSU(类型 4) 发送完整的链路状态更新 可批量携带 LSA;广播网络中 DROTHER 发至 224.0.0.6,DR 转发至 224.0.0.5
LSAck(类型 5) 确认 LSU 接收成功 仅携带需确认的 LSA 头部,轻量高效

二、OSPF 工作流程详解

1. 邻居与邻接关系建立

  • 邻居关系:通过 Hello 报文交互,双方互相识别后进入 2-way 状态(稳定的邻居关系)。
  • 邻接关系 :邻居间完成拓扑数据库同步后建立,需经历四个阶段:
    1. Exstart:协商主从关系,确定数据库同步的 "主导方"
    2. Exchange:交换链路状态数据库摘要(DBD 报文)
    3. Loading:请求缺失的 LSA 并接收更新(LSR/LSU 交互)
    4. Full:拓扑数据库完全同步,进入稳定邻接状态

2. DR/BDR 选举机制

  • 设计目的:在广播型网络(如以太网)中减少邻接关系数量,避免 n (n-1)/2 的冗余连接(n 为路由器数量)。
  • 选举规则
    优先级(0-255,默认 1)高的路由器优先当选;优先级相同则 Router ID 大的胜出。
  • 核心特性:一旦选举完成则无抢占性,仅当原 DR/BDR 失效或重启 OSPF 进程时才会重新选举。
  • 关系规则:DR 和 BDR 与所有路由器建立邻接关系(Full 状态);普通路由器(DROTHER)之间仅维持邻居关系(2-way 状态)。

3. 状态流转与更新机制

  • 状态机流转
    初始 Down → 收到 Hello 但未互认(Init) → 互认邻居(2-way) → 主从协商(Exstart) → 摘要交换(Exchange) → 加载更新(Loading) → 完全同步(Full)。
  • 关键前提:进入 2-way 状态需网络掩码、区域 ID、Hello/Dead 时间等参数一致;进入 Full 状态需 MTU 大小匹配。
  • 拓扑更新逻辑:网络变化时立即触发 LSU 泛洪更新;LSA 老化时间最长 3600 秒,1800 秒周期性重置;通过序列号(越大越新)和校验和(序列号相同时取更大值)判断 LSA 新旧。

三、LSA 链路状态通告

1. LSA 基本结构

头部固定 20 字节,包含链路状态类型、老化时间、链路状态 ID、通告路由器 ID、序列号、校验和等关键标识信息。

2. 六大核心 LSA 类型

类型 名称 通告设备 主要作用 传播范围
1 路由器 LSA 所有 OSPF 路由器 描述本设备在区域内的直连链路(类型、开销等) 仅本区域
2 网络 LSA 广播网络中的 DR 描述广播网络的网段掩码及接入路由器 仅本区域
3 网络汇总 LSA ABR(区域边界路由器) 将其他区域的网段路由传递到本地区域 跨区域传播
4 ASBR 汇总 LSA ABR 告知全网 ASBR(外部路由入口)的位置 跨区域传播
5 AS 外部 LSA ASBR 描述引入的外部路由信息(如静态路由、RIP 路由) 所有区域(特殊区域除外)
7 NSSA 外部 LSA NSSA 区域的 ASBR 在 NSSA 区域内传递外部路由,经 ABR 转为 5 类 LSA 仅 NSSA 区域内部

四、网络类型与配置参数

网络类型 典型应用链路 报文发送方式 是否需要 DR/BDR Hello 间隔 Dead 间隔
Broadcast 以太网、WiFi 组播(224.0.0.5) 10 秒 40 秒
P2P PPP、HDLC 链路 组播 10 秒 40 秒
NBMA 帧中继、X.25 单播(需手动指定邻居) 30 秒 120 秒
P2MP 手动配置的多点链路 模拟组播(需手动指定邻居) 30 秒 120 秒

五、区域规划与设备角色

1. 区域划分原则

  • 骨干区域(Area 0):所有非骨干区域必须直接连接骨干区域,是区域间路由交互的核心,避免路由环路。
  • 非骨干区域:通过 ABR 接入骨干区域;特殊区域(如 Stub、NSSA)可减少 LSA 数量,优化路由表大小。

2. 路由器角色分类

  • IR(区域内路由器):所有接口均属于同一 OSPF 区域,仅参与本区域的路由计算。
  • BR(骨干路由器):至少有一个接口属于骨干区域(Area 0),参与骨干区域的路由交互。
  • ABR(区域边界路由器):连接骨干区域和非骨干区域,负责生成 3 类、4 类 LSA,实现区域间路由传递。
  • ASBR(自治系统边界路由器):连接 OSPF 自治系统与外部网络,引入外部路由,生成 5 类、7 类 LSA。

六、路由开销(COST)计算

  • 参考带宽:默认 100Mbps,建议根据网络实际最高带宽调整(如千兆网络设为 1000Mbps)。
  • 计算方式
    当链路带宽≥参考带宽时,COST=1;
    当链路带宽 < 参考带宽时,COST = 参考带宽 ÷ 链路带宽(单位:Mbps)。
  • 实例:千兆以太网(1000Mbps)、百兆以太网(100Mbps)默认 COST 均为 1;十兆以太网(10Mbps)COST=10。

七、实战问题解决(MGRE 场景)

  • 邻接关系无法建立
    若 Tunnel 接口默认设为 P2P 类型,需手动修改为 broadcast 或 P2MP 类型(配置命令:ospf network-type broadcast)。
  • DR/BDR 选举冲突
    分支站点路由器 DR 优先级设为 0(不参与选举),确保中心站点路由器成为唯一 DR,避免分支间冗余交互。
相关推荐
摇滚侠14 分钟前
Spring Boot 3零基础教程,WEB 开发 通过配置类代码方式修改静态资源配置 笔记32
java·spring boot·笔记
聪明的笨猪猪2 小时前
Java JVM “内存(1)”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
_dindong2 小时前
Linux网络编程:Socket编程TCP
linux·服务器·网络·笔记·学习·tcp/ip
摇滚侠3 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 属性优先级 行内写法 变量选择 笔记42
java·spring boot·笔记
摇滚侠3 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 总结 热部署 常用配置 笔记44
java·spring boot·笔记
rechol4 小时前
汇编与底层编程笔记
汇编·arm开发·笔记
lzj_pxxw5 小时前
嵌入式开发技巧:舍弃标志位,用宏定义函数实现程序单次运行
笔记·stm32·单片机·嵌入式硬件·学习
润 下5 小时前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生
朝新_5 小时前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee
koo3645 小时前
李宏毅机器学习笔记27
人工智能·笔记·机器学习