Internet DRAFT - draft-zzhang-bier-rift
draft-zzhang-bier-rift
BIER Zhaohui. Zhang
Internet-Draft Shaowen. Ma
Intended status: Standards Track Juniper Networks
Expires: September 6, 2018 Zheng. Zhang
ZTE Corporation
March 5, 2018
Supporting BIER with RIFT
draft-zzhang-bier-rift-00
Abstract
This document specifies extensions to RIFT protocol to support BIER.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 6, 2018.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
Zhang, et al. Expires September 6, 2018 [Page 1]
Internet-Draft bier-rift March 2018
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Terminologies . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Advertising BIER Information For non-MPLS Encapsulation . . . 3
4. Advertising BIER Information Northbound . . . . . . . . . . . 4
5. Advertising BIER Information Southbound . . . . . . . . . . . 4
5.1. Local BIER Information . . . . . . . . . . . . . . . . . 4
5.2. Proxied BFR-ID Ranges . . . . . . . . . . . . . . . . . . 4
6. Information Elements Schema . . . . . . . . . . . . . . . . . 5
6.1. bier.thrift . . . . . . . . . . . . . . . . . . . . . . . 5
6.2. Additions to encoding.thrift . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.1. Normative References . . . . . . . . . . . . . . . . . . 6
9.2. Informative References . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Terminologies
Familiarity with BIER and RIFT protocols and procedures is assumed.
Some terminologies are listed below for convenience.
[To be added.]
2. Introduction
BIER [RFC8279] ... (to be expanded)
RIFT [I-D.przygienda-rift] is a new protocol specifically designed
for CLOS and fat-tree network topologies. As a hybrid between Link
State Routing and Distance Vector Routing, it does LSR in northbound
(towards the spine) and DVR in southbound (towards the leaves).
[I-D.ietf-bier-isis-extensions] and
[I-D.ietf-bier-ospf-bier-extensions] specify ISIS/OSPF extensions to
support BIER in an ISIS/OSPF domain. The same approach applies to
RIFT in the northbound LSR.
[I-D.zwzw-bier-prefix-redistribute] specifies methods to advertise
BIER information via default or summary/aggregate routes advertised
Zhang, et al. Expires September 6, 2018 [Page 2]
Internet-Draft bier-rift March 2018
from one IGP area/domain to another. Similar approach applies to
RIFT in the southbound DVR.
BIER encapsulation, whether it is based on MPLS or not, is covered in
[RFC8296]. However, the OSPF/ISIS extensions for BIER only covers
signaling needed for MPLS encapsulation. RIFT is targeted at DC
deployments, where MPLS may not be used. This document covers
signaling for both BIER MPLS and non-MPLS encapsulation with RIFT.
The details are provided in following sections.
3. Advertising BIER Information For non-MPLS Encapsulation
In the BIER architecture, a BIER sub-domain may have multiple
BitStringLengths (BSLs) and multiple Encapsulations (Encaps). A
single multicast packet coming from outside the BIER sub-domain may
be sent as multiple BIER packets, one for each set that is identified
by a SetID (SI). An incoming BIER packet is forwarded according to a
BIFT for the <SD,Encap,BSL,SI> tuple. Each BIFT is identified by a
20-bit opaque number (BIFT-ID) in the packet.
With MPLS encapsulation, the BIFT-ID for an incoming BIER packet is
simply an MPLS label allocated by the receiving BFR for the BIFT.
For each <SD,BSL> tuple, OSPF/ISIS advertises a block of contiguous
labels, one label for each SI needed for the tuple, in the MPLS
Encapsulation sub-sub-TLV as part of the BIER sub-TLV, which is
attached to the Extended Reachability TLV (ISIS case) or the Extended
Prefix TLV (OSPF case) for the BFR's BIER Prefix.
With non-MPLS encapsulation, the BIFT-ID in the packet is at the same
position as the label in MPLS encapsulation case. Its semantics is
no different from the MPLS case in that as an 20-bit opaque value, it
leads to the BIFT according to which the BIER packet is forwarded.
Beyond the semantics, there are two differences from the MPLS case
though:
o MPLS infrastructure is not needed.
o While each BFR could allocate local BIFT-IDs independently and
advertise them just like in MPLS case, for the same
<SD,Encap,BSL,SI> tuple all BFRs could optionally auto-derive or
be provisioned with the same BIFT-ID and no signaling is needed in
that case.
One may consider that if MPLS would allow to use consistently
provisioned BIER labels on all BFRs, then the second difference
listed above does not exist anymore.
Zhang, et al. Expires September 6, 2018 [Page 3]
Internet-Draft bier-rift March 2018
In this specification, if locally significant BIFT-IDs are to be used
with non-MPLS encapsulation, the BIFT-IDs are advertised the same way
as in the MPLS case - by a BIFT-ID block, which is a block of
contiguous labels in MPLS case or a block of contiguous opaque 20-bit
values in non-MPLS case. The only difference is the type of
encapsulation.
If consistently provisioned or auto-derived BIFT-IDs are used with
non-MPLS encapsulation, then no BIFT-ID block is signaled. Just the
encapsulation type is signaled.
4. Advertising BIER Information Northbound
Nothing special here compared to OSPF/ISIS. A node's local BIER
information as described in the previous section is attached to a
local BIER Prefix. Details to be added.
5. Advertising BIER Information Southbound
5.1. Local BIER Information
Similar to the northbound case, a node's local BIER information is
attached to a local BIER prefix that is advertised southbound.
5.2. Proxied BFR-ID Ranges
On the southbound, a node advertises a default route, plus certain
prefixes to prevent blackholing or suboptimal routing upon link
failures. Those prefixes and default route are like the summary
routes and default route in [I-D.zwzw-bier-prefix-redistribute], and
similarly they carry BFR-IDs corresponding to the covered BIER
Prefixes.
Consider a RIFT network with a BIER sub-domain of 200 BFIR/BFERs.
Each non-leaf node is provisioned that BFR-ID 1-200 are used.
Suppose a node X advertise southbound a default route RT1 and
disaggregation routes RT2/RT3. RT2 and RT3 MUST advertise BFR-IDs
covered by them (e.g. BFR-ID 100/102/150 covered by RT2 and BFR-ID
101/103 covered by RT3), while the default route RT1 can always
advertise that all BFR-ID 1~200 are covered by it and does not need
to exclude BFR-ID 100/102/150 and 101/103 that are covered by RT2/
RT3. When a southern node receives RT1 and RT2/RT3, it installs BFR-
ID 100/102/150 in its BIFT according to RT2, 101/103 in its BIFT
according to RT3, and installs other BFR-IDs (or just a default
route) in its BIFT according to RT1.
Zhang, et al. Expires September 6, 2018 [Page 4]
Internet-Draft bier-rift March 2018
6. Information Elements Schema
This document introduces a bier.thrif schema with definitions to be
used in RIFT encoding.thrift.
6.1. bier.thrift
typedef i8 SubdomainIdType
typedef i16 BfrIdType
typedef i8 BARType
typedef i8 IPAType
typedef i16 BSLType /* Number of bits */
typedef i32 BiftIdType /* Only the most significant 20 bits are used */
enum EncapsulationType {
mpls = 0;
non-mpls = 1;
}
/* Similar to the label range in OSPF/ISIS extensions for BIER */
struct BiftIdBlock {
1: required BiftIdType bift_id_base;
2. required i8 bift_id_range;
}
/* Similar to the MPLS Encapsulation sub-sub-TLV in OSPF/ISIS */
struct EncapStruct {
1: required EncapsulationType encap_type;
2: required BSLType bsl;
3: optional BiftIdBlock bift_id_block;
}
/*BIER node information. Similar to BIER sub-TLV in OSPF/ISIS. */
struct BierInfo {
1: required SubdomainIdType subdomain_id;
2: required BfrIdType bfr_id;
3: required BARType bar;
4: required IPAType ipa;
5. required EncapStruct encaps; /* one or more */
}
struct ProxyBfrIdRange {
1: required SubdomainIdType subdomain_id;
2: required BfrIdType bfr_id_base;
3: required BSLType bfr_id_range;
}
Zhang, et al. Expires September 6, 2018 [Page 5]
Internet-Draft bier-rift March 2018
6.2. Additions to encoding.thrift
The PrefixAttributes in encoding.rift now has two optional elements:
struct PrefixAttributes {
...
2: optional BierInfo bier_info; /* BIER info for a
* local BIER Prefix */
3. optional ProxyBfrIdRange proxy_bfr_id; /* one or more proxy
* BFR-ID ranges covered
* by this prefix */
}
7. IANA Considerations
8. Acknowledgements
9. References
9.1. Normative References
[I-D.przygienda-rift]
Przygienda, T., Sharma, A., Atlas, A., and J. Drake,
"RIFT: Routing in Fat Trees", draft-przygienda-rift-05
(work in progress), March 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[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>.
9.2. Informative References
Zhang, et al. Expires September 6, 2018 [Page 6]
Internet-Draft bier-rift March 2018
[I-D.ietf-bier-isis-extensions]
Ginsberg, L., Przygienda, T., Aldrin, S., and Z. Zhang,
"BIER support via ISIS", draft-ietf-bier-isis-
extensions-09 (work in progress), February 2018.
[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-15 (work
in progress), February 2018.
[I-D.zwzw-bier-prefix-redistribute]
Zhang, Z., Bo, W., Zhang, Z., and I. Wijnands, "BIER
Prefix Redistribute", draft-zwzw-bier-prefix-
redistribute-00 (work in progress), January 2018.
Authors' Addresses
Zhaohui Zhang
Juniper Networks
EMail: zzhang@juniper.net
Shaowen Ma
Juniper Networks
EMail: mashao@juniper.net
Zheng Zhang
ZTE Corporation
EMail: zhang.zheng@zte.com.cn
Zhang, et al. Expires September 6, 2018 [Page 7]