INTERNET-DRAFT R. Huang Intended Status: Standards Track N. Xia Expires: April 26, 2018 N. Wei Huawei October 27, 2017 Encapsulation and Extension for BIER-TE draft-huang-bier-te-encapsulation-extension-00 Abstract This document proposes to extend the BIER packet format and some BIER-TE forwarding rules specified in BIER traffic engineering architecture. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright and License Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. 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 Huang Expires April 30, 2018 [Page 1] INTERNET DRAFT Extension for BIER-TE October 23, 2017 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 2. BIER-TE Extension . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Set Identifier . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Packet Travel Rule . . . . . . . . . . . . . . . . . . . . 3 2.3. The Bit Index Forwarding Table (BIFT) . . . . . . . . . . . 4 3. BIER-TE Encapsulation . . . . . . . . . . . . . . . . . . . . . 4 3.1 Header . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Header Extension . . . . . . . . . . . . . . . . . . . . . 5 4. BIER-TE Forwarding Example . . . . . . . . . . . . . . . . . . 5 5 Security Considerations . . . . . . . . . . . . . . . . . . . . 6 6 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 7 References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7.1 Normative References . . . . . . . . . . . . . . . . . . . 7 7.2 Informative References . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 Huang Expires April 30, 2018 [Page 2] INTERNET DRAFT Extension for BIER-TE October 23, 2017 1 Introduction [I-D.eckert-bier-te-arch] specifies BIER-TE: Traffic Engineering for Bit Index Explicit Replication (BIER). It shares part of the architecture with basic BIER as described in [I-D.ietf-bier- architecture], but uses every BitPosition of the BitString of a BIER- TE packet indicates one or more adjacencies instead of a BFER as in BIER. BIER-TE proposes to share the packet format with BIER. Since it consumes much more BitPositions than BIER, it has scalability issue. For example, the maximum BitString length (BSL) that one BIER-TE packet can carry is 256, which means that one BIER-TE packet cannot pass over 256 numbered adjacencies. This is not a problem in BIER as for BIER all the BitPositions are either BFIRs or BFERs. To alleviate this issue, one direct way is to allow one packet can travel over more than one Set Indentifier (SI) area. Based on it, this document proposes an encapsulation to solve this issue by extending the BIER packet format specified in [I-D.ietf-bier-mpls- encapsulation] and some BIER-TE forwarding rules in [I-D.eckert-bier- te-arch]. 1.1 Terminology 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. BIER-TE Extension 2.1. Set Identifier As described in [I-D.ietf-bier-architecture], Set Identifier (SI) is used to indicate the set of BFERs that one BIER packet can reach. In this document, SI is the segment area index. The number of adjacencies assigned BitPosition inside one segment area is not larger than the value of BSL. 2.2. Packet Travel Rule As described in [I-D.eckert-bier-te-arch], packets that need to be sent to BFER in different SI require different BIER packets. If a packet travel from one BFIR to the BFERs with different SIs, the path for that packet can only be scheduled for those adjacencies belonging to the same SI carried by the packet, or some adjacencies may be assigned with multiple BitPosition as described in [I-D.xiong-bier- Huang Expires April 30, 2018 [Page 3] INTERNET DRAFT Extension for BIER-TE October 23, 2017 te-forwarding]. In this document, a packet is allowed to travel to multiple areas with different SIs. To do that, multiple bitstrings belonging to different SIs may be carried in the packet header. Considering the overhead of the BIER-TE header, the total length of all the bitstrings that a packet can carry is the maximum BSL 4096. For example, if the BSL is 256, then a packet can pass over at most 16 segment areas. If the topology of the network is well planned, this design is sufficient for use. If all of the BitPosition in one of the Bitstrings are set to 0, it means that the packet will not travel to this area any more. The BFR could remove that BitString when forwarding the packet to the adjacencies. 2.3. The Bit Index Forwarding Table (BIFT) The BIFT is used as described in [I-D.eckert-bier-te-arch], which is indexed by SI:BitPosition. 3. BIER-TE Encapsulation 3.1 Header The BIER-TE encapsulation is illustrated as following. It reuses the format defined in [I-D.ietf-bier-mpls-encapsulation]. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BIFT-id | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Nibble | Ver | BSL | Entropy | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |OAM|B|E| DSCP | Proto | BFIR-id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BitString (first 32 bits) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ BitString (last 32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Extension Field (variable) | B: This 1-bit field identifies a BIER head(0) or a BIER-TE head(1). Huang Expires April 30, 2018 [Page 4] INTERNET DRAFT Extension for BIER-TE October 23, 2017 E: This 1-bit field identifies weather there is a extension field following the head. 3.2. Header Extension The header extension is illustrated as following. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | type | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | The information of BitPostions | ~ in one specific segment area ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ...... | This header extension uses TSV structure. The information of the BitPositions in one specific segment area (SI) is only carried in one TSV. Type: 16 bits It defines the type of the extension. In this document, the type of TBD is specified. Length: 16 bits It indicates the total octets of the information of BitPostions in one specific segment area. Information of BitPostions in one specific segment area: This contains the information of the BitString in the specific segment area other than the previous header. In this document, the details of this field doesn't specified. It could be several BitStrings belonging to different segment areas populated together or It could be another BIER header nested in this extension. In the latter case, it will be easier for BFRs to pop the unused header. 4. BIER-TE Forwarding Example Here, the same example from [I-D.eckert-bier-te-arch] is used as following. Assume the BSL is 8 (The BSL of 8 is used only in this example). pXX-Y indicate the BitPosition-SI assigned by the BIER-TE controller host to adjacencies in the BIER-TE topology. [Bier-Te Controller Host] / | v v v Huang Expires April 30, 2018 [Page 5] INTERNET DRAFT Extension for BIER-TE October 23, 2017 |p5-2 p1-1 | +- BFIR2 --+ | | | p2-1 p3-1| LAN2 | +-- BFR3 --+ | | | | p4-1 p6-1 | Src -+ +-- BFER1 --+ | |p7-1 p5-1| | | +-- BFR4 --+ +-- Rcv1 | | | | | | |p6-2 p8-1| +- BFIR1 --+ | | +-- BFR5 --+ p3-2 p4-2 | LAN1 |p1-2 p2-2 +-- BFER2 --+ | +-- Rcv2 | LAN3 IP |..... BIER-TE network......| IP Traffic needs to flow from BFIR2 towards Rcv1, Rcv2. The controller determines it wants to pass across the following paths: -> BFER1 ---------------> Rcv1 BFIR2 -> BFR3 -> BFR4 -> BFR5 -> BFER2 -> Rcv2 The BitString is set up in BFIR2 with 2 sets of BitStrings: S1:(p2, p4, p5, p6); S2:(p1, p3, p4). BFIR2 forwards based on that BitString. BFR4 has the following BIFT: p8-1: forward_connected(BFIR1) P1-2: forward_connected(BFR5) BFR5 sees the sets of BitStrings: S1: (0...0); S2:(p3, p4). It pops the BitString of S1 and forward the packet out to BFER2. Other forwarding rules are similar to those specified in [I- D.eckert-bier-te-arch]. 5 Security Considerations TBD 6 IANA Considerations Huang Expires April 30, 2018 [Page 6] INTERNET DRAFT Extension for BIER-TE October 23, 2017 TBD. 7 References 7.1 Normative References [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [I-D.eckert-bier-te-arch] Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic Engineering for Bit Index Explicit Replication BIER-TE", draft-eckert-bier-te-arch-05 (work in progress), June 2017. [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-08 (work in progress), September 2017. [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 and non-MPLS Networks", draft-ietf-bier-mpls- encapsulation-10 (work in progress), October 2017. 7.2 Informative References [I-D.zcxh-bier-te-forwarding] Zhu, Y., Chen, H., Xiong, Q., and F. Hu, "BIER-TE Forwarding", draft-zcxh-bier-te-forwarding-00 (work in progress), October 2017. Authors' Addresses Rachel Huang Huawei 101 Software Avenue, Yuhua District Nanjing 210012 China EMail: rachel.huang@huawei.com Huang Expires April 30, 2018 [Page 7] INTERNET DRAFT Extension for BIER-TE October 23, 2017 Nu Xia Huawei 101 Software Avenue, Yuhua District Nanjing 210012 China EMail: xianu@huawei.com Naiwen Wei Huawei China EMail: weinaiwen@huawei.com Huang Expires April 30, 2018 [Page 8]