目录
[一、OSPF 协议概述](#一、OSPF 协议概述)
[1. 定义与版本](#1. 定义与版本)
[2. 核心特征](#2. 核心特征)
[三、OSPF 报文类型(封装在 IP 中,协议号 89)](#三、OSPF 报文类型(封装在 IP 中,协议号 89))
[四、OSPF 网络类型](#四、OSPF 网络类型)
[1. 邻居状态机](#1. 邻居状态机)
[2. 建立过程](#2. 建立过程)
[六、DR 与 BDR(仅 MA/NBMA 网络)](#六、DR 与 BDR(仅 MA/NBMA 网络))
[1. 作用](#1. 作用)
[2. 选举规则](#2. 选举规则)
[1. 区域规则](#1. 区域规则)
[2. 路由器类型](#2. 路由器类型)
[八、核心 LSA 类型(关键特性)](#八、核心 LSA 类型(关键特性))
[九、OSPF 特殊区域(减少 LSDB 和路由表规模)](#九、OSPF 特殊区域(减少 LSDB 和路由表规模))
[1. 路由类型及优先级](#1. 路由类型及优先级)
[2. 计算流程](#2. 计算流程)
[3. 路由聚合](#3. 路由聚合)
[十一、OSPFv2 与 OSPFv3 对比](#十一、OSPFv2 与 OSPFv3 对比)
[十二、OSPF 配置核心步骤](#十二、OSPF 配置核心步骤)
[1. 常见故障排查](#1. 常见故障排查)
[2. 虚连接(vlink)](#2. 虚连接(vlink))
[3. 外部路由引入](#3. 外部路由引入)
[4. Router ID 配置建议](#4. Router ID 配置建议)
一、OSPF 协议概述
1. 定义与版本
- 开放式最短路径优先(OSPF),IETF 定义的链路状态路由协议。
- 版本演进:OSPFv2(IPv4,RFC 2328)、OSPFv3(IPv6,RFC 2740)。
2. 核心特征
- 收敛速度快,支持大规模网络,适配企业级场景。
- 支持 VLSM、CIDR、手工路由聚合和不连续子网。
- 报文采用组播 / 单播发送,支持等价负载均衡。
- 区域划分减少 SPF 计算频率、LSDB 规模和更新开销,隔离网络不稳定。
- 采用 Cost 作为度量标准(默认 10⁸/ 接口带宽),维护邻居表、LSDB、路由表。
- 支持区域 / 接口验证,触发更新,30 分钟链路状态刷新。
二、关键术语
| 术语 | 核心定义 |
|---|---|
| 链路状态(Link State) | 描述路由器接口及与邻居的关系(类型、IP、邻居、带宽),构成 LSDB |
| 区域(Area) | 按接口划分,同一区域 LSDB 相同,Area 0 为骨干区域,其他区域必须连接骨干 |
| 自治系统(AS) | 采用同一种路由协议交换信息的路由器及网络集合 |
| LSA | 链路状态通告,描述路由器 / 链路状态,不同类型 LSA 作用范围不同 |
| SPF 算法 | 即 Dijkstra 算法,以自身为根计算到目的网络的最优路由 |
| Router ID | 路由器唯一标识(32 比特),手动配置优先,否则取最大 Loopback / 物理接口 IP |
三、OSPF 报文类型(封装在 IP 中,协议号 89)
- Hello 报文:发现 / 建立邻居,Keepalive 检测邻居状态。
- DD 报文:描述本地 LSDB,让邻居判断 LSA 完整性。
- LSR 报文:请求缺失的 LSA(基于 DD 报文识别)。
- LSU 报文:响应 LSR,泛洪同步 LSA。
- LSACK 报文:确认收到的 LSA,保证可靠性。
四、OSPF 网络类型
| 网络类型 | 特点 | 举例 | 选举 DR | Hello 周期 | Dead 时间 | 邻居发现 |
|---|---|---|---|---|---|---|
| 广播多路访问 | 共享介质,支持广播 / 组播 | 以太网 | 是 | 10 秒 | 40 秒 | 自动 |
| 非广播多路访问(NBMA) | VC 互连,不支持广播 / 组播 | 帧中继(已淘汰) | 是 | 30 秒 | 120 秒 | 手动配置 |
| 点到点(P2P) | 仅两台路由器互连 | PPP、HDLC | 否 | 10 秒 | 40 秒 | 自动 |
| 点到多点(P2MP) | 多个 P2P 集合 | 手动配置的帧中继 | 否 | 30 秒 | 120 秒 | 自动 |
五、邻居关系与邻接关系
1. 邻居状态机
Down → Init → 2-way → ExStart → Exchange → Loading → Full
2. 建立过程
- 邻居关系(2-way 状态):通过 Hello 报文协商参数,双向确认邻居。
- 邻接关系(Full 状态):同步 LSDB,仅 P2P 网络或 MA 网络中 DR/BDR 与其他路由器建立。
六、DR 与 BDR(仅 MA/NBMA 网络)
1. 作用
- DR:维护邻接关系,同步 LSA,减少邻接数量和资源消耗。
- BDR:DR 失效时快速接管,避免网络中断。
2. 选举规则
- 基于接口优先级(0-255,0 不参与选举),优先级高者优先。
- 优先级相同,Router ID 大的优先。
- 不具备抢占性,需重启 OSPF 进程或接口优先级设为 0 触发重选举。
七、区域划分与路由器类型
1. 区域规则
- 两级结构:骨干区域(Area 0)+ 非骨干区域。
- 非骨干区域必须连接 Area 0,区域间路由通过 ABR 转发,避免环路。
2. 路由器类型
- 内部路由器(IR):所有接口在同一区域。
- 骨干路由器(BR):至少一个接口在 Area 0。
- 区域边界路由器(ABR):连接多个区域,转发区域间路由。
- 自治系统边界路由器(ASBR):连接 OSPF AS 与外部网络,引入外部路由。
八、核心 LSA 类型(关键特性)
| LSA 类型 | 通告者 | 核心内容 | 传播范围 |
|---|---|---|---|
| Type 1(Router LSA) | 所有路由器 | 本区域内的链路状态 / 开销 | 本区域 |
| Type 2(Network LSA) | DR | MA 网络及连接的路由器 | 本区域 |
| Type 3(Network-summary LSA) | ABR | 区域间路由信息 | 非 Stub/NSSA 区域 |
| Type 4(ASBR-summary LSA) | ABR | 到 ASBR 的路由 | 非 Stub/NSSA 区域 |
| Type 5(AS-external LSA) | ASBR | 外部网络路由 | 非 Stub/NSSA 区域 |
| Type 7(NSSA LSA) | NSSA 区域 ASBR | 外部网络路由 | 仅 NSSA 区域(ABR 可转 Type 5) |
九、OSPF 特殊区域(减少 LSDB 和路由表规模)
| 区域类型 | 禁止 LSA | 访问外部 / 其他区域方式 | 配置要点 |
|---|---|---|---|
| Stub | Type 4、5 | ABR 发布的 Type 3 默认路由 | area X stub |
| Totally Stub | Type 3、4、5 | ABR 发布的 Type 3 默认路由 | area X stub no-summary |
| NSSA | Type 4、5 | 自身 ASBR 引入外部路由(Type 7),ABR 转 Type 5 | area X nssa |
| Totally NSSA | Type 3、4、5 | ABR 发布的 Type 3 默认路由 + 自身外部路由 | area X nssa no-summary |
十、路由计算
1. 路由类型及优先级
- 区域内路由(Intra Area):优先级 10。
- 区域间路由(Inter Area):优先级 10。
- 第一类外部路由(Type 1):Cost=AS 内 + AS 外开销,优先级 150。
- 第二类外部路由(Type 2):Cost=AS 外开销,优先级 150。
2. 计算流程
- 域内路由:基于 Type 1、2 LSA,通过 SPF 算法构建最短路径树。
- 域间路由:基于 Type 3 LSA,ABR 聚合后转发。
- 外部路由:基于 Type 5(或 Type 7 转 Type 5)LSA,ASBR 引入。
3. 路由聚合
- ABR 聚合:在 ABR 上对区域间路由聚合(abr-summary 命令)。
- ASBR 聚合:在 ASBR 上对外部路由聚合(asbr-summary 命令)。
- 作用:减小路由表规模,隔离路由振荡。
十一、OSPFv2 与 OSPFv3 对比
相同点
- 链路状态协议,SPF 算法,度量值计算一致。
- 支持区域分级、相同的区域 / 路由器 / 网络类型。
- 报文类型、邻居建立、DR/BDR 选举机制相同。
不同点
| 对比项 | OSPFv2 | OSPFv3 |
|---|---|---|
| 适用协议 | IPv4 | IPv6 |
| 运行基础 | 基于网络 | 基于链路 |
| 地址类型 | IPv4 地址 | IPv6 链路本地地址 |
| 组播地址 | 224.0.0.5/6 | FF02::5/6 |
| 配置方式 | network 命令 | 接口下直接使能 |
| 验证机制 | 自身支持(MD5 等) | 依赖 IPv6 安全机制 |
| LSA 扩展 | 无 Type 8、9 LSA | 新增链路 LSA(Type 8)、区域内前缀 LSA(Type 9) |
| 多实例 | 不支持 | 支持(Instance ID) |
十二、OSPF 配置核心步骤
- 启动 OSPF 进程:ospf [process-id] router-id X.X.X.X。
- 配置区域:area X。
- 使能接口:network 网络地址 反掩码(或接口下 ospf enable)。
- 可选配置:DR 优先级、Hello/Dead 时间、验证模式、聚合、特殊区域。
- 验证配置:display ospf peer(邻居)、display ospf lsdb(LSDB)、display ospf routing(路由表)。
补充知识点(课件延伸)
1. 常见故障排查
- 邻居无法建立:检查接口 IP 是否在同一网段、Hello/Dead 时间是否一致、验证配置是否匹配、接口是否 silent。
- LSDB 不同步:检查 LSA 是否完整(display ospf lsdb)、是否存在路由过滤、特殊区域配置是否一致。
- 路由缺失:检查聚合配置是否误过滤、外部路由是否正确引入(import-route)、虚连接是否正常(跨区域访问时)。
2. 虚连接(vlink)
- 作用:解决非骨干区域无法直接连接 Area 0 的问题,模拟骨干链路。
- 配置:在两个 ABR 的共同区域下,vlink-peer 对方 Router ID。
3. 外部路由引入
- 命令:ospf [process-id] import-route static/rip/bgp(引入其他协议路由)。
- 转发地址(Forwarding Address):优化外部路由转发,避免次优路径。
4. Router ID 配置建议
- 手动配置 Loopback 接口 IP 作为 Router ID,稳定性更高(物理接口可能 Down)。
- 重新配置 Router ID 后,需 reset ospf process 生效。