6LoWPAN covered topics include the following:
- Frame format for transmission of IPv6 packets
- Method of forming IPv6 link-local addresses
- Statelessly autoconfigured addresses on IEEE 802.15.4 networks
- Simple header compression scheme using shared context
- Provisions for packet delivery in IEEE 802.15.4 meshes
IEEE 802.15.4 Mode for IP
- IEEE 802.15.4 defines four types of frames: beacon frames, MAC command frames, acknowledgement frames, and data frames.
- IPv6 packets MUST be carried on data frames.
- IEEE 802.15.4 networks can either be nonbeacon-enabled or beaconenabled.
- 6LoWPAN does not require that IEEE networks run in beacon-enabled mode.
- Beacons are still useful for link-layer device discovery to aid in association and disassociation events.
- 6LoWPAN requires both source and destination addresses be included in the IEEE 802.15.4 frame header.
- The source or destination PAN ID fields may also be included.
Addressing Modes
- IEEE 802.15.4 defines several addressing modes: IEEE 64-bit extended addresses or 16-bit short addresses unique within the PAN.
- 6LoWPAN supports both 64-bit extended addresses, and 16-bit short addresses.
- 6LoWPAN assumes that a PAN maps to a specific IPv6 link.
- Multicast is not supported natively in IEEE 802.15.4.
- IPv6 level multicast packets MUST be carried as link-layer broadcast frames in IEEE 802.15.4 networks.
-
Broadcast frames are only heeded by devices within the specific PAN of the link:
- A destination PAN identifier is included in the frame, and it MUST match the PAN ID of the link in question.
- A short destination address is included in the frame, and it MUST match the broadcast address (0xffff).
- Hosts learn IPv6 prefixes via router advertisements.
Maximum Transmission Unit
-
IEEE 802.15.4 frame sizes:
- Maximum physical layer packet size of 127 octets (aMaxPHYPacketSize) –
- Maximum frame overhead of 25 (aMaxFrameOverhead) –
- Link-layer security overhead (21 octets in AES-CCM-128, 9 and 13 in AES-CCM-32 and AES-CCM-64)
- leaves only 81 octets for IPv6 -
- IPv6 header of 40 octets
- leaves only 41 octets for upper-layer protocols, like UDP
- UDP uses 8 octets in the header
- leaves only 33 octets for application data.
- fragmentation and reassembly layer will use even more octets.
- Fragmention and reassembly adaptation layer must be provided at the layer below IP.
LoWPAN Adaptation Layer and Frame Format
- All LoWPAN encapsulated datagrams transported over IEEE 802.15.4 are prefixed by an encapsulation header stack.
- LoWPAN header sequence is mesh (L2) addressing, hop-by-hop options (including L2 broadcast/multicast), fragmentation, and finally payload.
-
When more than one LoWPAN header is used in the same packet, they MUST appear in the following order:
- Mesh Addressing Header
- Broadcast Header
- Fragmentation Header
Dispatch Type and Header
、
Mesh Addressing Type and Header
Fragmentation Type and Header
- All link fragments for a datagram except the last one MUST be multiples of eight bytes in length.
Stateless Address Autoconfiguration
- All 802.15.4 devices have an IEEE EUI-64 address, but 16-bit short addresses are also possible.
- Interface Identifier is formed from the EUI-64 according to the "IPv6 over Ethernet" specification.
-
When 16-bit short addressing is used, a "pseudo 48-bit address" is formed as follows:
- First, the left-most 32 bits are formed by concatenating 16 zero bits to the 16-bit PAN ID (or 16 zero bits) - 16_bit_PAN:16_zero_bits.
- Then, these 32 bits are concatenated with the 16-bit short address - 32_bits_as_specified_previously:16_bit_short_address.
- A different MAC address set manually or by software MAY be used to derive the Interface Identifier.
IPv6 Link Local Address
Unicast Address Mapping
-
The Source/Target Link-layer Address option has the following forms when the link layer is IEEE 802.15.4 and the addresses are EUI-64 or 16-bit short addresses, respectively.
Multicast Address Mapping
- An IPv6 packet with a multicast destination address (DST), consisting of the sixteen octets DST[1] through DST[16], is transmitted to the following 802.15.4 16-bit multicast address:
Header Compression
Encoding of IPv6 Header Fields
- A packet is compressible via the LOWPAN_HC1 format by using a Dispatch value of LOWPAN_HC1 followed by a LOWPAN_HC1 header "HC1 encoding" field (8 bits) to encode the different combinations as shown below.
- This header may be preceded by a fragmentation header, which may be preceded by a mesh header.\