BIER Zhaohui. Zhang Internet-Draft Shaowen. Ma Intended status: Standards Track Juniper Networks Expires: September 6, 2018 Zheng. Zhang ZTE Corporation March 5, 2018 Supporting BIER with RIFT draft-zzhang-bier-rift-00 Abstract This document specifies extensions to RIFT protocol to support BIER. 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 RFC2119. 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 https://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 September 6, 2018. Copyright Notice Copyright (c) 2018 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 (https://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 Zhang, et al. Expires September 6, 2018 [Page 1] Internet-Draft bier-rift March 2018 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. Terminologies . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Advertising BIER Information For non-MPLS Encapsulation . . . 3 4. Advertising BIER Information Northbound . . . . . . . . . . . 4 5. Advertising BIER Information Southbound . . . . . . . . . . . 4 5.1. Local BIER Information . . . . . . . . . . . . . . . . . 4 5.2. Proxied BFR-ID Ranges . . . . . . . . . . . . . . . . . . 4 6. Information Elements Schema . . . . . . . . . . . . . . . . . 5 6.1. bier.thrift . . . . . . . . . . . . . . . . . . . . . . . 5 6.2. Additions to encoding.thrift . . . . . . . . . . . . . . 6 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 9.1. Normative References . . . . . . . . . . . . . . . . . . 6 9.2. Informative References . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Terminologies Familiarity with BIER and RIFT protocols and procedures is assumed. Some terminologies are listed below for convenience. [To be added.] 2. Introduction BIER [RFC8279] ... (to be expanded) RIFT [I-D.przygienda-rift] is a new protocol specifically designed for CLOS and fat-tree network topologies. As a hybrid between Link State Routing and Distance Vector Routing, it does LSR in northbound (towards the spine) and DVR in southbound (towards the leaves). [I-D.ietf-bier-isis-extensions] and [I-D.ietf-bier-ospf-bier-extensions] specify ISIS/OSPF extensions to support BIER in an ISIS/OSPF domain. The same approach applies to RIFT in the northbound LSR. [I-D.zwzw-bier-prefix-redistribute] specifies methods to advertise BIER information via default or summary/aggregate routes advertised Zhang, et al. Expires September 6, 2018 [Page 2] Internet-Draft bier-rift March 2018 from one IGP area/domain to another. Similar approach applies to RIFT in the southbound DVR. BIER encapsulation, whether it is based on MPLS or not, is covered in [RFC8296]. However, the OSPF/ISIS extensions for BIER only covers signaling needed for MPLS encapsulation. RIFT is targeted at DC deployments, where MPLS may not be used. This document covers signaling for both BIER MPLS and non-MPLS encapsulation with RIFT. The details are provided in following sections. 3. Advertising BIER Information For non-MPLS Encapsulation In the BIER architecture, a BIER sub-domain may have multiple BitStringLengths (BSLs) and multiple Encapsulations (Encaps). A single multicast packet coming from outside the BIER sub-domain may be sent as multiple BIER packets, one for each set that is identified by a SetID (SI). An incoming BIER packet is forwarded according to a BIFT for the tuple. Each BIFT is identified by a 20-bit opaque number (BIFT-ID) in the packet. With MPLS encapsulation, the BIFT-ID for an incoming BIER packet is simply an MPLS label allocated by the receiving BFR for the BIFT. For each tuple, OSPF/ISIS advertises a block of contiguous labels, one label for each SI needed for the tuple, in the MPLS Encapsulation sub-sub-TLV as part of the BIER sub-TLV, which is attached to the Extended Reachability TLV (ISIS case) or the Extended Prefix TLV (OSPF case) for the BFR's BIER Prefix. With non-MPLS encapsulation, the BIFT-ID in the packet is at the same position as the label in MPLS encapsulation case. Its semantics is no different from the MPLS case in that as an 20-bit opaque value, it leads to the BIFT according to which the BIER packet is forwarded. Beyond the semantics, there are two differences from the MPLS case though: o MPLS infrastructure is not needed. o While each BFR could allocate local BIFT-IDs independently and advertise them just like in MPLS case, for the same tuple all BFRs could optionally auto-derive or be provisioned with the same BIFT-ID and no signaling is needed in that case. One may consider that if MPLS would allow to use consistently provisioned BIER labels on all BFRs, then the second difference listed above does not exist anymore. Zhang, et al. Expires September 6, 2018 [Page 3] Internet-Draft bier-rift March 2018 In this specification, if locally significant BIFT-IDs are to be used with non-MPLS encapsulation, the BIFT-IDs are advertised the same way as in the MPLS case - by a BIFT-ID block, which is a block of contiguous labels in MPLS case or a block of contiguous opaque 20-bit values in non-MPLS case. The only difference is the type of encapsulation. If consistently provisioned or auto-derived BIFT-IDs are used with non-MPLS encapsulation, then no BIFT-ID block is signaled. Just the encapsulation type is signaled. 4. Advertising BIER Information Northbound Nothing special here compared to OSPF/ISIS. A node's local BIER information as described in the previous section is attached to a local BIER Prefix. Details to be added. 5. Advertising BIER Information Southbound 5.1. Local BIER Information Similar to the northbound case, a node's local BIER information is attached to a local BIER prefix that is advertised southbound. 5.2. Proxied BFR-ID Ranges On the southbound, a node advertises a default route, plus certain prefixes to prevent blackholing or suboptimal routing upon link failures. Those prefixes and default route are like the summary routes and default route in [I-D.zwzw-bier-prefix-redistribute], and similarly they carry BFR-IDs corresponding to the covered BIER Prefixes. Consider a RIFT network with a BIER sub-domain of 200 BFIR/BFERs. Each non-leaf node is provisioned that BFR-ID 1-200 are used. Suppose a node X advertise southbound a default route RT1 and disaggregation routes RT2/RT3. RT2 and RT3 MUST advertise BFR-IDs covered by them (e.g. BFR-ID 100/102/150 covered by RT2 and BFR-ID 101/103 covered by RT3), while the default route RT1 can always advertise that all BFR-ID 1~200 are covered by it and does not need to exclude BFR-ID 100/102/150 and 101/103 that are covered by RT2/ RT3. When a southern node receives RT1 and RT2/RT3, it installs BFR- ID 100/102/150 in its BIFT according to RT2, 101/103 in its BIFT according to RT3, and installs other BFR-IDs (or just a default route) in its BIFT according to RT1. Zhang, et al. Expires September 6, 2018 [Page 4] Internet-Draft bier-rift March 2018 6. Information Elements Schema This document introduces a bier.thrif schema with definitions to be used in RIFT encoding.thrift. 6.1. bier.thrift typedef i8 SubdomainIdType typedef i16 BfrIdType typedef i8 BARType typedef i8 IPAType typedef i16 BSLType /* Number of bits */ typedef i32 BiftIdType /* Only the most significant 20 bits are used */ enum EncapsulationType { mpls = 0; non-mpls = 1; } /* Similar to the label range in OSPF/ISIS extensions for BIER */ struct BiftIdBlock { 1: required BiftIdType bift_id_base; 2. required i8 bift_id_range; } /* Similar to the MPLS Encapsulation sub-sub-TLV in OSPF/ISIS */ struct EncapStruct { 1: required EncapsulationType encap_type; 2: required BSLType bsl; 3: optional BiftIdBlock bift_id_block; } /*BIER node information. Similar to BIER sub-TLV in OSPF/ISIS. */ struct BierInfo { 1: required SubdomainIdType subdomain_id; 2: required BfrIdType bfr_id; 3: required BARType bar; 4: required IPAType ipa; 5. required EncapStruct encaps; /* one or more */ } struct ProxyBfrIdRange { 1: required SubdomainIdType subdomain_id; 2: required BfrIdType bfr_id_base; 3: required BSLType bfr_id_range; } Zhang, et al. Expires September 6, 2018 [Page 5] Internet-Draft bier-rift March 2018 6.2. Additions to encoding.thrift The PrefixAttributes in encoding.rift now has two optional elements: struct PrefixAttributes { ... 2: optional BierInfo bier_info; /* BIER info for a * local BIER Prefix */ 3. optional ProxyBfrIdRange proxy_bfr_id; /* one or more proxy * BFR-ID ranges covered * by this prefix */ } 7. IANA Considerations 8. Acknowledgements 9. References 9.1. Normative References [I-D.przygienda-rift] Przygienda, T., Sharma, A., Atlas, A., and J. Drake, "RIFT: Routing in Fat Trees", draft-przygienda-rift-05 (work in progress), March 2018. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., Przygienda, T., and S. Aldrin, "Multicast Using Bit Index Explicit Replication (BIER)", RFC 8279, DOI 10.17487/RFC8279, November 2017, . [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation for Bit Index Explicit Replication (BIER) in MPLS and Non- MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 2018, . 9.2. Informative References Zhang, et al. Expires September 6, 2018 [Page 6] Internet-Draft bier-rift March 2018 [I-D.ietf-bier-isis-extensions] Ginsberg, L., Przygienda, T., Aldrin, S., and Z. Zhang, "BIER support via ISIS", draft-ietf-bier-isis- extensions-09 (work in progress), February 2018. [I-D.ietf-bier-ospf-bier-extensions] Psenak, P., Kumar, N., Wijnands, I., Dolganow, A., Przygienda, T., Zhang, Z., and S. Aldrin, "OSPF Extensions for BIER", draft-ietf-bier-ospf-bier-extensions-15 (work in progress), February 2018. [I-D.zwzw-bier-prefix-redistribute] Zhang, Z., Bo, W., Zhang, Z., and I. Wijnands, "BIER Prefix Redistribute", draft-zwzw-bier-prefix- redistribute-00 (work in progress), January 2018. Authors' Addresses Zhaohui Zhang Juniper Networks EMail: zzhang@juniper.net Shaowen Ma Juniper Networks EMail: mashao@juniper.net Zheng Zhang ZTE Corporation EMail: zhang.zheng@zte.com.cn Zhang, et al. Expires September 6, 2018 [Page 7]