OSPF笔记整理

一、OSPF 基础特性

1. 技术背景(对比 RIP)

  • RIP 的缺陷:最大跳数 15 限制、周期性发送全路由表(占用带宽)、收敛慢、以跳数为度量值、易产生环路、30 秒更新间隔。
  • OSPF 的改进:无跳数限制(支持大规模组网)、组播更新变化的路由信息、收敛快(触发更新)、以 Cost 为度量值、用 SPF 算法防环、30 分钟周期性更新 LSA(链路状态通告)。

2. 核心特点

  • 传递拓扑信息和路由信息(RIP 仅传递路由表)。
  • 协议号为 89,报文直接封装在 IP 报文中。
  • 广泛应用于互联网,是主流路由协议。

二、OSPF 核心组件

1. 三张关键表

  • 邻居表:记录邻居路由器的状态和关系(如邻居 ID、地址、状态)。
  • 拓扑表(LSDB,链路状态数据库):存储全网链路状态信息(LSA),是 SPF 算法计算路由的基础。
  • 路由表 :由 SPF 算法计算生成,记录最优路由(通过dis ip routing-table pro ospf查看)。

2. 五种报文类型

报文类型 类型值 作用 关键字段 / 特性
Hello 报文 1 发现 / 建立 / 保活邻居关系 包含网络掩码、Hello 间隔(默认 10s)、Dead 间隔(默认 40s)、DR/BDR 信息、邻居 Router-ID 等;组播地址 224.0.0.5。
DBD(数据库描述报文) 2 交换 LSDB 中 LSA 的摘要信息 含 LSA 头部(摘要)、DD 序列号(确保传输有序)、主从标识(Master 由 Router-ID 大的路由器担任)。
LSR(链路状态请求报文) 3 请求本地缺少或更新的 LSA 携带 "LSA 三元组"(链路状态类型、链路状态 ID、通告路由器),唯一标识需请求的 LSA。
LSU(链路状态更新报文) 4 发送请求的完整 LSA 可包含多个 LSA;MA 网络中,DROTHER 向 224.0.0.6(DR/BDR 监听)发送,DR 再向 224.0.0.5(所有 OSPF 路由器监听)泛洪。
LSAck(链路状态确认报文) 5 确认收到 LSU 包含需确认的 LSA 头部(20 字节 / 个)。

3. LSA(链路状态通告)

(1)LSA 头部(20 字节)

  • 包含:链路状态类型、老化时间(最大 3600s,1800s 周期归零)、链路状态 ID、通告路由器(Router-ID)、序列号(判断新旧)、校验和等。

(2)6 种核心 LSA 类型

类型 名称 通告者 传输范围 描述内容
Type 1 路由器 LSA 所有路由器 本区域内 描述路由器直连链路(类型、Cost 等),含链路 ID、链路数据、链路类型(如 P2P、广播网、末梢网)。
Type 2 网络 LSA DR(指定路由器) 本区域内 描述广播 / NBMA 网络中所有路由器的链路及掩码,LS ID 为 DR 的 IP 地址。
Type 3 网络汇总 LSA ABR(区域边界路由器) 跨区域(仅相邻区域) 描述其他区域的网段路由,以子网形式传播。
Type 4 ASBR 汇总 LSA ABR 全 OSPF 域 描述 ASBR(自治系统边界路由器)的位置,LS ID 为 ASBR 的 Router-ID。
Type 5 AS 外部 LSA ASBR 全 OSPF 域(特殊区域除外) 描述引入的外部路由(如其他 AS 的路由)。
Type 7 NSSA 外部 LSA NSSA 区域的 ASBR 仅 NSSA/Totally NSSA 区域 描述 NSSA 区域引入的外部路由,ABR 会将其转换为 Type 5 LSA 通告到其他区域。

三、OSPF 工作机制

1. 邻居与邻接关系建立

  • 邻居关系:通过 Hello 报文交互,双方互相发现(状态为 2-way)。
  • 邻接关系:邻居间同步 LSDB 后形成(状态为 Full),仅在需要交换 LSA 的路由器间建立(如 DR 与所有路由器、BDR 与所有路由器)。

2. DR/BDR 选举(广播 / NBMA 网络)

  • 目的:减少邻接关系数量(避免 n (n-1)/2 的复杂度),优化路由信息交换。
  • 规则:优先级(0-255,默认 1)高者优先;优先级相同则 Router-ID 大的优先。
  • 特性:无抢占性,需原 DR/BDR 失效或重置 OSPF 进程才会重新选举。
  • 关系:DR 与 BDR、DR 与 DROTHER(非 DR/BDR)、BDR 与 DROTHER 为邻接关系;DROTHER 之间仅为邻居关系(2-way)。

3. 工作流程

  1. 建立邻居:通过 Hello 报文确认可达性,选举 DR/BDR。
  2. 同步 LSDB:邻接路由器交换 DBD(LSA 摘要)→ 发送 LSR 请求缺失 LSA → 用 LSU 发送完整 LSA → 用 LSAck 确认。
  3. 计算路由:基于 LSDB,通过 SPF 算法计算最短路径,生成路由表。

4. 状态机(邻居 / 邻接关系转换)

  • 邻居状态:Down(初始)→ Init(收到 Hello 但未确认)→ 2-way(双方确认,稳定状态)。
  • 邻接状态:Exstart(协商主从)→ Exchange(交换 LSA 摘要)→ Loading(请求 / 接收 LSA)→ Full(LSDB 同步,稳定状态)。
  • 关键条件:2-way 需 Router-ID 无冲突、掩码 / 区域 ID/Hello 间隔 / Dead 间隔一致;Full 需 MTU 一致、网络类型一致。

四、区域划分与特殊区域

1. 基本区域规则

  • 骨干区域(Area 0):所有非骨干区域必须与之直接相连,避免区域间环路。
  • 非骨干区域:不能直接相连,需通过骨干区域通信。
  • 路由器类型:IR(区域内)、BR(骨干)、ABR(连接骨干与非骨干)、ASBR(连接外部 AS)。

2. 特殊区域(减少 LSA 泛洪,优化路由表)

区域类型 特征 禁止的 LSA 缺省路由 配置命令
Stub(末梢区域) 无 ASBR,不接收外部路由 Type 4/5 ABR 自动下发 Type 3 缺省(优先级 10) area X stub
Totally Stub(完全末梢) 不接收外部及其他区域路由 Type 3/4/5 ABR 自动下发 Type 3 缺省 area X stub no-summary
NSSA(非纯末梢) 有 ASBR,可引入外部路由(Type 7) Type 4/5 华为自动下发 Type 7 缺省(优先级 150) area X nssa
Totally NSSA(完全非纯末梢) 不接收其他区域及外部路由(除本区域引入) Type 3/4/5 ABR 下发 Type 3 缺省 area X nssa no-summary

五、路由聚合与防环

1. 路由聚合(手动聚合 LSA,减少路由条目)

  • ABR 聚合(Type 3 LSA) :在 ABR 上对区域内路由聚合后发布到其他区域,命令:area X abr-summary 网络地址 掩码。
  • ASBR 聚合(Type 5/7 LSA) :在 ASBR 上对引入的外部路由聚合,命令:asbr-summary 网络地址 掩码。
  • 聚合后会生成黑洞路由,防止环路。

2. 防环机制

  • 区域内:通过 SPF 算法(最短路径优先)计算无环路由。
  • 区域间:严格遵循 "非骨干区域必须连接骨干区域" 的划分原则,避免环路。

六、高级配置与优化

1. 网络类型(影响 DR 选举、报文发送方式)

网络类型 适用场景 DR/BDR 选举 Hello 间隔 Dead 间隔 报文发送方式
Broadcast(广播) 以太网 是 10s 40s 组播(224.0.0.5)
P2P(点到点) PPP 链路 否 10s 40s 组播
NBMA(非广播多点可达) 帧中继 是 30s 120s 单播(需手动指定邻居)
P2MP(点到多点) 手动配置(如从 NBMA 转换) 否 30s 120s 模拟组播(需手动指定邻居)

2. 安全与过滤

  • 认证 :区域认证(area X authentication-mode md5 密钥)、接口认证(interface X ospf authentication-mode md5 密钥),接口认证优先级更高。
  • 静默接口 :禁止接口发送 OSPF 报文(silent-interface 接口),避免路由信息泄露。
  • 路由过滤 :通过 ACL 在进口(filter-policy ACL import)或出口(area X filter ACL export)过滤 LSA,影响下游路由。

3. 收敛优化

  • 调整 Hello 间隔(ospf timer hello X)和 Dead 间隔(ospf timer dead X)。
  • 修改重传时间(默认 5s,ospf timer retransmit X)。
  • 统一参考带宽(bandwidth-reference X),确保 Cost 计算准确(Cost = 参考带宽 / 链路带宽,默认参考带宽 100M)。

4. 缺省路由

  • Type 3 缺省:特殊区域(Stub/Totally Stub)由 ABR 自动下发。
  • Type 5 缺省 :ASBR 手动配置(default-route-advertise),优先级 150。
  • Type 7 缺省:NSSA 区域由 ABR 下发(华为自动,华三需手动)。

七、常见问题与故障

  • 邻居关系建立失败:Router-ID 冲突、区域 ID 不一致、认证密码不匹配、掩码 / Hello 间隔 / Dead 间隔不一致、特殊区域标记不一致、无 DR(所有路由器优先级为 0)。
  • 邻接状态卡壳:MTU 不一致(卡在 Exstart/Exchange)、网络类型不一致(状态 Full 但无法学习路由)。
  • LSA 更新异常:序列号或校验和错误、老化时间超时(3600s)。
相关推荐
一条泥憨鱼1 小时前
【从0开始学习计算机网络】| ARP 协议:地址解析,ARP 欺骗,链路层寻址
网络·后端·学习·计算机网络
m0_715674431 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
大数据·网络·人工智能·网络安全
Tech探索者2 小时前
没有公网 IP、不会端口映射?用 Natfrp 轻松远程访问家中 NAS
网络协议·tcp/ip·智能路由器
Go Work2 小时前
2026 Cadence SPB 24.1中文版安装图文详解(附安装包)
经验分享·笔记
ACP广源盛139246256732 小时前
HDMI2.0 转 DP1.4 桥接方案评估:国产 GSV2125C@ACP 芯片选型笔记
笔记·硬件架构·hdmi·type-c·国产芯片
dog2502 小时前
带宽,时延,抖动的不可能三角
网络·tcp/ip
龙仔7252 小时前
RustDesk 自建服务器 Key 强校验配置笔记
运维·服务器·笔记
砚凝霜3 小时前
【软考信息安全】第十六章 网络安全风险评估过程与技术方法
网络·安全·web安全
悟乙己3 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:赛题解析(一)
笔记·学习·金融
Eloudy3 小时前
MLNX_OFED 的 install.pl 安装流程分析
网络·rdma·roce