跳到主要内容

12. 操作注意事项 (Operational Considerations)

12.1. 部分升级的网络

设备可以在提供不同支持级别的情况下共存, 即仅支持 [RFC8505], 同时支持 [RFC8505] 和 [RFC9685], 或者同时支持这两者以及本规范. 可能出现以下情况:

  • 旧版 6LN 不会注册前缀, 网络升级后该服务保持不变.

  • 旧版 6LR 不会在 6CIO 中设置 F 标志, 升级后的 6LN 不会向该路由器注册前缀, 但它可以向支持本规范的其他 6LR 注册.

  • 收到 EDAR 消息时, 旧版 6LBR 可能无法意识到正在注册的地址附带整个前缀, 并在 EDAC 状态中返回重复. 对于前缀, 6LR 必须忽略 EDAR 中的重复状态.

12.2. 应用于基于 RPL 的 Route-Over LLN

对于基于 RPL 路由协议的 route-over 多链路子网, 本规范还更新 [RFC6550] 和 [RFC9010], 以便在 Non-Storing Mode 中增加组播入口复制, 并在 Storing 和 Non-Storing 两种模式中增加任播支持. 实现其中所规定 RPL 扩展的 6LR 也必须实现 [RFC9010].

图 5 展示 LLN 作为单个 IPv6 子网的经典情况, 其中 6LoWPAN Border Router (6LBR) 既作为 RPL 操作的 Root, 也作为 6LoWPAN ND 的 Address Registrar.

            .- -- .
.-( ).
( Internet )
(___.________.___)
|
---+-------+--
|
+--------+
| 6LBR |
| (Root) |
+--------+
o o o o
o o o
o o o o o o
o o o LLN o +-------+
o o o | 6LR | RPL Router
o o o o +-------+
o o o o +-------+ RPL
o | 6LN | leaf
+-------+ L

o : LLN node

Figure 5: RPL-Based Route-Over LLN

作为 6LN 的 RPL leaf L 使用带有 EARO 的 L2 单播 NS 消息, 向作为 6LR 的 RPL 路由器注册其地址和前缀, 如 [RFC8505] 和 [RFC9685] 所规定. 请注意, 作为 6LN 的 RPL leaf 仍然可能是另一个路由协议的边界路由器, 某个 IP 链路的访问路由器, 或者服务于同一物理节点中虚拟机或应用程序的虚拟 Router. 还应注意, 支持 RPL 的 Leaf 最好直接利用 RPL 注入路由, 以充分利用该路由协议. Registering Node, 即 6LN, 会在 EARO 中指示的生命周期在 6LR 处到期之前, 周期性刷新注册状态. 与单播 IPv6 地址一样, 6LR 使用与 6LBR 的 Extended Duplicate Address Request/Confirmation (EDAR/EDAC) 交换, 将监听方的存在通知给 6LBR. 通过本规范, 拥有某个前缀或提供到外部前缀可达性但不是 RPL 路由器的路由器, 也可以在设置 R 标志的情况下注册这些前缀, 从而在 RPL 域内启用到该前缀的可达性.

12.3. 应用于共享链路

共享链路是指在一个 L2 链路上部署多个前缀的情况, 例如交换式 Ethernet fabric, 或者联合多个 Access Points (APs) 的 Wi-Fi Extended Service Set (ESS), 并且并非所有节点都一定知道所有前缀. 图 6 描述了这种情况, 其中两个路由器 6LR1 和 6LR2 分别拥有前缀 P1:: 和 P2::, 并在同一链路上的 RA 消息中公开这些前缀. 请注意, 共享链路可以使用 [IPv6-over-NBMA] 第 7 节所讨论的 NDP 和 SND 的任意组合来运行.

            .- -- .
.-( ).
( Internet )
(___.________.___)
|
+----+--+ +-------+
| P1::a | | P2::b |
| 6LR1 | | 6LR2 |
+---+---+ +---+---+
| |
----+--+------+---------+-+-------+---------+----
| | | | |
+--+--+ +--+--+ +--+--+ +--+--+ +--+--+
|P1::c| |P2::d| |P2::e| |P1::f| |P1::g|
+-----+ +-----+ +-----+ +-----+ +-----+

Figure 6: Shared Link

假设 6LR1 是提供外部访问的路由器, 并且 6LR2 知道 6LR1 是其默认网关. 通过本规范, 6LR2 向 6LR1 注册 P2::, 6LR1 安装一条经由 6LR2 到达 P2:: 的路由. 这样, 源自 P2:: 的地址仍然可以经由 6LR1 再经由 6LR2 到达. 随后 6LR2 可以利用 ICMP Redirect 消息 [RFC4861] 缩短 6LR1 与拥有这些地址的节点之间的路径.

如果 P2 是由 6LR1 委派的, 例如使用 DHCPv6 [RFC9915], 则预期 6LR1 会在其面向外部的通告中聚合 P1:: 和 P2::, 因而无需设置 R 标志. 但是, 除非 6LR2 通过配置等方式知道这种情况, 否则 6LR2 应当设置 R 标志, 请求 6LR1 通告 P2:: 以获得可达性.

12.4. 应用于带有 Stub Spoke 的 Hub 链路

Hub 链路是指围绕骨干部署 stub 链路, 并由路由器将它们互连的情况. 图 7 描述了这种情况, 其中一个路由器 6LR1 服务 hub 链路, 至少一个类似 6LR2 和 6LR3 的路由器提供从 stub 链路到 hub 链路的连接. 在此示例中, 假设每条链路上有一个前缀: hub 链路上为 P1::, stub 链路上为 P2:: 和 P3::.

      +-----+   +-----+   +-----+       +-----+
|P2::s| |P2::d| |P2::e| |P2::f|
+--+--+ +--+--+ +--+--+ +--+--+
| | | |
----+----+----+---------+--STUB-LINK--+-----
|
+---+---+ +-------+
| P2::r | | | .- --..
| 6LR2 | | 6LR1 +---- .-( ).
| P1::b | | P1::a | ( Internet )
+---+---+ +---+---+ (___._______.___)
| | |
-------+-+---------+--HUB-LINK--+-----+-- |
| | | |
+---+---+ +--+--+ +---+---+ |
| P1::c | |P1::n| | P1::q | |
| 6LR3 | +-----+ | 6LR4 +----+
| P3::m | | P3::a |
+---+---+ +---+---+
| |
----+--+------+---------+--STUB-LINK--+-+-----
| | | |
+--+--+ +--+--+ +--+--+ +--+--+
|P3::h| |P3::i| |P3::j| |P3::k|
+-----+ +-----+ +-----+ +-----+

Figure 7: Hub and Stubs

与前文一样, 假设 6LR1 是提供外部访问的路由器, 并且 6LR2 知道 6LR1 是其默认网关. 通过本规范, 6LR2 向 6LR1 注册 P2::, 6LR1 安装一条经由 6LR2 到达 P2:: 的路由. 这样, 位于 6LR2 后方 stub 链路上的节点, 如果其地址源自 P2::, 仍然可以经由 6LR1 再经由 6LR2 到达. 6LR3 以及任何其他服务 stub 链路的路由器同样适用.

如果 P2 是由 6LR1 委派的, 则预期 6LR1 会在其面向外部的通告中聚合 P1:: 和 P2::, 因而无需设置 R 标志. 但是, 除非 6LR2 通过配置等方式知道这种情况, 否则 6LR2 应当设置 R 标志, 请求 6LR1 通告 P2:: 以获得可达性.

在此示例中, 路由器 6LR3 和 6LR4 都连接到安装了子网 P3 的同一条 stub 链路. 它们都可以向 6LR1 注册 P3, 而 6LR1 会应用自身的负载均衡逻辑来选择使用其中任一路由器.