跳到主要内容

7. 边界路由器行为 (Border Router Behavior)

6LBR 按上文第 6 节中的规定处理 RA 的发送以及来自主机的 NS. 6LBR SHOULD 始终在其发送的 RA 中包含 ABRO, 并将自己列为 6LBR address. 这要求 6LBR 在稳定存储中维护版本号, 并在其 RA 中的某些信息发生变化时增加版本号. 会影响版本的信息包括 PIO 中的信息 (前缀或其 lifetime) 以及 6CO 中的信息 (前缀, CID, 或 lifetime).

此外, 6LBR 会以某种方式配置分配给 LoWPAN 的一个或多个前缀, 并像 [RFC4861] 中那样在 RA 中通告这些前缀. 在 route-over 的情况下, 这些前缀可以使用第 8.1 节中讨论的技术分发到所有 6LR. 然而, 可能存在本文档范围之外的机制, 可作为 route-over 拓扑中前缀分发的替代方案 (见第 1.4 节).

如果 6LoWPAN 使用带上下文的头部压缩 [RFC6282], 则 6LBR 需要管理 CID, 并通过在其 RA 中包含 6CO 来在 RA 中通告这些 CID, 以便直接附接的主机获知 CID. 下面, 我们规定 6LBR 需要添加, 移除, 或更改上下文信息时应考虑的事项. 在 route-over 的情况下, 除非另有规范为这种多跳分发提供替代方案, 否则上下文信息会使用第 8 节中讨论的技术分发到所有 6LR.

7.1. 前缀确定 (Prefix Determination)

LoWPAN 中使用的一个或多个前缀可以手动配置, 也可以使用 DHCPv6 Prefix Delegation [RFC3633] 获取. 对于永久或偶尔与网络隔离的 LoWPAN, 6LBR 可以使用 [RFC4193] 分配 ULA 前缀. ULA 前缀应存储在稳定存储中, 以便 6LBR 发生故障后仍使用同一前缀. 如果 LoWPAN 有多个 6LBR, 则它们应配置相同的前缀集合. 该前缀集合按 [RFC4861] 中的规定包含在 RA 消息中.

7.2. 上下文配置和管理 (Context Configuration and Management)

如果 6LoWPAN 使用带上下文的头部压缩 [RFC6282], 则 6LBR 必须配置上下文信息和相关 CID. 如果 LoWPAN 有多个 6LBR, 则它们 MUST 配置相同的上下文信息和 CID. 如 [RFC6282] 所指出, 维护上下文信息的一致性对于确保分组能够正确解压缩至关重要.

RA 消息中携带的上下文信息源自 6LBR, 并且必须分发到 LoWPAN 内的所有路由器和主机. RA 为每个上下文包含一个 6CO.

为了使用 6CO 分发上下文信息, SHOULD 使用严格的生命周期, 以确保上下文信息在整个 LoWPAN 中保持同步. 新的上下文信息 SHOULD 以 C=0 引入 LoWPAN, 以确保所有可能必须基于此上下文信息执行头部解压缩的节点都知道该信息. 只有在可以合理假定该信息已成功分发之后, SHOULD 发送 C=1 的选项, 从而允许实际使用该上下文信息进行压缩.

反过来, 为了避免节点发送使用旧上下文值的分组, 进而在接收使用最近变更过的上下文的分组时产生歧义, 在给某个特定上下文分配新值之前, SHOULD 先使该上下文的旧值停用一段时间. 也就是说, 在准备更改上下文信息时, 其分发 SHOULD 至少以 C=0 持续 MIN_CONTEXT_CHANGE_DELAY. 只有在可以合理假定 "该上下文现在无效" 这一事实已成功分发之后, 才应停止分发该 CID, 或者将其与不同的 Context Prefix 字段一起重用. 在后一种情况下, 新值的分发同样 SHOULD 按上述方式从 C=0 开始.