6LoWPAN Roadmap and Implementation Guide
The information below is for an old version of the document.
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
|Stream||Stream state||(No stream defined)|
|RFC Editor Note||(None)|
|IESG||IESG state||I-D Exists|
|Send notices to||(None)|
6LoWPAN Working Group C. Bormann Internet-Draft Universitaet Bremen TZI Intended status: Standards Track September 06, 2012 Expires: March 10, 2013 6LoWPAN Roadmap and Implementation Guide draft-bormann-6lowpan-roadmap-02 Abstract 6LoWPAN is defined in RFC 4944 in conjunction with a number of specifications that are currently nearing completion. The entirety of these specifications may be hard to understand, pose specific implementation problems, or be simply inconsistent. The present guide aims to provide a roadmap to these documents as well as provide specific advice how to use these specifications in combination. In certain cases, it may provide clarifications or even corrections to the specifications referenced. This guide is intended as a continued work-in-progress, i.e. a long- lived Internet-Draft, to be updated whenever new information becomes available and new consensus on how to handle issues is formed. Similar to the ROHC implementation guide, RFC 4815, it might be published as an RFC at some future time later in the acceptance curve of the specifications. This document does not describe a new protocol or attempt to set a new standard of any kind - it mostly describes good practice in using the existing specifications, but it may also document emerging consensus where a correction needs to be made. The current version -02 of this document is an early draft that is intended to spark the further collection of relevant information. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any Bormann Expires March 10, 2013 [Page 1] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on March 10, 2013. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Bormann Expires March 10, 2013 [Page 2] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 2. 6LoWPAN . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1. Optional components of 6LoWPAN . . . . . . . . . . . . . . 5 3. 6LoWPAN family . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. 6LoWPAN over Bluetooth Low Energy (BT-LE) . . . . . . . . 6 3.2. 6LoWPAN over DECT Ultra Low Energy (DECT-ULE) . . . . . . 6 4. 6LoWPAN MTU . . . . . . . . . . . . . . . . . . . . . . . . . 7 5. PAN identifiers in IPv6 addresses . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 9.1. Normative References . . . . . . . . . . . . . . . . . . . 12 9.2. Informative References . . . . . . . . . . . . . . . . . . 12 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14 Bormann Expires March 10, 2013 [Page 3] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 1. Introduction (To be written - for now please read the Abstract.) 1.1. Terminology This document is a guide. However, it might evolve to make specific recommendations on how to use standards-track specifications. Therefore: The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. They indicate requirement levels for compliant 6LoWPAN implementations [RFC2119]. Note that these keywords are not only used where a correction or clarification is intended; the latter are explicitly identified as such. The term "byte" is used in its now customary sense as a synonym for "octet". Bormann Expires March 10, 2013 [Page 4] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 2. 6LoWPAN What is a 6LoWPAN? The term, originally just the name of the IETF Working Group (WG) that created the specifications, nowadays refers to a specific way of building IP-connected wireless networks for embedded use cases. The 6LoWPAN core specifications are: o [RFC4944], as updated by o [RFC6282] and o [I-D.ietf-6lowpan-nd]. (Note that, while still being referenced here as an Internet-Draft, [I-D.ietf-6lowpan-nd] has been approved as a standards-track RFC on 2012-08-24 and is now in the RFC editor queue waiting for final editing in order to be published.) While [RFC4944] defines 6LoWPAN specifically for IEEE 802.15.4 networks, 6LoWPAN concepts have been applied to other PHY/MAC layers. 6LoWPANs MAY use additional protocols, such as [RFC6550] for routing, or [I-D.ietf-core-coap] for application data transfer. However, the "6LoWPANness" of a network is caused by adherence to the core specifications. 2.1. Optional components of 6LoWPAN Additional sub-protocols are being discussed in the IETF that may become optional protocols in 6LoWPANs. For instance, [I-D.bormann-6lowpan-ghc] defines an extension to [RFC6282] that enables header compression of additional headers and header-like protocols, including ICMPv6 and RPL. One other recent proposal that may be of interest to application designers targeting link layers with small frame sizes is Adaptation Layer Fragmentation Indication (ALFI), [I-D.bormann-intarea-alfi]. The present document will track these sub-protocols and be amended once the sub-protocols reach formal status in the IETF. Bormann Expires March 10, 2013 [Page 5] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 3. 6LoWPAN family In addition to the support for IEEE 802.15.4 provided by [RFC4944], additional PHY/MAC layers outside IEEE 802.15.4 (or even 802.15) are being addressed by 6LoWPAN technology. E.g., [I-D.ietf-6lowpan-btle] applies 6LoWPAN technology to Bluetooth Low Energy ("Bluetooth Smart"). As this has passed both 6LoWPAN Working-Group and IETF Last Call and has received one round of IESG consideration (now necessitating some, mostly editorial, changes), it is becoming part of the "6LoWPAN family" as a companion specification to [RFC4944], if not part of the (IEEE 802.15.4 focused) term 6LoWPAN itself. At an earlier stage of work, [I-D.mariager-6lowpan-v6over-dect-ule] aims to define 6LoWPAN technology for DECT ULE (Ultra Low Energy), which might become another companion spec to [RFC4944]. In the further evolution of the 6LoWPAN family, we have to be careful what changes apply to all members of the family, and which are PHY/ MAC specific. 3.1. 6LoWPAN over Bluetooth Low Energy (BT-LE) [I-D.ietf-6lowpan-btle] similarly specifies the combination of o [RFC4944], as updated by o [RFC6282] and o [I-D.ietf-6lowpan-nd]. as the basis for IPv6 over BT-LE, removing a couple of features from [RFC4944] as they are covered by or become unnecessary in BT-LE: o Mesh header o Fragmentation 3.2. 6LoWPAN over DECT Ultra Low Energy (DECT-ULE) [I-D.mariager-6lowpan-v6over-dect-ule] is stabilizing in parallel to the base documents that are maturing within ETSI. While silicon is already available, complete systems with final firmware (and thus stable specs) are expected within 2012. Bormann Expires March 10, 2013 [Page 6] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 4. 6LoWPAN MTU IPv6 defines a minimal value for the "Minimum Transmission Unit", MTU, of 1280 bytes. This means that every IPv6 network must be able to transfer a packet of at least 1280 bytes of IPv6 headers and data without requiring fragmentation. A common Internet MTU is 1500 bytes (motivated by the Ethernet MTU). The gap between 1280 and 1500 allows tunneling protocols to insert headers on the way from the source of a packet to a destination without breaking the overall MTU of the path. As various tunneling protocols do indeed insert bytes, it is unwise to simply assume an end-to-end MTU of 1500 bytes even with the current dominance of Ethernet. Path MTU discovery [RFC1981] [RFC4821] has been defined to enable transport protocols to find an MTU value better than 1280 bytes, but still reliably within the MTU of the path being used. Path MTU discovery places, however, additional strain on constrained nodes, which therefore may want to stick with an MTU of 1280 bytes for all IPv6 applications. 6LoWPAN was designed as a stub network, not requiring any tunneling. As IEEE 802.15.4 packets are rather small (127 bytes maximum at the physical layer, minus MAC/security and adaptation layer overhead), 1280 bytes was already considered a somewhat large packet size. Therefore, the 6LoWPAN network MTU was simply set at the minimum size allowable by IPv6, 1280 bytes, although the 6LoWPAN fragmentation mechanism is able to support packets with total lengths (including the initial IPv6 header) of up to 2047 bytes. As a more recent development, some modes of operation of the RPL protocol [RFC6550] do indeed operate by tunneling data packets between RPL routers. Maintaining the MTU visible to applications at 1280 therefore requires making a larger MTU available to the tunnels. 6LoWPAN routers that employ RPL therefore MUST support a more appropriate MTU between routers that make use of tunneling between them. [The specific MTU value is TBD, to be chosen between 1280 and 2047 based on RPL considerations that need to be added to this document.] Bormann Expires March 10, 2013 [Page 7] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 5. PAN identifiers in IPv6 addresses [RFC4944] incorporates PAN identifiers in IPv6 addresses created from 16-bit MAC addresses, in a somewhat awkward way (one of the 16 bits needs to be cleared to enable the U/L bit.). As the use of PAN identifiers in 6LoWPAN networks has since become less and less meaningful, [RFC6282] provides specific support only for interface IDs of the form 0000:00ff:fe00:XXXX, i.e. PAN identifiers of zero. (Other forms can be supported by creating sufficiently long pieces of compression context information for each non-zero PAN identifier; however there is a limited number of context elements and each consumes space in all nodes of a 6LoWPAN.) It is therefore RECOMMENDED to employ a PAN identifier of zero with 6LoWPAN. (While this discussion is specific to IEEE 802.15.4 networks, the recommendation to build short addresses in a way that enables [RFC6282] compression may apply to other PHY/MAC technologies as well.) Bormann Expires March 10, 2013 [Page 8] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 6. IANA Considerations This document has no actions for IANA. Bormann Expires March 10, 2013 [Page 9] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 7. Security Considerations (None so far; this section will certainly grow as additional security considerations beyond those listed in the base specifications become known.) Bormann Expires March 10, 2013 [Page 10] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 8. Acknowledgements (The concept for this document is borrowed from [RFC4815], which was invented by Lars-Erik Jonsson. Thanks!) Bormann Expires March 10, 2013 [Page 11] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 9. References 9.1. Normative References [I-D.ietf-6lowpan-btle] Nieminen, J., Patil, B., Savolainen, T., Isomaki, M., Shelby, Z., and C. Gomez, "Transmission of IPv6 Packets over Bluetooth Low Energy", draft-ietf-6lowpan-btle-09 (work in progress), July 2012. [I-D.ietf-6lowpan-nd] Shelby, Z., Chakrabarti, S., and E. Nordmark, "Neighbor Discovery Optimization for Low Power and Lossy Networks (6LoWPAN)", draft-ietf-6lowpan-nd-21 (work in progress), August 2012. [I-D.mariager-6lowpan-v6over-dect-ule] Mariager, P. and J. Petersen, "Transmission of IPv6 Packets over DECT Ultra Low Energy", draft-mariager-6lowpan-v6over-dect-ule-02 (work in progress), May 2012. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks", RFC 4944, September 2007. [RFC6282] Hui, J. and P. Thubert, "Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, September 2011. 9.2. Informative References [I-D.bormann-6lowpan-ghc] Bormann, C., "6LoWPAN Generic Compression of Headers and Header-like Payloads", draft-bormann-6lowpan-ghc-04 (work in progress), March 2012. [I-D.bormann-intarea-alfi] Bormann, C., "Adaptation Layer Fragmentation Indication", draft-bormann-intarea-alfi-01 (work in progress), July 2012. [I-D.ietf-core-coap] Shelby, Z., Hartke, K., Bormann, C., and B. Frank, "Constrained Application Protocol (CoAP)", Bormann Expires March 10, 2013 [Page 12] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 draft-ietf-core-coap-11 (work in progress), July 2012. [RFC1981] McCann, J., Deering, S., and J. Mogul, "Path MTU Discovery for IP version 6", RFC 1981, August 1996. [RFC4815] Jonsson, L-E., Sandlund, K., Pelletier, G., and P. Kremer, "RObust Header Compression (ROHC): Corrections and Clarifications to RFC 3095", RFC 4815, February 2007. [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU Discovery", RFC 4821, March 2007. [RFC6550] Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, JP., and R. Alexander, "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", RFC 6550, March 2012. Bormann Expires March 10, 2013 [Page 13] Internet-Draft 6LoWPAN Roadmap and Implementation Guide September 2012 Author's Address Carsten Bormann Universitaet Bremen TZI Postfach 330440 Bremen D-28359 Germany Phone: +49-421-218-63921 Fax: +49-421-218-7000 Email: email@example.com Bormann Expires March 10, 2013 [Page 14]