individual submission R. Turner Internet-Draft Landis+Gyr Intended status: Experimental September 28, 2015 Expires: March 31, 2016 RPL DIO Option for Specifying Compression Contexts draft-turner-roll-dio-ctx-00 Abstract This memo describes an option to be included in RPL DIO messages that specifies one or more compression contexts to be used for IPv6 address compression. A compression context specifies a particular IPv6 address prefix to be used in both IPv6 header compression, as well as generic compression use-cases. The list of compression contexts is indexed by a compression context ID compatible with RFC 6282. 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 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 31, 2016. Copyright Notice Copyright (c) 2015 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 Turner Expires March 31, 2016 [Page 1] Internet-Draft DIO Compression Context Option September 2015 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. 1. Introduction RFC 6550 [RFC6550] includes a "DODAG Information Object" (DIO) message that allows nodes within a particular DODAG instance to learn about configuration parameters specific to the DODAG instance. The message includes fixed fields containing fundamental DODAG operational parameters, and also provides for optional fields that specify additional DODAG parameters. The optional parameters are specified through type-length-value (TLV) extensions. This memo proposes a new DIO option for specifying a list of compression contexts appropriate for addressing use-cases where IPv6 address compression is required. 1.1. Requirements Language 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 [RFC2119] [RFC2119]. 2. Terminology This document primarily uses the terminology described in [RFC6550] [RFC6550], [RFC6282] [RFC6282], and [RFC6775] [RFC6775]. 3. Compression Context Option The 6CO option describes a particular IPv6 address prefix to assume for use-cases where IPv6 address compression is required. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length |Context Length | Res |C| CID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Valid Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . Context Prefix . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: 6LoWPAN Context Option Format Length: 8-bit unsigned integer. The length of the option (including the Type and Length fields) in units of Turner Expires March 31, 2016 [Page 2] Internet-Draft DIO Compression Context Option September 2015 8 bytes. May be 2 or 3, depending on the length of the Context Prefix field. Context Length: 8-bit unsigned integer. The number of leading bits in the Context Prefix field that are valid. The value ranges from 0 to 128. If it is more than 64, then the Length MUST be 3. C: 1-bit context Compression flag. This flag indicates if the context is valid for use in compression. A context that is not valid MUST NOT be used for compression but SHOULD be used in decompression in case another compressor has not yet received the updated context information. This flag is used to manage the context life cycle based on the recommendations in [RFC6775] Section 7.2. CID: 4-bit Context Identifier for this prefix information. The CID is used by context-based header compression as specified in [RFC6282]. The list of CIDs for a LoWPAN is configured on the 6LBR that originates the context information for the 6LoWPAN. Reserved: This field is unused. It MUST be initialized to zero by the sender and MUST be ignored by the receiver Valid Lifetime: 16-bit unsigned integer. The length of time in units of 60-seconds (relative to the time the packet is received) that the context is vlaid for the purposes of IPv6 address compression or decompression. A value of all zero bits (0x0) indicates that this context entry MUST be removed (deactivated) immediately. Context Prefix: The IPv6 prefix or address corresponding to the CID field. The valid length of this field is included in the Context Length field. This field is padded with zeros in order to make the option a multiple of 8 bytes. 4. RPL Root Operation Valid compression contexts are provisioned into RPL root implementations in a manner outside the scope of this document. Contexts are provisioned as one or more prefix, prefix-length, and context-ID tuples, as described in RFC 6282. Up to 16 tuples (0 to 15) can be configured. Each tuple will require one DIO option in a Turner Expires March 31, 2016 [Page 3] Internet-Draft DIO Compression Context Option September 2015 DIO message, so if there are 8 context tuples configured, then a DIO message will contain 8 DIO compression context options. 5. RPL Router and Leaf Operation RPL routers and leafs (henceforth referred to as 'nodes') receive DIO messages and extract the compression context option(s) from the DIO message. The 'C' bit in the compression context option enables lifecycle management of the particular option according to section 7.2 of RFC 6775. 6. Security Considerations The introduction of compression contexts into a 6LoWPAN involves being able to trust the sender of the context information, as well as verifying that the context information has not been modified since transmission by a trusted sender. Confidentiality of context information is not considered a requirement. RPL provides an optional facility to secure RPL messages for confidentiality, authenticity, and integrity. Using RPL security would satisfy the security requirements for the dissemination of compression context information. Alternatively, if a 6LoWPAN network uses 802.15.4, then the security requirements of this memo would be met by using a "secure network join" method whereby some type of mutual authentication would be utilized so that 6LoWPAN nodes could trust DIO messages originating from the network. 7. References [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. [RFC6775] Shelby, Z., Chakrabarti, S., Nordmark, E., and C. Bormann, "Neighbor Discovery Optimization for IPv6 over 6LoWPANs", RFC 6775, November 2012. [RFC6282] Hui, J. and P. Thubert, "Compression Format for IPv6 Datagrams over 802.15.4-Based Networks", RFC 6282, September 2011. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. Turner Expires March 31, 2016 [Page 4] Internet-Draft DIO Compression Context Option September 2015 Author's Address Randy Turner Landis+Gyr 30000 Mill Creek Ave Suite 100 Alpharetta, GA 30022 US Phone: +1 678 258 1929 Email: randy.turner@landisgyr.com URI: http://www.landisgyr.com/ Turner Expires March 31, 2016 [Page 5]