Internet Engineering Task Force A. Przygienda Internet-Draft Ericsson Intended status: Standards Track L. Ginsberg Expires:April 26,August 3, 2015 Cisco Systems S. Aldrin Huawei J. Zhang Juniper Networks, Inc.October 23, 2014January 30, 2015 BIER support via ISISdraft-przygienda-bier-isis-ranges-01draft-przygienda-bier-isis-ranges-02 Abstract Specification of an ISIS extension to support BIER domains and sub- domains. 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] . 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 onApril 26,August 3, 2015. Copyright Notice Copyright (c)20142015 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 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 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 4. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1. BIER Domainsin Extended Reachability TLVsand Sub-Domains . . . . . . . . . . . . . . 44.2. BIER Domains5. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 45. Procedures5.1. Enabling a BIER Sub-Domain . . . . . . . . . . . . . . . 5 5.2. Multi Topology and Sub-Domain . . . . . . . . . .4 5.1. Enabling a BIER Domain. . . . 5 5.3. Encapsulation . . . . . . . . . . . . .4 5.2. Encapsulation. . . . . . . . . 5 5.4. Tree Type . . . . . . . . . . . . . . . . . . . . . . . . 55.3.5.5. Label Advertisements for MPLS encapsulated BIER sub- domains . . . . . . . . . . . . . . . . . . . . . . . . . 55.3.1.5.5.1. Special Consideration . . . . . . . . . . . . . . . .5 5.4.6 5.6. BFR-id Advertisements . . . . . . . . . . . . . . . . . .5 5.5.6 5.7. Flooding . . . . . . . . . . . . . . . . . . . . . . . . 6 5.8. Version . . . . . . . . . . . . . . . . . . . . . . . . . 6 6. Packet Formats . . . . . . . . . . . . . . . . . . . . . . .67 6.1. BIER Info sub-TLV . . . . . . . . . . . . . . . . . . . .67 6.2. BIER MPLS Encapsulation sub-sub-TLV . . . . . . . . . . .78 6.3. Optional BIER sub-domain Tree Type sub-sub-TLV . . . . . 9 7. Security Considerations . . . . . . . . . . . . . . . . . . .711 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . .811 9. Normative References . . . . . . . . . . . . . . . . . . . .811 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .912 1. Introduction Bit Index Explicit Replication (BIER)[I-D.draft-wijnands-bier-architecture-00][I-D.draft-wijnands-bier-architecture-02] defines an architecture where all intended multicast receivers are encoded as bitmask in the Multicast packet header within different encapsulations such as[I-D.draft-wijnands-mpls-bier-encapsulation-01].[I-D.draft-wijnands-mpls-bier-encapsulation-02]. A router that receives such a packet will forward the packet based on the Bit Position in the packet header towards the receiver(s), following a precomputed tree for each of the bits in the packet. Each receiver is represented by a unique bit in the bitmask. This document presentsfirst attempt atnecessary extensions to the currently deployed ISIS for IP [RFC1195] protocol to support distribution of information necessary for operation of BIERdomains.domains and sub-domains. This document defines a new TLV to be advertised by every router participating insuchBIERdomains.signaling. 2. Terminology Some of the terminology specified in[I-D.draft-wijnands-bier-architecture-00][I-D.draft-wijnands-bier-architecture-02] is replicated here and extended by necessary definitions: BIER: Bit Index Explicit Replication (The overall architecture of forwarding multicast using a Bit Position). BIER-OL: BIER Overlay Signaling. (The method for the BFIR to learn about BFER's).BM: Bit Mask (A bit stream of a certain fixed length. Each Bit represents a receiver). P-BM: Packet Bit Mask (A Bit Mask included in the Multicast Packet). BP: Bit Position (A single Bit from the Bit Mask that represents a receiver).BFR: Bit Forwarding Router (A router that participates in Bit Index Multipoint Forwarding). A BFR is identified by a unique BFR- prefix in a BIER domain. BFIR: Bit Forwarding Ingress Router (The ingress border router that inserts the BM into the packet). BFER: Bit Forwarding Egress Router. A router that participates in Bit Index Forwarding as leaf. Each BFER must be a BFR. Each BFER must have a valid BFR-id assigned. BFT: Bit Forwarding Tree used to reach all BFERs in a domain. BIFT: Bit Index ForwardingTable (A Bit index forwarding table).Table. BMS: Bit Mask Set. Set containing bit positions of all BFER participating in a set. BMP: Bit Mask Position, a given bit in a BMS. Invalid BMP: Unassigned Bit Mask Position, consisting of all 0s.Invalid BFR-id: Unassigned BFR-id, consisting of all 0s.IGP signalled BIER domain: A BIERdomainunderlay where the BIER synchronization information is carried inIGP andIGP. Observe that a multi-topology is NOT a separate BIER domain in IGP. BIER sub-domain: A further distinction within a BIER domain identified by itsmulti-topology and bitmask length.unique sub-domain identifier. A BIER sub-domain can support multiple BitString Lengths. BFR-id: An optional, unique identifier for a BFR within a BIER sub- domain. Invalid BFR-id: Unassigned BFR-id, consisting of all 0s. 3. IANA Considerations This document adds the following new sub-TLVs to the registry of sub- TLVs for TLVs 235, 237 [RFC5120] and TLVs 135,236 [RFC5305],[RFC5308]. Value: 32 (suggested - to be assigned by IANA) Name: BIER Info 4. Concepts 4.1. BIER Domainsin Extended Reachability TLVs This draft introduces a sub-TLV in the extended reachability TLVs to distribute information about BIER domainsandservices they carry. To satisfy the requirements forSub-Domains An ISIS signalled BIERprefixes per [I-D.draft-wijnands-bier-architecture-00] additional information may be carrieddomain is aligned with the scope of distribution of BFR-prefixes that identify the BFRs within ISIS. ISIS acts in[I-D.draft-ginsberg-isis-prefix-attributes]. 4.2.such a case as the according BIERDomainsunderlay. Within such a domain, ISIS extensions are capable of carrying BIER informationnot only for a single BIER domains butfor multipleones. ABIERdomain in ISISsub-domains. Each sub-domain iscurrently alwaysuniquely identified by its subdomain-id and each subdomain can reside in any of thetupleISIS topologies [RFC5120]. The mapping ofmulti- topology MT and bitmask length ML it belongssub-domains todenoted as <MT,ML>. Each suchtopologies is a local decision of each BFR currently but is advertised throughout the domainitselfto ensure routing consistency. Each BIER sub-domain has as its unique attributes the encapsulation used and the type of tree it is using to forward BIER frames (currently always SPF). Additionally, per supported bitstring length in the sub-domain, each router will advertise the necessary label ranges to support it. This RFC introduces a sub-TLV in the extended reachability TLVs to distribute such information about BIER sub-domains. To satisfy the requirements for BIER prefixes per [I-D.draft-wijnands-bier-architecture-02] additional information will be carried in [I-D.draft-ginsberg-isis-prefix-attributes]. 5. Procedures 5.1. Enabling a BIERDomainSub-Domain A givendomainsub-domain withmasklength MLidentifier BS with supported bitstring lengths MLs in a multi-topology MT [RFC5120](denotedis denoted further as<MT,ML>)<MT,SD,MLs> and is normally not advertised to preserve the scaling of the protocol (i.e. ISIS carries no TLVs containing any of the elements related to<MT,ML>)<MT,SD>) and is enabled by a first BIERsub- TLVsub-TLV (Section 6.1) containing<MT,ML><MT,SD> being advertised into the area. The trigger itself is outside the scope of thisdraftRFC but can be for example a VPN desiring to initiate a BIERlayersub-domain as MI-PMSI [RFC6513] tree. It is outside the scope of this document to describe what trigger for a router capable of participating<MT,ML>in <MT,SD> is used to start the origination of the necessary information to join into it. 5.2. Multi Topology and Sub-Domain All routers in the flooding scope of the BIER TLVs MUST advertise a sub-domain within the same multi-topology. A router discovering a sub-domain advertised within a topology that is different from its own MUST report a misconfiguration of a specific sub-domain. Each router MUST compute BFTs for a sub-domain using only routers advertising it in the same topology. 5.3. Encapsulation All routers in the flooding scope of the BIER TLVsSHOULDMUST advertise the same encapsulation for a given<MT,ML>.<MT,SD>. A router discovering encapsulation advertised that is different from its own MUST report a misconfiguration of a specific<MT,ML>.<MT,SD>. Each router MUST compute BFTs for<MT,ML><MT,SD> using only routers having the same encapsulation as its own advertised encapsulation in BIER sub-TLV for<MT,ML>.<MT,SD>. 5.4. Tree Type All routers in the flooding scope of the BIER TLVs MUST advertise the same tree type for a given <MT,SD>. In case of mismatch the behavior is analogous to Section 5.3. 5.5. Label Advertisements for MPLS encapsulated BIERdomainssub-domains Each router MAY advertise within the BIER MPLS Encapsulation sub-sub- TLV (Section 6.2) of a BIER Info sub-TLV (Section6.1) for <MT,ML> (denoted further6.1, denoted asTLV<MT,ML>)TLV<MT,SD>) for <MT,SD> for every supported bitstring length a valid starting label value and a non-zero range length. It MUST advertiseaat least one valid label value and a non-zero range length for the required bitstring lengths per [I-D.draft-wijnands-bier-architecture-02] in case it has computed itself as being on the BFT rooted at any of the BFRs with validBFR-idsBFR- ids (except itself if it does NOT have a valid BFR-id) participating in<MT,ML>.<MT,SD>. A routerCANMAY decide to not advertiseits TLV<MT,ML>the BIER Info sub-TLV (Section 6.1) for <MT,SD> if it does not want to participate in thedomainsub-domain due to resource constraints, label space optimization, administrative configuration or any other reasons.5.3.1.5.5.1. Special Consideration A router MUST advertise for<MT,ML>each bitstring length it supports in <MT,SD> a label range size that guarantees to cover the maximumBFR-idBFR- id injected into<MT,ML><MT,SD> (which implies a certain maximum set id per bitstring length as described in[I-D.draft-wijnands-bier-architecture-00]).[I-D.draft-wijnands-bier-architecture-02]). Any router that violates this condition MUST be excluded from BIER BFTs for<MT,ML>. 5.4.<MT,SD>. 5.6. BFR-id Advertisements Each BFER MAY advertise with itsTLV<MT,ML>TLV<MT,SD> the BFR-id that it has administratively chosen. If a router discovers that two BFRs it can reach advertise the same value for BFR-id for<MT,ML>,<MT,SD>, it MUST report a misconfiguration and disregard those routers for all BIER calculations and procedures for<MT,ML><MT,SD> to align with[I-D.draft-wijnands-bier-architecture-00].[I-D.draft-wijnands-bier-architecture-02]. It is worth observing that based on this procedure routers with colliding BFR-id assignments in<MT,ML><MT,SD> MAY still act as BFIRs in<MT,ML><MT,SD> but will be never able to receive traffic from other BFRs in<MT,ML>. 5.5.<MT,SD>. 5.7. Flooding BIER domain information SHOULD change and force flooding infrequently.Further discussion TBD.Especially, the router SHOULD make every possible attempt to bundle all the changes necessary to sub-domains and ranges advertised with those into least possible updates. 5.8. Version This RFC specifies Version 0 of the BIER extension encodings. Packet encoding supports introduction of future, higher versions with e.g. new sub-sub-TLVs or redefining reserved bits that can maintain the compatiblity to Version 0 or choose to indicate that the compatibility cannot be maintained anymore (changes that cannot work with the provided encoding would necessitate obviously introduction of completely new sub-TLV for BIER). This kind of 'versioning' allows to introduce e.g. backwards- compatible automatic assignment of unique BFR-ids within sub-domains or addition of optional sub-sub-TLVs that can be ignored by version 0 BIER routers without the danger of incompatiblity. This is a quite common technique in software development today to maintain and extend backwards compatible APIs. 6. Packet Formats All ISIS BIER information is carried within the TLVs 235, 237 [RFC5120] and TLVs 135,236[RFC5305],[RFC5308].[RFC5305], [RFC5308]. 6.1. BIER Info sub-TLV This sub-TLV carries the information for the BIERdomainssub-domains that the router participates in as BFR. It can repeat multiple times for differentdomain <MT,ML>sub-domain <MT,SD> combinations.If the same <MT,ML> domain is advertised multiple times with different encapsulations, the result is unspecified.The sub-TLV carries a single<MT,ML><MT,SD> combination followed by optional sub-sub-TLVs specified within its context such as e.g. BIER MPLS Encapsulation per Section 6.2. On violation of any of the following conditions, the receiving router SHOULD signal a misconfiguration condition. Further results are unspecified unless described in the according section of this RFC: o The subdomain-id MUST be included only within a single topology. 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 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Ver|C| Reserved| subdomain-id |BM Len|Reservd|BFR-id |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: as indicated in IANA section. Length: 1 octet.Local BitMask Length (BM Len): Bitmask length for thisVersion: Version of the BIERdomainTLV advertised, must be 0 on transmission by router implementing this RFC. Behavior on reception depends on the 'C' bit. 2 bits C-BIT: Compatibility bit indicating that the TLV can be interpreted by routers implementing lower than the advertised version. Router implementing thisrouterversion of the RFC MUST set it to 1. On reception, IF the version of the protocol isadvertising per [I-D.draft-wijnands-mpls-bier-encapsulation-01]. 4 bits. Reservedhigher than 0 AND the bit is set (i.e. its value is 1), the TLV MUST be processed normally, IF the bit is clear (i.e. its value is 0), the TLV MUST be ignored for further processing completely independent of the advertised version. When processing this sub-TLV with compatibility bit set, all sub-sub-TLV of unknown type MUST and CAN be safely ignored. 1 bit Reserved: reserved, must be 0 on transmission, ignored on reception.4May be used in future versions. 5 bitsBFR-idsubdomain-id: Unique value identifying the BIER sub-domain. 1 octet BFR-id: A 2 octet field encoding the BFR-id, as documented in[I-D.draft-wijnands-bier-architecture-00].[I-D.draft-wijnands-bier-architecture-02]. If set to the invalid BFR-id advertising router is not owningany BFR-id.a BFR-id in the sub- domain. 6.2. BIER MPLS Encapsulation sub-sub-TLV This sub-sub-TLV carries the information for the BIER MPLSencapsulationsencapsulation and the necessary label ranges per bitstring length for a certain<MT,ML><MT,SD> and is carried within the BIER Info sub-TLV (Section 6.1) that the router participates in as BFR.It can repeat onlyOn violation of any of the following conditions, the receiving router SHOULD signal a misconfiguration condition. Further results are unspecified: o The sub-sub-TLV MUST be included once AND ONLY once withinit. If thisthe sub-TLV. o Label ranges within the sub-sub-TLVis included more than once,MUST NOT overlap. A receiving BFR MAY additionally check whether any of theresult is unspecified.ranges in all the sub-sub-TLVs advertised by another BFR overlap and apply the same treatement on violations. o Bitstring lengths within the sub-sub-TLV MUST NOT repeat. o The sub-sub-TLV MUST include the required bitstring lengths per [I-D.draft-wijnands-bier-architecture-02]. o All label range sizes MUST be greater than 0. o All labels MUST represent valid label values. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+ | Lbl Range Size|BS Len | Label | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~~ (number repetitions derived from TLV length) ~~ ~~~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Lbl RangeSize|Reservd|Size|BS Len | Label | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+ Type: value of 0 indicating MPLS encapsulation. Length: 1 octet. Local BitString Length (BS Len): Bitstring length for the label range that this router is advertising per [I-D.draft-wijnands-mpls-bier-encapsulation-02]. 4 bits. Label Range Size: Number of labels in the range used on encapsulation for this BIERdomain,sub-domain for this bitstring length, 1 octet. This MUST never beadvertiseadvertised as 0 (zero) and otherwise, this sub-sub-TLV must be treated as if not present for BFT calculations and a misconfiguration SHOULD be reported by the receiving router. Label: First label of the range used on encapsulation for this BIERdomain and service,sub-domain for this bitstring length, 20 bits. The label is used for example by[I-D.draft-wijnands-mpls-bier-encapsulation-01][I-D.draft-wijnands-mpls-bier-encapsulation-02] to forward traffic to sets of BFERs.Reserved reserved, must6.3. Optional BIER sub-domain Tree Type sub-sub-TLV This sub-sub-TLV carries the information of the BIER tree type for a certain <MT,SD>. It is carried within the BIER Info sub-TLV (Section 6.1) that the router participates in as BFR. This sub-sub- TLV is optional and its absence indicates the same as its presence with Tree Type value 0 (SPF). BIER implementation following this version of the RFC SHOULD NOT advertise this TLV. On violation of any of the following conditions, the receiving router implementing this RFC SHOULD signal a misconfiguration condition. Further results are unspecified unless described further: o The sub-sub-TLV MUST be included once AND ONLY once. o The advertised BIER TLV version is 0on transmission, ignored on reception.and the value of Tree Type MUST be 0 (SPF). 0 1 2 3 0 1 2 3 4bits5 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tree Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tree Type specific opaque data| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~~ up to TLV Length ~~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tree Type specific opaque data| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: value of 1 indicating BIER Tree Type. Length: 1 octet. Tree Type: The only supported value today is 0 and indicates that BIER uses normal SPF computed reachability to construct BIFT. BIER implementation following this RFC MUST ignore the node for purposes of the sub-domain <MT,SD> if this field has any value except 0. Tree type specific opaque data: Opaque data up to the length of the TLV carrying tree type specific parameters. For Tree Type 0 (SPF) no such data is included and therefore TLV Length is 1. 7. Security Considerations Implementations must assure that malformed TLV and Sub-TLV permutations do not result in errors which cause hard protocol failures. 8. Acknowledgements ThedraftRFC is aligned with the [I-D.draft-psenak-ospf-bier-extension-01] draft as far as the protocol mechanisms overlap. Many thanks for comments from (in no particular order) Hannes Gredler, Ijsbrand Wijnands and Peter Psenak. 9. Normative References [I-D.draft-ginsberg-isis-prefix-attributes] Ginsberg et al., U., "IS-IS Prefix Attributes for Extended IP and IPv6 Reachability", internet-draft draft-ginsberg- isis-prefix-attributes-00.txt, October 2014. [I-D.draft-psenak-ospf-bier-extension-01] Psenak, P. and IJ. Wijnands, "OSPF Extension for Bit Index Explicit Replication", internet-draft draft-ietf-ospf- prefix-link-attr-01.txt, October 2014.[I-D.draft-wijnands-bier-architecture-00][I-D.draft-wijnands-bier-architecture-02] Wijnands, IJ., "Stateless Multicast using Bit Index Explicit Replication Architecture", internet-draft draft-wijnands-bier-architecture-00.txt,wijnands-bier-architecture-02.txt, February 2014.[I-D.draft-wijnands-mpls-bier-encapsulation-01][I-D.draft-wijnands-mpls-bier-encapsulation-02] Wijnands et al., IJ., "Bit Index Explicit Replication using MPLS encapsulation", internet-draft draft-wijnands-mpls-bier-encapsulation-01.txt,mpls-bier-encapsulation-02.txt, February 2014. [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, December 1990. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4971] Vasseur, JP., Shen, N., and R. Aggarwal, "Intermediate System to Intermediate System (IS-IS) Extensions for Advertising Router Information", RFC 4971, July 2007. [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)", RFC 5120, February 2008. [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, October 2008. [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, October 2008. [RFC6513] Rosen, E. and R. Aggarwal, "Multicast in MPLS/BGP IP VPNs", RFC 6513, February 2012. Authors' Addresses Tony Przygienda Ericsson 300 Holger Way San Jose, CA 95134 USA Email: antoni.przygienda@ericsson.com Les Ginsberg Cisco Systems 510 McCarthy Blvd. Milpitas, CA 95035 USA Email: ginsberg@cisco.com Sam Aldrin Huawei 2330 Central Expressway Santa Clara, CA 95051 USA Email: aldrin.ietf@gmail.com Jeffrey (Zhaohui) Zhang Juniper Networks, Inc. 10 Technology Park Drive Westford, MA 01886 USA Email: zzhang@juniper.net