idnits 2.17.1 draft-cheng-teas-ipv6-network-slice-selector-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 : ---------------------------------------------------------------------------- ** There are 2 instances of too long lines in the document, the longest one being 3 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 30, 2021) is 911 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) == Outdated reference: A later version (-10) exists of draft-bestbar-teas-ns-packet-03 == Outdated reference: A later version (-25) exists of draft-ietf-teas-ietf-network-slices-04 Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group W. Cheng 3 Internet-Draft W. Jiang 4 Intended status: Standards Track China Mobile 5 Expires: March 30, 2022 C. Lin 6 New H3C Technologies 7 September 30, 2021 9 Encapsulation and Processing of Network Slice Selector in IPv6 Data 10 Plane 11 draft-cheng-teas-ipv6-network-slice-selector-00 13 Abstract 15 Packets belong to a network slice need to be forwarded using the 16 specific network resources. A network slice selector is carried in 17 each packet to identify the network slice that it belongs to. 19 This document proposes a new Network Slice Selector Option, and 20 describes the encapsulation and processing of network slice selector 21 in IPv6 data plane using the proposed option. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at https://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on March 30, 2022. 40 Copyright Notice 42 Copyright (c) 2021 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (https://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 58 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 59 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 60 2. Carrying Network Slice Selector in IPv6 Data Plane . . . . . 3 61 3. Definition of Network Slice Selector Option . . . . . . . . . 3 62 4. Processing of Network Slice Selector Option . . . . . . . . . 4 63 5. Usage of Network Slice Selector Option . . . . . . . . . . . 5 64 5.1. IP Backbone of Network Slice . . . . . . . . . . . . . . 5 65 5.2. IP Fast-Reroute of Network Slice . . . . . . . . . . . . 7 66 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 67 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 68 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 69 8.1. Normative References . . . . . . . . . . . . . . . . . . 8 70 8.2. Informative References . . . . . . . . . . . . . . . . . 8 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 73 1. Introduction 75 Network slicing provides the ability to partition a physical network 76 into multiple isolated logical networks of varying sizes, structures, 77 and functions so that each slice can be dedicated to specific 78 services or customers. [I-D.ietf-teas-ietf-network-slices] defines 79 the term "IETF Network Slice" and establishes the general principles 80 of network slicing in the IETF context. 81 [I-D.cheng-teas-network-slice-usecase] describes several use cases of 82 IETF Network Slice. [I-D.bestbar-teas-ns-packet] proposes a solution 83 to realize network slicing in IP/MPLS networks. Network nodes need 84 to identify a packet belonging to a network slice before it can apply 85 the proper forwarding treatment, so a Network Slice Selector must be 86 carried in each packet. 88 This document proposes a new Network Slice Selector Option, and 89 describes the encapsulation and processing of the network slice 90 selector in IPv6 data plane using the proposed option. 92 1.1. Requirements Language 94 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 95 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 96 "OPTIONAL" in this document are to be interpreted as described in BCP 97 14 [RFC2119] [RFC8174] when, and only when, they appear in all 98 capitals, as shown here. 100 1.2. Terminology 102 IETF Network Slice: An IETF Network Slice is a logical network 103 topology connecting a number of endpoints using a set of shared or 104 dedicated network resources that are used to satisfy specific Service 105 Level Objectives. See [I-D.ietf-teas-ietf-network-slices]. 107 Service Level Objectives (SLO): Define a set of measurable network 108 attributes and characteristics that describe an IETF Network Slice 109 service. See [I-D.ietf-teas-ietf-network-slices]. 111 Network Slice Selector (NSS): An identifier carried in each packet to 112 indicate the network slice that it belongs to. 114 2. Carrying Network Slice Selector in IPv6 Data Plane 116 As specified in [RFC8200], the Hop-by-Hop Options header is used to 117 carry optional information that may be examined and processed by 118 every node along a packet's delivery path. 120 Therefore, in IPv6 data plane, the Network Slice Selector can be 121 carried as a Hop-by-Hop option in the Hop-by-Hop options header. 122 Each node along the path will process the IPv6 Hop-by-Hop options 123 header and apply the specific Per Hop Behavior (PHB) that is 124 associated with the network slice. 126 3. Definition of Network Slice Selector Option 128 A new Network Slice Selector Option is defined to encapsulate the 129 network slice selector in IPv6 data plane. It identifies the network 130 slice which the packet belongs to. 132 0 1 2 3 133 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 134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 135 | Option Type | Opt Data Len | Flags | 136 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 137 | Network Slice Selector | 138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 140 o Option Type: 8-bit identifier of the type of option. The value is 141 to be assigned by IANA. The highest-order 2 bits are set to 00 to 142 indicate that a node which does not recognize the option type will 143 skip over this option and continue processing the header. The 144 third highest-order bit is set to 0 to indicate the option data 145 does not change en route. 147 o Opt Data Len: 8-bit unsigned integer. Length of the Option Data 148 field of this option, in octets. The Value is 6. 150 o Flags: 16 bits of flags. The following flags are defined: 152 0 1 153 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 155 |B U U U U U U U U U U U U U U U| 156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 158 * B: Best-effort. When the forwarding behavior of the specific 159 network slice identified by the Network Slice Selector filed is 160 not configured or available, if B-Flag is set, the packet 161 should be transmitted ignoring the Network Slice Selector 162 Option, otherwise it should be discarded. 164 * U: Unused and for future use. MUST be 0 on transmission and 165 ignored on receipt. 167 o Network Slice Selector: 32-bit identifier of the network slice 168 which the packet belongs to. 170 4. Processing of Network Slice Selector Option 172 In an IPv6 network which deploys network slicing, the ingress node 173 encapsulates an outer IPv6 Header with the Network Slice Selector 174 Option into each packet that belongs to a certain network slice. The 175 Network Slice Selector is carried in the Hop-by-Hop Options Header, 176 and needs to be processed by each node along the delivery path. 177 Nodes should be able to process the Network Slice Selector Option in 178 the forwarding plane. 180 When forwarding a packet with the Network Slice Selector Option, a 181 node performs an IPv6 fib lookup on the Destination Address in IPv6 182 Header, and determines the next hop to the destination. Then it 183 processes the Network Slice Selector Option in the Hop-by-Hop Options 184 Header with the following logic: 186 Perform network slice lookup using the Network Slice Selector 187 and determine the forwarding behavior 188 IF (the network slice or the forwarding behavior is not 189 configured or available) { 190 IF (B-Flag is set) { 191 Transmit the packet to next hop indicated by Destination 192 Address, ignoring the Network Slice Selector Option 193 } 194 ELSE { 195 Discard the packet 196 } 197 } 198 ELSE { 199 Transmit the packet to next hop indicated by Destination 200 Address, using the forwarding behavior for the specific 201 network slice 202 } 204 Nodes which do not recognize the Network Slice Selector Option should 205 ignore the Network Slice Selector Option and continue to forward the 206 packet. 208 The egress node decapsulates the outer IPv6 Header carrying the 209 Network Slice Selector Option. 211 5. Usage of Network Slice Selector Option 213 5.1. IP Backbone of Network Slice 215 In Figure 1, the network operator has created two network slices in 216 the IP Backbone for IETF network slices, which are NS1 and NS2. The 217 SLO of NS1 is guaranteed bandwidth of 100Mbps, and the SLO of NS2 is 218 guaranteed bandwidth of 200Mbps. Two network slice selectors, NSS1 219 and NSS2, are assigned for NS1 and NS2 respectively. SRv6 is applied 220 in the IP Backbone. 222 Along with the forwarding path , dedicated queues with 223 guaranteed bandwidth for NS1 and NS2 are configured at corresponding 224 interfaces of each router. Taking the interface P1-P2 of router P1 225 as an example, which is shown in Figure 2, Queue 1 is configured with 226 network slice selector NSS1 and guaranteed bandwidth of 100Mbps, and 227 Queue 2 is configured with NSS2 and 200Mbps. When P1 transmits a 228 packet through interface P1-P2, the network slice selector carried in 229 the packet header is checked. If NSS1 appears in Hop-by-Hop Options 230 Header, P1 uses Queue 1 to transmit the packet. If NSS2 appears in 231 Hop-by-Hop Options Header, P1 uses Queue 2 to transmit the packet. 233 When the traffic flows of NS1 or NS2 enter the IP Backbone, PE1 and 234 PE2 encapsulate the received packet with an outer IPv6 header. The 235 outer IPv6 header has a Hop-by-Hop Options Header which contains a 236 Network Slice Selector Option carrying NSS1 or NSS2, along with a SRH 237 header which contains the SIDs of path . 239 In packet forwarding, P1 and P2 use the SID in IPv6 destination 240 address and SRH to determine the next-hop and the outgoing interface, 241 and then, according to the Hop-by-Hop Options Header, use the 242 dedicated queue related with NSS1 or NSS2 to transmit the packet. 244 ................................. 245 : IP Backbone : 246 CPE PE1 P1 P2 PE2 ...... 247 |----| |---| NS1 |---| NS1 |---| NS1 |---| : DC : 248 | o---|o-o|-----|o-o|-----|o-o|-----|o-o|--o : 249 | o---|o-o|-----|o-o|-----|o-o|-----|o-o|--o : 250 |----| |---| NS2 |---| NS2 |---| NS2 |---| :....: 251 : : 252 :...............................: 254 +-------+ +-------+ 255 | IPv6 | | IPv6 | 256 +-------+ +-------+ 257 | HBH | | HBH | 258 +-------+ +-------+ 259 | SRH | | SRH | 260 +-------+ +-------+ +-------+ +-------+ 261 | IPv6 | | IPv6 | | IPv6 | | IPv6 | 262 +-------+ <-> +-------+ <...> +-------+ <-> +-------+ 263 |Payload| |Payload| |Payload| |Payload| 264 +-------+ +-------+ +-------+ +-------+ 266 Figure 1 268 |----| Interface: P1-P2 269 | | ---------------------------------- 270 | | >>>>>>Queue 1: NSS1, 100Mbps>>>>>> 271 | P1 | >>>>>>Queue 2: NSS2, 200Mbps>>>>>> 272 | | >>>>>> ... >>>>>> 273 | | ---------------------------------- 274 |----| 276 Figure 2 278 5.2. IP Fast-Reroute of Network Slice 280 In Figure 3, the network operator has created a network slice NS1. A 281 forwarding path is selected to transmit the traffic 282 flows of NS1. On the links of PE1-P1, P1-P2 and P2-PE2, dedicated 283 resources are allocated for NS1. 285 When the traffic flows of NS1 enter the network via PE1, PE1 286 encapsulates the received packet with an outer IPv6 header. The 287 outer IPv6 header has a Hop-by-Hop Options Header which contains a 288 Network Slice Selector Option carrying NSS1, along with a SRH header 289 which contains the SIDs of path . The B-Flag in the 290 Network Slice Selector Option is set. The packets are forwarded 291 along the selected path, using the dedicated resources. 293 Then, a failure occurs on P2. The fast re-route technology on P1 294 works, and P1 will send the packets to P3 and make the packet 295 forwarding along the path . However, on the links of 296 P1-P3, P3-P4 and P4-PE2, there is no dedicated resource allocated for 297 NS1. The B-Flag in the Network Slice Selector Option indicates the 298 routers to transmit the packets with best-effort service rather than 299 discard them. Since the lack of dedicated resource along the new 300 path, the SLO of NS1 may not be satisfied during the failure, but NS1 301 remains available. 303 |---| |---| |---| |---| 304 --|PE1|*****|P1 |*****|P2 |*****|PE2|-- 305 |---| |---| |---| |---| 306 | | | | 307 | | | | 308 | | | | 309 | |---| |---| | 310 +-------|P3 |-----|P4 |-------+ 311 |---| |---| 313 *****: links with dedicated resource for NS1 314 -----: links without dedicated resource for NS1 316 Figure 3 318 For another example as shown in Figure 4, the network operator has 319 assigned a main path and a hot-standby backup path 320 for NS1. Dedicated resources are allocated both on 321 the main and backup paths. In this case, the B-Flag in the Network 322 Slice Selector Option can be unset. When PE1 detects a failure on 323 the main path, the traffic flows of NS1 will be steered to the backup 324 path and forwarded with dedicated resource. 326 |---| |---| |---| |---| 327 --|PE1|*****|P1 |*****|P2 |*****|PE2|-- 328 |---| |---| |---| |---| 329 * | | * 330 * | | * 331 * | | * 332 * |---| |---| * 333 ********|P3 |*****|P4 |******** 334 |---| |---| 336 *****: links with dedicated resource for NS1 337 -----: links without dedicated resource for NS1 339 Figure 4 341 6. IANA Considerations 343 This document requests IANA to assign a new option type for Network 344 Slice Selector Option. 346 7. Security Considerations 348 TBD. 350 8. References 352 8.1. Normative References 354 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 355 Requirement Levels", BCP 14, RFC 2119, 356 DOI 10.17487/RFC2119, March 1997, 357 . 359 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 360 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 361 May 2017, . 363 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 364 (IPv6) Specification", STD 86, RFC 8200, 365 DOI 10.17487/RFC8200, July 2017, 366 . 368 8.2. Informative References 370 [I-D.bestbar-teas-ns-packet] 371 Saad, T., Beeram, V. P., Wen, B., Ceccarelli, D., Halpern, 372 J., Peng, S., Chen, R., Liu, X., Contreras, L. M., and R. 373 Rokui, "Realizing Network Slices in IP/MPLS Networks", 374 draft-bestbar-teas-ns-packet-03 (work in progress), July 375 2021. 377 [I-D.cheng-teas-network-slice-usecase] 378 Cheng, W., Jiang, W., Chen, R., Gong, L., and S. Peng, 379 "IETF Network Slice use cases", draft-cheng-teas-network- 380 slice-usecase-01 (work in progress), August 2021. 382 [I-D.ietf-teas-ietf-network-slices] 383 Farrel, A., Gray, E., Drake, J., Rokui, R., Homma, S., 384 Makhijani, K., Contreras, L., and J. Tantsura, "Framework 385 for IETF Network Slices", draft-ietf-teas-ietf-network- 386 slices-04 (work in progress), August 2021. 388 Authors' Addresses 390 Weiqiang Cheng 391 China Mobile 393 Email: chengweiqiang@chinamobile.com 395 Wenying Jiang 396 China Mobile 398 Email: jiangwenying@chinamobile.com 400 Changwang Lin 401 New H3C Technologies 403 Email: linchangwang.04414@h3c.com