第116篇:IPv6 路由:静态与 OSPFv3 基础
关键词:IPv6 静态路由、OSPFv3、Area、Router LSA、Inter-area 路由、默认路由、IPv6 路由协议
一、引言
在前一篇第115篇中,我们学习了 IPv6 地址的三种配置方式。地址配置完成后,终端需要正确的路由才能访问其他子网和外部网络。IPv6 的路由机制在概念上与 IPv4 类似,但在协议实现上存在显著差异。
IPv6 静态路由的配置方式直观简单,适合小型网络。对于中型和大型网络,OSPFv3 作为 IPv6 的最常用 IGP 协议,提供了自动发现和最优路径选择的能力。
二、核心概念
2.1 IPv6 路由表结构
| 字段 | 说明 |
|---|---|
| 目的前缀 | IPv6 目的网络地址和前缀长度 |
| 协议 | 路由来源(Static、OSPFv3、Direct 等) |
| 优先值 | 协议优先级(越小越优先) |
| 开销(Cost) | 路径度量值 |
| 出接口 | 报文转发出接口 |
| 下一跳 | 下一跳 IPv6 地址 |
2.2 路由优先级对比
| 协议/来源 | 默认优先级 | 说明 |
|---|---|---|
| Direct(直连) | 0 | 最高优先级 |
| Static(静态) | 60 | 手动配置的路由 |
| OSPFv3 Intra-Area | 10 | OSPFv3 区域内部路由 |
| OSPFv3 Inter-Area | 15 | OSPFv3 区域间路由 |
| BGP(外部) | 255 | 最低优先级 |
2.3 OSPFv3 与 OSPFv2 的核心区别
| 对比项 | OSPFv2(IPv4) | OSPFv3(IPv6) |
|---|---|---|
| 地址族 | IPv4 | IPv6 |
| LSA 中的地址信息 | LSA 携带 IPv4 前缀 | LSA 不携带地址,前缀通过 Prefix LSA 独立通告 |
| 邻居发现 | 使用组播 224.0.0.5/6 | 使用组播 FF02::5/6 |
| 认证 | L2 层认证(内置) | 依赖 IPsec(上层) |
| 多实例 | 不支持 | 支持多实例(Instance ID) |
| 拓扑分离 | 不支持 | 支持 IPv4/IPv6 拓扑分离 |
2.4 OSPFv3 的 LSA 类型
| LSA 类型 | 名称 | 泛洪范围 | 功能 |
|---|---|---|---|
| Type 8 | Router LSA | 本 Area | 描述路由器自身的链路状态 |
| Type 9 | Network LSA | 本 Area | DR 生成,描述广播网络的拓扑 |
| Type 10 | Inter-Area-Prefix LSA | 除 Stub Area 外 | 描述区域间的前缀路由 |
| Type 11 | Inter-Area-Router LSA | 除 Stub Area 外 | 描述区域间的 ASBR |
| Type 12 | Intra-Area-Prefix LSA | 本 Area | 描述区域内的前缀信息 |
三、技术细节
3.1 IPv6 静态路由配置

3.2 OSPFv3 邻居建立过程

3.3 OSPFv3 网络类型
| 网络类型 | Hello 间隔 | Dead 间隔 | DR/BDR | 说明 |
|---|---|---|---|---|
| Broadcast | 10s | 40s | 需要选举 | 以太网默认类型 |
| NBMA | 30s | 120s | 需要选举 | 帧中继等 |
| Point-to-Point | 10s | 40s | 不需要 | PPP、HDLC |
| Point-to-Multipoint | 30s | 120s | 不需要 | 点到多点 |
3.4 OSPFv3 实例 ID(Instance ID)
OSPFv3 支持在同一链路上运行多个 OSPF 实例,通过 Instance ID 区分:
| 特性 | 说明 |
|---|---|
| 取值范围 | 0-255 |
| 默认值 | 0 |
| 用途 | 同一物理链路上运行多个独立的 OSPF 进程 |
| Hello 报文 | 携带 Instance ID,不同实例之间不交互 |
四、实战配置/案例分析
4.1 IPv6 静态路由配置
# ========== 站点 A(核心交换机) ==========
# 1. 配置接口 IPv6 地址
[HUAWEI] ipv6 route-static 2001:db8:2::/48 2001:db8:ff::2
# 去往站点 B 的静态路由
[HUAWEI] ipv6 route-static ::/0 2001:db8:ff::2
# 默认路由指向站点 B
# 2. 配置互联接口
[HUAWEI] interface GigabitEthernet 0/0/0
[HUAWEI-GigabitEthernet0/0/0] ipv6 enable
[HUAWEI-GigabitEthernet0/0/0] ipv6 address 2001:db8:ff::1/64
# ========== 站点 B(核心交换机) ==========
[HUAWEI] ipv6 route-static 2001:db8:1::/48 2001:db8:ff::1
# 去往站点 A 的静态路由
[HUAWEI] interface GigabitEthernet 0/0/0
[HUAWEI-GigabitEthernet0/0/0] ipv6 enable
[HUAWEI-GigabitEthernet0/0/0] ipv6 address 2001:db8:ff::2/64
# ========== 验证 ==========
[HUAWEI] display ipv6 routing-table
[HUAWEI] display ipv6 routing-table protocol static
4.2 OSPFv3 基础配置
# ========== 路由器 R1 配置 ==========
# 1. 全局启用 IPv6 路由
[HUAWEI] ipv6 route-static ::/0 2001:db8:ff::2
# 2. 创建 OSPFv3 进程
[HUAWEI] ospfv3 1 router-id 1.1.1.1
# 3. 进入 OSPFv3 视图
[HUAWEI-ospfv3-1] area 0
# 4. 在接口上启用 OSPFv3
[HUAWEI] interface GigabitEthernet 0/0/0
[HUAWEI-GigabitEthernet0/0/0] ipv6 enable
[HUAWEI-GigabitEthernet0/0/0] ipv6 address 2001:db8:ff::1/64
[HUAWEI-GigabitEthernet0/0/0] ospfv3 1 area 0
# 5. 通告直连前缀(OSPFv3 中前缀通告需要在接口上单独配置)
[HUAWEI-GigabitEthernet0/0/0] ospfv3 1 ipv6 enable
[HUAWEI-GigabitEthernet0/0/0] quit
# ========== 路由器 R2 配置 ==========
[HUAWEI] ospfv3 1 router-id 2.2.2.2
[HUAWEI-ospfv3-1] area 0
[HUAWEI] interface GigabitEthernet 0/0/0
[HUAWEI-GigabitEthernet0/0/0] ipv6 enable
[HUAWEI-GigabitEthernet0/0/0] ipv6 address 2001:db8:ff::2/64
[HUAWEI-GigabitEthernet0/0/0] ospfv3 1 area 0
# ========== 验证 ==========
[HUAWEI] display ospfv3 peer
[HUAWEI] display ospfv3 routing
[HUAWEI] display ipv6 routing-table protocol ospf
4.3 故障案例:OSPFv3 邻居无法建立
场景描述:两台路由器的 OSPFv3 邻居一直停留在 Init 状态,无法进入 Full 状态。
排查过程:
- 检查 OSPFv3 邻居状态:
[R1] display ospfv3 peer
# Peer Address: FE80::2
# State: Init(停留在 Init 状态)
- 检查接口配置:
[R1] display current-configuration interface GigabitEthernet 0/0/0
[R2] display current-configuration interface GigabitEthernet 0/0/0
# 发现 R1 的 Instance ID = 0,R2 的 Instance ID = 1
- 根因确认:OSPFv3 要求邻居之间的 Instance ID 必须一致。R1 使用默认 Instance ID 0,R2 手动配置了 Instance ID 1,导致双方无法识别彼此的 Hello 报文。
处理措施:
# 统一 Instance ID
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0] undo ospfv3 1 area 0 instance 1
[R2-GigabitEthernet0/0/0] ospfv3 1 area 0 instance 0
# 或直接使用默认 instance 0
4.4 故障案例:OSPFv3 前缀未通告
场景描述:OSPFv3 邻居状态正常(Full),但路由表中没有学习到对端的路由。
排查过程:
- 检查邻居状态:
[R1] display ospfv3 peer
# 邻居状态:Full,正常
- 检查 LSA:
[R1] display ospfv3 lsdb
# Router LSA 和 Network LSA 正常
# 但缺少 Intra-Area-Prefix LSA(Type 12)
- 检查接口 OSPFv3 配置:
[R1] display current-configuration interface GigabitEthernet 0/0/1
# 发现仅配置了 ospfv3 1 area 0
# 未配置 ospfv3 1 ipv6 enable
- 根因确认:在 OSPFv3 中,仅仅在接口上启用 OSPFv3(ospfv3 1 area 0)不足以通告前缀。还需要在接口上启用 IPv6 前缀通告(ospfv3 1 ipv6 enable),否则不会生成 Intra-Area-Prefix LSA。
处理措施:
[R1] interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1] ospfv3 1 ipv6 enable
# 验证前缀通告
[R1] display ospfv3 lsdb intra-area-prefix
# 确认 Intra-Area-Prefix LSA 已生成
4.5 OSPFv3 区域间路由配置
# ========== ABR 配置(连接 Area 0 和 Area 1) ==========
# 1. 配置 Area 0 的接口
[HUAWEI] interface GigabitEthernet 0/0/0
[HUAWEI-GigabitEthernet0/0/0] ipv6 enable
[HUAWEI-GigabitEthernet0/0/0] ipv6 address 2001:db8:10::1/64
[HUAWEI-GigabitEthernet0/0/0] ospfv3 1 area 0
[HUAWEI-GigabitEthernet0/0/0] ospfv3 1 ipv6 enable
# 2. 配置 Area 1 的接口
[HUAWEI] interface GigabitEthernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] ipv6 enable
[HUAWEI-GigabitEthernet0/0/1] ipv6 address 2001:db8:20::1/64
[HUAWEI-GigabitEthernet0/0/1] ospfv3 1 area 1
[HUAWEI-GigabitEthernet0/0/1] ospfv3 1 ipv6 enable
# 3. 验证区域间路由
[HUAWEI] display ipv6 routing-table protocol ospf
# 应显示来自 Area 0 和 Area 1 的路由
五、总结
| 项目 | 说明 |
|---|---|
| IPv6 静态路由 | 配置简单,适合小型网络或默认路由 |
| OSPFv3 | IPv6 的主要 IGP,支持多实例和多拓扑 |
| 前缀通告 | OSPFv3 中前缀通过独立的 Prefix LSA 通告 |
| Instance ID | 同一链路上可运行多个 OSPFv3 实例 |
| 邻居建立 | 基于 Link-Local 地址,使用组播 FF02::5/6 |
| 华为推荐 | 中型网络使用 OSPFv3,确保 Instance ID 和前缀通告配置正确 |
思考
-
OSPFv3 将链路状态信息(LSA)和前缀信息(Prefix LSA)分离,这种设计相比 OSPFv2 有什么优势?
-
在 OSPFv3 中,如果接口的 Instance ID 配置错误,邻居能看到对方的 Hello 报文吗?
-
OSPFv3 的认证依赖 IPsec。与 OSPFv2 的明文/MD5 认证相比,IPsec 认证有哪些优缺点?
下篇预告:第117篇:IPv6 过渡技术:双栈、隧道、NAT64