idnits 2.17.1 draft-thubert-6man-flow-label-for-rpl-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 2) being 60 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 294 has weird spacing: '...eployed in th...' -- The document date (August 25, 2014) is 3532 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC6552' is defined on line 349, but no explicit reference was found in the text == Unused Reference: 'I-D.thubert-6lo-forwarding-fragments' is defined on line 372, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE802154' ** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200) ** Obsolete normative reference: RFC 3697 (Obsoleted by RFC 6437) == Outdated reference: A later version (-30) exists of draft-ietf-6tisch-architecture-01 == Outdated reference: A later version (-06) exists of draft-ietf-6tisch-tsch-00 == Outdated reference: A later version (-08) exists of draft-thubert-6lo-forwarding-fragments-01 Summary: 2 errors (**), 0 flaws (~~), 8 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6MAN P. Thubert, Ed. 3 Internet-Draft Cisco 4 Intended status: Standards Track August 25, 2014 5 Expires: February 24, 2015 7 The IPv6 Flow Label within a LLN domain 8 draft-thubert-6man-flow-label-for-rpl-05 10 Abstract 12 This document presents how the Flow Label can be used inside a LLN 13 domain such as a RPL domain or an ISA100.11a D-subnet, and provides 14 updated rules for a domain Border Router to set and reset the Flow 15 Label when forwarding between inside the domain and the larger 16 Internet in both direction. Rules for routers inside the domain are 17 also provided. 19 Status of this Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on February 24, 2015. 36 Copyright Notice 38 Copyright (c) 2014 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents (http://trustee.ietf.org/ 43 license-info) in effect on the date of publication of this document. 44 Please review these documents carefully, as they describe your rights 45 and restrictions with respect to this document. Code Components 46 extracted from this document must include Simplified BSD License text 47 as described in Section 4.e of the Trust Legal Provisions and are 48 provided without warranty as described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3. Requirements for LLN Flows . . . . . . . . . . . . . . . . . . 3 55 4. On Compatibility With Existing Standards . . . . . . . . . . . 4 56 5. Updated Rules . . . . . . . . . . . . . . . . . . . . . . . . 5 57 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 58 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 59 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 60 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 61 9.1. Normative References . . . . . . . . . . . . . . . . . . . 7 62 9.2. Informative References . . . . . . . . . . . . . . . . . . 7 63 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 8 65 1. Introduction 67 The design of Lowpower Lossy Networks (LLNs) is generally focussed on 68 saving energy, which is typically the most constrained resource of 69 all. Other classical constraints, such as memory capacity, frame 70 size, as well as the duty cycling of the LLN devices, derive from 71 that primary concern. 73 In isolated devices, energy is typically available from batteries 74 that are expected to last for years, or scavenged from the 75 environment in very limited quantities. Any protocol that is 76 intended for use in LLNs must be designed with the primary concern of 77 saving energy as a strict requirement. 79 The IEEE802.15.4 [IEEE802154] was designed to offer the Physical 80 (PHY) and Medium Access Control (MAC) layers for low-cost, low-speed, 81 low-power Wireless Personal Area Networks (WPANs), which are a 82 wireless form of LLNs. 84 With the traditional IEEE802.15.4 PHY, frames are limited to 127 85 octets. In order to adapt IPv6 [RFC2460] over IEEE802.15.4, 6LoWPAN 86 [RFC4944] introduced a fragmentation mechanism under IP, which in 87 turn causes even more energy spending and other issues as discussed 88 in LLN Fragment Forwarding and Recovery [I-D.thubert-6lo-forwarding- 89 fragments]. 91 The IEEE802.15.4e Task Group further defined the TimeSlotted Channel 92 Hopping [I-D.ietf-6tisch-tsch] (TSCH) mode of operation as an update 93 to the MAC specification in order to address Time Sensitive 94 applications. 96 The 6TISCH architecture [I-D.ietf-6tisch-architecture] specifies the 97 operation of IPv6 over IEEE802.15.4e TSCH networks attached and 98 synchronized by backbone routers. 6TiSCH was created to simplify the 99 adoption of IETF technology by other Standard Defining Organizations 100 (SDOs), in particular in the Industrial Automation space, which 101 already relies on variations of IEEE802.15.4e TSCH for Wireless 102 Sensor Networking. 104 The ISA100.11a [ISA100.11a] specification provides an example of such 105 an industrial WSN standard, using a precursor to IEEE802.15.4e over 106 the classical IEEE802.14.5 PHY. In that case, after security is 107 applied, roughly 80 octets are available per frame for IP and 108 Payload. In order to 1) avoid fragmentation and 2) conserve energy, 109 the ISA100 WG in charge of that specification did scrutinize the use 110 of every bit in the frame and rejected any perceived waste. 112 The challenge to obtain the adoption of IPv6 in the original standard 113 was thus to save all possible bits in the frames, including the UDP 114 checksum which was an interesting discussion on its own. This work 115 was actually one of the roots for the 6LoWPAN Header Compression 116 [RFC6282] work, which goes down to the individual bits to save space 117 in the frames for actual data, and allowed ISA100.11a to adopt IPv6. 119 ISA100.11a (now IEC62734) uses IPv6 over UDP, and conforms to a 120 number of other IETF RFCs including the IPv6 Flow Label Specification 121 [RFC3697] that was the reference at the time the standard was 122 elaborated, but fails to conform to the newer IPv6 Flow Label 123 Specification [RFC6437] that obsoleted it. 125 The bone of contention is the use of the Flow Label as an index 126 called a contract ID, and the capability for the Backbone Router, 127 that is the Border Router of a ISA100.11a WSN (also called a 128 D-subnet), to modify the Flow Label. There is work at ROLL that 129 indicates that RPL nodes may benefit from similar abilities to also 130 transport flow-related information in the Flow Label. 132 This document adds an exception to the rules in [RFC6437], for 133 application within a well-defined LLN domain, whereby the Border 134 Routers would be in a position to ensure that from an external 135 viewpoint, the domain complies to the new Flow Label specification 136 even though the internal use of the Flow Label does not. 138 2. Terminology 140 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 141 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 142 document are to be interpreted as described in [RFC2119]. 144 This document uses Terminology defined in Terminology in Low power 145 And Lossy Networks [RFC7102], as well as [RFC6550] and [RFC6553]. 147 3. Requirements for LLN Flows 149 In Industrial Automation and Control Systems (IACS) [RFC5673], a 150 packet loss is usually acceptable but jitter and latency must be 151 strictly controlled as they can play a critical role in the 152 interpretation of the measured information. Sensory systems are 153 often distributed, and the control information can in fact be 154 originated from multiple sources and aggregated. In such cases, 155 related packets from multiple sources should not be load-balanced 156 along their path in the Internet. 158 In a typical LLN application, the bulk of the traffic consists of 159 small chunks of data (in the order few bytes to a few tens of bytes) 160 at a time. 4Hz is a typical loop frequency in Process Control, 161 though it can be a lot slower than that in, say, environmental 162 monitoring. The granularity of traffic from a single source is too 163 small to make a lot of sense in load balancing application. 165 As a result, it can be a requirement for related measurements from 166 multiple sources to be treated as a single flow following a same path 167 over the Internet so as to experience similar jitter and latency. 168 The traditional tuple of source, destination and ports might then not 169 be the proper indication to isolate a consistent flow. On the other 170 hand, the flow integrity can be preserved in a simple manner if the 171 setting of the Flow Label in the IPv6 header of packets outgoing a 172 LLN domain, is centralized to the Border Router, such as the root of 173 a RPL DODAG structure, or an ISA100.11a Backbone Router, as opposed 174 to distributed across the actual sources. 176 Considering that the goal for setting the Flow Label as prescribed in 177 the IPv6 Flow Label Specification [RFC6437] is to improve load 178 balancing in the core of the Internet, it is unlikely that LLN 179 devices will consume energy to generate and then transmit a Flow 180 Label to serve outside interests and the Flow Label is generally left 181 to zero so as to be elided in the 6LoWPAN [RFC6282] compression. So 182 in a general manner the interests of the core are better served if 183 the RPL roots systematically rewrite the flow label rather than if 184 they never do. 186 For packets coming into the RPL domain from the Internet, the value 187 for setting the Flow Label as prescribed in [RFC6437] is consumed 188 once the packet has traversed the core and reaches the LLN. Then 189 again, there is little value but a high cost for the LLN in spending 190 20 bits to transport a Flow Label, that was set by a peer or a router 191 in the Internet, over the constrained network to a destination node 192 that has no use of it. 194 On a PHY layer with super-short frames such as IEEE802.15.4, 195 compliance with those rules will simply not happen, and the rules 196 will become an bone of contention for IPv6 adoption at a time where 197 great progress is happening towards that goal, as illustrated by the 198 activity at 6lo on multiple LLN Link-layers. 200 4. On Compatibility With Existing Standards 202 All the packets from all the nodes in a same DODAG that are leaving a 203 RPL domain towards the Internet will transit via a same RPL root. 204 The RPL root segregates the Internet and the RPL domain, which 205 enables the capability to reuse the Flow Label within the RPL domain. 206 The ISA100.11a Backbone Router plays a similar role and interfaces an 207 ISA100.11a WSN D-subnet with a larger IPv6 network. 209 This specification enables the operation of resetting or reusing the 210 IPv6 Flow Label at the border of a LLN domain. This is a deviation 211 from the IPv6 Flow Label Specification [RFC6437], in that the LLN 212 border router is neither the source nor the first hop router that 213 sets the final Flow Label for use outside the LLN domain. 215 But if we consider the whole RPL domain as a large virtual host from 216 the standpoint of the rest of the Internet, the interests that lead 217 to [RFC6437], and in particular load balancing in the core of the 218 Internet, are probably better served if the root guarantees that the 219 Flow Label is set in a compliant fashion than if we rely on each 220 individual sensor that may not use it at all, or use it slightly 221 differently such as done in ISA100.11a. 223 Additionally, LLN flows can be compound flows aggregating information 224 from multiple sources. The Border Router is an ideal place to 225 rewrite the Flow Label to a same value for a same flow across 226 multiple sources, ensuring compliance with the rules defined by 227 [RFC6437] for use outside of the RPL domain and in particular in the 228 core of the Internet. 230 This document specifies how the Flow Label can be reused within a LLN 231 domain such as a RPL domain and an ISA100.11a D-subnet, in which a 232 Border Router delineates the limit of the domain and may rewrite the 233 Flow Label on all packets. In a RPL domain, it will become 234 acceptable to use the Flow Label as replacement to the RPL option, 235 though whether that operation gets standardized is left to be 236 discussed. That use of the Flow Label within a RPL domain would be 237 an instance of the stateful scenarios as discussed in [RFC6437] where 238 the flow state in the node is indexed by the RPLInstanceID that 239 identifies the routing topology. ISA100.11a would be another 240 instance where the 16bit Contract ID in the Flow Label identifies a 241 state in a node that is specific to a particular flow. 243 5. Updated Rules 245 This specification applies to a constrained LLN domain that forms a 246 stub and is connected to the Internet by and only by its Border 247 Routers. In the case of a RPL domain, the RPL root is such a 248 bottleneck for all the traffic between the Internet and the 249 Destination-Oriented Directed Acyclic Graph (DODAG) that it serves. 250 This specification also covers other LLN domains with the same 251 properties of having strict constraints in energy and/or frame size, 252 such as an ISA100.11a [ISA100.11a] Industrial Wireless Sensor 253 Network, but does not generalize to any arbitrary domain. This 254 updates the IPv6 Flow Label Specification [RFC6437], which does not 255 allow any specific rule in any particular domain, and updates it only 256 in the context of constrained LLN domains. 258 In that context, a LLN domain Border Router MAY rewrite the Flow 259 Label of all packets entering or leaving the RPL domain in both 260 directions, from and towards the Internet, regardless of its original 261 setting. For the limited context of a constrained LLN domain, this 262 updates the IPv6 Flow Label Specification [RFC6437] which stipulates 263 that once it is set, the Flow Label is left unchanged; but the RFC 264 also indicates a violation to the rule can be accepted for compelling 265 reasons related to security. This specification adds that energy- 266 saving is another compelling reason for a violation to the 267 aforementioned rule, though applicable only inside a constrained LLN. 269 In particular, the Border Router of a LLN domain MAY set the Flow 270 Label of IPv6 packets that exit the LLN domain. It SHOULD do it if 271 the LLN domain operations do not conform [RFC6437], and if it does 272 modify the Flow Label, then it MUST do it in a manner that conforms 273 [RFC6437] from the perspective of a Node outside the LLN. 275 It results that a Node in a constrained LLN domain MUST NOT assume 276 that the setting of the Flow Label will be preserved end-to-end, and 277 that an intermediate router inside a constrained LLN MAY alter a non- 278 zero Flow Label between the source in the LLN and the LLN Border 279 Router. This does not modify the expectations on end Nodes but 280 extends the updated rules from [RFC6437] to arbitrary routers in the 281 LLN. 283 For instance, a RPL root MAY reset the Flow Label of IPv6 packets 284 entering the RPL domain to zero for an optimal Header Compression by 285 6LoWPAN [RFC6282]. A RPL root MAY also reuse the Flow Label towards 286 the LLN for other purposes, such as to carry the RPL Information 287 [RFC6553]. An ISA100.11s Backbone Router MAY reuse the Flow Label to 288 carry local flow information, such as the Contract ID specified in 289 ISA100.11a [ISA100.11a]. 291 6. Security Considerations 293 Because the flow label is not protected by IPSec, it is expected that 294 Layer-2 security is deployed in the LLN where is specification is 295 applied. This is the actual best practice in LLNs, which serves in 296 particular to avoid forwarding of untrusted packets over the 297 constrained network. 299 The specification insists that the LLN Node should not expect that 300 the Flow Label is conserved end-to-end and rather reduces the risk of 301 misinterpretation in case of a rewrite by a router in the middle. 303 7. IANA Considerations 305 No IANA action is required for this specification. 307 8. Acknowledgements 309 The author wishes to thank Brian Carpenter for his in-depth review 310 and constructive approach to the problem resolution. 312 9. References 314 9.1. Normative References 316 [IEEE802154] 317 IEEE standard for Information Technology, "IEEE std. 318 802.15.4, Part. 15.4: Wireless Medium Access Control 319 (MAC) and Physical Layer (PHY) Specifications for Low-Rate 320 Wireless Personal Area Networks", June 2011. 322 [ISA100.11a] 323 ISA/ANSI, "Wireless Systems for Industrial Automation: 324 Process Control and Related Applications - ISA100.11a-2011 325 - IEC 62734", 2011, . 328 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 329 Requirement Levels", BCP 14, RFC 2119, March 1997. 331 [RFC2460] Deering, S.E. and R.M. Hinden, "Internet Protocol, Version 332 6 (IPv6) Specification", RFC 2460, December 1998. 334 [RFC3697] Rajahalme, J., Conta, A., Carpenter, B. and S. Deering, 335 "IPv6 Flow Label Specification", RFC 3697, March 2004. 337 [RFC6282] Hui, J. and P. Thubert, "Compression Format for IPv6 338 Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, 339 September 2011. 341 [RFC6437] Amante, S., Carpenter, B., Jiang, S. and J. Rajahalme, 342 "IPv6 Flow Label Specification", RFC 6437, November 2011. 344 [RFC6550] Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R., 345 Levis, P., Pister, K., Struik, R., Vasseur, JP. and R. 346 Alexander, "RPL: IPv6 Routing Protocol for Low-Power and 347 Lossy Networks", RFC 6550, March 2012. 349 [RFC6552] Thubert, P., "Objective Function Zero for the Routing 350 Protocol for Low-Power and Lossy Networks (RPL)", RFC 351 6552, March 2012. 353 [RFC6553] Hui, J. and JP. Vasseur, "The Routing Protocol for Low- 354 Power and Lossy Networks (RPL) Option for Carrying RPL 355 Information in Data-Plane Datagrams", RFC 6553, March 356 2012. 358 9.2. Informative References 360 [I-D.ietf-6tisch-architecture] 361 Thubert, P., Watteyne, T. and R. Assimiti, "An 362 Architecture for IPv6 over the TSCH mode of IEEE 363 802.15.4e", Internet-Draft draft-ietf-6tisch- 364 architecture-01, February 2014. 366 [I-D.ietf-6tisch-tsch] 367 Watteyne, T., Palattella, M. and L. Grieco, "Using 368 IEEE802.15.4e TSCH in an LLN context: Overview, Problem 369 Statement and Goals", Internet-Draft draft-ietf-6tisch- 370 tsch-00, November 2013. 372 [I-D.thubert-6lo-forwarding-fragments] 373 Thubert, P. and J. Hui, "LLN Fragment Forwarding and 374 Recovery", Internet-Draft draft-thubert-6lo-forwarding- 375 fragments-01, February 2014. 377 [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J. and D. Culler, 378 "Transmission of IPv6 Packets over IEEE 802.15.4 379 Networks", RFC 4944, September 2007. 381 [RFC5673] Pister, K., Thubert, P., Dwars, S. and T. Phinney, 382 "Industrial Routing Requirements in Low-Power and Lossy 383 Networks", RFC 5673, October 2009. 385 [RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and 386 Lossy Networks", RFC 7102, January 2014. 388 Author's Address 390 Pascal Thubert, editor 391 Cisco Systems 392 Village d'Entreprises Green Side 393 400, Avenue de Roumanille 394 Batiment T3 395 Biot - Sophia Antipolis, 06410 396 FRANCE 398 Phone: +33 4 97 23 26 34 399 Email: pthubert@cisco.com