1. OSPF概述

  • 定义:OSPF(Open Shortest Path First)是链路状态型IGP协议,基于Dijkstra算法计算最短路径。
  • 版本:OSPFv2(IPv4)、OSPFv3(IPv6)。
  • 特点
    • 无环路(SPF算法保证)。
    • 支持VLSM/CIDR。
    • 触发更新(增量更新)。
    • 分层设计(Area区域划分)。
    • 协议号89,组播地址224.0.0.5/224.0.0.6

2. OSPF基本概念

  • Router ID
    • 唯一标识一台OSPF路由器,格式类似IP地址(如1.1.1.1)。
    • 手动配置 > 最大Loopback地址 > 最大物理接口地址。
  • 区域(Area)
    • 分层设计减少LSDB规模,Area 0为骨干区域,其他非骨干区域必须与Area 0直连。
  • Cost值
    • 接口开销=参考带宽(默认100Mbps)/接口带宽,值越小路径越优。
    • 示例:
      • 100Mbps 接口:Cost=100M/100M=1
      • 1Gbps 接口:Cost=100M/1000M=0.1→取整为 1

3.Loopback接口

  • Loopback 接口特点

    • 永远 UP 状态:除非手动 shutdown,否则 Loopback 接口始终处于 UP 状态

    • 唯一标识:常用于 BGP/OSPF 等路由协议的 Router-ID

    • 高可用性:作为设备管理地址或路由协议的稳定端点

    • 多实例支持:可创建多个 Loopback 接口,编号范围 0-4294967295

  • 配置步骤

1
2
[Huawei]interface loopback 0  # 创建Loopback 0接口
[Huawei-LoopBack0]ip address 192.168.1.1 32 # 配置32位掩码IP地址

4. Cost值

  • 定义

    • OSPF(Open Shortest Path First)中衡量路径优劣的关键参数

    • 用于构建最短路径树(SPF Tree),选择最优路由

    • 路径 Cost = 沿途所有出接口Cost 之和

  • 接口 Cost 手动配置

1
2
[Huawei] interface GigabitEthernet 0/0/1	# 进入g0/0/1接口
[Huawei-GigabitEthernet0/0/1] ospf cost 10 # 修改g0/0/1接口ospf协议的cost值
  • 查看接口 Cost
1
<Huawei> display ospf interface GigabitEthernet 0/0/1	# 查看g0/0/1接口的ospf协议详细信息

5. OSPF五种报文详解

OSPF通过以下五种报文实现邻居建立和链路状态同步:

报文类型 作用 关键字段/说明
Hello 发现和维护邻居关系 Router ID、Area ID、Hello/Dead间隔、DR/BDR信息。参数不一致会导致邻居建立失败。
DBD 描述本地LSDB摘要(LSA头部) 主从路由器通过DBD序列号同步,携带MTU(华为默认不检查)。
LSR 请求缺失的LSA信息 指定请求的LSA类型、Link State ID和通告路由器。
LSU 携带完整的LSA信息 包含一个或多个LSA(如Type 1/2/3),根据LSA类型泛洪到不同区域。
LSAck 确认收到的LSA(确保可靠性) 通过单播或组播(224.0.0.5)确认,超时未确认会触发LSU重传。

交互流程

  1. 邻居发现:Hello报文协商参数。
  2. 数据库同步:DBD交换摘要 → LSR请求缺失项 → LSU发送完整LSA → LSAck确认。
  3. 维护:Hello保活,拓扑变化时触发LSU更新。

6. OSPF LSA类型详解

LSA是OSPF链路状态数据库(LSDB)的核心组件,不同LSA负责描述不同范围的拓扑信息:

LSA类型 名称 产生者 泛洪范围 作用
Type 1 Router LSA 每台路由器 本区域内 描述路由器所有接口的链路状态和Cost值。
Type 2 Network LSA DR 本区域内 描述广播/NBMA网络中所有路由器的列表。
Type 3 Network Summary LSA ABR 相邻区域 汇总区域间的路由(如Area 1→Area 0)。
Type 4 ASBR Summary LSA ABR 除ASBR所在区域外 告诉其他区域如何到达ASBR。
Type 5 AS External LSA ASBR 整个AS(除Stub区域) 描述外部路由(如引入的静态/RIP路由)。
Type 7 NSSA External LSA NSSA ASBR 仅NSSA区域内 NSSA区域内的外部路由,由ABR转Type 5。

关键区别

  • Type 1/2:描述区域内拓扑,Type 3/4:描述区域间路由,Type 5/7:描述外部路由。
  • 特殊区域限制
    • Stub区域:阻止Type 5,ABR下发默认路由(Type 3)。
    • NSSA区域:允许Type 7,禁止Type 5。

7. OSPF邻居建立过程

  1. Down → Init:收到Hello包但未包含自己的Router ID。
  2. 2-Way:双向通信建立(DR/BDR选举在此阶段完成)。
  3. ExStart:通过DBD报文选举主从路由器(Router ID大的为主)。
  4. Exchange:主路由器发送DBD摘要,从路由器确认。
  5. Loading:通过LSR/LSU同步缺失的LSA。
  6. Full:邻接关系建立,LSDB完全同步。

8. DR与BDR选举

  • 目的:减少MA网络(如以太网)中的邻接关系数量。
  • 选举规则
    1. 优先级高的路由器(默认1,0表示不参与选举)。
    2. Router ID大的优先。
  • 注意
    • 选举非抢占,重启后生效。
    • DR与BDR与所有路由器建立Full关系,DROther间保持2-Way。

9. DR/BDR vs 主/从选举

对比项 DR/BDR选举 主/从选举
发生时机 2-Way状态后 Exstart状态
目的 减少泛洪流量 确保DD报文有序同步
依据 接口优先级 > RID 仅比较RID

10. OSPF配置与排查

基础配置

1
2
3
4
5
6
7
8
9
10
11
# 启用OSPF进程
[Huawei] ospf 1 router-id 1.1.1.1

# 进入区域0
[Huawei-ospf-1] area 0

# 宣告直连网络(反掩码格式)
[Huawei-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

# 修改接口优先级(可选,用于DR选举)
[Huawei-GigabitEthernet0/0/1] ospf dr-priority 10

排查命令

1
2
3
4
display ospf peer                  # 查看邻居状态
display ospf lsdb # 查看链路状态数据库
display ospf routing # 查看OSPF路由表
display ospf interface GigabitEthernet0/0/1 # 检查接口OSPF信息

11. 常见问题

  • 邻居无法建立
    • 检查Hello/Dead间隔是否一致。
    • 检查区域ID、认证密码是否匹配。
    • 检查网络类型(Broadcast/NBMA/P2P)是否一致。
  • 路由缺失
    • 确认区域间路由通过ABR传递。
    • 检查是否有area x stub等特殊区域配置。