OSPF(Open Shortest Path First)

OSPF 是典型的链路状态 IGP 协议,基于 SPF(Dijkstra)算法计算最短路径,支持 VLSM/CIDR、快速收敛、区域化设计,是企业网络中最常用的 IGP。

基本原理

  1. 建立邻居关系:交互 Hello 报文
  2. 同步链路状态数据库(LSDB):交换 LSA
  3. 每台路由器以自己为根运行 SPF 算法
  4. 生成无环路由表

度量(Cost):默认 = 10^8 / 带宽(bps)。如 GE 口 Cost=1,FE 口 Cost=100。可在接口手工修改。

报文类型

报文作用
Hello发现/维持邻居(10s 周期,Dead 40s)
DBD数据库摘要,同步 LSDB
LSR请求缺失的 LSA
LSU发送完整 LSA
LSAck确认收到 LSA

邻居状态机

Down → Init → 2-Way → ExStart → Exchange → Loading → Full
  • 2-Way:邻居关系建立(广播网中 DR/BDR 选举完成)
  • Full:邻接关系建立,LSDB 同步完成
  • 邻居(Neighbor)≠ 邻接(Adjacency):广播网中 DROther 之间只到 2-Way

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

  • 避免 n 台路由器建立 n(n-1)/2 条邻接,通过 DR/BDR 星型连接
  • 选举规则:优先级(默认 1,0 不参与)→ Router ID 大者胜
  • 不抢占:DR/BDR 稳定后即使出现更优设备也不重新选举

区域与 LSA

区域设计

  • 骨干区域 Area 0:所有非骨干区域必须与 Area 0 相连
  • 区域边界路由器 ABR:连接 Area 0 与其他区域
  • 自治系统边界路由器 ASBR:引入外部路由
  • 区域隔离 LSDB,减少 SPF 计算量

LSA 类型

类型名称产生者内容
1Router LSA每台路由器本路由器接口/邻居
2Network LSADR广播网段内路由器
3Network Summary LSAABR区域间路由
4ASBR Summary LSAABR通告 ASBR 位置
5AS External LSAASBR外部路由
7NSSA External LSAASBR(NSSA 内)NSSA 外部路由

特殊区域

区域类型允许 LSA用途
Stub1/2/3末梢区域,无外部路由,减少资源
Totally Stub1/2 + 默认 3更严格,只留默认路由
NSSA1/2/3/7允许引入外部路由的 Stub
Totally NSSA1/2 + 默认 3/7最常用设计

华为配置示例

[Huawei] ospf 1 router-id 1.1.1.1
[Huawei-ospf-1] area 0
[Huawei-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255

network x.x.x.x 反掩码 宣告接口网段;也可用 silent-interface 屏蔽终端口。

认证(区域认证):

[Huawei-ospf-1] area 0
[Huawei-ospf-1-area-0.0.0.0] authentication-mode md5 1 cipher HUAWEI

验证命令

<Huawei> display ospf peer                 // 邻居状态(应 Full)
<Huawei> display ospf brief                // 区域、Router ID、接口
<Huawei> display ospf lsdb                 // 查看 LSDB
<Huawei> display ospf routing              // OSPF 路由
<Huawei> display ospf error                // 报文错误统计(排错用)

常见排错

现象检查点
邻居卡在 Init/ExStart检查 MTU、Router ID、区域/掩码不一致
邻居卡在 2-Way广播网中 DROther 之间正常,检查是否为 DR/BDR 邻接
卡在 Loading检查 LSA 校验、认证、MTU(华为默认忽略 MTU,需显示配置)
路由不优选检查 Cost、区域类型、路由优先级

与 RIP 对比

特性OSPFRIP
算法链路状态 SPF距离矢量
度量Cost(带宽)跳数(≤15)
收敛快慢
无环天然无环需防环机制
扩展性区域化,适合大型网络小型网络

🔗 相关笔记:03.04_路由基础与静态路由 03.07_IS-IS 03.08_BGP