idnits 2.17.1 draft-pthubert-detnet-ipv6-hbh-00.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: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 164: '...e representation MUST be large enough ...' RFC 2119 keyword, line 173: '...uilds the option MUST be fine enough t...' RFC 2119 keyword, line 246: '... path. In that case, the Projected-Route 'P' flag [RPL-PDAO] MUST be...' RFC 2119 keyword, line 248: '... MUST be set to 0 by the originator,...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (8 June 2021) is 1051 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) ** Downref: Normative reference to an Informational RFC: RFC 8877 == Outdated reference: A later version (-01) exists of draft-hinden-6man-hbh-processing-00 == Outdated reference: A later version (-34) exists of draft-ietf-roll-dao-projection-16 == Outdated reference: A later version (-09) exists of draft-pthubert-raw-architecture-05 -- Obsolete informational reference (is this intentional?): RFC 3272 (Obsoleted by RFC 9522) Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DetNet P. Thubert, Ed. 3 Internet-Draft Cisco Systems 4 Intended status: Standards Track 8 June 2021 5 Expires: 10 December 2021 7 IPv6 Hop-by-Hop Options for DetNet 8 draft-pthubert-detnet-ipv6-hbh-00 10 Abstract 12 RFC 8938, the Deterministic Networking Data Plane Framework relies on 13 the 6-tuple to identify an IPv6 flow. But the full DetNet operations 14 require also the capabilities to signal meta-information such as a 15 sequence within that flow, and to transport different types of 16 packets along the same path with the same treatment, e.g., 17 Operations, Administration, and Maintenance packets and/or multiple 18 flows with fate and resource sharing. This document introduces new 19 Hop-by-Hop header option that can signal that information to the 20 intermediate relays. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on 10 December 2021. 39 Copyright Notice 41 Copyright (c) 2021 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 46 license-info) in effect on the date of publication of this document. 47 Please review these documents carefully, as they describe your rights 48 and restrictions with respect to this document. Code Components 49 extracted from this document must include Simplified BSD License text 50 as described in Section 4.e of the Trust Legal Provisions and are 51 provided without warranty as described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 57 3. The DetNet Options . . . . . . . . . . . . . . . . . . . . . 4 58 3.1. Sequencing Option . . . . . . . . . . . . . . . . . . . . 4 59 3.2. RPL Packet Information . . . . . . . . . . . . . . . . . 6 60 3.3. DetNet Local Path Option . . . . . . . . . . . . . . . . 7 61 3.4. DetNet Global Path Option . . . . . . . . . . . . . . . . 7 62 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 63 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 64 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 65 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 66 7.1. Normative References . . . . . . . . . . . . . . . . . . 8 67 7.2. Informative References . . . . . . . . . . . . . . . . . 9 68 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10 70 1. Introduction 72 Section 2 of the Deterministic Networking Problem Statement 73 [DetNet-PS] introduces the concept of Deterministic Networking 74 (DetNet) to the IETF. DetNet extends the reach of lower layer 75 technologies such as Time-Sensitive Networking (TSN) [IEEE 802.1 TSN] 76 and Timeslotted Channel Hopping (TSCH) [IEEE Std. 802.15.4] over IPv6 77 and MPLS [RFC8938]. 79 The "Deterministic Networking Architecture" [DetNet-ARCHI] details 80 the contribution of layer-3 protocols, and defines three planes: the 81 Application (User) Plane, the Controller Plane, and the Network 82 Plane. [DetNet-ARCHI] places an emphasis on the centralized model 83 whereby a controller instantiates per-flow state in the routers to 84 perform adequate forwading operations so as to provide end-to-end 85 reliability and bounded latency guarantees. 87 The "6TiSCH Architecture" [6TiSCH-ARCHI] leverages RPL, the "Routing 88 Protocol for Low Power and Lossy Networks" [RFC6550] and introduces 89 concept of a Track as a highly redundant RPL Destination Oriented 90 Directed Acyclic Graph (DODAG) rooted at the Track Ingress node, that 91 can be installed using so-called projected routes [RPL-PDAO]. In 92 that case, the TrackId is an index from a namespace associated to one 93 IPv6 address of the Track Ingress node, and the Track that an IPv6 94 packet follows is signaled by the combination of the source address 95 (of the Track Ingress node), and the TrackID placed in a RPL Option 96 [RFC6553] located in an IPv6 Hop-by-Hop (HbH) Options Header [IPv6] 97 in the IPv6 packet. 99 The "Reliable and Available Wireless (RAW) Architecture/Framework" 100 [RAW-ARCHI], extends the DetNet Network Plane to accomodate one or 101 multiple hops of homogeneous or heterogeneous wireless technologies, 102 e.g. a Wi-Fi6 Mesh or parallel radio access links combining Wi-Fi and 103 5G. The RAW Architecture reuses the concept of Track and introduces 104 a new dataplane component, the Path Selection Engine (PSE), to 105 dynamically select a subpath and maintain the required quality of 106 service within a Track in the face of the rapid evolution of the 107 medium properties. 109 With [IPv6], the behavior of a router upon an IPv6 packet with a HbH 110 Options Header has evolved, making the examination of the header by 111 routers along the path optional, as opposed to previously mandatory. 112 Additionally, the Option Type for any option in a HbH Options Header 113 encodes in the leftmost bits whether a router that inspects the 114 header should drop the packet or ignore the option when encountering 115 an unknown option. Combined, these capabilities enable a larger use 116 of the header beyond the boundaries of a limited domain, as 117 examplified by the change of behavior of the RPL data plane, that was 118 changed to allow a packet with a RPL option to escape the RPL domain 119 in the larger Internet [RFC9008]. 121 "IPv6 Hop-by-Hop Options Processing Procedures" [HbH-PROCESS] further 122 specifies the procedures for how IPv6 Hop-by-Hop options are 123 processed to make their processing even more practical and increase 124 their use in the Internet. In that context, it makes sense to 125 consider the Hop-by-Hop Options to transport the information that is 126 relevant to DetNet, making it independant of the transport and 127 placing it early in the header chain. 129 The "Deterministic Networking Data Plane Framework" [RFC8938]relies 130 on the 6-tuple to identify an IPv6 flow. But the full DetNet 131 *operations require also the capabilities to signal meta-information 132 such as a sequence within that flow, and to transport different types 133 of packets along the same path with the same treatment. For 134 instance, it is required that Operations, Administration, and 135 Maintenance (OAM) [RFC6291] packets and/or multiple flows share the 136 same fate and resource sharing over the same Track or the same 137 Traffic Engineered (TE) [RFC3272] DetNet path. 139 This document introduces new Hop-by-Hop options that can signal path 140 and sequencing information to the intermediate relays early in the 141 packet and independantly of the transport layer. 143 2. Terminology 145 Timestamp semantics and timestamp formats used in this document are 146 defined in "Guidelines for Defining Packet Timestamps" [RFC8877]. 148 The Deterministic Networking terms used in this document are defined 149 in the "Deterministic Networking Architecture" [DetNet-ARCHI]. 151 The terms Track and TrackID are defined in the "6TiSCH Architecture" 152 [6TiSCH-ARCHI]. 154 3. The DetNet Options 156 This document defines a number of IPv6 options to be placed in a HbH 157 Options Header; the format of these options follow the generic 158 definition in section 4.2 of [IPv6]. 160 3.1. Sequencing Option 162 A typical packet sequence can be expressed uniquely as a wrapping 163 counter, represented as an unsigned integer in the option. In that 164 case, the size of the representation MUST be large enough to cover 165 several times the upper bound on out-of-order packet delivery in 166 terms of number of packets. 168 This specification also allows to use a time stamp for the packet 169 sequencing following the recommendations in [RFC8877]. This can be 170 accomplished by utilizing the Precision Time Protocol (PTP) format 171 defined in IEEE Std. 1588 [IEEE Std. 1588] or Network Time Protocol 172 (NTP) [RFC5905] formats. In that case, the timestamp resolution at 173 the node that builds the option MUST be fine enough to ensure that 174 two consecutive packets are never stamped with the same value. 176 This specification also allows for an hybrid model with a coarse 177 grained packet sequence within a coarse grained time stamp. In that 178 case, both a time stamp option and a wrapping counter options are 179 found, and the counter is used to compare packets with the same time 180 stamp. 182 0 1 2 3 183 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 184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 185 | Option Type | Opt Data Len | Seq. Type | Reserved | 186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 187 | | 188 . . 189 . Sequencing Information (variable Size) . 190 . . 191 | | 192 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 194 Figure 1: Sequencing Option Format 196 Sequencing Option fields: 198 Option Type: 8-bit identifier of the type of option. Value TBD by 199 IANA. 201 Sequence Type: 8-bit identifier of the type of sequencing 202 information. Value to be confirmed by IANA. 204 +=======+============+===============+===========================+ 205 | Seq. | Sequencing | Commin Name | Sequencing | 206 | Type | Type | | Information Format | 207 | Value | | | | 208 +=======+============+===============+===========================+ 209 | 1 | Wrapping | Basic | 32-bit unsigned | 210 | | Counter | Sequence | integer | 211 | | | Counter | | 212 +-------+============+---------------+---------------------------+ 213 | 2 | Wrapping | Zero-avoiding | 32-bit unsigned | 214 | | Counter | Sequence | integer, wraps to 1 | 215 | | | Counter | | 216 +-------+============+---------------+---------------------------+ 217 | 3 | Wrapping | RPL Sequence | 8-bit RPL sequence, | 218 | | Counter | Counter | see section 7. of | 219 | | | | [RFC6550] | 220 +-------+============+---------------+---------------------------+ 221 | 11 | Time Stamp | Fractional | NTP 64-bit Timestamp | 222 | | | NTP | Format, see section | 223 | | | | 4.2.1. of [RFC8877] | 224 +-------+============+---------------+---------------------------+ 225 | 12 | Time Stamp | Short NTP | NTP 32-bit Timestamp | 226 | | | | Format, see section | 227 | | | | 4.2.2. of [RFC8877] | 228 +-------+============+---------------+---------------------------+ 229 | 13 | Time Stamp | PTP | PTP 80-bit Timestamp | 230 | | | | Format, see [IEEE | 231 | | | | Std. 1588] | 232 +-------+============+---------------+---------------------------+ 233 | 13 | Time Stamp | Short PTP | PTP 64-bit Truncated | 234 | | | | Timestamp Format, | 235 | | | | see section 4.3. of | 236 | | | | [RFC8877] | 237 +-------+============+---------------+---------------------------+ 239 Table 1: Sequence Type values (suggested) 241 3.2. RPL Packet Information 243 6TiSCH [6TiSCH-ARCHI] and RAW [RAW-ARCHI] signal a Track using a RPL 244 Option [RFC6553] with a RPLInstanceID used as TrackID. This 245 specification reuses the RPL option as a method to signal a DetNet 246 path. In that case, the Projected-Route 'P' flag [RPL-PDAO] MUST be 247 set to 1, and the O, R, F flags, as well as the Sender Rank field, 248 MUST be set to 0 by the originator, forwarded as-is, and ignored on 249 reception. 251 3.3. DetNet Local Path Option 253 This specification also allows for an hybrid model with a coarse 254 grained packet sequence within a coarse grained time stamp. In that 255 case, both a time stamp option and a wrapping counter options are 256 found, and the counter is used to compare packets with the same time 257 stamp. 259 0 1 2 3 260 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 261 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 262 | Option Type | Opt Data Len | Local Path ID | 263 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 265 Figure 2: DetNet Local Path Option Format 267 Sequencing Option fields: 269 Option Type: 8-bit identifier of the type of option. Value TBD by 270 IANA. 272 Opt Data Len: 8-bit length of the option data, set to 2. 274 Local Path ID: 16-bit identifier of the DetNet Path, taken from a 275 local namespace associated with the IPv6 source address of the 276 packet. 278 3.4. DetNet Global Path Option 280 This specification also allows for an hybrid model with a coarse 281 grained packet sequence within a coarse grained time stamp. In that 282 case, both a time stamp option and a wrapping counter options are 283 found, and the counter is used to compare packets with the same time 284 stamp. 286 0 1 2 3 287 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 288 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 289 | Option Type | Opt Data Len | Origin Autonomous System | 290 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 291 | Global Path ID | 292 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 294 Figure 3: DetNet Glocal Path Option Format 296 Sequencing Option fields: 298 Option Type: 8-bit identifier of the type of option. Value TBD by 299 IANA. 301 Opt Data Len: 8-bit length of the option data, set to 6. 303 Origin Autonomous System: 16-bit identifier of the Autonomous 304 Systems (AS) that originates the path. 306 Global Path ID: 32-bit identifier of the DetNet Path, taken from a 307 local namespace associated with the origin AS of the DetNet path. 308 The value of 0 signals a DetNet path that is constrained within 309 the local AS or the local administrative DetNet domain. 311 4. Security Considerations 313 5. IANA Considerations 315 This document has no IANA actions. 317 6. Acknowledgments 319 TBD 321 7. References 323 7.1. Normative References 325 [IPv6] Deering, S. and R. Hinden, "Internet Protocol, Version 6 326 (IPv6) Specification", STD 86, RFC 8200, 327 DOI 10.17487/RFC8200, July 2017, 328 . 330 [RFC8877] Mizrahi, T., Fabini, J., and A. Morton, "Guidelines for 331 Defining Packet Timestamps", RFC 8877, 332 DOI 10.17487/RFC8877, September 2020, 333 . 335 [HbH-PROCESS] 336 Hinden, R. M. and G. Fairhurst, "IPv6 Hop-by-Hop Options 337 Processing Procedures", Work in Progress, Internet-Draft, 338 draft-hinden-6man-hbh-processing-00, 3 December 2020, 339 . 342 [DetNet-ARCHI] 343 Finn, N., Thubert, P., Varga, B., and J. Farkas, 344 "Deterministic Networking Architecture", RFC 8655, 345 DOI 10.17487/RFC8655, October 2019, 346 . 348 7.2. Informative References 350 [RPL-PDAO] Thubert, P., Jadhav, R. A., and M. Gillmore, "Root 351 initiated routing state in RPL", Work in Progress, 352 Internet-Draft, draft-ietf-roll-dao-projection-16, 15 353 January 2021, . 356 [RAW-ARCHI] 357 Thubert, P., Papadopoulos, G. Z., and R. Buddenberg, 358 "Reliable and Available Wireless Architecture/Framework", 359 Work in Progress, Internet-Draft, draft-pthubert-raw- 360 architecture-05, 15 November 2020, 361 . 364 [RFC6291] Andersson, L., van Helvoort, H., Bonica, R., Romascanu, 365 D., and S. Mansfield, "Guidelines for the Use of the "OAM" 366 Acronym in the IETF", BCP 161, RFC 6291, 367 DOI 10.17487/RFC6291, June 2011, 368 . 370 [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, 371 "Network Time Protocol Version 4: Protocol and Algorithms 372 Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, 373 . 375 [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., 376 Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, 377 JP., and R. Alexander, "RPL: IPv6 Routing Protocol for 378 Low-Power and Lossy Networks", RFC 6550, 379 DOI 10.17487/RFC6550, March 2012, 380 . 382 [RFC6553] Hui, J. and JP. Vasseur, "The Routing Protocol for Low- 383 Power and Lossy Networks (RPL) Option for Carrying RPL 384 Information in Data-Plane Datagrams", RFC 6553, 385 DOI 10.17487/RFC6553, March 2012, 386 . 388 [DetNet-PS] 389 Finn, N. and P. Thubert, "Deterministic Networking Problem 390 Statement", RFC 8557, DOI 10.17487/RFC8557, May 2019, 391 . 393 [RFC9008] Robles, M.I., Richardson, M., and P. Thubert, "Using RPI 394 Option Type, Routing Header for Source Routes, and IPv6- 395 in-IPv6 Encapsulation in the RPL Data Plane", RFC 9008, 396 DOI 10.17487/RFC9008, April 2021, 397 . 399 [6TiSCH-ARCHI] 400 Thubert, P., Ed., "An Architecture for IPv6 over the Time- 401 Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH)", 402 RFC 9030, DOI 10.17487/RFC9030, May 2021, 403 . 405 [RFC3272] Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X. 406 Xiao, "Overview and Principles of Internet Traffic 407 Engineering", RFC 3272, DOI 10.17487/RFC3272, May 2002, 408 . 410 [RFC8938] Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. 411 Bryant, "Deterministic Networking (DetNet) Data Plane 412 Framework", RFC 8938, DOI 10.17487/RFC8938, November 2020, 413 . 415 [IEEE Std. 802.15.4] 416 IEEE standard for Information Technology, "IEEE Std. 417 802.15.4, Part. 15.4: Wireless Medium Access Control (MAC) 418 and Physical Layer (PHY) Specifications for Low-Rate 419 Wireless Personal Area Networks". 421 [IEEE 802.1 TSN] 422 IEEE 802.1, "Time-Sensitive Networking (TSN) Task Group", 423 . 425 [IEEE Std. 1588] 426 IEEE, "IEEE Standard for a Precision Clock Synchronization 427 Protocol for Networked Measurement and Control Systems", 428 IEEE Standard 1588, 429 . 431 Author's Address 433 Pascal Thubert (editor) 434 Cisco Systems, Inc 435 France 437 Phone: +33 497 23 26 34 438 Email: pthubert@cisco.com