跳到主要内容

3. 设计空间 (Design Space)

除可为 6LoWPAN 设想的各种路由算法之外, 路由既可以在 IP 层执行 (使用 route-over 方法), 也可以按 6LoWPAN 格式文档 [RFC4944] 的定义在 IP 层之下执行 (使用 mesh-under 方法). 见图 1.

route-over 方法依赖 IP 路由, 因而支持在可能由多种类型链路互连而成的网络上进行路由. 注意: ROLL WG 目前正在为低功耗有损网络 (Low-power and Lossy Networks, LLNs) 研究 route-over 方法, 并非专门面向 6LoWPAN. 本文档关注 6LoWPAN 特定要求; 它可以与 ROLL WG 定义的更偏应用的要求结合使用.

mesh-under 方法在 IP 链路之下执行多跳通信. mesh-under 机制最重要的结果是, IEEE 802.15.4 的特征会直接影响 6LoWPAN 路由机制, 包括使用 64 位 (或 16 位短) 链路层地址而不是 IP 地址. 因此, 一个 6LoWPAN 会被视为单个 IP 链路.

本文档中的大多数陈述同时考虑 route-over 和 mesh-under 两种情况.

图 1 展示了 6LoWPAN 路由在整个网络协议栈中的位置.

+---------------------------+  +-----------------------------+
| Application Layer | | Application Layer |
+---------------------------+ +-----------------------------+
| Transport Layer (TCP/UDP) | | Transport Layer (TCP/UDP) |
+---------------------------+ +-----------------------------+
| Network Layer (IPv6) | | Network +---------+ |
+---------------------------+ | Layer | Routing | |
| 6LoWPAN | | (IPv6) +---------+ |
| Adaptation | +-----------------------------+
| Layer +----------+ | | 6LoWPAN Adaptation Layer |
+--------------| Routing* |-+ +-----------------------------+
| 802.15.4 MAC +----------+ | | 802.15.4 MAC |
+---------------------------+ +-----------------------------+
| 802.15.4 PHY | | 802.15.4 PHY |
+---------------------------+ +-----------------------------+
* Here, "Routing" is not equivalent to IP routing,
but includes the functionalities of path computation and
forwarding under the IP layer.
The term "Routing" is used in the figure in order to
illustrate which layer handles path computation and
packet forwarding in mesh-under as compared to route-over.

Figure 1: Mesh-Under Routing (Left) and Route-Over Routing (Right)

为了避免分组分片和重组开销, 路由分组应能放入单个 IEEE 802.15.4 物理帧, 并且应用数据不应被扩展到无法再放入该帧的程度.

3.1 参考网络模型 (Reference Network Model)

对于 6LoWPAN 中的多跳通信, 当使用 route-over 机制时, 所有路由器, 即 6LoWPAN 边界路由器 (6LoWPAN Border Routers, 6LBRs) 和 6LoWPAN 路由器 (6LoWPAN Routers, 6LRs), 都在末梢网络内部执行 IP 路由 (见图 2). 在这种情况下, 链路本地作用域覆盖某个节点对称无线电范围内的节点集合.

当 LoWPAN 采用 mesh-under 配置时, 6LBR 是该 LoWPAN 中唯一的 IPv6 路由器 (见图 3). 这意味着 IPv6 链路本地作用域包含 LoWPAN 中的所有节点. 为此, MUST 提供 mesh-under 机制以支持多跳传输.

    h   h
/ | 6LBR: 6LoWPAN Border Router
6LBR -- 6LR --- 6LR --- h 6LR: 6LoWPAN Router
/ \ h: Host
h 6LR --- h
|
/ \
6LR - 6LR -- h

Figure 2: An Example of a Route-Over LoWPAN


h h
/ | 6LBR: 6LoWPAN Border Router
6LBR --- m --- m --- h m: mesh-under forwarder
/ \ h: Host
h m --- h
|
/ \
m - m -- h

Figure 3: An Example of a Mesh-Under LoWPAN

注意, 在 mesh-under 和 route-over 网络中, 都不预期 6LoWPAN 内采用基于拓扑的地址分配. 相反, 地址通常基于制造时分配给节点的 EUI-64 地址, 或基于一种从拓扑角度看或多或少随机的过程, 为各个节点分配 16 位 MAC 地址. 因此, 在一个 6LoWPAN 内, 除共享一个或多个公共前缀之外, 没有进一步聚合或汇总 IPv6 地址的机会.

并非所有彼此处于无线电范围内的设备都需要属于同一个 LoWPAN. 当多个 LoWPAN 以全局唯一 IPv6 地址形成, 且 LoWPAN [A] 中的设备 (a) 希望与 LoWPAN [B] 中的设备 (b) 通信时, 将使用普通 IPv6 机制. 对于 route-over, 分组的目的地址设置为 (b) 的 IPv6 地址, 设备对这些出站分组执行到 6LBR 的 IP 路由. 对于 mesh-under, 无论设备 (a) 与 [A] 的 6LBR 之间相隔多少个无线电跳, 从设备 (a) 到 [A] 的 6LBR 都是一个 IP 跳. 当然, 这假定存在 mesh-under 路由协议以到达 6LBR. 注意, 对 route-over 和 mesh-under 来说, 都可以在 6LoWPAN 路由系统中插入到 6LBR 的默认路由.