1. Problem Statement
6LoWPANs are formed by devices that are compatible with the IEEE 802.15.4 standard [IEEE802.15.4]. Most of the LoWPAN devices are distinguished by their low bandwidth, short range, scarce memory capacity, limited processing capability, and other attributes of inexpensive hardware. The characteristics of nodes participating in LoWPANs are assumed to be those described in the 6LoWPAN problem statement [RFC4919], and in the IPv6 over IEEE 802.15.4 document [RFC4944], which has specified how to carry IPv6 packets over IEEE 802.15.4 and similar networks. Whereas IEEE 802.15.4 distinguishes two types of devices called full-function devices (FFDs) and reduced-function devices (RFDs), this distinction is based on some features of the Medium Access Control (MAC) layer that are not always in use. Hence, the distinction is not made in this document. Nevertheless, some 6LoWPAN nodes may limit themselves to the role of hosts only, whereas other 6LoWPAN nodes may take part in routing. This host/router distinction can correlate with the processing and storage capabilities of the device and power available in a similar way to the idea of RFDs and FFDs.
IEEE 802.15.4 networks support star and mesh topologies. However, neither the IEEE 802.15.4 standard nor the 6LoWPAN format specification ([RFC4944]) define how mesh topologies could be obtained and maintained. Thus, 6LoWPAN formation and multi-hop routing can be supported either below the IP layer (the adaptation layer or Logical Link Control (LLC)) or the IP layer. (Note that in the IETF, the term "routing" usually, but not always [RFC5556], refers exclusively to the formation of paths and the forwarding at the IP layer. In this document, we distinguish the layer at which these services are performed by the terms "route-over" and "mesh-under". See Sections 2 and 3.) A number of IP routing protocols have been developed in various IETF working groups. However, these existing routing protocols may not satisfy the requirements of multi-hop routing in 6LoWPANs, for the following reasons:
o 6LoWPAN nodes have special types and roles, such as nodes drawing their power from primary batteries, power-affluent nodes, mains-powered and high-performance gateways, data aggregators, etc. 6LoWPAN routing protocols should support multiple device types and roles.
o More stringent requirements apply to LoWPANs, as opposed to higher-performance or non-battery-operated networks. 6LoWPAN nodes are characterized by small memory sizes and low processing power, and they run on very limited power supplied by primary non-rechargeable batteries (a few KB of RAM, a few dozen KB of ROM/flash memory, and a few MHz of CPU is typical). A node's lifetime is usually defined by the lifetime of its battery.
o Handling sleeping nodes is very critical in LoWPANs, more so than in traditional ad hoc networks. LoWPAN nodes might stay in sleep mode most of the time. Taking advantage of appropriate times for transmissions is important for efficient packet forwarding.
o Routing in 6LoWPANs might possibly translate to a simpler problem than routing in higher-performance networks. LoWPANs might be either transit networks or stub networks. Under the assumption that LoWPANs are never transit networks (as implied by [RFC4944]), routing protocols may be drastically simplified. This document will focus on the requirements for stub networks. Additional requirements may apply to transit networks.
o Routing in LoWPANs might possibly translate to a harder problem than routing in higher-performance networks. Routing in LoWPANs requires power optimization, stable operation in lossy environments, etc. These requirements are not easily satisfiable all at once [ROLL-PROTOCOLS].
These properties create new challenges for the design of routing within LoWPANs.
The 6LoWPAN problem statement [RFC4919] briefly mentions four requirements for routing protocols:
(a) low overhead on data packets
(b) low routing overhead
(c) minimal memory and computation requirements
(d) support for sleeping nodes (consideration of battery savings)
These four high-level requirements describe the basic requirements for 6LoWPAN routing. Based on the fundamental features of 6LoWPANs, more detailed routing requirements, which can lead to further analysis and protocol design, are presented in this document.
Considering the problems above, detailed 6LoWPAN routing requirements must be defined. Application-specific features affect the design of 6LoWPAN routing requirements and corresponding solutions. However, various applications can be profiled by similar technical characteristics, although the related detailed requirements might differ (e.g., a few dozen nodes in a home lighting system need appropriate scalability for the system's applications, while millions of nodes for a highway infrastructure system also need appropriate scalability).
This routing requirements document states the routing requirements of 6LoWPAN applications in general, providing examples for different cases of routing. It does not imply that a single routing solution will be favorable for all 6LoWPAN applications, and there is no requirement for different routing protocols to run simultaneously.