LSR Extensions for BIER non-MPLS EncapsulationHuaweisenthil.dhanaraj.ietf@gmail.comHuaweiyangang@huawei.comIndividualice@braindump.beCisco Systems, Inc.ppsenak@cisco.comJuniper Networks.zzhang@juniper.netHuaweixiejingrong@huawei.comBIERBit Index Explicit Replication (BIER) is an architecture that provides
multicast forwarding through a "BIER domain" without requiring intermediate
routers to maintain multicast related per-flow state. BIER can be supported
in MPLS and non-MPLS networks. This document specifies the required extensions to the IS-IS, OSPFv2 and
OSPFv3 protocols for supporting BIER in non-MPLS networks using BIER non-MPLS
encapsulation.Bit Index Explicit Replication (BIER) is an
architecture that provides multicast forwarding through a "BIER domain"
without requiring intermediate routers to maintain multicast related per-flow
state. BIER specific forwarding state, while not per-flow, are maintained
in Bit Index Forwarding Tables (BIFTs) and used to forward BIER-encapsulated
packets.BIER can be supported in MPLS and non-MPLS networks.
specifies a common BIER header format for both MPLS
and non-MPLS networks, though the first 20-bits (referred to as BIFT-id) of the BIER header
is an "MPLS Label" in case of MPLS networks and is a "domain-wide unique value"
in case of non-MPLS networks.
It identifies the BIFT used to forwarding the packet.
specifies two optional ways
of statically assigning domain-wide unique BIFT-id's.However, BIER architecture [RFC8279] does not require domain-wide-unique BIFT-id's
to be used (even for non-MPLS encapsulation). As discussed in
, the BIFT-id in case of non-MPLS encapsulation
can also just be a local 20-bit opaque value and signaled just like in MPLS case.
As an example, suppose a particular BIER domain contains a Sub-Domain
(SD) 0, supports two BitStringLengths (BSLs - 256 and 512), and contains
1024 BIER Forwarding Egress Routers (BFERs). Because the number of BFERs
is larger than the BSL, the BFERs are grouped into different sets, and
multiple copies of a packet may need to be sent by an BIER Forwarding
Ingress Router (BFIR) - one for each set.
Each set has a Set Identifier (SI), and one BIFT is needed for each
<SD, BSL, SI>.
A BIER Forwarding Router (BFR) that is provisioned for the above SD, and that supports
both BSLs, could advertise the following set of BIFT-id's:BIFT-id 1: corresponding to SD 0, BSL 256, SI 0.BIFT-id 2: corresponding to SD 0, BSL 256, SI 1.BIFT-id 3: corresponding to SD 0, BSL 256, SI 2.BIFT-id 4: corresponding to SD 0, BSL 256, SI 3.BIFT-id 5: corresponding to SD 0, BSL 512, SI 0.BIFT-id 6: corresponding to SD 0, BSL 512, SI 1.Notice that the example uses ranges of continuous BIFT-id's: BIFT-id range [1 to 4] correspond to <SD 0, BSL 256>. The first BIFT-id
in the range correspond to SI=0, the second correspond to SI=1, and so on.BIFT-id range [5 to 6] correspond to <SD 0, BSL 512>. The first BIFT-id
in the range correspond to SI=0, the second correspond to SI=1.Strictly speaking, using contiguous range is not required, but it is done
for the purpose of simplified
signaling similar to MPLS label blocks (notice that locally assigning
BIFT-id ranges requires no manual processing just like in the case of
MPLS label block allocation).
Processing and forwarding of BIER packets requires
special software and hardware capabilities. The BFRs supporting a BIER encapsulation type MUST
advertise this capability along with the required parameters specific to the encapsulation
to the other routers in BIER domain. This advertisements are used by other BFRs to calculate
the BIFTs for a specific encapsulation type., and
specifies the required extensions to the IS-IS , OSPFv2
and OSPFv3 protocols respectively for the distribution of BIER sub-domain information
including the Sub-sub-TLVs required to support BIER in MPLS encapsulation for MPLS networks.This document specifies the required similar extensions to the IS-IS ,
OSPFv2 and OSPFv3 protocols for supporting BIER non-MPLS
encapsulation with dynamically and locally assigned BIFT-id's.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 when, and only when,
they appear in all capitals, as shown here.
This document updates section 2.2.1.1 of that the BIFT-id
in case of non-MPLS encapsulation need not be unique throughout
the BIER domain and can change as the packet travels.
A BIER sub-domain MAY use both MPLS and non-MPLS BIER encapsulation.
The assignment of BFR-id in a sub-domain is independent of the encapsulation type.
This allows this same bit string
to be used regardless of the encapsulation types used to reach BFERs.When a BFIR/BFR supports multiple BIER encapsulation types, when sending to a
BIER neighbor it MUST use a type that the neighbor also supports. If the neighbor
also supports more than one encapsulation type that this BFIR/BFR supports,
the type selection could be a matter of local policy and is outside the scope of this document.The procedures in [RFC8401] and [RFC8444] apply to non-MPLS encapsulation,
except the encoding and procedure differences specified below. As specified in and updated in
[I-D.ietf-bier-bar-ipa], BIER Info sub-TLV is used to advertise BIER information
except that its MPLS Encapsulation
sub-sub-TLV is replaced with a new non-MPLS Encapsulation sub-sub-TLV specified as following.The BIER Info sub-TLV is carried within the TLVs
235, 237 or TLVs 135 ,
or TLV 236 . Its non-MPLS Encapsulation sub-sub-TLV
carries the information for the BIER non-MPLS
encapsulation and is very similar to the MPLS Encapsulation sub-sub-TLV.When a prefix reachability advertisement is leaked between levels,
if it has a BIER sub-TLV with non-zero BFR-id the BIER sub-TLV MUST be
included but its non-MPLS Encapsulation sub-sub-TLV
MAY be omitted.The non-MPLS Encapsulation sub-sub-TLV MAY appear multiple times within a single BIER Info sub-TLV.
If the same BitString length is repeated in multiple BIER non-MPLS encapsulation
sub-sub-TLVs inside the same BIER Info sub-TLV, the BIER Info sub-TLV MUST be
ignored.
TBD1 (To be assigned by IANA).
4
A 1 octet field encoding the Maximum Set Identifier (Section 1 of [RFC8279])
used in the encapsulation for this BIER subdomain for this BitString length.
The first BIFT-id is for SI=0, the second BIFT-id is for SI=1, etc. If
the BIFT-id associated with the Maximum Set Identifier exceeds the
20-bit range, the sub-sub-TLV MUST be ignored.
A 4 bit field encoding the bitstring length (as per )
supported for the encapsulation.
A 20 bit field encoding the first BIFT-id of the BIFT-id range.
The "BIFT-id range" is the set of 20-bit values beginning with the BIFT-id and
ending with (BIFT-id + (Max SI)). These BIFT-id's are used for BIER forwarding as
described in and .The size of the BIFT-id range is determined by the number of SI's
(Section 1 of ) that are used in the network. Each SI maps
to a single BIFT-id in the BIFT-id range: the first BIFT-id is for SI=0,
the second BIFT-id is for SI=1, etc.If the BIFT-id associated with the Maximum Set Identifier exceeds the
20-bit range, the BIER non-MPLS Encapsulation Sub-sub-TLV containing the
error MUST be ignored.BIFT-id ranges within all the BIER non-MPLS Encapsulation sub-sub-TLVs advertised
by the same BFR MUST NOT overlap. If the overlap is detected, the advertising
router MUST be treated as if it did not advertise any BIER non-MPLS encapsulation
sub-sub-TLVs. However the BIFT-id ranges may overlap across different encapsulation
types and is allowed. As an example, the BIFT-id value in the non-MPLS encapsulation
sub-sub-TLV may overlap with the Label value in the Label range in BIER MPLS
encapsulation sub-sub-TLV ( and is allowed.As specified in and updated in
[I-D.ietf-bier-bar-ipa], BIER Sub-TLV is used to advertise
BIER information except that its MPLS Encapsulation
sub-TLV is replaced with a new non-MPLS Encapsulation sub-TLV specified as following.The BIER sub-TLV is carried within the OSPFv2 Extended Prefix TLV
. Its non-MPLS Encapsulation sub-TLV carries information for
the BIER non-MPLS encapsulation, and is very similar to MPLS Encapsulation sub-TLV.When a prefix reachability is re-advertised into other areas, if it has a BIER sub-TLVs
with a non-zero BFR-id the BIER sub-TLV MUST be included but its non-MPLS Encapsulation sub-TLV
MAY be omitted.The non-MPLS Encapsulation Sub-TLV MAY appear multiple times within a single BIER Sub-TLV.
If the same BitString length is repeated in multiple BIER non-MPLS encapsulation
Sub-TLVs inside the same BIER Sub-TLV, the BIER Sub-TLV MUST be
ignored.
TBD2 (To be assigned by IANA).
8
A 1 octet field encoding the Maximum Set Identifier (Section 1 of [RFC8279])
used in the encapsulation for this BIER subdomain for this BitString length.
The first BIFT-id is for SI=0, the second BIFT-id is for SI=1, etc. If
the BIFT-id associated with the Maximum Set Identifier exceeds the
20-bit range, the sub-sub-TLV MUST be ignored.
A 3-octet field, where the 20 rightmost bits represent the first BIFT-id in
the BIFT-id range. The 4 leftmost bits MUST be ignored.
The "BIFT-id range" is the set of 20-bit values beginning with the BIFT-id and
ending with (BIFT-id + (Max SI)). These BIFT-id's are used
for BIER forwarding as described in and .The size of the BIFT-id range is determined by the number of SI's
(Section 1 of ) that are used in the network. Each SI maps
to a single BIFT-id in the BIFT-id range: the first BIFT-id is for SI=0,
the second BIFT-id is for SI=1, etc.If the BIFT-id associated with the Maximum Set Identifier exceeds the
20-bit range, the BIER non-MPLS Encapsulation Sub-sub-TLV containing the
error MUST be ignored.BIFT-id ranges within all the BIER non-MPLS Encapsulation sub-sub-TLVs advertised
by the same BFR MUST NOT overlap. If the overlap is detected, the advertising
router MUST be treated as if it did not advertise any BIER non-MPLS encapsulation
sub-sub-TLVs. However the BIFT-id ranges may overlap across different encapsulation
types and is allowed. As an example, the BIFT-id value in the non-MPLS encapsulation
sub-sub-TLV may overlap with the Label value in the Label range in BIER MPLS
encapsulation sub-sub-TLV ( and is allowed.
A 4 bit field encoding the bitstring length (as per )
supported for the encapsulation.
SHOULD be set to 0 on transmission and MUST be ignored on reception.
As specified in ,
BIER Sub-TLV is used to advertise BIER information except that its MPLS Encapsulation
sub-TLV is replaced with a new non-MPLS encapsulation sub-TLV specified as following.The BIER Sub-TLV is carried within the Intra-Area-Prefix TLV or Inter-Area-Prefix TLV in
OSPFv3 Extended LSA TLV defined in .
its non-MPLS Encapsulation Sub-TLV carries information for the BIER non-MPLS
encapsulation, and is very similar to the MPLS Encapsulation sub-TLV.When a prefix reachability is re-advertised into other areas, if it has a BIER sub-TLVs
with a non-zero BFR-id the BIER sub-TLV MUST be included but its non-MPLS Encapsulation sub-TLV
MAY be omitted.The non-MPLS Encapsulation Sub-TLV MAY appear multiple times within a single BIER Sub-TLV.
If the same BitString length is repeated in multiple BIER non-MPLS encapsulation
Sub-TLVs inside the same BIER Sub-TLV, the BIER Sub-TLV MUST be
ignored.
TBD3 (To be assigned by IANA).
8
A 1 octet field encoding the Maximum Set Identifier (Section 1 of [RFC8279])
used in the encapsulation for this BIER subdomain for this BitString length.
The first BIFT-id is for SI=0, the second BIFT-id is for SI=1, etc. If
the BIFT-id associated with the Maximum Set Identifier exceeds the
20-bit range, the sub-sub-TLV MUST be ignored.
A 3-octet field, where the 20 rightmost bits represent the first BIFT-id in
the BIFT-id range. The 4 leftmost bits MUST be ignored.
The "BIFT-id range" is the set of 20-bit values beginning with the BIFT-id and
ending with (BIFT-id + (Max SI)). These BIFT-id's are used
for BIER forwarding as described in and .The size of the BIFT-id range is determined by the number of SI's
(Section 1 of ) that are used in the network. Each SI maps
to a single BIFT-id in the BIFT-id range: the first BIFT-id is for SI=0,
the second BIFT-id is for SI=1, etc.If the BIFT-id associated with the Maximum Set Identifier exceeds the
20-bit range, the BIER non-MPLS Encapsulation Sub-sub-TLV containing the
error MUST be ignored.BIFT-id ranges within all the BIER non-MPLS Encapsulation sub-sub-TLVs advertised
by the same BFR MUST NOT overlap. If the overlap is detected, the advertising
router MUST be treated as if it did not advertise any BIER non-MPLS encapsulation
sub-sub-TLVs. However the BIFT-id ranges may overlap across different encapsulation
types and is allowed. As an example, the BIFT-id value in the non-MPLS encapsulation
sub-sub-TLV may overlap with the Label value in the Label range in BIER MPLS
encapsulation sub-sub-TLV (
and is allowed.
A 4 bit field encoding the bitstring length (as per )
supported for the encapsulation.
SHOULD be set to 0 on transmission and MUST be ignored on reception.
Security concerns for IS-IS are addressed in and and
the security concerns for IS-IS extensions for BIER are addressed in .
This document introduces new sub-sub-TLV for the already existing IS-IS TLVs defined for
distributing the BIER sub-domain information in . It does not
introduce any new security risks to IS-IS.Security concerns and required extensions for OSPFv2 are addressed in and
and the security concerns for OSPFv2 extensions for BIER are addressed in
. This document introduces new Sub-TLV for the already existing OSPFv2 TLV defined for
distributing the BIER sub-domain information in . It does not
introduce any new security risks to OSPFv2.The document requests new allocations from the IANA registries as
followsBIER non-MPLS Encapsulation sub-sub-TLV: TBD1 (suggested value 2)BIER non-MPLS Encapsulation Sub-TLV: TBD2 (suggested value 11)BIER non-MPLS Encapsulation Sub-TLV: TBD3 (suggested value 11)The author wants to thank Antonie Przygienda for his comments and suggestions.