3. Design Space
Apart from a wide variety of conceivable routing algorithms for 6LoWPANs, it is possible to perform routing in the IP layer (using a route-over approach) or below IP, as defined by the 6LoWPAN format document [RFC4944] (using the mesh-under approach). See Figure 1.
The route-over approach relies on IP routing and therefore supports routing over possibly various types of interconnected links. Note: The ROLL WG is now working on route-over approaches for Low-power and Lossy Networks (LLNs), not specifically for 6LoWPANs. This document focuses on 6LoWPAN-specific requirements; it may be used in conjunction with the more application-oriented requirements defined by the ROLL WG.
The mesh-under approach performs the multi-hop communication below the IP link. The most significant consequence of the mesh-under mechanism is that the characteristics of IEEE 802.15.4 directly affect the 6LoWPAN routing mechanisms, including the use of 64-bit (or 16-bit short) link-layer addresses instead of IP addresses. A 6LoWPAN would therefore be seen as a single IP link.
Most statements in this document consider both the route-over and mesh-under cases.
Figure 1 shows the place of 6LoWPAN routing in the entire network stack.
+---------------------------+ +-----------------------------+
| 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)
In order to avoid packet fragmentation and the overhead for reassembly, routing packets should fit into a single IEEE 802.15.4 physical frame, and application data should not be expanded to an extent that they no longer fit.
3.1 Reference Network Model
For multi-hop communication in 6LoWPANs, when a route-over mechanism is in use, all routers (i.e., 6LoWPAN Border Routers (6LBRs) and 6LoWPAN Routers (6LRs)) perform IP routing within the stub network (see Figure 2). In this case, the link-local scope covers the set of nodes within symmetric radio range of a node.
When a LoWPAN follows the mesh-under configuration, the 6LBR is the only IPv6 router in the LoWPAN (see Figure 3). This means that the IPv6 link-local scope includes all nodes in the LoWPAN. For this, a mesh-under mechanism MUST be provided to support multi-hop transmission.
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
Note than in both mesh-under and route-over networks, there is no expectation of topologically based address assignment in the 6LoWPAN. Instead, addresses are typically assigned based on the EUI-64 addresses assigned at manufacturing time to nodes, or based on a (from a topological point of view) more or less random process assigning 16-bit MAC addresses to individual nodes. Within a 6LoWPAN, there is therefore no opportunity for aggregation or summarization of IPv6 addresses beyond the sharing of (one or more) common prefixes.
Not all devices that are within radio range of each other need to be part of the same LoWPAN. When multiple LoWPANs are formed with globally unique IPv6 addresses in the 6LoWPANs, and device (a) of LoWPAN [A] wants to communicate with device (b) of LoWPAN [B], the normal IPv6 mechanisms will be employed. For route-over, the IPv6 address of (b) is set as the destination of the packets, and the devices perform IP routing to the 6LBR for these outgoing packets. For mesh-under, there is one IP hop from device (a) to the 6LBR of [A], no matter how many radio hops they are apart from each other. This, of course, assumes the existence of a mesh-under routing protocol in order to reach the 6LBR. Note that a default route to the 6LBR could be inserted into the 6LoWPAN routing system for both route-over and mesh-under.