一、OSPF 基础概念
1.1 静态路由与动态路由对比
特性 | 静态路由 | 动态路由 |
---|
配置复杂度 | 简单(手动配置) | 复杂(需协议配置) |
资源消耗 | 低(不占用带宽、CPU、内存) | 高(需路由计算和信息交换) |
适应性 | 固定路径,无法自动调整 | 自动适应拓扑变化 |
安全性 | 高(无协议暴露,避免路由欺骗) | 低(可能受协议漏洞攻击) |
适用规模 | 小型 / 稳定网络 | 中大型 / 复杂网络 |
1.2 OSPF 基本概念
- 定义:开放式最短路径优先协议(Open Shortest Path First),基于链路状态算法(LS)的内部网关协议(IGP)。
- 特点:
- 支持无类路由(携带子网掩码)。
- 使用组播地址
224.0.0.5
(所有 OSPF 设备)和 224.0.0.6
(DR/BDR)。 - 结构化部署(区域划分)减少 LSA 泛洪。
- 区域划分原则:
- 必须存在区域边界路由器(ABR)。
- 采用星形拓扑,骨干区域(Area 0)连接所有非骨干区域。
1.3 OSPF 数据包类型
- Hello 包:发现、建立和保活邻居关系,携带 RID、区域 ID、Hello 时间等参数。
- DBD 包:链路状态数据库描述包,携带 LSDB 摘要信息。
- LSR 包:链路状态请求包,请求缺失的 LSA。
- LSU 包:链路状态更新包,携带具体的 LSA 信息。
- LSACK 包:链路状态确认包,确保 LSA 传输可靠性。
1.4 OSPF 状态机
- Down:初始状态,未收到 Hello 包。
- Init:收到 Hello 包,但未包含自身 RID。
- 2-Way:双向通信建立,完成邻居关系(条件匹配开始)。
- Exstart:主从关系选举,确定 DBD 包发送顺序。
- Exchange:交换 DBD 包,同步 LSDB 摘要。
- Loading:请求并接收缺失的 LSA。
- Full:邻接关系建立完成,LSDB 同步。
1.5 OSPF 基础配置
# 启动 OSPF 进程并指定 RID
[router] ospf 1 router-id 1.1.1.1# 宣告接口到区域
[router-ospf-1] area 0.0.0.0
[router-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 # 范围宣告
[router-ospf-1-area-0.0.0.0] network 192.168.1.1 0.0.0.0 # 精准宣告
二、OSPF 拓展配置
2.1 认证配置
2.1.1 接口认证
# 在接口下配置 MD5 认证
[router-GigabitEthernet0/0/0] ospf authentication-mode md5 1 cipher 123456
2.1.2 区域认证
# 在区域下配置 MD5 认证(批量应用到区域内所有接口)
[router-ospf-1-area-0.0.0.0] authentication-mode md5 1 cipher 123456
2.1.3 虚链路认证
# 在虚链路所在区域配置认证
[router-ospf-1-area-0.0.0.2] vlink-peer 5.5.5.5 md5 1 cipher 123456
2.2 加快收敛
2.2.1 计时器修改
# 修改 Hello 时间(Dead 时间自动变为 4 倍)
[router-GigabitEthernet0/0/0] ospf timer hello 2# 单独修改 Dead 时间
[router-GigabitEthernet0/0/0] ospf timer dead 10# 修改重传时间
[router-GigabitEthernet0/0/0] ospf timer retransmit 3# 修改传输延迟
[router-GigabitEthernet0/0/0] ospf trans-delay 2
2.3 沉默接口
# 配置接口不发送 OSPF 报文(如连接 PC 的接口)
[router-ospf-1] silent-interface GigabitEthernet 0/0/1
2.4 缺省路由
2.4.1 手工下发缺省路由
# 普通下发(自身存在缺省路由时生效)
[router-ospf-1] default-route-advertise# 强制下发(无论自身是否存在缺省路由)
[router-ospf-1] default-route-advertise always
2.4.2 特殊区域产生缺省路由
区域类型 | 产生条件 | LSA 类型 | 发布者 |
---|
普通区域 | 手工配置 default-route-advertise | Type 5 | ASBR |
Stub / Totally Stub | 自动产生 | Type 3 | ABR |
NSSA / Totally NSSA | 手工配置或自动产生 | Type 7 / Type 3 | ASBR / ABR |
2.5 路由过滤
2.5.1 域间路由过滤(3 类 LSA)
# 在 ABR 上拒绝发布特定网段的 3 类 LSA
[router-ospf-1-area-0.0.0.1] abr-summary 1.1.1.1 255.255.255.255 not-advertise
2.5.2 域外路由过滤(5/7 类 LSA)
# 在 ASBR 上拒绝引入特定网段的 5 类 LSA
[router-ospf-1] asbr-summary 10.0.0.0 255.255.255.0 not-advertise
2.6 路由控制(干涉选路)
2.6.1 修改协议优先级
# 修改 OSPF 协议优先级(仅本地生效)
[router-ospf-1] preference 70# 修改 OSPF 域外路由优先级
[router-ospf-1] preference ase 10
2.6.2 修改开销(Cost)
# 修改接口真实带宽(不推荐)
[router-GigabitEthernet0/0/0] speed 10# 修改参考带宽(所有设备需同步配置)
[router-ospf-1] bandwidth-reference 2000# 直接修改接口 Cost
[router-GigabitEthernet0/0/0] ospf cost 10
三、OSPF 优化措施
3.1 路由汇总
3.1.1 域间路由汇总(3 类 LSA)
# 在 ABR 上配置域间路由汇总
[router-ospf-1-area-0.0.0.2] abr-summary 172.16.0.0 255.255.252.0
3.1.2 域外路由汇总(5/7 类 LSA)
# 在 ASBR 上配置域外路由汇总
[router-ospf-1] asbr-summary 172.16.0.0 255.255.254.0
3.2 特殊区域优化
3.2.1 Stub 区域
3.2.2 Totally Stub 区域
3.2.3 NSSA 区域
3.2.4 Totally NSSA 区域
四、OSPF 选路规则
4.1 路由优先级
- 域内路由(1/2 类 LSA):优先级最高。
- 域间路由(3 类 LSA):优先级次之。
- 域外路由(5/7 类 LSA):优先级最低。
4.2 域内 / 域间路由选路
- 比较到达目标网段的总开销(Cost),选择开销小的路径;开销相同则负载均衡。
4.3 域外路由选路
4.3.1 类型 1(Type 1)
- 总开销 = 本地到 ASBR 的开销 + 种子度量值。
- 选路时比较总开销,优先选择开销小的路径。
4.3.2 类型 2(Type 2)
- 总开销 = 种子度量值(默认优先级低于 Type 1)。
- 选路时先比较种子度量值,再比较到达 ASBR 的开销。
4.3.3 配置示例
# 重发布时指定开销类型为 Type 1
[router-ospf-1] import-route rip 1 type 1
五、OSPF 不规则区域处理
5.1 不规则区域类型
- 远离骨干的非骨干区域:非骨干区域未直接连接到 Area 0。
- 不连续骨干:骨干区域被分割为多个部分。
5.2 解决方案
5.2.1 虚链路(V-Link)
5.2.2 多进程双向重发布
六、LSA 详解
6.1 LSA 类型
类型 | 名称 | 作用 | 发布者 | 泛洪范围 |
---|
1 | Router LSA | 区域内拓扑信息 | 所有 OSPF 设备 | 本区域 |
2 | Network LSA | 广播 / NBMA 网络中的拓扑信息 | DR | 本区域 |
3 | Sum-Net LSA | 域间路由信息 | ABR | 其他区域 |
4 | Sum-Asbr LSA | 指向 ASBR 的路由信息 | ABR | 其他区域 |
5 | AS-Extern LSA | 域外路由信息 | ASBR | 整个 OSPF 域 |
7 | NSSA LSA | NSSA 区域的域外路由信息 | ASBR | NSSA 区域 |
6.2 LSA 头部字段
- Type:LSA 类型。
- LinkState ID:标识 LSA 的唯一标识符(根据类型不同含义不同)。
- AdvRouter:通告路由器的 RID。
- Age:LSA 老化时间(默认 1800 秒,最大 3600 秒)。
- Sequence:序列号,用于判断 LSA 新旧(范围
0X80000001 ~ 0X7FFFFFFE
)。 - Checksum:校验和,确保 LSA 完整性。
6.3 LSA 刷新机制
- 当序列号达到最大值(
0X7FFFFFFE
)时,LSA 老化时间设为 3600 秒,之后重新生成序列号从 0X80000001
开始的新 LSA。
七、常用查看命令
# 查看 OSPF 邻居信息
[router] display ospf peer
[router] display ospf peer brief# 查看 OSPF 链路状态数据库
[router] display ospf lsdb
[router] display ospf lsdb router 1.1.1.1 # 查看特定 Router LSA# 查看 OSPF 虚链路
[router] display ospf vlink# 查看 OSPF 路由表
[router] display ip routing-table protocol osp