ROLL P. Thubert, Ed. Internet-Draft Cisco Intended status: Standards Track May 4, 2012 Expires: November 5, 2012 Use of the IPv6 Flow Label within an LLN draft-thubert-roll-flow-label-00 Abstract In a Low Power Lossy Network, the traditional tuple of source, destination and ports might not be the proper indication to isolate a meaningful flow. For instance, it can be a requirement for the aggregation of related measurements from multiple sources to be treated as a single flow following a same path in order to experience similar jitter and latency. In that case, the Flow Label in packets outgoing a RPL domain could and sometimes should be set by the root of the RPL structure. It derives that the Flow Label could be reused inside the RPL domain. This document present how the Flow Label can be used inside a LLN as a replacement to the RPL option and provides rules for the root to set and reset the Flow Label when forwarding between the inside of RPL domain and the larger Internet, in both direction. 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 November 5, 2012. 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 Thubert Expires November 5, 2012 [Page 1] Internet-Draft Use of the IPv6 Flow Label within an LLN May 2012 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Flow Label Format Within the RPL Domain . . . . . . . . . . . . 4 4. Root Operation . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. Incoming Packets . . . . . . . . . . . . . . . . . . . . . 5 4.2. Outgoing Packets . . . . . . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . . . 6 8.2. Informative References . . . . . . . . . . . . . . . . . . 6 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 6 Thubert Expires November 5, 2012 [Page 2] Internet-Draft Use of the IPv6 Flow Label within an LLN May 2012 1. Introduction In some Low Power and Lossy Network (LLN) applications such as control systems [RFC5673], a packet loss is usually acceptable but jitter and latency must be strictly controlled as they can play a critical role in the interpretation of the measured information. Sensory systems are often distributed, and the control information can in fact be aggregated from multiple source. If this aggregated control information is transported across the Internet, it should be treated as a single flow for two reasons: The bulk of the traffic consists of small chunks of data (in the order few bytes to a few tens of bytes) at a time. In industrial applications, a typical frequency is 4Hz but it can be a lot slower than that for, say, environmental monitoring. The granularity of that traffic is too small to make a lot of sense in load balancing application. The control system may be fooled into misbehaviors if the latency and jitter of packets vary from a source to another source for a related measurement. This is a case where related packets from multiple sources should not be load-balanced along their path in the Internet; this is discouraged by tagging those packets with a same Flow Label in the IPv6 [RFC2460] header. The Routing Protocol for Low Power and Lossy Networks (RPL) [RFC6550] specification defines a generic Distance Vector protocol that is adapted to a variety of LLNs. RPL forms Destination Oriented Directed Acyclic Graphs (DODAGs) which root often acts as the Border Router to connect the RPL domain to the Internet. The root is responsible to select the RPL Instance that is used to forward a packet coming from the Internet into the RPL domain. A classical RPL implementation will use the RPL Option for Carrying RPL Information in Data-Plane Datagrams [RFC6553] to tag a packet with the Instance ID and other information that RPL requires for its operation within the RPL domain. Sadly, the Option must be placed in a Hop-by-Hop option that must be inserted or removed as the packet crosses the border of the RPL domain. This operation may involve an extra encapsulation that is detrimental to the network operation, in particular with regards to bandwidth and battery constraints. All the packets that are leaving a DODAG of a RPL domain towards the Internet will transit via a same root. The root is an ideal place to set the IPv6 Flow Label to a same value across multiple sources of a Thubert Expires November 5, 2012 [Page 3] Internet-Draft Use of the IPv6 Flow Label within an LLN May 2012 same flow when that operation is needed, ensuring complience with the rules defined by the IPv6 Flow Label Specification [RFC6437] within the Internet. At the same time, the root segragates the Internet and the RPL domain, allowing to reuse the Flow Label within the RPL domain. This document specifies how the Flow Label can be reused within the RPL domain as a replacement to the RPL option. The use of the Flow Label within a RPL domain is an instance of the stateful scenarios decribed in [RFC6437] where the states include the rank of a node and the RPLInstanceID that identifies the routing topology. 2. Terminology 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]. The Terminology used in this document is consistent with and incorporates that described in `Terminology in Low power And Lossy Networks' [I-D.ietf-roll-terminology] and [RFC6550]. 3. Flow Label Format Within the RPL Domain [RFC6550] section 11.2 specifies the fields that are to be placed into the packets for the purpose of Instance Identification, as well as Loop Avoidance and Detection. Those fields include an 'O', and 'R' and an 'F' bits, the 8-bit RPLInstanceID, and the 16-bit SenderRank. SenderRank is the result of the DAGRank operation on the rank of the sender, where the DAGRank operation is defined in section 3.5.1 as: DAGRank(rank) = floor(rank/MinHopRankIncrease) If MinHopRankIncrease is set to a multiple of 256, it appears that the most significant 8 bits of the SenderRank will be all zeroes and could be ommitted. In that case, the Flow Label MAY be used as a replacement to the [RFC6553] RPL option. To achive this, the SenderRank is expressed with 8 least significant bits, and the information carried within the Flow Label in a packet is constructed follows: Thubert Expires November 5, 2012 [Page 4] Internet-Draft Use of the IPv6 Flow Label within an LLN May 2012 0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |O|R|F| SenderRank | RPLInstanceID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: The RPL Flow Label The first (leftmost) bit of the Flow Label is reserved and should be set to zero. 4. Root Operation 4.1. Incoming Packets When routing a packet towards the RPL domain, the root applies a policy to determine whether the Flow Label is to be used to carry the RPL information. If so, the root MUST reset the Flow Label and then it MUST set all the fields in the Flow Label as prescribed by [RFC6553] using the format specified in Figure 1. In particular, the root selects the Instance that will be used to forward the packet within the RPL domain. 4.2. Outgoing Packets When routing a packet outside the RPL domain, the root applies a policy to determine whether the Flow Label was used to carry the RPL information. If so, the root MUST reset the Flow Label. The root SHOULD recompute a Flow Label following the rules prescribed by [RFC6553]. In particular, the root MAY ignore the source address but it SHOULD use the RPLInstanceID for the computation. 5. Security Considerations The process of using the Flow Label as opposed to the RPL option does not appear to create any opening for new threat compared to [RFC6553]. 6. IANA Considerations No IANA action is required for this specification. Thubert Expires November 5, 2012 [Page 5] Internet-Draft Use of the IPv6 Flow Label within an LLN May 2012 7. Acknowledgments 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. [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. [RFC6553] Hui, J. and JP. Vasseur, "The Routing Protocol for Low- Power and Lossy Networks (RPL) Option for Carrying RPL Information in Data-Plane Datagrams", RFC 6553, March 2012. 8.2. Informative References [I-D.ietf-roll-terminology] Vasseur, J., "Terminology in Low power And Lossy Networks", draft-ietf-roll-terminology-06 (work in progress), September 2011. [RFC5673] Pister, K., Thubert, P., Dwars, S., and T. Phinney, "Industrial Routing Requirements in Low-Power and Lossy Networks", RFC 5673, October 2009. [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, "IPv6 Flow Label Specification", RFC 6437, November 2011. Thubert Expires November 5, 2012 [Page 6] Internet-Draft Use of the IPv6 Flow Label within an LLN May 2012 Author's Address Pascal Thubert (editor) Cisco Systems Village d'Entreprises Green Side 400, Avenue de Roumanille Batiment T3 Biot - Sophia Antipolis 06410 FRANCE Phone: +33 4 97 23 26 34 Email: pthubert@cisco.com Thubert Expires November 5, 2012 [Page 7]