04 October 2016

What is 6LoWPAN?

6LoWPAN, which is defined in RFC6282, stands for IPv6 over Low Power WPAN. It aims to provide IPv6 connectivity to embedded devices, such as wireless sensor nodes. It defines how to layer IPv6 over low data rate, low power, small footprint radio networks (LoWPAN). 6LoWPAN implementation can easily fit into 32K flash memory parts.

The IEEE 802.15.4 standard was adopted as 6LoWPAN wireless access medium. Because the data payload of 802.15.4 is 127 bytes compared to the 40-byte standard IPv6 packet header, it becomes necessary to compress the IPv6 packet header – this is achieved by using a stateless HC1 compression.

The working group defined a unique stateless header compression mechanism that allows IPv6 packets to be transmitted in as few as 4 bytes instead of the standard 40-byte IPv6 header. If a device sends short packets directly to another node, it doesn't have to bear the cost of header fields for mesh networking or fragmentation, and is only required to send the minimum encoding headers.

There are four header types:

  1. The Dispatch Header is used to define the type of header to follow. It is identified by the first two bits - either 00 or 01. 00 is reserved to identify non-6LoWPAN frames. The next six bits indicates whether the following field is IPv6 uncompressed or IPv6 HC1 Compressed Encoding. The special value 111111 indicates that the header contains an additional byte to allow for 256 more header types.
  2. The Mesh Header (4 bytes) encodes the hop limit and the link layer source and destination addresses. 802.15.4 allows a 16-bit address. Therefore, a two-bit field is used to indicate whether the originating or final address is a short or long address. The four-bit Hop Left field constrains packets to 15 hops, which is considered sufficient for WSN. A value of all ones is reserved to indicate that an extra byte is included to allow for network depths of up to 255 hops.
  3. The Fragmentation Header (4 bytes for the first fragment, 5 bytes for subsequent fragments) supports the fragmentation and reassembly of payload larger than the size of the 802.15.4 frame (102 bytes) and includes fields to specify the size of the original datagram plus a sequence number to order the received packets. The Datagram Tag is used to identify all fragments from one original packet.
  4. The HC1 Header (IPv6 Header Compression Header) allows for stateless header compression for IPv6 header. This is accomplished using a combination of the following facts:
    • the low order 64 bits of an IPv6 address (the link local address) can be the device's MAC address,
    • the 802.15.4 frame carries these MAC addresses,
    • a number of fields in the IPv6 header are static.

For the simplest case, only the Dispatch Header, HC1 header and compressed IPv6 header are necessary (total 4 bytes).

6LoWPAN is independent from the lower layers of the protocol stack, meaning it can be used as a plug-in layer between any data link layer and IPv6 network layer. It was initially developed with IEEE 802.15.4 and is most efficient when used together.

A 6LoWPAN stack follows a layered OSI architecture. It consists of an IPv6 network layer with a routing protocol, 6LoWPAN adaptation layer, and the IEEE 802.15.4 data link and physical layers. The 6LoWPAN sub layer performs header compression and decompression, fragmentation and reassembly, and provides optional support for mesh-based routing.

The transport layer consists of UDP and ICMP, and sits on top of IPv6. TCP is not a viable option for WSN due to the lossy wireless channels and congestion avoidance of TCP. The application layer is customised for lightweight applications.

Source:

No comments:

Post a Comment

IEEE 802.15.4e Standard

Low reliability, unbounded packet delays and no protection against interference and fading are among the limitations of the IEEE 802.15.4 ...