< 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/