| < draft-zhang-bier-babel-extensions-01.txt | draft-zhang-bier-babel-extensions-02.txt > | |||
|---|---|---|---|---|
| BIER WG Z. Zhang | BIER WG Z. Zhang | |||
| Internet-Draft ZTE Corporation | Internet-Draft ZTE Corporation | |||
| Intended status: Standards Track A. Przygienda | Intended status: Standards Track A. Przygienda | |||
| Expires: December 29, 2017 Juniper Networks | Expires: May 6, 2020 Juniper Networks | |||
| June 27, 2017 | November 3, 2019 | |||
| BIER in BABEL | BIER in BABEL | |||
| draft-zhang-bier-babel-extensions-01 | draft-zhang-bier-babel-extensions-02 | |||
| Abstract | Abstract | |||
| BIER introduces a novel multicast architecture. It does not require | BIER introduces a novel multicast architecture. It does not require | |||
| a signaling protocol to explicitly build multicast distribution | a signaling protocol to explicitly build multicast distribution | |||
| trees, nor does it require intermediate nodes to maintain any per- | trees, nor does it require intermediate nodes to maintain any per- | |||
| flow state. | flow state. | |||
| Babel defines a distance-vector routing protocol that operates in a | Babel defines a distance-vector routing protocol that operates in a | |||
| robust and efficient fashion both in wired as well as in wireless | robust and efficient fashion both in wired as well as in wireless | |||
| skipping to change at page 1, line 32 ¶ | skipping to change at page 1, line 32 ¶ | |||
| signaling information in Babel. | signaling information in Babel. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 https://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 December 29, 2017. | This Internet-Draft will expire on May 6, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | (https://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 . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 3. Advertisement of BIER information . . . . . . . . . . . . . . 2 | 3. Advertisement of BIER information . . . . . . . . . . . . . . 2 | |||
| 3.1. BIER BFR-prefix and BIER sub-TLV . . . . . . . . . . . . 3 | 3.1. BIER BFR-prefix and BIER sub-TLV . . . . . . . . . . . . 3 | |||
| 3.1.1. BIER sub-TLV . . . . . . . . . . . . . . . . . . . . 3 | 3.1.1. BIER sub-TLV . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3.2. BIER MPLS Encapsulation sub-sub-TLV . . . . . . . . . . . 3 | 3.2. BIER MPLS Encapsulation sub-sub-TLV . . . . . . . . . . . 4 | |||
| 3.3. Optional BIER sub-domain BSL conversion sub-sub-TLV . . . 4 | ||||
| 4. Tree types and tunneling . . . . . . . . . . . . . . . . . . 4 | 4. Tree types and tunneling . . . . . . . . . . . . . . . . . . 4 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | 7. Normative References . . . . . . . . . . . . . . . . . . . . 5 | |||
| 8. Normative References . . . . . . . . . . . . . . . . . . . . 5 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 1. Introduction | 1. Introduction | |||
| [I-D.ietf-bier-architecture] introduces a novel multicast | [RFC8279] introduces a novel multicast architecture. It does not | |||
| architecture. It does not require a signaling protocol to explicitly | require a signaling protocol to explicitly build multicast | |||
| build multicast distribution trees, nor does it require intermediate | distribution trees, nor does it require intermediate nodes to | |||
| nodes to maintain any per-flow state. All procedures necessary to | maintain any per-flow state. All procedures necessary to support | |||
| support BIER are abbreviated by the "BIER architecture" moniker in | BIER are abbreviated by the "BIER architecture" moniker in this | |||
| this document. | document. | |||
| [RFC6126] and [I-D.ietf-babel-rfc6126bis] define a distance-vector | [I-D.ietf-babel-rfc6126bis] define a distance-vector routing protocol | |||
| routing protocol under the name of "Babel". Babel operates in a | under the name of "Babel". Babel operates in a robust and efficient | |||
| robust and efficient fashion both in ordinary wired as well as in | fashion both in ordinary wired as well as in wireless mesh networks. | |||
| wireless mesh networks. | ||||
| 2. Terminology | 2. Terminology | |||
| The terminology of this documents follows | The terminology of this documents follows [RFC8279], [RFC6126], | |||
| [I-D.ietf-bier-architecture], [RFC6126], [RFC7557] and | [RFC7557] and [I-D.ietf-babel-rfc6126bis]. | |||
| [I-D.ietf-babel-rfc6126bis]. | ||||
| 3. Advertisement of BIER information | 3. Advertisement of BIER information | |||
| In case a router is configured with BIER information, and Babel is | In case a router is configured with BIER information, and Babel is | |||
| the routing protocol used, such a router MAY use Babel protocol to | the routing protocol used, such a router MAY use Babel protocol to | |||
| announce the BIER information using the BIER sub-TLV specified below. | announce the BIER information using the BIER sub-TLV specified below. | |||
| 3.1. BIER BFR-prefix and BIER sub-TLV | 3.1. BIER BFR-prefix and BIER sub-TLV | |||
| BFR-prefix and according information is carried in a Babel Update TLV | BFR-prefix and according information is carried in a Babel Update TLV | |||
| skipping to change at page 3, line 19 ¶ | skipping to change at page 3, line 19 ¶ | |||
| further BIER information such as BFR-id, sub-domain-id and BSL. Two | further BIER information such as BFR-id, sub-domain-id and BSL. Two | |||
| sub-sub-TLVs are carried as payload of BIER sub-TLV. | sub-sub-TLVs are carried as payload of BIER sub-TLV. | |||
| The mandatory bit of BIER sub-TLV should be set to 0. If a router | The mandatory bit of BIER sub-TLV should be set to 0. If a router | |||
| cannot recognize a sub-TLV, the router MUST ignore this unknown sub- | cannot recognize a sub-TLV, the router MUST ignore this unknown sub- | |||
| TLV. | TLV. | |||
| 3.1.1. BIER sub-TLV | 3.1.1. BIER sub-TLV | |||
| The BIER sub-TLV format aligns exactly with the definition and | The BIER sub-TLV format aligns exactly with the definition and | |||
| restrictions in [I-D.ietf-bier-isis-extensions] and | restrictions in [RFC8401] and [RFC8444]. It is a sub-TLV of Babel | |||
| [I-D.ietf-bier-ospf-bier-extensions]. It is a sub-TLV of Babel | ||||
| update TLV. The prefix MUST NOT be summarized and the according sub- | update TLV. The prefix MUST NOT be summarized and the according sub- | |||
| TLV MUST be treated as optional and transitive. | TLV MUST be treated as optional and transitive. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | sub-Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | BAR | IPA | subdomain-id | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | BFR-id | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | subdomain-id | BFR-id | | | sub-sub-TLVs (variable) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 1: BIER sub-TLV | Figure 1: BIER sub-TLV | |||
| o Type: as indicated in IANA section. | o Type: as indicated in IANA section. | |||
| o Length: 1 octet. Include the length of BIER sub-TLV and potential | o Length: 1 octet. Include the length of BIER sub-TLV and potential | |||
| length of the two sub-sub-TLVs. | length of the sub-sub-TLVs. | |||
| o Reserved: MUST be 0 on transmission, ignored on reception. May be | o BAR: BIER Algorithm. Specifies a BIER-specific algorithm used to | |||
| used in future versions. 8 bits. | calculate underlay paths to reach BFERs. Values are allocated | |||
| from the "BIER Algorithms" registry. 1 octet. | ||||
| o IPA: IGP Algorithm. Specifies an IGP Algorithm to either modify, | ||||
| enhance, or replace the calculation of underlay paths to reach | ||||
| BFERs as defined by the BAR value. Values are from the IGP | ||||
| Algorithm registry. 1 octet. | ||||
| o subdomain-id: Unique value identifying the BIER sub-domain. 1 | o subdomain-id: Unique value identifying the BIER sub-domain. 1 | |||
| octet. | octet. | |||
| o BFR-id: A 2 octet field encoding the BFR-id, as documented in | o BFR-id: A 2 octet field encoding the BFR-id, as documented in | |||
| [I-D.ietf-bier-architecture]. If no BFR-id has been assigned this | [RFC8279]. If no BFR-id has been assigned this field is set to | |||
| field is set to the invalid BFR-id. | the invalid BFR-id. | |||
| 3.2. BIER MPLS Encapsulation sub-sub-TLV | 3.2. BIER MPLS Encapsulation sub-sub-TLV | |||
| The BIER MPLS Encapsulation sub-sub-TLV can be carried by BIER sub- | The BIER MPLS Encapsulation sub-sub-TLV can be carried by BIER sub- | |||
| TLV. The format and restrictions are aligned with | TLV. The format and restrictions are aligned with [RFC8401] and | |||
| [I-D.ietf-bier-isis-extensions] and | [RFC8444]. This sub-sub-TLV carries the information for the BIER | |||
| MPLS encapsulation including the label range for a specific BSL for a | ||||
| [I-D.ietf-bier-ospf-bier-extensions]. This sub-sub-TLV carries the | certain <MT,SD> pair. | |||
| information for the BIER MPLS encapsulation including the label range | ||||
| for a specific BSL for a certain <MT,SD> pair. | ||||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | sub-sub-Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Lbl Range Size|BS Len | Label | | | Max SI |BS Len | Label | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: MPLS Encapsulation sub-sub-TLV | Figure 2: MPLS Encapsulation sub-sub-TLV | |||
| o Type: value of 1 indicating MPLS encapsulation. | o Type: value of 1 indicating MPLS encapsulation. | |||
| o Length: 1 octet | o Length: 1 octet | |||
| o Local BitString Length (BS Len): Encoded bitstring length as per | o Max SI: Maximum Set Identifier (Section 1 of [RFC8279]) used in | |||
| [I-D.ietf-bier-mpls-encapsulation]. 4 bits. | the encapsulation for this BIER subdomain for this BitString | |||
| length, 1 octet. Each SI maps to a single label in the label | ||||
| o Label Range Size: Number of labels in the range for this BIER sub- | range. The first label is for SI=0, the second label is for SI=1, | |||
| domain and bitstring length combination, 1 octet. | etc. If the label associated with the Maximum Set Identifier | |||
| exceeds the 20-bit range, the sub-sub-TLV MUST be ignored. | ||||
| o Label: First label of the range, 20 bits. The labels are as | ||||
| defined in [I-D.ietf-bier-mpls-encapsulation]. | ||||
| 3.3. Optional BIER sub-domain BSL conversion sub-sub-TLV | ||||
| This sub-sub-TLV is used to carry the BSL information. Its | o Local BitString Length (BS Len): Encoded BitString length as per | |||
| definition and restrictions are aligned with | [RFC8296]. 4 bits. | |||
| [I-D.ietf-bier-isis-extensions]. | ||||
| 0 1 2 3 | o Label: First label, 20 bits. The labels are as defined in | |||
| 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 | [RFC8296]. | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | sub-sub-Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 4: BSL conversion sub-sub-TLV | ||||
| 4. Tree types and tunneling | 4. Tree types and tunneling | |||
| Since Babel is performing a diffusion computation, support for | Since Babel is performing a diffusion computation, support for | |||
| different tree types is not as natural as with link-state protocols. | different tree types is not as natural as with link-state protocols. | |||
| Hence this specification is assuming that normal Babel reachability | Hence this specification is assuming that normal Babel reachability | |||
| computation is performed without further modifications. | computation is performed without further modifications. | |||
| BIER architecture does not rely on all routers in a domain performing | BIER architecture does not rely on all routers in a domain performing | |||
| BFR procedures. How to support tunnels that will allow to tunnel | BFR procedures. How to support tunnels that will allow to tunnel | |||
| skipping to change at page 5, line 18 ¶ | skipping to change at page 5, line 14 ¶ | |||
| 5. Security Considerations | 5. Security Considerations | |||
| TBD | TBD | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| A new type of Babel update sub-TLV needs to be defined for BIER | A new type of Babel update sub-TLV needs to be defined for BIER | |||
| information advertisement. | information advertisement. | |||
| 7. Acknowledgements | 7. Normative References | |||
| The draft is aligned with the [I-D.ietf-bier-isis-extensions] and | ||||
| [I-D.ietf-bier-ospf-bier-extensions] as far as feasible. | ||||
| 8. Normative References | ||||
| [I-D.ietf-babel-rfc6126bis] | [I-D.ietf-babel-rfc6126bis] | |||
| Chroboczek, J., "The Babel Routing Protocol", draft-ietf- | Chroboczek, J. and D. Schinazi, "The Babel Routing | |||
| babel-rfc6126bis-02 (work in progress), May 2017. | Protocol", draft-ietf-babel-rfc6126bis-15 (work in | |||
| progress), October 2019. | ||||
| [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-07 (work in | ||||
| progress), June 2017. | ||||
| [I-D.ietf-bier-isis-extensions] | ||||
| Ginsberg, L., Przygienda, T., Aldrin, S., and Z. Zhang, | ||||
| "BIER support via ISIS", draft-ietf-bier-isis- | ||||
| extensions-04 (work in progress), March 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-07 (work in progress), | ||||
| June 2017. | ||||
| [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-06 (work | ||||
| in progress), June 2017. | ||||
| [RFC6126] Chroboczek, J., "The Babel Routing Protocol", RFC 6126, | [RFC6126] Chroboczek, J., "The Babel Routing Protocol", RFC 6126, | |||
| DOI 10.17487/RFC6126, April 2011, | DOI 10.17487/RFC6126, April 2011, | |||
| <http://www.rfc-editor.org/info/rfc6126>. | <https://www.rfc-editor.org/info/rfc6126>. | |||
| [RFC7557] Chroboczek, J., "Extension Mechanism for the Babel Routing | [RFC7557] Chroboczek, J., "Extension Mechanism for the Babel Routing | |||
| Protocol", RFC 7557, DOI 10.17487/RFC7557, May 2015, | Protocol", RFC 7557, DOI 10.17487/RFC7557, May 2015, | |||
| <http://www.rfc-editor.org/info/rfc7557>. | <https://www.rfc-editor.org/info/rfc7557>. | |||
| [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, | ||||
| <https://www.rfc-editor.org/info/rfc8279>. | ||||
| [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, <https://www.rfc-editor.org/info/rfc8296>. | ||||
| [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. | ||||
| Zhang, "Bit Index Explicit Replication (BIER) Support via | ||||
| IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8401>. | ||||
| [RFC8444] Psenak, P., Ed., Kumar, N., Wijnands, IJ., Dolganow, A., | ||||
| Przygienda, T., Zhang, J., and S. Aldrin, "OSPFv2 | ||||
| Extensions for Bit Index Explicit Replication (BIER)", | ||||
| RFC 8444, DOI 10.17487/RFC8444, November 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8444>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Zheng(Sandy) Zhang | Zheng(Sandy) Zhang | |||
| ZTE Corporation | ZTE Corporation | |||
| No. 50 Software Ave, Yuhuatai Distinct | No. 50 Software Ave, Yuhuatai Distinct | |||
| Nanjing | Nanjing | |||
| China | China | |||
| Email: zhang.zheng@zte.com.cn | Email: zhang.zheng@zte.com.cn | |||
| End of changes. 28 change blocks. | ||||
| 95 lines changed or deleted | 84 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/ | ||||