| < draft-ietf-bier-isis-extensions-01.txt | draft-ietf-bier-isis-extensions-02.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force L. Ginsberg, Ed. | Internet Engineering Task Force L. Ginsberg, Ed. | |||
| Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
| Intended status: Standards Track A. Przygienda | Intended status: Standards Track A. Przygienda | |||
| Expires: April 19, 2016 Ericsson | Expires: September 20, 2016 Ericsson | |||
| S. Aldrin | S. Aldrin | |||
| J. Zhang | J. Zhang | |||
| Juniper Networks, Inc. | Juniper Networks, Inc. | |||
| October 17, 2015 | March 19, 2016 | |||
| BIER support via ISIS | BIER support via ISIS | |||
| draft-ietf-bier-isis-extensions-01 | draft-ietf-bier-isis-extensions-02 | |||
| Abstract | Abstract | |||
| Specification of an ISIS extension to support BIER domains and sub- | Specification of an ISIS extension to support BIER domains and sub- | |||
| domains. | domains. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on April 19, 2016. | This Internet-Draft will expire on September 20, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4.1. BIER Domains and Sub-Domains . . . . . . . . . . . . . . 4 | 4.1. BIER Domains and Sub-Domains . . . . . . . . . . . . . . 4 | |||
| 5. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4.2. Advertising BIER Information . . . . . . . . . . . . . . 5 | |||
| 5. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
| 5.1. Enabling a BIER Sub-Domain . . . . . . . . . . . . . . . 5 | 5.1. Enabling a BIER Sub-Domain . . . . . . . . . . . . . . . 5 | |||
| 5.2. Multi Topology and Sub-Domain . . . . . . . . . . . . . . 5 | 5.2. Multi Topology and Sub-Domain . . . . . . . . . . . . . . 5 | |||
| 5.3. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 5 | 5.3. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.4. Tree Type . . . . . . . . . . . . . . . . . . . . . . . . 5 | 5.4. Tree Type . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.5. Label Advertisements for MPLS encapsulated BIER sub- | 5.5. Label advertisements for MPLS Encapsulation . . . . . . . 6 | |||
| domains . . . . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
| 5.5.1. Special Consideration . . . . . . . . . . . . . . . . 6 | ||||
| 5.6. BFR-id Advertisements . . . . . . . . . . . . . . . . . . 6 | 5.6. BFR-id Advertisements . . . . . . . . . . . . . . . . . . 6 | |||
| 5.7. Flooding . . . . . . . . . . . . . . . . . . . . . . . . 6 | 5.7. Reporting Misconfiguration . . . . . . . . . . . . . . . 6 | |||
| 6. Packet Formats . . . . . . . . . . . . . . . . . . . . . . . 6 | 5.8. Flooding Reduction . . . . . . . . . . . . . . . . . . . 7 | |||
| 6. Packet Formats . . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
| 6.1. BIER Info sub-TLV . . . . . . . . . . . . . . . . . . . . 7 | 6.1. BIER Info sub-TLV . . . . . . . . . . . . . . . . . . . . 7 | |||
| 6.2. BIER MPLS Encapsulation sub-sub-TLV . . . . . . . . . . . 8 | 6.2. BIER MPLS Encapsulation sub-sub-TLV . . . . . . . . . . . 8 | |||
| 6.3. Optional BIER sub-domain Tree Type sub-sub-TLV . . . . . 9 | 6.3. Optional BIER sub-domain Tree Type sub-sub-TLV . . . . . 9 | |||
| 6.4. Optional BIER sub-domain BSL conversion sub-sub-TLV . . . 10 | 6.4. Optional BIER sub-domain BSL conversion sub-sub-TLV . . . 9 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 9. Normative References . . . . . . . . . . . . . . . . . . . . 11 | 9. Normative References . . . . . . . . . . . . . . . . . . . . 10 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 1. Introduction | 1. Introduction | |||
| Bit Index Explicit Replication (BIER) | Bit Index Explicit Replication (BIER) | |||
| [I-D.draft-ietf-bier-architecture-02] defines an architecture where | [I-D.draft-ietf-bier-architecture-03] defines an architecture where | |||
| all intended multicast receivers are encoded as bitmask in the | all intended multicast receivers are encoded as bitmask in the | |||
| Multicast packet header within different encapsulations such as | Multicast packet header within different encapsulations such as | |||
| [I-D.draft-ietf-bier-mpls-encapsulation-02]. A router that receives | [I-D.draft-ietf-bier-mpls-encapsulation-03]. A router that receives | |||
| such a packet will forward the packet based on the Bit Position in | such a packet will forward the packet based on the Bit Position in | |||
| the packet header towards the receiver(s), following a precomputed | the packet header towards the receiver(s), following a precomputed | |||
| tree for each of the bits in the packet. Each receiver is | tree for each of the bits in the packet. Each receiver is | |||
| represented by a unique bit in the bitmask. | represented by a unique bit in the bitmask. | |||
| This document presents necessary extensions to the currently deployed | This document presents necessary extensions to the currently deployed | |||
| ISIS for IP [RFC1195] protocol to support distribution of information | ISIS for IP [RFC1195] protocol to support distribution of information | |||
| necessary for operation of BIER domains and sub-domains. This | necessary for operation of BIER domains and sub-domains. This | |||
| document defines a new TLV to be advertised by every router | document defines a new TLV to be advertised by every router | |||
| participating in BIER signaling. | participating in BIER signaling. | |||
| 2. Terminology | 2. Terminology | |||
| Some of the terminology specified in | Some of the terminology specified in | |||
| [I-D.draft-ietf-bier-architecture-02] is replicated here and extended | [I-D.draft-ietf-bier-architecture-03] is replicated here and extended | |||
| by necessary definitions: | by necessary definitions: | |||
| BIER: Bit Index Explicit Replication (The overall architecture of | BIER: Bit Index Explicit Replication (The overall architecture of | |||
| forwarding multicast using a Bit Position). | forwarding multicast using a Bit Position). | |||
| BIER-OL: BIER Overlay Signaling. (The method for the BFIR to learn | BIER-OL: BIER Overlay Signaling. (The method for the BFIR to learn | |||
| about BFER's). | about BFER's). | |||
| BFR: Bit Forwarding Router (A router that participates in Bit Index | BFR: Bit Forwarding Router (A router that participates in Bit Index | |||
| Multipoint Forwarding). A BFR is identified by a unique BFR- | Multipoint Forwarding). A BFR is identified by a unique BFR- | |||
| prefix in a BIER domain. | prefix in a BIER domain. | |||
| BFIR: Bit Forwarding Ingress Router (The ingress border router that | BFIR: Bit Forwarding Ingress Router (The ingress border router that | |||
| inserts the BM into the packet). | inserts the BM into the packet). Each BFIR must have a valid BFR- | |||
| id assigned. | ||||
| BFER: Bit Forwarding Egress Router. A router that participates in | BFER: Bit Forwarding Egress Router. A router that participates in | |||
| Bit Index Forwarding as leaf. Each BFER must be a BFR. Each BFER | Bit Index Forwarding as leaf. Each BFER must be a BFR. Each BFER | |||
| must have a valid BFR-id assigned. | must have a valid BFR-id assigned. | |||
| BFT: Bit Forwarding Tree used to reach all BFERs in a domain. | BFT: Bit Forwarding Tree used to reach all BFERs in a domain. | |||
| BIFT: Bit Index Forwarding Table. | BIFT: Bit Index Forwarding Table. | |||
| BMS: Bit Mask Set. Set containing bit positions of all BFER | BMS: Bit Mask Set. Set containing bit positions of all BFER | |||
| skipping to change at page 4, line 12 ¶ | skipping to change at page 4, line 12 ¶ | |||
| identified by its unique sub-domain identifier. A BIER sub-domain | identified by its unique sub-domain identifier. A BIER sub-domain | |||
| can support multiple BitString Lengths. | can support multiple BitString Lengths. | |||
| BFR-id: An optional, unique identifier for a BFR within a BIER sub- | BFR-id: An optional, unique identifier for a BFR within a BIER sub- | |||
| domain. | domain. | |||
| Invalid BFR-id: Unassigned BFR-id, consisting of all 0s. | Invalid BFR-id: Unassigned BFR-id, consisting of all 0s. | |||
| 3. IANA Considerations | 3. IANA Considerations | |||
| This document adds the following new sub-TLVs to the registry of sub- | This document adds the following new sub-TLV to the registry of sub- | |||
| TLVs for TLVs 235, 237 [RFC5120] and TLVs 135,236 | TLVs for TLVs 235, 237 [RFC5120] and TLVs 135,236 | |||
| [RFC5305],[RFC5308]. | [RFC5305],[RFC5308]. | |||
| Value: 32 (suggested - to be assigned by IANA) | Value: 32 (suggested - to be assigned by IANA) | |||
| Name: BIER Info | Name: BIER Info | |||
| This document also introduces a new registry for sub-sub-TLVs for the | ||||
| BIER Info sub-TLV added above. The registration policy is Expert | ||||
| Review as defined in [RFC5226]. This registry is part of the "IS-IS | ||||
| TLV Codepoints" registry. The name of the registry is "sub-sub-TLVs | ||||
| for BIER Info sub-TLV". The defined values are: | ||||
| Type Name | ||||
| ---- ---- | ||||
| 1 BIER MPLS Encapsulation | ||||
| 2 BIER sub-domain Tree Type | ||||
| 3 BIER sub-domain BSL conversion | ||||
| 4. Concepts | 4. Concepts | |||
| 4.1. BIER Domains and Sub-Domains | 4.1. BIER Domains and Sub-Domains | |||
| An ISIS signalled BIER domain is aligned with the scope of | An ISIS signalled BIER domain is aligned with the scope of | |||
| distribution of BFR-prefixes that identify the BFRs within ISIS. | distribution of BFR-prefixes that identify the BFRs within ISIS. | |||
| ISIS acts in such a case as the according BIER underlay. | ISIS acts in such a case as the supporting BIER underlay. | |||
| Within such a domain, ISIS extensions are capable of carrying BIER | Within such a domain, the extensions defined in this document | |||
| information for multiple BIER sub-domains. Each sub-domain is | advertise BIER information for one or more BIER sub-domains. Each | |||
| uniquely identified by its subdomain-id and each subdomain can reside | sub-domain is uniquely identified by a subdomain-id. Each subdomain | |||
| in any of the ISIS topologies [RFC5120]. The mapping of sub-domains | is associated with a single ISIS topology [RFC5120], which may be any | |||
| to topologies is a local decision of each BFR currently but is | of the topologies supported by ISIS. Local configuration controls | |||
| advertised throughout the domain to ensure routing consistency. | which <MT,SD> pairs are supported by a router. The mapping of sub- | |||
| domains to topologies MUST be consistent within a BIER flooding | ||||
| domain. | ||||
| Each BIER sub-domain has as its unique attributes the encapsulation | Each BIER sub-domain has as its unique attributes the encapsulation | |||
| used and the type of tree it is using to forward BIER frames | used and the type of tree it is using to forward BIER frames | |||
| (currently always SPF). Additionally, per supported bitstring length | (currently always SPF). Additionally, per supported bitstring length | |||
| in the sub-domain, each router will advertise the necessary label | in the sub-domain, each router will advertise the necessary label | |||
| ranges to support it. | ranges to support it. | |||
| This RFC introduces a sub-TLV in the extended reachability TLVs to | 4.2. Advertising BIER Information | |||
| distribute such information about BIER sub-domains. To satisfy the | ||||
| requirements for BIER prefixes per | BIER information advertisements are associated with a new sub-TLV in | |||
| [I-D.draft-ietf-bier-architecture-02] additional information will be | the extended reachability TLVs. BIER information is always | |||
| carried in [I-D.draft-ietf-isis-prefix-attributes-01]. | associated with a host prefix which MUST be a node address for the | |||
| advertising node. The following restrictions apply: | ||||
| o Prefix length MUST be 32 for an IPv4 prefix or 128 for an IPv6 | ||||
| prefix | ||||
| o When the Prefix Attributes Flags sub-TLV is present N flag MUST be | ||||
| set and X and R flags MUST NOT be set. [RFC7794] | ||||
| o BIER sub-TLVs MUST NOT be included when a prefix reachability | ||||
| advertisement is leaked between levels. | ||||
| 5. Procedures | 5. Procedures | |||
| 5.1. Enabling a BIER Sub-Domain | 5.1. Enabling a BIER Sub-Domain | |||
| A given sub-domain with identifier SD with supported bitstring | A given sub-domain with identifier SD with supported bitstring | |||
| lengths MLs in a multi-topology MT [RFC5120] is denoted further as | lengths MLs in a multi-topology MT [RFC5120] is denoted further as | |||
| <MT,SD,MLs> and dos not have to be advertised by by default by BFRs | <MT,SD,MLs> and does not have to be advertised by default by BFRs to | |||
| to preserve the scaling of the protocol (i.e. ISIS carries no TLVs | preserve the scaling of the protocol (i.e. ISIS carries no TLVs | |||
| containing any of the elements related to <MT,SD>). The | containing any of the elements related to <MT,SD>). The | |||
| advertisement may be triggered e.g. by a first BIER sub-TLV | advertisement may be triggered e.g. by a first BIER sub-TLV | |||
| (Section 6.1) containing <MT,SD> advertised into the area. The | (Section 6.1) containing <MT,SD> advertised into the area. The | |||
| specific trigger itself is outside the scope of this RFC but can be | specific trigger itself is outside the scope of this RFC but can be | |||
| for example a VPN desiring to initiate a BIER sub-domain as MI-PMSI | for example a VPN desiring to initiate a BIER sub-domain as MI-PMSI | |||
| [RFC6513] tree or a pre-configured BFER (since BFERs will always | [RFC6513] tree or a pre-configured BFER (since BFERs will always | |||
| advertise the BIER sub-TLV to make sure they can be reached). It is | advertise the BIER sub-TLV to make sure they can be reached). It is | |||
| outside the scope of this document to describe what trigger for a | outside the scope of this document to describe what trigger for a | |||
| router capable of participating in <MT,SD> is used to start the | router capable of participating in <MT,SD> is used to start the | |||
| origination of the necessary information to join into it. | origination of the necessary information to join into it. | |||
| 5.2. Multi Topology and Sub-Domain | 5.2. Multi Topology and Sub-Domain | |||
| A given sub-domain is supported within one and only one topology. | ||||
| All routers in the flooding scope of the BIER sub-TLVs MUST advertise | All routers in the flooding scope of the BIER sub-TLVs MUST advertise | |||
| a sub-domain within the same multi-topology. A router discovering a | the same sub-domain within the same multi-topology. A router | |||
| sub-domain advertised within a topology that is different from its | receiving an <MT,SD> advertisement which does not match the locally | |||
| own MUST report a misconfiguration of a specific sub-domain. Each | configured pair MUST report a misconfiguration of the received <MT, | |||
| router MUST compute BFTs for a sub-domain using only routers | SD> pair. All received BIER advertisements associated with the | |||
| advertising it in the same multi-topology. | conflicting <MT, SD> pair MUST be ignored. | |||
| 5.3. Encapsulation | 5.3. Encapsulation | |||
| All routers in the flooding scope of the BIER TLVs MUST advertise the | All routers in the flooding scope of the BIER TLVs MUST advertise the | |||
| same encapsulation for a given <MT,SD>. A router discovering | same encapsulation for a given <MT,SD>. A router discovering | |||
| encapsulation advertised that is different from its own MUST report a | encapsulation advertised that is different from its own MUST report a | |||
| misconfiguration of a specific <MT,SD>. Each router MUST compute | misconfiguration of a specific <MT,SD>. All received BIER | |||
| BFTs for <MT,SD> using only routers having the same encapsulation as | advertisements associated with the conflicting <MT, SD> pair MUST be | |||
| its own advertised encapsulation in BIER sub-TLV for <MT,SD>. | ignored. | |||
| 5.4. Tree Type | 5.4. Tree Type | |||
| All routers in the flooding scope of the BIER TLVs MUST advertise the | All routers in the flooding scope of the BIER TLVs MAY advertise a | |||
| same tree type for a given <MT,SD>. In case of mismatch the behavior | supported tree type for a given <MT,SD>. Tree type indicates the | |||
| is analogous to Section 5.3. | algorithm used when calculating the optimal path. Currently only the | |||
| default algorithm "SPF" is defined - which has a tree type of 0. If | ||||
| 5.5. Label Advertisements for MPLS encapsulated BIER sub-domains | no tree type is advertised tree type 0 is assumed. The supported | |||
| tree type MUST be consistent for all routers supporting a given | ||||
| Each router MAY advertise within the BIER MPLS Encapsulation sub-sub- | <MT,SD>. | |||
| TLV (Section 6.2) of a BIER Info sub-TLV (Section 6.1) for <MT,SD> | ||||
| (denoted as TLV<MT,SD>) for every supported bitstring length a valid | ||||
| starting label value and a non-zero range length. It MUST advertise | ||||
| at least one valid label value and a non-zero range length for the | ||||
| required bitstring lengths per [I-D.draft-ietf-bier-architecture-02] | ||||
| in case it has computed itself as being on the BFT rooted at any of | ||||
| the BFRs with valid BFR-ids (except itself if it does NOT have a | ||||
| valid BFR-id) participating in <MT,SD>. | ||||
| A router MAY decide to not advertise the BIER Info sub-TLV | ||||
| (Section 6.1) for <MT,SD> if it does not want to participate in the | ||||
| sub-domain due to resource constraints, label space optimization, | ||||
| administrative configuration or any other reasons. | ||||
| 5.5.1. Special Consideration | 5.5. Label advertisements for MPLS Encapsulation | |||
| A router that desires to participate in <MT,SD> MUST advertise for | A router that desires to participate in <MT,SD> MUST advertise for | |||
| each bitstring length it supports in <MT,SD> a label range size that | each bitstring length it supports in <MT,SD> a label range size that | |||
| guarantees to cover the maximum BFR-id injected into <MT,SD> (which | guarantees to cover the maximum BFR-id injected into <MT,SD> (which | |||
| implies a certain maximum set id per bitstring length as described in | implies a certain maximum set id per bitstring length as described in | |||
| [I-D.draft-ietf-bier-architecture-02]). Any router that violates | [I-D.draft-ietf-bier-architecture-03]). Any router that violates | |||
| this condition MUST be excluded from BIER BFTs for <MT,SD>. | this condition MUST be excluded from BIER BFTs for <MT,SD>. | |||
| 5.6. BFR-id Advertisements | 5.6. BFR-id Advertisements | |||
| Each BFER MAY advertise with its TLV<MT,SD> the BFR-id that it has | Each BFER/BFIR MAY advertise with its TLV<MT,SD> the BFR-id that it | |||
| administratively chosen. | has administratively chosen. A valid BFR-id MUST be unique within | |||
| the flooding scope of the BIER advertisments. All BFERs/BFIRs MUST | ||||
| detect advertisement of duplicate valid BFR-IDs for a given <MT, SD>. | ||||
| When such duplication is detected all of the routers advertising | ||||
| duplicates MUST be treated as if they did not advertise a valid BFR- | ||||
| id. This implies they cannot act as BFER or BFIR in that <MT,SD>. | ||||
| If a router discovers that two BFRs it can reach advertise the same | 5.7. Reporting Misconfiguration | |||
| value for BFR-id for <MT,SD>, it MUST report a misconfiguration and | ||||
| disregard those routers for all BIER calculations and procedures for | ||||
| <MT,SD> to align with [I-D.draft-ietf-bier-architecture-02]. It is | ||||
| worth observing that based on this procedure routers with colliding | ||||
| BFR-id assignments in <MT,SD> MAY still act as BFIRs in <MT,SD> but | ||||
| will be never able to receive traffic from other BFRs in <MT,SD>. | ||||
| 5.7. Flooding | Whenever an advertisement is received which violates any of the | |||
| constraints defined in this document the receiving router MUST report | ||||
| the misconfiguration. | ||||
| BIER domain information SHOULD change and force flooding | 5.8. Flooding Reduction | |||
| infrequently. Especially, the router SHOULD make every possible | ||||
| attempt to bundle all the changes necessary to sub-domains and ranges | BIER domain information SHOULD change infrequently. Frequent changes | |||
| advertised with those into least possible updates. | will increase the number of Link State PDU (LSP) updates and | |||
| negatively impact performance in the network. | ||||
| 6. Packet Formats | 6. Packet Formats | |||
| All ISIS BIER information is carried within the TLVs 235, 237 | All ISIS BIER information is carried within the TLVs 235, 237 | |||
| [RFC5120] and TLVs 135,236 [RFC5305], [RFC5308]. | [RFC5120] or TLVs 135 [RFC5305], or TLV 236 [RFC5308]. | |||
| 6.1. BIER Info sub-TLV | 6.1. BIER Info sub-TLV | |||
| This sub-TLV carries the information for the BIER sub-domains that | This sub-TLV carries the information for the BIER sub-domains that | |||
| the router participates in as BFR. It can repeat multiple times for | the router participates in as BFR. This sub-TLV MAY appear multiple | |||
| different multi-topology and sub-domain <MT,SD> combinations. | times in a given prefix-reachability TLV - once for each sub-domain | |||
| supported in the associated topology. | ||||
| The sub-TLV carries a single <MT,SD> combination followed by optional | ||||
| sub-sub-TLVs specified within its context such as e.g. BIER MPLS | ||||
| Encapsulation per Section 6.2. If the same <MT,SD> combination is | ||||
| advertised more than once, only the first occurence of the sub-TLV | ||||
| MUST be used. | ||||
| 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. | The sub-TLV advertises a single <MT,SD> combination followed by | |||
| optional sub-sub-TLVs as described in the following sections. | ||||
| 0 1 2 3 | 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 | 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 | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | subdomain-id | BFR-id | | | Reserved | subdomain-id | BFR-id | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: as indicated in IANA section. | Type: as indicated in IANA section. | |||
| Length: 1 octet. | Length: 1 octet. | |||
| Reserved: reserved, must be 0 on transmission, ignored on reception. | Reserved: MUST be 0 on transmission, ignored on reception. May be | |||
| May be used in future versions. 8 bits | used in future versions. 8 bits | |||
| subdomain-id: Unique value identifying the BIER sub-domain. 1 octet | subdomain-id: Unique value identifying the BIER sub-domain. 1 octet | |||
| BFR-id: A 2 octet field encoding the BFR-id, as documented in | BFR-id: A 2 octet field encoding the BFR-id, as documented in | |||
| [I-D.draft-ietf-bier-architecture-02]. If set to the invalid BFR- | [I-D.draft-ietf-bier-architecture-03]. If no BFR-id has been | |||
| id advertising router is not owning a BFR-id in the sub-domain. | assigned this field is set to the invalid BFR-id. | |||
| 6.2. BIER MPLS Encapsulation sub-sub-TLV | 6.2. BIER MPLS Encapsulation sub-sub-TLV | |||
| This sub-sub-TLV carries the information for the BIER MPLS | This sub-sub-TLV carries the information for the BIER MPLS | |||
| encapsulation and the necessary label ranges per bitstring length for | encapsulation including the label range for a specific bitstring | |||
| a certain <MT,SD> and is carried within the BIER Info sub-TLV | length for a certain <MT,SD>. It is advertised within the BIER Info | |||
| (Section 6.1) that the router participates in as BFR. | sub-TLV (Section 6.1) . This sub-sub-TLV MAY appear multiple times | |||
| within a single BIER info sub-TLV. | ||||
| On violation of any of the following conditions, the receiving router | On violation of any of the following conditions, the receiving router | |||
| SHOULD signal a misconfiguration condition. Further results are by | MUST ignore the encapsulating BIER Info sub-TLV. | |||
| default unspecified unless explicitly described: | ||||
| o The sub-sub-TLV MUST be included once AND ONLY once within the | ||||
| sub-TLV. If such a sub-sub-TLV is included more than once, only | ||||
| the first instance MUST be processed. | ||||
| o Label ranges within the sub-sub-TLV MUST NOT overlap, otherwise | o Label ranges in multiple sub-sub-TLV MUST NOT overlap. | |||
| the whole sub-sub-TLV MUST be disregarded and the violating | ||||
| routers are treated per further procedures in Section 5.3. | ||||
| o Bitstring lengths within the sub-sub-TLV MUST NOT repeat, | o Bitstring lengths in multiple sub-sub-TLVs MUST NOT be identical. | |||
| otherwise the whole sub-sub-TLV MUST be disregarded and the | ||||
| violating routers are treated per further procedures in | ||||
| Section 5.3. | ||||
| o The sub-sub-TLV MUST include the required bitstring lengths | o The sub-sub-TLV MUST include the required bitstring lengths | |||
| encoded in precisely the same way as in | encoded in precisely the same way as in | |||
| [I-D.draft-ietf-bier-architecture-02]. | [I-D.draft-ietf-bier-mpls-encapsulation-03]. | |||
| o All label range sizes MUST be greater than 0. | o The label range size MUST be greater than 0. | |||
| o All labels MUST represent valid label values, otherwise the whole | o All labels in the range MUST represent valid label values | |||
| sub-sub-TLV MUST be disregarded and the violating routers are | ||||
| treated per further procedures in Section 5.3. | ||||
| 0 1 2 3 | 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 | 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 | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Lbl Range Size|BS Len | Label | | | Lbl Range Size|BS Len | Label | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ~~ (number repetitions derived from TLV length) ~~ | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Lbl Range Size|BS Len | Label | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Type: value of 0 indicating MPLS encapsulation. | Type: value of 1 indicating MPLS encapsulation. | |||
| Length: 1 octet. | Length: 1 octet. | |||
| Local BitString Length (BS Len): Bitstring length for the label | Local BitString Length (BS Len): Encoded bitstring length as per [I- | |||
| range that this router is advertising per | D.draft-ietf-bier-mpls-encapsulation-03]. 4 bits. | |||
| [I-D.draft-ietf-bier-mpls-encapsulation-02]. 4 bits. | ||||
| Label Range Size: Number of labels in the range used on | Label Range Size: Number of labels in the range used on | |||
| encapsulation for this BIER sub-domain for this bitstring length, | encapsulation for this BIER sub-domain for this bitstring length, | |||
| 1 octet. This MUST never be advertised as 0 (zero) and otherwise, | 1 octet. | |||
| 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 BIER | Label: First label of the range, 20 bits. The labels are as defined | |||
| sub-domain for this bitstring length, 20 bits. The label is used | in [I-D.draft-ietf-bier-mpls-encapsulation-03]. | |||
| for example by [I-D.draft-ietf-bier-mpls-encapsulation-02] to | ||||
| forward traffic to sets of BFERs. | ||||
| 6.3. Optional BIER sub-domain Tree Type sub-sub-TLV | 6.3. Optional BIER sub-domain Tree Type sub-sub-TLV | |||
| This sub-sub-TLV carries the information of the BIER tree type for a | This sub-sub-TLV carries the information associated with the | |||
| <MT,SD> combination. It is carried within the BIER Info sub-TLV | supported BIER tree type for a <MT,SD> combination. It is carried | |||
| (Section 6.1) that the router participates in as BFR. This sub-sub- | within the BIER Info sub-TLV (Section 6.1) that the router | |||
| TLV is optional and its absence has the same semantics as its | participates in as BFR. This sub-sub-TLV is optional and its absence | |||
| presence with Tree Type value 0 (SPF). BIER implementation following | has the same semantics as its presence with Tree Type value 0 (SPF). | |||
| this version of the RFC SHOULD NOT advertise this TLV. | When Tree Type 0 is used it is recommended that this sub-sub-TLV be | |||
| omitted in order to reduce the space consumed in the parent 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 NOT be included more than once. | This sub-sub-TLV MUST NOT occur more than once in a BIER Info sub- | |||
| TLV. If multiple occurences of this sub-sub-TLV are present in a | ||||
| single BIER Info sub-TLV the encapsulating BIER Info sub-TLV MUST be | ||||
| ignored. | ||||
| o The Tree Type MUST be 0 (SPF). | If the tree type (implied or explicitly advertised) does not match | |||
| the locally configured tree type associated with the matching <MT, | ||||
| SD> pair the encapsulating sub-TLV MUST be ignored. | ||||
| 0 1 2 3 | 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 | 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 | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Tree Type | | | Tree Type | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| | Tree Type specific opaque data| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| ~~ up to TLV Length ~~ | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Tree Type specific opaque data| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Type: value of 1 indicating BIER Tree Type. | Type: value of 1 indicating BIER Tree Type. | |||
| Length: 1 octet. | Length: 1 octet. | |||
| Tree Type: The only supported value in this specification is 0 and | Tree Type: 1 octet | |||
| 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. | ||||
| 6.4. Optional BIER sub-domain BSL conversion sub-sub-TLV | 6.4. Optional BIER sub-domain BSL conversion sub-sub-TLV | |||
| This sub-sub-TLV indicates whether the BFR is capable of imposing a | This sub-sub-TLV indicates whether the BFR is capable of imposing a | |||
| different Bit String Length (BSL) than the one it received in a BIER | different Bit String Length (BSL) than the one it received in a BIER | |||
| encapsulated packet. Such a capability may allow future, advanced | encapsulated packet. Such a capability may allow future, advanced | |||
| tree types which ensure simple migration procedures from one BSL to | tree types which ensure simple migration procedures from one BSL to | |||
| another in a given <MT,SD> or prevent stable blackholes in scenarios | another in a given <MT,SD> or prevent stable blackholes in scenarios | |||
| where not all routers support the same set of BSLs in a given | where not all routers support the same set of BSLs in a given | |||
| <MT,SD>. It is carried within the BIER Info sub-TLV (Section 6.1). | <MT,SD>. It is carried within the BIER Info sub-TLV (Section 6.1). | |||
| This sub-sub-TLV is optional and its absence indicates that the | This sub-sub-TLV is optional and its absence indicates that the | |||
| router is NOT capable of imposing different BSLs but will always | router is NOT capable of imposing different BSLs but will always | |||
| forward the packet with the BSL unchanged. | forward the packet with the BSL unchanged. This sub-sub-TLV MAY | |||
| occur at most once in a given BIER info sub-TLV. If multiple | ||||
| On violation of any of the following conditions, the receiving router | occurences of this sub-sub-TLV are received in a given BIER info sub- | |||
| implementing this RFC SHOULD signal a misconfiguration condition. | TLV the encapsulating sub-TLV MUST be ignored. | |||
| Further results are unspecified unless described further: | ||||
| o The sub-sub-TLV MUST NOT be included more than once. | ||||
| 0 1 2 3 | 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 | 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 | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: value of 2 indicating BIER BSL conversion. | ||||
| Length: 1 octet. | ||||
| 7. Security Considerations | 7. Security Considerations | |||
| Implementations must assure that malformed TLV and Sub-TLV | Implementations must assure that malformed TLV and Sub-TLV | |||
| permutations do not result in errors which cause hard protocol | permutations do not result in errors which cause hard protocol | |||
| failures. | failures. | |||
| 8. Acknowledgements | 8. Acknowledgements | |||
| The RFC is aligned with the | The RFC is aligned with the | |||
| [I-D.draft-ietf-bier-ospf-bier-extensions-00] draft as far as the | [I-D.draft-ietf-bier-ospf-bier-extensions-01] draft as far as the | |||
| protocol mechanisms overlap. | protocol mechanisms overlap. | |||
| Many thanks for comments from (in no particular order) Hannes | Many thanks for comments from (in no particular order) Hannes | |||
| Gredler, Ijsbrand Wijnands, Peter Psenak and Chris Bowers. | Gredler, Ijsbrand Wijnands, Peter Psenak and Chris Bowers. | |||
| 9. Normative References | 9. Normative References | |||
| [I-D.draft-ietf-bier-architecture-02] | [I-D.draft-ietf-bier-architecture-03] | |||
| Wijnands et al., IJ., "Stateless Multicast using Bit Index | Wijnands et al., IJ., "Stateless Multicast using Bit Index | |||
| Explicit Replication Architecture", internet-draft draft- | Explicit Replication Architecture", internet-draft draft- | |||
| ietf-bier-architecture-02.txt, July 2015. | ietf-bier-architecture-03.txt, Jan 2016. | |||
| [I-D.draft-ietf-bier-mpls-encapsulation-02] | [I-D.draft-ietf-bier-mpls-encapsulation-03] | |||
| Wijnands et al., IJ., "Bit Index Explicit Replication | Wijnands et al., IJ., "Bit Index Explicit Replication | |||
| using MPLS encapsulation", internet-draft draft-ietf-bier- | using MPLS encapsulation", internet-draft draft-ietf-bier- | |||
| mpls-encapsulation-02.txt, Aug 2015. | mpls-encapsulation-03.txt, Feb 2016. | |||
| [I-D.draft-ietf-bier-ospf-bier-extensions-00] | [I-D.draft-ietf-bier-ospf-bier-extensions-01] | |||
| Psenak et al., P., "OSPF Extension for Bit Index Explicit | Psenak et al., P., "OSPF Extension for Bit Index Explicit | |||
| Replication", internet-draft draft-ietf-bier-ospf-bier- | Replication", internet-draft draft-ietf-bier-ospf-bier- | |||
| extensions-00.txt, October 2014. | extensions-01.txt, October 2015. | |||
| [I-D.draft-ietf-isis-prefix-attributes-01] | ||||
| Ginsberg et al., U., "IS-IS Prefix Attributes for Extended | ||||
| IP and IPv6 Reachability", internet-draft draft-ietf-isis- | ||||
| prefix-attributes-01.txt, June 2015. | ||||
| [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | |||
| dual environments", RFC 1195, DOI 10.17487/RFC1195, | dual environments", RFC 1195, DOI 10.17487/RFC1195, | |||
| December 1990, <http://www.rfc-editor.org/info/rfc1195>. | December 1990, <http://www.rfc-editor.org/info/rfc1195>. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | |||
| Topology (MT) Routing in Intermediate System to | Topology (MT) Routing in Intermediate System to | |||
| Intermediate Systems (IS-ISs)", RFC 5120, | Intermediate Systems (IS-ISs)", RFC 5120, | |||
| DOI 10.17487/RFC5120, February 2008, | DOI 10.17487/RFC5120, February 2008, | |||
| <http://www.rfc-editor.org/info/rfc5120>. | <http://www.rfc-editor.org/info/rfc5120>. | |||
| [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | ||||
| IANA Considerations Section in RFCs", BCP 26, RFC 5226, | ||||
| DOI 10.17487/RFC5226, May 2008, | ||||
| <http://www.rfc-editor.org/info/rfc5226>. | ||||
| [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | |||
| Engineering", RFC 5305, DOI 10.17487/RFC5305, October | Engineering", RFC 5305, DOI 10.17487/RFC5305, October | |||
| 2008, <http://www.rfc-editor.org/info/rfc5305>. | 2008, <http://www.rfc-editor.org/info/rfc5305>. | |||
| [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, | [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, | |||
| DOI 10.17487/RFC5308, October 2008, | DOI 10.17487/RFC5308, October 2008, | |||
| <http://www.rfc-editor.org/info/rfc5308>. | <http://www.rfc-editor.org/info/rfc5308>. | |||
| [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ | [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ | |||
| BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February | BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February | |||
| 2012, <http://www.rfc-editor.org/info/rfc6513>. | 2012, <http://www.rfc-editor.org/info/rfc6513>. | |||
| [RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and | ||||
| U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 | ||||
| and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, | ||||
| March 2016, <http://www.rfc-editor.org/info/rfc7794>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Les Ginsberg (editor) | Les Ginsberg (editor) | |||
| Cisco Systems | Cisco Systems | |||
| 510 McCarthy Blvd. | 510 McCarthy Blvd. | |||
| Milpitas, CA 95035 | Milpitas, CA 95035 | |||
| USA | USA | |||
| Email: ginsberg@cisco.com | Email: ginsberg@cisco.com | |||
| Tony Przygienda | Tony Przygienda | |||
| End of changes. 63 change blocks. | ||||
| 187 lines changed or deleted | 160 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||