idnits 2.17.1 draft-mcbride-bier-ipv6-problem-statement-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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (January 31, 2019) is 1910 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: 'RFC2473' is defined on line 405, but no explicit reference was found in the text == Outdated reference: A later version (-09) exists of draft-zhang-bier-bierin6-02 ** Downref: Normative reference to an Informational RFC: RFC 8354 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BIER M. McBride 3 Internet-Draft J. Xie 4 Intended status: Standards Track Huawei 5 Expires: August 4, 2019 January 31, 2019 7 Problem Statement of BIER IPv6 Encapsulation 8 draft-mcbride-bier-ipv6-problem-statement-00 10 Abstract 12 The BIER WG has a charter item to work on mechanisms which use BIER 13 natively in IPv6. This document is intended to help the WG with this 14 effort by describing the problem space of transporting packets, with 15 Bit Index Explicit Replication (BIER) headers, in an IPv6 16 environment. There will be a need to send IPv6 payloads, to multiple 17 IPv6 destinations, using BIER. There have been several proposed 18 solutions in this area. But there hasn't been a document which 19 describes the problem and why this may be necessary. The goal of 20 this document is to describe the BIER IPv6 problem space, basic use 21 cases, why new solutions may be needed and briefly summarize some of 22 the proposed solutions. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on August 4, 2019. 41 Copyright Notice 43 Copyright (c) 2019 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 60 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 61 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 62 3. BIER IPv6 encapsulation Scenario's . . . . . . . . . . . . . 3 63 3.1. BIERv6 for Access Network . . . . . . . . . . . . . . . . 4 64 3.2. BIERv6 for Data Center . . . . . . . . . . . . . . . . . 4 65 3.3. BIERv6 for Core Networks . . . . . . . . . . . . . . . . 4 66 3.4. Implications for BIER in SRv6 . . . . . . . . . . . . . . 4 67 4. Example Proposed Solutions . . . . . . . . . . . . . . . . . 5 68 4.1. Encode Bitstring in IPv6 destination address . . . . . . 6 69 4.2. Add BIER header into IPv6 Extension Header . . . . . . . 6 70 4.3. Transport BIER as IPv6 payload . . . . . . . . . . . . . 7 71 4.4. Tunneling BIER in a IPv6 tunnel . . . . . . . . . . . . . 7 72 5. Suggested Requirements . . . . . . . . . . . . . . . . . . . 8 73 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 74 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 75 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 8 76 9. Normative References . . . . . . . . . . . . . . . . . . . . 8 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 79 1. Introduction 81 Bit Index Explicit Replication (BIER) [RFC8279] is an architecture 82 that provides optimal multicast forwarding, without requiring 83 intermediate routers to maintain per-flow state, through the use of a 84 multicast-specific BIER header. [RFC8296] defines two types of BIER 85 encapsulation to run on physical links: one is BIER MPLS 86 encapsulation to run on various physical links that support MPLS, the 87 other is BIER Ethernet encapsulation to run on ethernet links, with 88 an ethertype 0xAB37. This document describes using BIER in non-MPLS 89 IPv6 environments. We explain the problem space of transporting IPv6 90 payloads to multiple IPv6 destinations using BIER. This can include 91 native IPv6 encapsulation and generic tunneling. There have been 92 several proposed solutions in this area. But there hasn't been a 93 document which describes the problem and why this may be necessary. 94 The goal of this document is to describe the BIER v6 problem space, 95 use cases, encapsulations, existing solutions and why new solutions 96 may be needed. This draft is intended to help the BIER WG evaluate 97 the need for an encapsulation that is IPv6-specific through 98 describing the problem and summarizing BIERV6 related solutions. 100 1.1. Requirements Language 102 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 103 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 104 document are to be interpreted as described in RFC 2119 [RFC2119]. 106 1.2. Terminology 108 o BIER: Bit Index Explicit Replication. Provides optimal multicast 109 forwarding through adding a BIER header and removing state in 110 intermediate routers. 112 o BUM: Broadcast, Unknown Unicast, Multicast. Term used to describe 113 the three types of Ethernet modes that will be forwarded to 114 multiple destinations 116 2. Problem Statement 118 The problem is the ability of the network to transport BUM packets, 119 with BIER headers, in an IPv6 environment. In an IPv6 network, many 120 deployments consider using a non-MPLS encapsulation for unicast as 121 the data-plane. In such case, it may be expected to have a BIER IPv6 122 encapsulation which is compliant with various kinds of physical 123 links, perhaps in a hop-by-hop manner, and maintain the benefit of 124 "fast reroute" of an IPv6 tunnel. 126 3. BIER IPv6 encapsulation Scenario's 128 +--------------------------------------------+ 129 | | 130 | +------+ 131 | | BFER | 132 +------+ IPv6 +------+ 133 | BFIR | | 134 +------+ Network +------+ 135 | | BFER | 136 | +------+ 137 | | 138 +--------------------------------------------+ 140 This basic scenario depicts the need to replicate bier packets from a 141 BFIR to BFERs across an IPv6 core. The IPv6 environment may include 142 a variety of tunnel types, may be entirely IPv6, may be dual stack or 143 any type of combination which includes IPv6. Regardless of the 144 environment, there are times when a BIER header, including the BIER 145 bitstring used to determine the set of BIER forwarding egress 146 routers, will need to traverse a IPv6 domain. The ways in which BIER 147 will function in an IPv6 environment is the problem that needs to be 148 solved. [RFC8354] lists some good IPv6 related use cases which we 149 will similarly reference in this document. 151 3.1. BIERv6 for Access Network 153 Access networks deliver a variety of types of multicast video traffic 154 from the service provider's network to the home (or Enterprise) 155 environment and from the home towards the service provider's network. 157 There will be a need to send traffic from the IPv4 access towards the 158 service provider's IPv6 network and vice versa. Information carried 159 in a packet's BIER header could be mapped to a providers IPv6 network 160 through the use of a BIERv6 header. The access devices would not 161 need to know specific details about the packet to perform this 162 mapping; instead the access device would only need to know how to 163 process a BIER header unless there is end to end IPv6. 165 3.2. BIERv6 for Data Center 167 Some Data Center operators are transitioning their Data Center 168 infrastructure from IPv4 to native IPv6 only, in order to cope with 169 IPv4 address depletion and to achieve larger scale. In such 170 environment, BIERv6, can be used to natively steer multicast data 171 across an IPv6 data center. 173 3.3. BIERv6 for Core Networks 175 While the overall amount of traffic offered to the network continues 176 to grow and considering that multiple types of traffic with different 177 characteristics and requirements are quickly converging over single 178 network architecture, the network operators are starting to face new 179 challenges. 181 Some operators are currently building, or plan to build in the near 182 future, an IPv6 only native infrastructure for their core network. 183 Having a native BIERv6 infrastructure will help maintain simplicity 184 of the network and reduce state versus traditional IP Multicast. 186 3.4. Implications for BIER in SRv6 188 The Source Packet Routing in Networking (SPRING) architecture 189 describes how Segment Routing can be used to steer packets through an 190 IPv6 or MPLS network using the source routing paradigm. [RFC8354] 191 focuses on use cases for Segment Routing in an IPv6 only environment, 192 something which is equially important for BIER in an IPv6 only 193 environment. 195 4. Example Proposed Solutions 197 Although this is not a solutions document, it will be helpful to list 198 all of the proposed solutions to help evaluate the problem space. 199 The following are solutions that have been proposed to solve BIER in 200 v6 environments. 202 As illustrated in these examples, the BIER header, or the BitString, 203 may appear in the IPv6 Header, IPv6 Extension Header, IPv6 Payload, 204 or IPv6 Tunnel Packet: 206 +---------------+------------------- 207 | IPv6 header | payload 208 | (BitString in | 209 | DA lower bits)| 210 | Next Header | 211 +---------------+------------------- 213 +---------------+-----------------+------------------- 214 | IPv6 header | IPv6 Ext header | payload 215 |(Multicast DA) | (BIER header in | 216 | | TLV Type = X) | 217 | Next Header | Next Header | 218 +---------------+-----------------+------------------- 220 +---------------+-----------------+------------------- 221 | IPv6 header | IPv6 Ext header | BIER Hdr + payload 222 | | (optional) | as IPv6 payload 223 | | | 224 | Next Header | Next Header = X | 225 +---------------+-----------------+------------------- 227 +---------------+-----------------+------------+------------------- 228 | IPv6 header | IPv6 Ext header | GRE header | 229 | | (optional) | | BIER Hdr + payload 230 | | | | as GRE Payload 231 | Next Header | Next Header | Proto = X | 232 +---------------+-----------------+------------+------------------- 234 +---------------+-----------------+------------+------------------- 235 | IPv6 header | IPv6 Ext header | UDP header | 236 | | (optional) | | BIER Hdr + payload 237 | | | | as UDP Payload 238 | Next Header | Next Header | DPort = X | 239 +---------------+-----------------+------------+------------------- 241 4.1. Encode Bitstring in IPv6 destination address 243 As described in [I-D.pfister-bier-over-ipv6], The information 244 required by BIER is stored in the destination IPv6 address. The BIER 245 BitString is encoded in the low-order bits of the IPv6 destination 246 address of each packet. The high-order bits of the IPv6 destination 247 address are used by intermediate routers for unicast forwarding, 248 deciding whether a packet is a BIER packet, and if so, to identify 249 the BIER Sub-Domain, Set Identifier and BitString length. No 250 additional extension or encapsulation header is required. Instead of 251 encapsulating the packet in IPv6, the payload is attached to the BIER 252 IPv6 header and the IPv6 protocol number is set to the type of the 253 payload. If the payload is UDP, the UDP checksum needs to change 254 when the BitString in the IPv6 destination address changes. 256 4.2. Add BIER header into IPv6 Extension Header 258 According to [RFC8200] In IPv6, optional internet-layer information 259 is encoded in separate headers that may be placed between the IPv6 260 header and the upper- layer header in a packet. There is a small 261 number of such extension headers, each one identified by a distinct 262 Next Header value. An IPv6 packet may carry zero, one, or more 263 extension headers, each identified by the Next Header field of the 264 preceding header. Extension headers (except for the Hop-by-Hop 265 Options header) are not processed, inserted, or deleted by any node 266 along a packet's delivery path, until the packet reaches the node (or 267 each of the set of nodes, in the case of multicast) identified in the 268 Destination Address field of the IPv6 header. The Hop-by-Hop Options 269 header is not inserted or deleted, but may be examined or processed 270 by any node along a packet's delivery path, until the packet reaches 271 the node (or each of the set of nodes, in the case of multicast) 272 identified in the Destination Address field of the IPv6 header. The 273 Hop-by-Hop Options header, when present, must immediately follow the 274 IPv6 header. Its presence is indicated by the value zero in the Next 275 Header field of the IPv6 header. 277 Two of the currently-defined extension headers are the Hop-by-Hop 278 Options header and the Destination Options header which carry a 279 variable number of type-length-value (TLV) encoded "options". 281 In [I-D.xie-bier-6man-encapsulation] an IPv6 BIER Destination Option 282 is carried by the IPv6 Destination Option Header (indicated by a Next 283 Header value 60). It is initialized in a packet sent by an IPv6 BFIR 284 router to inform the following BFR routers in an IPv6 BIER domain to 285 replicate to destination BFER routers hop-by-hop. BIER is generally 286 a hop-by-hop and one-to-many architecture and it is required for a 287 BIER IPv6 encapsulation to include the BIER Header ([RFC8296]) as an 288 IPv6 Extension Header, to pilot the hop-by-hop BIER replication. 290 Hop by hop Options Headers may be considered. The Hop-by-Hop Options 291 header is used to carry optional information that may be examined and 292 processed by every node along a packet's delivery path. The Hop-by- 293 Hop Options header is identified by a Next Header value of 0 in the 294 IPv6 header. 296 Defining New Extension Headers and Options may also be considered, if 297 the IPv6 Destination Option Header is not good enough and new 298 extension headers can solve the problem better. 300 Such proposals may include requests to IANA to allocate a "BIER 301 Option" code from "Destination Options and Hop-by-Hop Options", and/ 302 or a "BIER Option Header" code from "IPv6 Extension Header Types". 304 4.3. Transport BIER as IPv6 payload 306 There is a proposal for a transport-independent BIER encapsulation 307 header which is applicable regardless of the underlying transport 308 technology. As described in [I-D.xu-bier-encapsulation] and 309 [I-D.zhang-bier-bierin6], the BIER header, and the payload following 310 it, can be combined as an IPv6 payload, and be indicated by a new 311 Upper-layer IPv6 Next-Header value. A unicast IPv6 destination 312 address is used for the replication and changes when replicating a 313 packet out to a neighbor. 315 Such proposals may include a request to IANA to allocate an IPv6 316 Next-Header code from "Assigned Internet Protocol Numbers". 318 4.4. Tunneling BIER in a IPv6 tunnel 320 A generic IPv6 Tunnel could be used to encapsulate the bier packet 321 within an IPv6 domain. 323 GRE is a mechanism by which any ethernet payload can be carried by an 324 IP GRE tunnel due to the 16-bits 'Protocol Type' field. Both IPv4 325 and IPv6 can be used to carry GRE. The Ethernet type codepoint 326 0xAB37, defined for BIER, can be used in a GRE header to indicate the 327 subsequent BIER header and payload in an IPv6 network. 329 UDP-based tunneling is another mechanism which uses a specific UDP 330 port to indicate a UDP payload format. Both IPv4 and IPv6 can 331 support UDP. Such UDP-based tunnels can be used for BIER in a IPv6 332 network by defining a new UDP port to indicate the BIER header and 333 payload. 335 5. Suggested Requirements 337 This is not a requirements document and we may eventually remove this 338 section. We will, however, summarize some of the "requirements" that 339 have been suggested on the BIER email list. At a minimum, this may 340 serve as a kick start to a requirements draft if one is deemed 341 necessary by the WG: 343 The solution should not require hop-by-hop modification of the IP 344 destination address field. 346 The solution should not require the BFRs to inspect layer 4 or 347 require any changes to layer 4. 349 The solution should not allow a multicast address to be put in the IP 350 source address field. 352 The solution should not assume that bits never get set incorrectly. 354 The solution should not require changes in source address filtering 355 procedures. 357 The solution should be possible to be used to support the entire BIER 358 architecture. 360 6. IANA Considerations 362 Some BIERv6 encapsulation proposals do not require any action from 363 IANA while other proposals require new BIER Destination Option 364 codepoints from IPv6 sub-registries or require new IP Protocol codes. 365 This document, however, does not require anything from IANA. 367 7. Security Considerations 369 There are no security issues introduced by this draft. 371 8. Acknowledgement 373 Thank you to Eric Rosen for his listed set of requirements on the 374 bier wg list. 376 9. Normative References 378 [I-D.pfister-bier-over-ipv6] 379 Pfister, P. and I. Wijnands, "An IPv6 based BIER 380 Encapsulation and Encoding", draft-pfister-bier-over- 381 ipv6-01 (work in progress), October 2016. 383 [I-D.xie-bier-6man-encapsulation] 384 Xie, J., Geng, L., Wang, L., Yan, G., McBride, M., and Y. 385 Xia, "Encapsulation for BIER in Non-MPLS IPv6 Networks", 386 draft-xie-bier-6man-encapsulation-02 (work in progress), 387 September 2018. 389 [I-D.xu-bier-encapsulation] 390 Xu, X., somasundaram.s@alcatel-lucent.com, s., Jacquenet, 391 C., Raszuk, R., and Z. Zhang, "A Transport-Independent Bit 392 Index Explicit Replication (BIER) Encapsulation Header", 393 draft-xu-bier-encapsulation-06 (work in progress), 394 September 2016. 396 [I-D.zhang-bier-bierin6] 397 Zhang, Z. and T. Przygienda, "BIER in IPv6", draft-zhang- 398 bier-bierin6-02 (work in progress), October 2018. 400 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 401 Requirement Levels", BCP 14, RFC 2119, 402 DOI 10.17487/RFC2119, March 1997, 403 . 405 [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in 406 IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473, 407 December 1998, . 409 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 410 (IPv6) Specification", STD 86, RFC 8200, 411 DOI 10.17487/RFC8200, July 2017, 412 . 414 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 415 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 416 Explicit Replication (BIER)", RFC 8279, 417 DOI 10.17487/RFC8279, November 2017, 418 . 420 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 421 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 422 for Bit Index Explicit Replication (BIER) in MPLS and Non- 423 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 424 2018, . 426 [RFC8354] Brzozowski, J., Leddy, J., Filsfils, C., Maglione, R., 427 Ed., and M. Townsley, "Use Cases for IPv6 Source Packet 428 Routing in Networking (SPRING)", RFC 8354, 429 DOI 10.17487/RFC8354, March 2018, 430 . 432 Authors' Addresses 434 Mike McBride 435 Huawei 437 Email: michael.mcbride@huawei.com 439 Jingrong Xie 440 Huawei 442 Email: xiejingrong@huawei.com