23.03.2017 Views

wilamowski-b-m-irwin-j-d-industrial-communication-systems-2011

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

51-10 Industrial Communication Systems<br />

opposite to 40 octets for standard IPv6 headers. Because the following described header compression<br />

is not fully compliant with the IPv6 specification, compressed headers might be used for messaging<br />

inside the 802.15.4 network only. For message exchange with external networks via dedicated edge routers,<br />

compliant IPv6 headers might be used. If compressed headers are applied for external messaging<br />

also, the edge router is responsible for translating the compressed headers in compliant IPv6 headers.<br />

The current 6LoWPAN specification describes header compression for IPv6 and UDP headers also.<br />

Compression schemes for TCP and further protocols are not described yet.<br />

51.5.5.1 IPv6 Header Compression<br />

The IPv6 header compression is described by the HC1 encoding. This HC1 encoding scheme is<br />

independent from IPv6 and unique for 6LoWPANs. The 128 bit IPv6 transport addresses are separated<br />

in 64 bit prefixes derived from the (edge) router of the subnet and 64 bit for the interface<br />

identifier. It is possible to define separate compression for the four different address parts of originator<br />

and destination: prefix of originator, interface identifier of originator, prefix of destination,<br />

and interface identifier of destination. Because 6LoWPANs are estimated to operate within one<br />

subnet with one unique prefix, it is not applicable to include the prefixes into the headers for internal<br />

<strong>communication</strong> and can be elided. For <strong>communication</strong> out of the 6LoWPAN, prefixes can be<br />

carried in-line. The interface identifier might be carried in-line also. If elided, in opposite to the<br />

prefixes, the interface identifier for the destination address might be either derived from the link<br />

layer directly or in meshed networks from the addressing fields in the according MESH header.<br />

A compliant IPv6 header additionally includes the IPv6 version identifier, the traffic class field,<br />

the flow label field, the hop limit field, and a payload length field. The length field is omitted and<br />

derived from the 801.15.4 layers or from fragmentation frame header. The traffic class and the flow<br />

label field can be compressed and thereby defined as zero. The IPv6 version identifier is omitted<br />

in general. The 8 bits long Hop Limit field is the only field in the IPv6 header that cannot be compressed<br />

and must be completely included in-line. The Hop Limit defines the maximum number<br />

of IP hops a packet can be forwarded before it is dropped. One IP hop must not be equal with a<br />

physical hop because not every intermediate node in a mesh network must be an IP-enabled node.<br />

The additional next header field specifies the header type following the IP header, e.g., UDP, TCP,<br />

or ICMP. Such next header fields are derived from the evolving IPv6 standard. In opposite to IPv4,<br />

IPv6 does not always include all required parts, e.g., fragmentation and routing information in<br />

the header. Headers, known as extension headers in IPv6, are added separately depending on the<br />

scenario and refer to each other with defined next header fields, comparable to that ones used by<br />

the 6LoWPAN compression formats (header chaining). To sum up, the complete RFC4944 HC1<br />

encoded IPv6 header includes at least 2 octets for 8 bit Hop Limit and 8 bit for the LOWPAN_HC1<br />

field (cf. Figure 51.8). The size of the complete header can be between 2 octets and 37 octets plus 4<br />

bit (cf. MTU of IEEE 802.15.4 is 102 byte). The 4 bits are necessary to complete the octet with zero<br />

padding and allow routers a more efficient and byte-size-optimized packet handling.<br />

LOWPAN_HC1<br />

Hop count<br />

Following fields/headers/payload<br />

Following header compressed per HC2 encoding or not<br />

Next Header (UDP, ICMP, TCP, not compressed)<br />

Traffic class/flow label zero or carried inline<br />

IPv6 destination address<br />

Preifx carried inline or elided<br />

Interface identifier carried inline or derived from lower layers<br />

IPv6 source address<br />

Preifx carried inline or elided<br />

Interface identifier carried inline or derived from lower layers<br />

FIGURE 51.8<br />

LOWPAN_HC1 encoding defined in RFC4944.<br />

© <strong>2011</strong> by Taylor and Francis Group, LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!