Network Working Group X. Xu, Ed. Internet-Draft Huawei Intended status: Standards Track S. Somasundaram Expires: March 27, 2017 Alcatel-Lucent C. Jacquenet, Ed. France Telecom R. Raszuk Bloomberg LP Z. Zhang, Ed. Juniper September 23, 2016 A Transport-Independent Bit Index Explicit Replication (BIER) Encapsulation Header draft-xu-bier-encapsulation-06 Abstract Bit Index Explicit Replication (BIER) is a new multicast forwarding paradigm which doesn't require an explicit tree-building protocol nor intermediate routers to maintain any multicast state. This document proposes a transport-independent BIER encapsulation header which is applicable regardless of the underlying transport technology. 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 March 27, 2017. Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. Xu, et al. Expires March 27, 2017 [Page 1] Internet-Draft BIER Encapsulation September 2016 This document is subject to BCP 78 and the IETF Trust's Legal 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. BIER Header . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. BIER Header Transport . . . . . . . . . . . . . . . . . . . . 5 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . . 6 8.2. Informative References . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction Bit Index Explicit Replication (BIER) [I-D.ietf-bier-architecture] is a new multicast forwarding paradigm which doesn't require an explicit tree-building protocol nor intermediate routers to maintain any multicast state. As described in [I-D.ietf-bier-architecture], BIER adds a header to a multicast data packet (e.g., an IP packet or an MPLS packet). The BIER header carries the information needed for supporting the BIER forwarding procedures. This document proposes a transport-independent BIER encapsulation header which is applicable regardless of the underlying transport technology. 1.1. Requirements Language 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 RFC 2119 [RFC2119]. 2. Terminology This memo makes use of the terms defined in [I-D.ietf-bier-architecture]. Xu, et al. Expires March 27, 2017 [Page 2] Internet-Draft BIER Encapsulation September 2016 3. BIER Header The BIER header is shown in Figure 1. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Ver | BSL | Resv | Entropy | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BFIR-ID | DS | Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SI | Sub-domain |O| Resv| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BitString (first 32 bits) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ BitString (last 32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: BIER Header Format. Ver(sion): a 4-bit field identifying the version of the BIER header. This document specifies version 0 of the BIER header. BSL: Bit String Length. If k is the length of the BitString, the value of this field is log2(k)-5. However, only the following values are supported [I-D.ietf-bier-mpls-encapsulation] : * 64 bits * 128 bits * 256 bits * 512 bits * 1024 bits * 2048 bits * 4096 bits Xu, et al. Expires March 27, 2017 [Page 3] Internet-Draft BIER Encapsulation September 2016 The value of the BSL field MUST NOT be set to any value other than those listed above. A received packet containing another value in this field SHOULD be discarded, and an error logged. Entropy: a 20-bit field containing an "entropy" value that can be used for load balancing purposes. BFIR-ID: a 2-octet field encoding the BFR-ID of the Bit-Forwarding Ingress Router (BFIR), in the BIER sub-domain where the packet is forwarded to. DS: The usage of this field is no different from that of the Differentiated Services (DS) field of IPv4 and IPv6 headers. [RFC2474]. Protocol: a one-octet field indicating the protocol type of the BIER payload as per the protocol numbers used in the Protocol field [RFC5237] of the IPv4 header and the Next Header field of an IPv6 header. Theoretically, with the use of the IPv4/IPv6 equivalent Protocol/Next-Header field, the payload of a BIER packet could be any type of payload permitted within the IPv4/IPv6 packet. However, this document currently only considers the use of the BIER encapsulation for "transport" type services where the encapsulated packets are either L2.5 (e.g., MPLS) or L3 (e.g., IP) packets . The valid BIER payload types include (but are not limited to) IPv4, IPv6, MPLS, VXLAN [RFC7348],VXLAN-GPE [I-D.ietf-nvo3-vxlan-gpe] and LISP [RFC6830]. The corresponding IP Protocol numbers for VXLAN, VXLAN-GPE and LISP are to be allocated by IANA. SI: a 10-bit field encoding the Set-Identifier (SI) for this packet in the case where the O-Flag bit is cleared. Sub-domain: a 10-bit field encoding the sub-domain where the packet is forwarded to in the case where the O-Flag bit is cleared. O-flag: If it's set, the leftmost 20 bits (i.e., the combination of the SI and Sub-domain fields) should be interpreted as an opaque number signaled and used much as the MPLS-BIER label in MPLS BIER encapsulation [I-D.ietf-bier-mpls-encapsulation]. A BFR signals the mapping between the opaque number and (subdomain-id, set-id, BSL) and it derives the (subdomain-id,set-id,BSL) from the opqaue number in an incoming BIER header just like in the MPLS BIER encapsulation case, except that regular MPLS signaling and forwarding infrastructure is not required. Xu, et al. Expires March 27, 2017 [Page 4] Internet-Draft BIER Encapsulation September 2016 TTL: The usage of this field is no different from that of the Time To Live (TTL) field in the IPv4 header. BitString: a variable-length BitString field that, together with the SI and Sub-domain fields, identifies all the destination BFERs for this packet. 4. BIER Header Transport Since the BIER header format as specified in Section 3 is transport- independent by design, it can be carried with any type of transport encapsulation headers, such as an Ethernet header, a PPP header, an IP header, an MPLS header, a GRE header, an UDP header, etc. Any possible transport encapsulation header must be able to indicate the payload is an BIER header. For instance, in the BIER-in-MAC encapsulation case, the EtherType [ETYPES] field of the Ethernet header is used for that purpose. In the BIER-in-IP encapsulation case, the Protocol field of the IPv4 header or the Next-Header field of the IPv6 header are used. In the MPLS transport case, the MPLS- BIER encapsulation [I-D.ietf-bier-mpls-encapsulation] SHOULD be used instead. Note that more details about BIER-in-UDP encapsualtion (e.g., UDP checksum and congestion control) will be specified in future versions of this document. 5. Acknowledgements Thanks Antoni Przygienda, IJsbrand Wijnands, Eric Rosen and Toerless Eckert for their valuable comments and suggestions on this document. 6. IANA Considerations This document includes a request to IANA to allocate an EtherType code,a PPP protocol code, an IPv4 protocol code/an IPv6 Next-Header code, a UDP destination port to indicate that BIER-encapsulated data follows. Furthermore, this document includes a request to IANA to allocate IP Protocol numbers for VXLAN, VXLAN-GPE and LISP respectively. 7. Security Considerations As mentioned in [I-D.ietf-bier-architecture], when BIER is paired with any transport underlay, it inherits the security considerations of the corresponding transport layer. Also, SI and BFIR-ID fields of the BIER header may carry values other than those intended by the BFIR at the risk of misdelivering the packet. Means to protect BFR routers against Man-in-the-Middle and Denial of Service attacks must be provided. Xu, et al. Expires March 27, 2017 [Page 5] Internet-Draft BIER Encapsulation September 2016 8. References 8.1. Normative References [ETYPES] The IEEE Registration Authority, "IEEE 802 Numbers", 2012. [I-D.ietf-bier-architecture] Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and S. Aldrin, "Multicast using Bit Index Explicit Replication", draft-ietf-bier-architecture-04 (work in progress), July 2016. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . 8.2. Informative References [I-D.ietf-bier-mpls-encapsulation] Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation for Bit Index Explicit Replication in MPLS Networks", draft-ietf-bier- mpls-encapsulation-05 (work in progress), July 2016. [I-D.ietf-nvo3-vxlan-gpe] Kreeger, L. and U. Elzur, "Generic Protocol Extension for VXLAN", draft-ietf-nvo3-vxlan-gpe-02 (work in progress), April 2016. [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, DOI 10.17487/RFC2474, December 1998, . [RFC5237] Arkko, J. and S. Bradner, "IANA Allocation Guidelines for the Protocol Field", BCP 37, RFC 5237, DOI 10.17487/RFC5237, February 2008, . [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The Locator/ID Separation Protocol (LISP)", RFC 6830, DOI 10.17487/RFC6830, January 2013, . Xu, et al. Expires March 27, 2017 [Page 6] Internet-Draft BIER Encapsulation September 2016 [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, L., Sridhar, T., Bursell, M., and C. Wright, "Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, . Authors' Addresses Xiaohu Xu (editor) Huawei Email: xuxiaohu@huawei.com S Somasundaram Alcatel-Lucent Email: somasundaram.s@alcatel-lucent.com Christian Jacquenet (editor) France Telecom Email: christian.jacquenet@orange.com Robert Raszuk Bloomberg LP Email: robert@raszuk.net Zhaohui Zhang (editor) Juniper Email: zzhang@juniper.net Xu, et al. Expires March 27, 2017 [Page 7]