OSPFv3 Extensions for BIERCisco Systems, Inc.Apollo Business CenterMlynske nivy 43Bratislava821 09Slovakiappsenak@cisco.comCisco Systems, Inc.7200 Kit Creek RoadResearch Triangle ParkNC27709USnaikumar@cisco.comCisco Systems, Inc.De Kleetlaan 6aDiegem1831Belgiumice@cisco.com
Internet
Network Work groupbierBit Index Explicit Replication (BIER) is an architecture that
provides optimal multicast forwarding through a "BIER domain" without
requiring intermediate routers to maintain any multicast related per-
flow state. BIER also does not require any explicit tree-building
protocol for its operation. A multicast data packet enters a BIER
domain at a "Bit-Forwarding Ingress Router" (BFIR), and leaves the
BIER domain at one or more "Bit-Forwarding Egress Routers" (BFERs).
The BFIR router adds a BIER header to the packet. The BIER header
contains a bit-string in which each bit represents exactly one BFER
to forward the packet to. The set of BFERs to which the multicast
packet needs to be forwarded is expressed by setting the bits that
correspond to those routers in the BIER header.
This document describes the OSPFv3 protocol extensions required for
BIER. introduces and explains
BIER architecture that provides optimal multicast forwarding through a "BIER domain"
without requiring intermediate routers to maintain any multicast related per-flow
state. BIER also does not require any explicit tree-building protocol for its
operation. A multicast data packet enters a BIER domain at a "Bit-Forwarding
Ingress Router" (BFIR), and leaves the BIER domain at one or more "Bit-Forwarding
Egress Routers" (BFERs). The BFIR router adds a BIER header to the packet. The BIER
header contains a bit-string in which each bit represents exactly one BFER to forward
the packet to. The set of BFERs to which the multicast packet needs to be forwarded
is expressed by setting the bits that correspond to those routers in the BIER header.
BIER architecture requires the distribution of BIER specific information among the
routers participating within a BIER domain. BIER architecture permits link-state
routing protocol to perform the distribution of such information.
proposes the OSPFv2 protocol
extensions to distribute BIER specific information. This document describes the OSPFv3
protocol extensions required to advertise BIER specific information.BFER - Bit Forwarding Egress RouterBFIR - Bit Forwarding Ingress RouterBFR - Bit-Forwarding Router BIER - Bit Index Explicit ReplicationECMP - Equal Cost Multi-PathSI - Set Identifier 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 .All BIER specific information that a Bit-Forwarding Router (BFR) needs to
advertise to other BFRs is associated with a BFR-Prefix. A BFR prefix is a unique
(within a given BIER domain) routable IPv4 or IPv6 address that is assigned to each
BFR as described in more detail in . defines the encoding of OSPFv3
LSA in TLV format that allows to carry additional informations. This section defines
the required Sub-TLVs to carry BIER information that is associated with the BFR-Prefix.
The Sub-TLV defined in this section MAY be carried in the below OSPFv3 Extended LSA
TLVs :
Intra-Area-Prefix TLVInter-Area-Prefix TLVA Sub-TLV of the above mentioned Prefix TLVs is defined for distributing BIER
information. The Sub-TLV is called the BIER Sub-TLV. Multiple BIER Sub-TLVs MAY be
included in any of the above mentioned Prefix TLV.The BIER Sub-TLV has the following format:
Type
Set to TBD1Length
Variable, dependent on sub-TLVs.Sub-domain-ID
Unique value identifying the BIER sub-domain within
the BIER domain, as described in BAR
Single octet BIER Algorithm. 0 is the only supported value
defined in this document and represents Shortest Path First (SPF)
algorithm based on IGP link metric. This is the standard shortest
path algorithm as computed by the OSPF protocol. Other values may
be defined in the future.BFR-id
A 2 octet field encoding the BFR-id, as documented in
. If the BFR is not
locally configured with a valid BFR-id, the value of this field is
set to invalid BFR-id per [.Flags
The C flag (BSL Conversion flag) is set to 1 if the node is
capable of imposing a different BSL than the one it received in a BIER
encapsulated packet. More details about the usage of this conversion
is discussed in Section 2.3 of
. Other flags MUST be set to 0
and receiver MUST ignore the other flags. New flags may be defined in future.If a BFR advertises the same Sub-domain-ID in multiple BIER sub-TLVs, the BRF MUST
be treated as if it did not advertise a BIER sub-TLV for such sub-domain.All BFRs MUST detect advertisement of duplicate valid BFR-IDs for a given
Sub-domain-ID. When such duplication is detected all BFRs advertising
duplicates MUST be treated as if they did not advertise a valid BFR-id. The supported algorithm MUST be consistent for all routers supporting a given
BFR sub-domain. A router receiving BIER Sub-TLV advertisement with a BAR which does
not match the locally configured value MUST report a misconfiguration for the given
BIER sub-domain and MUST ignore such BIER sub-TLV.The BIER MPLS Encapsulation Sub-TLV is a Sub-TLV of the BIER Sub-TLV defined
in . This Sub-TLV is used to carry MPLS encapsulation
specific information for BIER in MPLS networks.The BIER MPLS Encapsulation Sub-TLV has the following format:Type: Set to TBD2.Length: 8 octetsLabel Range Size: A 1 octet field encoding the label range size of the
label range. It MUST be greater then 0, otherwise the advertising router MUST be treated
as if it did not advertise a BIER sub-TLV.Label Range Base: A 3 octet field, where the 20 rightmost bits represent the first
label in the label range. The 4 leftmost bits MUST be ignored.Bit String Length: A 4 bits field encoding the supported BitString length
associated with this BFR-prefix. The values allowed in this field
are specified in section 2 of .The "label range" is the set of labels beginning with the label range base and
ending with ((label range base)+(label range size)-1). A unique label range is allocated
for each BitStream length and Sub-domain-ID. These labels are used for BIER
forwarding as described in and
.The size of the label range is determined by the number of Set Identifiers (SI)
(section 1 of ) that are used in the
network. Each SI maps to a single label in the label range. The first label is for
SI=0, the second label is for SI=1, etc.If same BS length is repeated in multiple BIER MPLS Encapsulation Sub-TLV inside
the same BIER Sub-TLV, the BIER sub-TLV MUST be ignored.Label ranges within all BIER MPLS Encapsulation Sub-TLV inside the same BIER Sub-TLV
MUST NOT overlap. If the overlap is detected, the advertising router MUST be treated
as if it did not advertise a BIER sub-TLV.All advertised labels MUST be valid, otherwise the BIER sub-TLV MUST be ignored.The BIER Sub-TLV is included as part of OSPFv3 Extended LSAs as defined in
. The flooding scope of the BIER Sub-TLV is decided
by the flooding scope of the Extended LSA carrying the Sub-TLV. Any OSPFv3 router
SHOULD include the local BIER information in BIER Sub-TLV and advertise it using
Intra-Area-Prefix LSA. When an OSPFv3 Area Border Router (ABR) originates E-Inter-Area-Prefix-LSA for
a Prefix P, it follows the below procedure to propagate the BIER information
between areas:
Examine if the Prefix P is a BFR-Prefix. This could be done by
checking the presence of BIER Sub-TLV in Intra-Area-Prefix-TLV of
E-Intra-Area-Prefix-LSA for Prefix P.
If the above is TRUE, copy the BIER Sub-TLV to Inter-Area-Prefix TLV.
The document requests two new allocations from the OSPFv3 Extended-LSA
sub-TLV registry as defined in .
BIER Sub-TLV: TBD1BIER MPLS Encapsulation Sub-TLV: TBD2This document defines additional Sub-TLVs for OSPFv3 Extended-LSAs
and does not impose any changes in flooding scope or Path computation.Implementations must assure that any malformed TLVs or Sub-TLVs must not
result in errors that causes hard OSPFv3 failures.TBD