| < draft-zhang-bier-babel-extensions-00.txt | draft-zhang-bier-babel-extensions-01.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: May 3, 2017 Juniper Networks | Expires: December 29, 2017 Juniper Networks | |||
| October 30, 2016 | June 27, 2017 | |||
| BIER in BABEL | BIER in BABEL | |||
| draft-zhang-bier-babel-extensions-00 | draft-zhang-bier-babel-extensions-01 | |||
| Abstract | Abstract | |||
| BIER introduces a novel architecture for multicast packet forwarding. | BIER introduces a novel multicast architecture. It does not require | |||
| It does not require a signalling protocol to explicitly build | a signaling protocol to explicitly build multicast distribution | |||
| multicast distribution trees, nor does it require intermediate nodes | trees, nor does it require intermediate nodes to maintain any per- | |||
| 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 ordinary wired as well as in | robust and efficient fashion both in wired as well as in wireless | |||
| wireless mesh networks. This document defines a way to carry BIER | mesh networks. This document defines a way to carry necessary BIER | |||
| 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 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 May 3, 2017. | This Internet-Draft will expire on December 29, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2017 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 . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 3. Advertisement of BIER information . . . . . . . . . . . . . . 3 | 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 . . . . . . . . . . . 3 | |||
| 3.3. Optional BIER sub-domain BSL conversion sub-sub-TLV . . . 4 | 3.3. Optional BIER sub-domain BSL conversion sub-sub-TLV . . . 4 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | 4. Tree types and tunneling . . . . . . . . . . . . . . . . . . 4 | |||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | |||
| 6. Normative References . . . . . . . . . . . . . . . . . . . . 5 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 8. Normative References . . . . . . . . . . . . . . . . . . . . 5 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
| 1. Introduction | 1. Introduction | |||
| [I-D.ietf-bier-architecture] introduces a novel architecture for | [I-D.ietf-bier-architecture] introduces a novel multicast | |||
| multicast data packets forwarding. It does not require a signalling | architecture. It does not require a signaling protocol to explicitly | |||
| protocol to explicitly build multicast distribution trees, nor does | build multicast distribution trees, nor does it require intermediate | |||
| it require intermediate nodes to maintain any per-flow state. All | nodes to maintain any per-flow state. All procedures necessary to | |||
| the necessary extensions to perform this functionality are | support BIER are abbreviated by the "BIER architecture" moniker in | |||
| abbreviated by the "BIER architecture" moniker. | this document. | |||
| BIER information can be carried in OSPF and ISIS routing protocol as | ||||
| defined in [I-D.ietf-bier-isis-extensions] and | ||||
| [I-D.ietf-bier-ospf-bier-extensions] respectively. The according | ||||
| tables for BIER forwarding purposes are built when OSPF/ISIS performs | ||||
| according calculations on the advertised information. | ||||
| [RFC6126] and [I-D.ietf-babel-rfc6126bis] define a distance-vector | [RFC6126] and [I-D.ietf-babel-rfc6126bis] define a distance-vector | |||
| routing protocol under the name of "Babel". Babel operates in a | routing protocol under the name of "Babel". Babel operates in a | |||
| robust and efficient fashion both in ordinary wired as well as in | robust and efficient 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 | |||
| [I-D.ietf-bier-architecture], [RFC6126], [RFC7557] and | [I-D.ietf-bier-architecture], [RFC6126], [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 | ||||
| the routing protocol used, such a router MAY use Babel protocol to | ||||
| 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 | |||
| per [RFC6126]. Several new sub-TLVs and sub-sub-TLVs are defined to | per [I-D.ietf-babel-rfc6126bis]. A new sub-TLV is defined to convey | |||
| convey further BIER information such as BFR-id, sub-domain-id and | further BIER information such as BFR-id, sub-domain-id and BSL. Two | |||
| BSL. | 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 | ||||
| cannot recognize a sub-TLV, the router MUST ignore this unknown sub- | ||||
| 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 [I-D.ietf-bier-isis-extensions] and | |||
| [I-D.ietf-bier-ospf-bier-extensions]. 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 | | | sub-Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | subdomain-id | BFR-id | | | Reserved | subdomain-id | BFR-id | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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 | o Length: 1 octet. Include the length of BIER sub-TLV and potential | |||
| length of the two sub-sub-TLVs. | ||||
| o Reserved: MUST be 0 on transmission, ignored on reception. May be | o Reserved: MUST be 0 on transmission, ignored on reception. May be | |||
| used in future versions. 8 bits. | used in future versions. 8 bits. | |||
| 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 | [I-D.ietf-bier-architecture]. If no BFR-id has been assigned this | |||
| field is set to the invalid BFR-id. | field is set to the invalid BFR-id. | |||
| skipping to change at page 3, line 50 ¶ | skipping to change at page 4, line 4 ¶ | |||
| 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 | [I-D.ietf-bier-architecture]. If no BFR-id has been assigned this | |||
| field is set to the invalid BFR-id. | field is set to 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 | |||
| [I-D.ietf-bier-isis-extensions] and | [I-D.ietf-bier-isis-extensions] and | |||
| [I-D.ietf-bier-ospf-bier-extensions]. This sub-sub-TLV carries the | [I-D.ietf-bier-ospf-bier-extensions]. This sub-sub-TLV carries the | |||
| information for the BIER MPLS encapsulation including the label range | information for the BIER MPLS encapsulation including the label range | |||
| for a specific BSL for a certain <MT,SD> pair. | 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 | | | sub-sub-Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Lbl Range Size|BS Len | Label | | | Lbl Range Size|BS Len | Label | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: MPLS Encapsulation sub-sub-TLV | Figure 3: 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 Local BitString Length (BS Len): Encoded bitstring length as per | |||
| [I- D.draft-ietf-bier-mpls-encapsulation-05]. 4 bits. | [I-D.ietf-bier-mpls-encapsulation]. 4 bits. | |||
| o Label Range Size: Number of labels in the range used on | o Label Range Size: Number of labels in the range for this BIER sub- | |||
| encapsulation for this BIER sub-domain for this bitstring length, | domain and bitstring length combination, 1 octet. | |||
| 1 octet. | ||||
| o Label: First label of the range, 20 bits. The labels are as | o Label: First label of the range, 20 bits. The labels are as | |||
| defined in [I-D.ietf-bier-mpls-encapsulation]. | defined in [I-D.ietf-bier-mpls-encapsulation]. | |||
| 3.3. Optional BIER sub-domain BSL conversion sub-sub-TLV | 3.3. Optional BIER sub-domain BSL conversion sub-sub-TLV | |||
| This sub-sub-TLV is used to carry the BSL information. Its | This sub-sub-TLV is used to carry the BSL information. Its | |||
| definition and restrictions are aligned with | definition and restrictions are aligned with | |||
| [I-D.ietf-bier-isis-extensions]. | [I-D.ietf-bier-isis-extensions]. | |||
| 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 | | | sub-sub-Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: BSL conversion sub-sub-TLV | Figure 4: BSL conversion sub-sub-TLV | |||
| 4. Security Considerations | 4. Tree types and tunneling | |||
| Since Babel is performing a diffusion computation, support for | ||||
| different tree types is not as natural as with link-state protocols. | ||||
| Hence this specification is assuming that normal Babel reachability | ||||
| computation is performed without further modifications. | ||||
| BIER architecture does not rely on all routers in a domain performing | ||||
| BFR procedures. How to support tunnels that will allow to tunnel | ||||
| BIER across such routers in Babel is for further study. | ||||
| 5. Security Considerations | ||||
| TBD | TBD | |||
| 5. Acknowledgements | 6. IANA Considerations | |||
| A new type of Babel update sub-TLV needs to be defined for BIER | ||||
| information advertisement. | ||||
| 7. Acknowledgements | ||||
| The draft is aligned with the [I-D.ietf-bier-isis-extensions] and | The draft is aligned with the [I-D.ietf-bier-isis-extensions] and | |||
| [I-D.ietf-bier-ospf-bier-extensions] as far as feasible. | [I-D.ietf-bier-ospf-bier-extensions] as far as feasible. | |||
| 6. Normative References | 8. Normative References | |||
| [I-D.ietf-babel-rfc6126bis] | [I-D.ietf-babel-rfc6126bis] | |||
| Chroboczek, J., "The Babel Routing Protocol", draft-ietf- | Chroboczek, J., "The Babel Routing Protocol", draft-ietf- | |||
| babel-rfc6126bis-00 (work in progress), August 2016. | babel-rfc6126bis-02 (work in progress), May 2017. | |||
| [I-D.ietf-bier-architecture] | [I-D.ietf-bier-architecture] | |||
| Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and | Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and | |||
| S. Aldrin, "Multicast using Bit Index Explicit | S. Aldrin, "Multicast using Bit Index Explicit | |||
| Replication", draft-ietf-bier-architecture-05 (work in | Replication", draft-ietf-bier-architecture-07 (work in | |||
| progress), October 2016. | progress), June 2017. | |||
| [I-D.ietf-bier-isis-extensions] | [I-D.ietf-bier-isis-extensions] | |||
| Ginsberg, L., Przygienda, T., Aldrin, S., and Z. Zhang, | Ginsberg, L., Przygienda, T., Aldrin, S., and Z. Zhang, | |||
| "BIER support via ISIS", draft-ietf-bier-isis- | "BIER support via ISIS", draft-ietf-bier-isis- | |||
| extensions-03 (work in progress), September 2016. | extensions-04 (work in progress), March 2017. | |||
| [I-D.ietf-bier-mpls-encapsulation] | [I-D.ietf-bier-mpls-encapsulation] | |||
| Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., | Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., | |||
| Aldrin, S., and I. Meilik, "Encapsulation for Bit Index | Aldrin, S., and I. Meilik, "Encapsulation for Bit Index | |||
| Explicit Replication in MPLS Networks", draft-ietf-bier- | Explicit Replication in MPLS and non-MPLS Networks", | |||
| mpls-encapsulation-05 (work in progress), July 2016. | draft-ietf-bier-mpls-encapsulation-07 (work in progress), | |||
| June 2017. | ||||
| [I-D.ietf-bier-ospf-bier-extensions] | [I-D.ietf-bier-ospf-bier-extensions] | |||
| Psenak, P., Kumar, N., Wijnands, I., Dolganow, A., | Psenak, P., Kumar, N., Wijnands, I., Dolganow, A., | |||
| Przygienda, T., Zhang, Z., and S. Aldrin, "OSPF Extensions | Przygienda, T., Zhang, Z., and S. Aldrin, "OSPF Extensions | |||
| for BIER", draft-ietf-bier-ospf-bier-extensions-04 (work | for BIER", draft-ietf-bier-ospf-bier-extensions-06 (work | |||
| in progress), September 2016. | in progress), June 2017. | |||
| [I-D.pfister-bier-over-ipv6] | ||||
| Pfister, P. and I. Wijnands, "An IPv6 based BIER Routing | ||||
| Underlay", draft-pfister-bier-over-ipv6-00 (work in | ||||
| progress), September 2016. | ||||
| [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>. | <http://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>. | <http://www.rfc-editor.org/info/rfc7557>. | |||
| Authors' Addresses | Authors' Addresses | |||
| End of changes. 23 change blocks. | ||||
| 53 lines changed or deleted | 70 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/ | ||||