IPv6 Header Compression for Global Addresses Jonathan Hui David Culler draft-hui-6lowpan-hc1g-00 – “Stateless IPv6 Header Compression for Globally Routable Packets in 6LoWPAN Subnetworks” 07/24/2007 69th IETF Meeting - 6LoWPAN WG 1 “IPv6 Communication over IEEE 802.15.4” … • 6LoWPAN supports IP communication using global (i.e., routable) IPv6 addresses – But it never compresses them! • HC1 compression only applies to the special link local prefix. – Shared by all nodes in the PAN • So if you use IP over 802.15.4 for what IP is typically used for (internetworking) you lose much of the virtue of 6LoWPAN. => Complement HC1 with HC1g stateless compression for a shared global prefix 07/24/2007 69th IETF Meeting - 6LoWPAN WG 2 Motivation • Why global addresses? – End-to-end communication in networks with heterogeneous links • without a stateful (possibly application specific) translation gateway • data collection point may be multiple IP hops away – End-to-end communication across different PANs – IP connects different subnetworks • ZigBee does not • LOWPAN_HC1 supports arbitrary addresses, but… – Only allows compression of the link-local (fe80::/64) prefix – Uncompressed addresses consume 32 bytes • 1/4th the 802.15.4 MTU before link and 6LoWPAN headers! • The Issue is compressing the origin / final IP addresses – Not the number of PAN hops between them 07/24/2007 69th IETF Meeting - 6LoWPAN WG 3 Why Global Addresses? • Monitoring and Control Applications – Collector OR controller generally not a 802.15.4 device – Conventional device on conventional link 802.15.4 802.3 Collector/Controller 07/24/2007 hartcomm.org 69th IETF Meeting - 6LoWPAN WG 4 Why Global Addresses? • Monitoring and Control Applications – Collector/controller often connected using other links • Link-local requires a stateful translation gateway • What about multiple 802.15.4 egress points? – Good for redundancy – But requires a translation gateway at each – How is state managed across them? 802.3 802.15.4 Translation Gateway 07/24/2007 69th IETF Meeting - 6LoWPAN WG Collector/Controller 5 Why Global Addresses? • Route directly to the data collector • Possibly through different egress points 802.15.4 802.3 Collector/Controller 07/24/2007 69th IETF Meeting - 6LoWPAN WG 6 Why Global Addresses? • Multiple PANs – May be different in PAN ID, channel, MAC, networkwide keys, etc. 802.15.4 07/24/2007 802.15.4 69th IETF Meeting - 6LoWPAN WG 802.15.4 7 Why Global Addresses? 802.15.4 • Assigned IP addresses within a PAN – IP addresses are useful for naming – If assigned IP address is used to name source or destination, no HC1 compression • Assigned prefix or assigned interface identifier 07/24/2007 69th IETF Meeting - 6LoWPAN WG 8 HC1g - In a Nutshell • Shared context of the PAN includes its prefix • Define compression for prefix other than link-local – PAN has a compressible global prefix (CGP) • Compression of Interface IDs derived from short addrs • Similar to LOWPAN_HC1 encoding – – – – Compresses to 2 octets in best case Allows arbitrary IPv6 addresses if needed Same encoding octet Uses lower-layer information when possible • Support for compressed well-known multicast addresses – Neighbor discovery, DHCPv6 – Uses 6LoWPAN short address encoding 07/24/2007 69th IETF Meeting - 6LoWPAN WG 9 HC1g Compliments HC1 • HC1 and HC1g identified by different dispatch values • HC1 is efficient for link-local communication • HC1g is efficient for off-link communication – Or on-link using non-default prefix Upper Layer Protocols Link-Local Communication LOWPAN_HC1 Global Communication LOWPAN_HC1g 6LoWPAN Mesh/Frag 802.15.4 07/24/2007 69th IETF Meeting - 6LoWPAN WG 10 LOWPAN_HC1g Addresses • PAN has a compressible global prefix (CGP) associated with it – Prefix is elided whenever it matches the CGP • Four HC1g address forms: – Full 128 bits for arbitrary IPv6 addresses Arbitrary Prefix Arbitrary IID – 64 bits: prefix derived from CGP, IID carried inline Elided Arbitrary IID – 16 bits: prefix derived from CGP, 6LoWPAN encoded short inline Elided SA – 0 bits: prefix derived from CGP, IID derived from lower layers (e.g. 802.15.4 src/dest or 6LoWPAN orig/final) Elided 07/24/2007 69th IETF Meeting - 6LoWPAN WG 11 HC1g Encoding • • • • Source Compression Destination Compression Version, Traffic, Flow Next Header – in-line, UCP, ICMP, TCP 0 1 2 3 4 5 6 7 SC DC V NH L4 07/24/2007 • L4 Compression – HC2 follows 69th IETF Meeting - 6LoWPAN WG 12 LoWPAN HC1g 16-bit Addr • 16-bit short address follows 6LoWPAN encoding • Compression of IIDs derived from 802.15.4 short address – 802.15.4 short address when first bit is 0 – Upper 48-bits of IID is assumed to be zero – U/L bit is also zero, indicating local scope • Well-known multicast addresses – 16 bits starts with ’101’ – Allocates another range in 6LoWPAN short address encoding • Neither are supported in LOWPAN_HC1 07/24/2007 69th IETF Meeting - 6LoWPAN WG 13 Multicast Address Compression • For commonly-used, well-known multicast addresses • Use 6LoWPAN short address encoding – Prefix (8-bits): Compressed to 3-bit range – Flags (4-bits): Assumed to be zero • permanent, not derived from prefix, doesn’t embed RP – Scope (4-bits): Carried in-line – Group ID (112-bits): Mapped to 9-bits • Only all-nodes and all-routers currently defined • Can be used in LOWPAN_HC1g or Mesh Addressing 128 bits FF Flags Scope 0 1 Group ID 2 1 0 1 07/24/2007 3 4 5 Scope 6 7 8 9 1 0 1 2 3 4 5 Group ID 69th IETF Meeting - 6LoWPAN WG 14 Other Differences • Changes made based on lessons learned from LOWPAN_HC1 implementations • Possible lack of octet alignment – – – – Can consume several hundred bytes of code Octet alignment broken in uncommon cases Saves at most one octet in best case (when used with HC_UDP) HC1g include 4-bit version field with Traffic Class and Flow Label • HC_UDP not possible when using IP extension headers – HC2 bit changed to specify layer 4 compression • Only UDP is currently valid, ICMP/TCP not yet defined 07/24/2007 69th IETF Meeting - 6LoWPAN WG 15 HC1g summary • Compression for prefixes other than link-local – PAN has a compressible global prefix (CGP) • Compression of Interface IDs derived from short addrs • Similar to LOWPAN_HC1 encoding, but for CGP – – – – Compresses to 2 octets in best case Allows arbitrary IPv6 addresses if needed Same encoding octet, same HC2 Uses lower-layer information when possible • Support for compressed well-known multicast addresses – Neighbor discovery, DHCPv6 – Uses 6LoWPAN short address encoding 07/24/2007 69th IETF Meeting - 6LoWPAN WG 16
© Copyright 2026 Paperzz