ISA100.11a is the emerging new standard for instrumentation and control in industrial automation. The standard leverages IEEE802.15.4 as data link technology and defines a network layer protocol compatible with 6LowPAN. This article describes what are the different network layer PDUs specified by ISA100.11a and what is their relationship with 6LowPAN.
Note: This is a working article
The International Society of Automation have been working on a new wireless standard that meets the requirements of critical applications in the industrial automation market. The Isa100.11a leverages existing technologies while embedding reliability features that makes this standard suitable for the industrial automation market.
The IETF have recognized the need for adapting network layer operations to emerging low power data link technologies. 6LoWPAN is the impersonation of these efforts. It specifies how network layer PDUs should be transported over the IEEE802.15.4 data link technology.
The main reason why the classical IPv6 PDUs can not be carried over low power data links is that IPv6 requires the maximum transmission unit (MTU) to be at least 1280 Bytes. In contrast, IEEE802.15.4's standard packet size is 127 octets.
6LowPAN provides means to compress and make any network layer elided. This makes 6LowPAN very flexible and customizable network layer protocol. Different technologies can choose with fields to compress and which to be elided according to the different uses of the network layer.
ISA100.11a defines three types of network layer PDU. Each type has a different header encoding. These three headers are as follows:
- The basic header;
- The contract-enabled header; and
- The full header (This header corresponds to the IPv6 header and is not for use over the wireless link, so we will not discuss it in this article).
Within the wireless-mesh of an ISA100.11a network, all the routing and processing is performed at the data link layer. Most packets will not have to traverse more than one data link before reaching the gateway system. For this reason, ISA100.11a specifies a very simple network layer PDU that is intended to minimize network layer overhead and maximize room for actual payload in the network layer PDU.
The basic header format does NOT correspond to LowPAN header. As specified in [RFC4944], section 5.1, if the first 2bits of the dispatch byte of the L3 PDU starts are 00, then the packet is not a LowPAN packet. This means that there is a special protocol carried by the 6LowPAN packet.
00 xxxxxx | NALP - Not a LoWPAN frame
Rather it includes an 8bit code (called Dispatch) that allows a receiving node to derive a 6LowPAN header for the packet. ISA100.11a capable devices that act as interface with 6LowPAN networks must be able to expand ISA100.11a Dispatch codes from network layer packets into 6LowPAN headers. A device that does not implement the ISA100.11a specification, will not be able to process ISA100.11a network layer PDUs with basic headers.
The ISA100.11a Dispatch code for the basic header is 0000001. An ISA100.11a compliant device expands that code into a 6LowPAN header as follows :
- Dispatch = 011
- TF = 11 (both traffic class and flow label elided)
- NH = 1 (next header field elided)
- HLIM = 10 (HopLimit = 64)
- CID = 0 (no context identifier extension)
- SAC = 1 (stateful source address compression; the ATT provides the context)
- SAM = 11 (source address fully elided)
- M = 0 (no multicast)
- DAC = 1 (stateful destination address compression; the ATT provides the context)
- DAM = 11 (destination address fully elided)
- Protocol = 11110 (UDP)
- Checksum compression = 1 (checksum elided)
- Port compression = 11 (source and destination ports are compressed to four (4) bits each and their implied prefix is 0xF0B)
- RFC4944 Transmission of IPv6 Packets over IEEE 802.15.4 Networks
|Labels: wireless, networking, embedded|