跳到主要内容

4. 实现细节

从 IPv4 迁移到 IPv6 时, 基本 OSPF 机制与 [OSPFV2] 中记录的机制保持不变. 这些机制在 [OSPFV2] 的 Section 4 中有简要概述. IPv6 和 IPv4 都有由 LSA 组成的 link-state database, 并在相邻路由器之间同步. 初始同步通过 Database Exchange 过程执行, 该过程包括交换 Database Description, Link State Request 和 Link State Update packet. 此后, database 同步通过 flooding 来维护, 使用 Link State Update 和 Link State Acknowledgment packet. IPv6 和 IPv4 都使用 OSPF Hello packet 来发现和维护邻居关系, 以及在 broadcast 和 NBMA link 上选举 Designated Router 和 Backup Designated Router. 哪些邻居关系会成为 adjacency 的决策, 以及 inter-area routing, 在 AS-external-LSA 中导入外部信息, 和各种 routing 计算背后的基本思想也相同.

特别是, [OSPFV2] 中描述的以下 IPv4 OSPF 功能在 IPv6 中完全保持不变:

  • IPv4 和 IPv6 都使用 [OSPFV2] Section 4.3 中描述的 OSPF packet 类型, 即: Hello, Database Description, Link State Request, Link State Update 和 Link State Acknowledgment packet. 虽然在某些情况下 (例如 Hello packet) 它们的格式有所变化, 但各种 packet 类型的功能保持不变.

  • OSPF 实现的系统要求保持不变, 但 OSPF for IPv6 需要 IPv6 protocol stack (从 network layer 向下), 因为它直接运行在 IPv6 network layer 之上.

  • 邻居关系的发现和维护, 以及 adjacency 的选择和建立, 保持不变. 这包括在 broadcast 和 NBMA link 上选举 Designated Router 和 Backup Designated Router. 这些机制在 [OSPFV2] 的 Sections 7, 7.1, 7.2, 7.3, 7.4 和 7.5 中描述.

  • OSPF 支持的 link 类型 (或等价地, interface 类型) 保持不变, 即: point-to-point, broadcast, NBMA, point-to-multipoint 和 virtual link.

  • interface state machine, 包括 OSPF interface state 和 event 列表, 以及 Designated Router 和 Backup Designated Router 选举算法保持不变. 这些内容在 [OSPFV2] 的 Sections 9.1, 9.2, 9.3 和 9.4 中描述.

  • neighbor state machine, 包括 OSPF neighbor state 和 event 列表, 保持不变. neighbor state machine 在 [OSPFV2] 的 Sections 10.1, 10.2, 10.3 和 10.4 中描述.

  • link-state database 的 aging, 以及通过 premature aging 过程从 routing domain 中清除 LSA, 与 [OSPFV2] Sections 14 和 14.1 中的描述保持不变.

但是, 如本文 Section 2 前面所述, 某些 OSPF protocol 机制已经发生变化. 以下小节会详细解释这些变化, 并引用 [OSPFV2] 中相应的章节.

以下小节提供了将 IPv4 OSPF 实现转换为 IPv6 OSPF 实现的方法.