BIER-TE for Broadcast LinkFutureweiBoston, MAUSAHuaimo.chen@futurewei.comFutureweimichael.mcbride@futurewei.comChina TelecomBeiqijia Town, Changping DistrictBeijing102209Chinawangaj3@chinatelecom.cnVerizon Inc.13101 Columbia PikeSilver SpringMD 20904USA 301 502-1347gyan.s.mishra@verizon.comFujitsuUSAliulei.kddi@gmail.comVolta NetworksMcLeanVAUSAxufeng.liu.ietf@gmail.comThis document describes extensions to
"Bit Index Explicit Replication Traffic Engineering" (BIER-TE)
for supporting LANs (i.e., broadcast links).
For a multicast packet with an explicit point-to-multipoint
(P2MP) path traversing LANs,
the packet is replicated and forwarded statelessly
along the path.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
when, and only when, they appear in all capitals, as shown here. introduces Bit Index
Explicit Replication (BIER) Traffic/Tree Engineering (BIER-TE).
It is an architecture for per-packet stateless explicit
point to multipoint (P2MP) multicast path/tree.
A Bit-Forwarding Router (BFR) in a BIER-TE domain has
a BIER-TE Bit Index Forwarding Table (BIFT).
A BIER-TE BIFT on a BFR comprises a forwarding entry for
a BitPosition (BP) assigned to each of the adjacencies of the BFR.
If the BP represents a forward connected adjacency,
the forwarding entry for the BP forwards the multicast packet
with the BP to the directly connected BFR neighbor of the adjacency.
If the BP represents a BFER (i.e., egress node)
or say a local decap adjacency,
the forwarding entry for the BP decapsulates the multicast packet
with the BP and passes a copy of the payload of the packet
to the packet's NextProto within the BFR. In ,
for a LAN, the adjacency to each neighboring BFR on the LAN is
given a unique BitPosition. The adjacency of this BitPosition is a
forward connected adjacency towards the BFR and this BitPosition is
populated into the BIFT of all the other BFRs on that LAN.
This solution for a LAN does not work in some cases.For a packet with an explicit point-to-multipoint (P2MP) path,
if the path traverses some BFRs/nodes on a LAN,
each of these BFRs/nodes on the LAN may receive
duplicated packets.
Thus some of the egress nodes will receive
duplicated packets.This document proposes a solution for LANs to resolve
this issue.
For a packet with an explicit P2MP
path traversing LANs (i.e., broadcast links),
the packet is replicated and forwarded statelessly
along the path.
Each of the egress nodes of the path will not
receive any duplicated packet.Bit Index Explicit Replication.BIER Traffic Engineering.Bit-Forwarding Router.Bit-Forwarding Ingress Router.Bit-Forwarding Egress Router.BFR Identifier.
It is a number in the range [1,65535].BFR Neighbor.An IP address (either IPv4 or IPv6) of a BFR.Bit Index Routing Table.
It is a table that maps from the BFR-id (in a particular sub-domain)
of a BFER to the BFR-prefix of that BFER, and to the BFR-NBR
on the path to that BFER.Bit Index Forwarding Table.Interior Gateway Protocol.Link State DataBase.Open Shortest Path First.Intermediate System to Intermediate System.This section illustrates an example application of
the current BIER-TE defined in
to the BIER-TE topology with LAN
in .An example BIER-TE topology with a LAN for a BIER-TE domain is shown
in .
It has 9 nodes/BFRs A, B, C, D, E, F, G, H and K.
Nodes/BFRs D, F, E, H, A and K are BFERs and have
local decap adjacency BitPositions (BPs for short)
1, 2, 3, 4, 5 and 6 respectively.
For simplicity, these BPs are represented by (SI:BitString),
where SI = 0 and BitString is of 8 bits.
BPs 1, 2, 3, 4, 5 and 6 are represented by
1 (0:00000001), 2 (0:00000010), 3 (0:00000100), 4 (0:00001000),
5 (0:00010000) and 6 (0:00100000) respectively.
The BitPositions for the forward connected adjacencies
are represented by i', where i is from 1 to 18.
In one option, they are encoded as (n+i),
where n is a power of 2 such as 32768.
For simplicity, these BitPositions are represented
by (SI:BitString),
where SI = (6 + (i-1)/8) and BitString is of 8 bits.
BitPositions i' (i from 1 to 18) are represented by
1'(6:00000001), 2'(6:00000010), 3'(6:00000100), 4'(6:00001000),
5'(6:00010000), 6'(6:00100000), 7'(6:01000000), 8'(6:10000000),
9'(7:00000001), 10'(7:00000010), . . . , 16'(7:10000000),
17'(8:00000001), 18'(8:00000010).For a link between two nodes X and Y,
there are two BitPositions for two forward connected adjacencies.
These two forward connected adjacency BitPositions are assigned
on nodes X and Y respectively.
The BitPosition assigned on X is the forward connected
adjacency of Y.
The BitPosition assigned on Y is the forward connected
adjacency of X.For example, for the link between nodes B and C in the figure,
two forward connected adjacency BitPositions 5' and 6' are assigned
to two ends of the link.
BitPosition 5' is assigned on node B to B's end of the link.
It is the forward connected adjacency of node C.
BitPosition 6' is assigned on node C to C's end of the link.
It is the forward connected adjacency of node B.For a LAN (i.e., broadcast link) connecting nodes X1, X2, ..., Xm,
there are m BitPositions for m forward connected adjacencies.
These m forward connected adjacency BitPositions are assigned
on nodes X1, X2, ..., Xm respectively.For the LAN connecting 4 nodes C, G, H and D in the figure,
4 forward connected adjacency BitPositions 15', 16', 17' and 18'
are assigned to C, G, H and D respectively.Every BFR in a BIER-TE domain/topology has a BIER-TE BIFT.
This section shows the BIER-TE BIFT on every BFR/node
of the BIER-TE topology with LAN
in . For the BIER-TE topology in ,
each of 9 nodes/BFRs A, B, C, D, E, F, G, H and K
has its BIER-TE BIFT for the topology.
The BIFT on a BFR comprises a forwarding entry for
each of the adjacencies of the BFR.
The BIER-TE BIFT on BFR A (i.e., node A) is shown in
.
There are three adjacencies of A.
The 1st one is the forward connected adjacency from A to B
(represented by BP 2');
the 2nd is the forward connected adjacency from A to E
(represented by BP 9');
the 3rd is the local decap adjacency (represented by BP 5)
for BFER (i.e., egress) A.
The BIFT on A has three forwarding entries.
The 1st forwarding entry in the BIFT is for BitPosition 2', which is
the forward connected adjacency from A to B. For a multicast packet
with BitPosition 2', which indicates that the P2MP path in the packet
traverses the adjacency from A to B, the forwarding entry forwards
the packet to B along the link from A to B. The 2nd forwarding entry in the BIFT is for BitPosition 9', which is
the forward connected adjacency from A to E. For a multicast packet
with BitPosition 9', which indicates that the P2MP path in the packet
traverses the adjacency from A to E, the forwarding entry forwards
the packet to E along the link from A to E.
The 3rd forwarding entry in the BIFT locally decapsulates a multicast
packet with BitPosition 5 and passes a copy of the payload of the
packet to the packet's NextProto. It is for BitPosition 5, which is
the local decap adjacency for BFER (i.e., egress) A. For a multicast
packet with BitPosition 5, which indicates that the P2MP path in the
packet has node A as one of its destinations (i.e., egress nodes),
the forwarding entry decapsulates the packet and passes a copy of the
payload of the packet to the packet's NextProto within node A.
The BIER-TE BIFT on BFR B (i.e., node B) is shown in
.
There are four forward connected adjacencies of B.
They are the forward connected adjacencies from
B to A (represented by BP 1'), B to G (represented by BP 4'),
B to C (represented by BP 6')
and B to E (represented by BP 8') respectively.
The BIFT on B has four forwarding entries for these adjacencies.
The 1st forwarding entry in the BIFT is for BitPosition 1', which is
the forward connected adjacency from B to A. For a multicast packet
with BitPosition 1', which indicates that the P2MP path in the packet
traverses the adjacency from B to A, the forwarding entry forwards
the packet to A along the link from B to A.
The 2nd forwarding entry in the BIFT is for BitPosition 4', which is
the forward connected adjacency from B to G. For a multicast packet
with BitPosition 4', which indicates that the P2MP path in the packet
traverses the adjacency from B to G, the forwarding entry forwards
the packet to G along the link from B to G.
The 3rd forwarding entry in the BIFT is for BitPosition 6', which is
the forward connected adjacency from B to C. For a multicast packet
with BitPosition 6', which indicates that the P2MP path in the packet
traverses the adjacency from B to C, the forwarding entry forwards
the packet to C along the link from B to C.The 4-th forwarding entry in the BIFT is for BitPosition 8', which is
the forward connected adjacency from B to E. For a multicast packet
with BitPosition 8', which indicates that the P2MP path in the packet
traverses the adjacency from B to E, the forwarding entry forwards
the packet to E along the link from B to E.
The BIER-TE BIFT on BFR C (i.e., node C) is shown in
.
There are five forward connected adjacencies of C.
They are the forward connected adjacencies from
C to B (represented by BP 5'), C to F (represented by BP 12'),
C to G (represented by BP 14'),
C to H (represented by BP 15') and C to D (represented by BP 16')
respectively.
The BIFT on C has five forwarding entries for these adjacencies.
The BIER-TE BIFT on BFR D (i.e., node D) is shown in
.
There are four adjacencies of D.
Three of them are the forward connected adjacencies from
D to C (represented by BP 13'),
D to G (represented by BP 14') and D to H (represented by BP 15') respectively;
the other is the local decap adjacency (represented by BP 1)
for BFER (i.e., egress) D.
The BIFT on D has four forwarding entries for these adjacencies.
The BIER-TE BIFT on BFR E (i.e., node E) is shown in
.
There are three adjacencies of E.
Two of them are the forward connected adjacencies from
E to B (represented by BP 7')
and E to A (represented by BP 10') respectively;
the other is the local decap adjacency (represented by BP 3)
for BFER (i.e., egress) E.
The BIFT on E has three forwarding entries for these adjacencies.
The BIER-TE BIFT on BFR F (i.e., node F) is shown in
.
There are two adjacencies of F.
The 1st one is the forward connected adjacencies from
F to C (represented by BP 11');
the 2nd is the local decap adjacency (represented by BP 2)
for BFER (i.e., egress) F.
The BIFT on F has two forwarding entries for these adjacencies.
The BIER-TE BIFT on BFR G (i.e., node G) is shown in
.
There are four forward connected adjacencies of G.
They are the adjacencies from
G to B (represented by BP 3'), G to C (represented by BP 13'),
G to H (represented by BP 15')
and G to D (represented by BP 16') respectively.
The BIFT on G has four forwarding entries for these adjacencies.
The BIER-TE BIFT on BFR H (i.e., node H) is shown in
.
There are four adjacencies of H.
Three of them are the forward connected adjacencies from
H to C (represented by BP 13'),
H to G (represented by BP 14')
and H to D (represented by BP 16') respectively;
the other is the local decap adjacency (represented by BP 4)
for BFER (i.e., egress) H.
The BIFT on H has four forwarding entries for these adjacencies.
This section presents the issue about receiving duplicated
packets at BFER H for any explicit P2MP path/tree
from BFIR A to BFERs K, H and F
in
with minimum height of the tree, which is 3 (hops).
Any path will go through the LAN in order to reach BFER H.There are only following explicit P2MP paths
from A to K, H and D.Path 1 and path 2 are represented by
{2', 4', 6', 12', 14', 17', 2, 4, 6}.
Path 1 traverses
the link/adjacency from A to B (indicated by BP 2'),
the link/adjacency from B to G (indicated by BP 4'),
the link/adjacency from B to C (indicated by BP 6'),
the link/adjacency from G to K (indicated by BP 14'),
the link/adjacency from G to H (indicated by BP 17')
[the link/adjacency from C to H (also indicated by BP 17')
for Path 2],
and the link/adjacency from C to F (indicated by BP 12').
Path 1 is represented by {2', 4', 6', 12', 14', 17', 2, 4, 6}.
Path 2 has the same representation.
The packet at A has this representation.For the packet with the P2MP path,
A forwards the packet to B according to the forwarding
entry for BP 2' in its BIFT.After receiving the packet from A,
B forwards the packet to G and C according to the forwarding
entries for BPs 4' and 6' in B's BIFT respectively.
The packet received by G has path {12', 14', 17', 2, 4, 6}.
The packet received by C has path {12', 14', 17', 2, 4, 6}. After receiving the packet from B, G sends a copy of
the packet to K according to the forwarding
entry for BP 14' in G's BIFT, and another copy of
the packet to H according to the forwarding
entry for BP 17' in G's BIFT.After receiving the packet from B, C copies and sends the
packet to H and F according to the forwarding
entries for BPs 17' and 12' in C's BIFT respectively.Egress node H of the P2MP path receives
the duplicated packets.
One packet is from G, and the same copy is from C.The solution proposed for LANs in this document resolve
this issue.
For a packet with an explicit P2MP path traversing LANs
(i.e., broadcast links),
the packet is replicated and forwarded statelessly
along the path.
Each of the egress nodes of the path will not
receive any duplicated packet.For all the nodes/BFRs attached to a LAN
(i.e., broadcast link),
it is assumed that they are connected a pseudo node.
In one implementation, the pseudo node is
the Designated Router (DR) of the LAN in OSPF or
the Designated Intermediate System (DIS) of the LAN in IS-IS.For the connection between the pseudo node and
each of the nodes/BFRs attached to a LAN,
two BPs are assigned to it.
One is for the adjacency from the BFR to the pseudo node,
the other is for the adjacency from the pseudo node to the BFR.The adjacency from a BFR to the pseudo node is called
a LAN adjacency.
The adjacency from the pseudo node to a BFR is
a forward connected adjacency.For example, suppose that the pseudo node for the LAN
in is Px.
The BP assignments for the LAN
(i.e., connections between Px and BFRs C, G, H and D)
are illustrated in .
The connection/adjacency from Px to C is assigned BP 15',
and the connection/adjacency from C to Px is assigned BP 16'.The connection/adjacency from Px to G is assigned BP 17',
and the connection/adjacency from G to Px is assigned BP 18'.The connection/adjacency from Px to H is assigned BP 19',
and the connection/adjacency from H to Px is assigned BP 20'.The connection/adjacency from Px to D is assigned BP 21',
and the connection/adjacency from D to Px is assigned BP 22'.
In an alternative, all the nodes/BFRs attached to a LAN
are assumed fully connected each other (i.e., they are
fully meshed).
For a connection between any two BFRs on the LAN,
two forward connected adjacencies are assigned to
the two ends of the connection.For example, there are four BFRs C, G, H and D attached
to the LAN in .
There are six connections among these four BFRs.
They are connections between C and G, C and H, C and D,
G and H, G and D, H and D.
Twelve BPs are needed for these six connections.In general, for n BFRs attached to a LAN,
there are n*(n-1)/2 connections among these n BFRs and
n*(n-1) BPs are needed for these connections.
This may not be scalable.
But for this alternative, the BIER-TE BIFT on a BFR
needs not to be changed except for considering
the full mesh connections among the BFRs attached to a LAN.Each BFR in a BIER-TE domain has
a BIER-TE BIFT.
For a BFR not attached to any LAN,
the BIER-TE BIFT on the BFR is the same as before.
For a BFR attached to a LAN, its BIER-TE BIFT
is changed for considering the LAN.For example, BFRs C, G, H and D are attached to a LAN
in .
The BIER-TE BIFT on each of these four BFRs is changed
for the new BP assignments for the LAN
in .For a BFR attached to a LAN, suppose that the pseudo node
for the LAN is Px.
The improved BIER-TE BIFT on the BFR comprises
a forwarding entry for the LAN adjacency from the BFR to Px
and a secondary BIFT for Px.
The secondary BIFT for Px on the BFR contains
a forwarding entry for each of the forward connected
adjacencies from Px to the BFRs attached to the LAN
except for the adjacency from Px to the BFR.For example, the improved BIER-TE BIFT on BFR C is
illustrated in .
It comprises the forwarding entry for the LAN adjacency
from C to Px (indicated by BP 16') and
the secondary BIFT for Px on BFR C.
The secondary BIFT contains three forwarding entries
for three forward connected adjacencies
from Px to G (indicated by 17'),
Px to H (indicated by 19') and
Px to D (indicated by 21') respectively.
The improved BIER-TE BIFT on BFR G is
illustrated in .
It comprises the forwarding entry for the LAN adjacency
from G to Px (indicated by BP 18') and
the secondary BIFT for Px on BFR G.
The secondary BIFT contains three forwarding entries
for three forward connected adjacencies
from Px to C (indicated by 15'),
Px to H (indicated by 19') and
Px to D (indicated by 21') respectively.
The improved BIER-TE BIFT on BFR H is
illustrated in .
It comprises the forwarding entry for the LAN adjacency
from H to Px (indicated by BP 20') and
the secondary BIFT for Px on BFR H.
The secondary BIFT contains three forwarding entries
for three forward connected adjacencies
from Px to C (indicated by 15'),
Px to G (indicated by 17') and
Px to D (indicated by 21') respectively.
The improved BIER-TE BIFT on BFR D is
illustrated in .
It comprises the forwarding entry for the LAN adjacency
from D to Px (indicated by BP 22') and
the secondary BIFT for Px on BFR D.
The secondary BIFT contains three forwarding entries
for three forward connected adjacencies
from Px to C (indicated by 15'),
Px to G (indicated by 17') and
Px to H (indicated by 19') respectively.
The forwarding procedure defined in
is updated/enhanced for using an improved BIER-TE BIFT
to support BIER-TE with LAN.The updated procedure is described in
.
For a multicast packet containing the BitString
encoding an explicit P2MP path,
if the BP in the BitString
is for a LAN adjacency to pseudo node Px for the LAN,
the updated forwarding procedure on a BFR
sends the packet towards Px's next hop nodes
on the P2MP path encoded in the packet.The procedure on a BFR "sends" (i.e., works as sending)
the packet with the BP for
the LAN adjacency to Px according to
the forwarding entry for the BP in the improved BIER-TE
BIFT on the BFR. And then
it acts on Px to "send" (i.e., works as sending) the packet
to each of the Px's next hop nodes that are on the P2MP path
using the secondary BIFT for Px.It obtains the secondary BIFT for Px on the BFR,
clears all the BPs for the adjacencies of the BFR
including the adjacency from the BFR to Px,
copies and sends the packet to each of the Px's
next hop nodes on the P2MP path using the
secondary BIFT for Px.For each Px's next hop node on the P2MP path,
which is represented by BP j in the packet's BitString,
it gets the forwarding entry for BP j from the
secondary BIFT for Px,
copies the packet, updates the copy's BitString by
clearing all the BPs for Px's adjacencies,
and sends the updated copy to the next hop node
according to the forwarding entry.
This section illustrates an example application of
improved BIER-TE to .
It shows the forwarding behaviors along an explicit
P2MP path in going
through the LAN in the figure.The new BP assignments for the LAN
in is
shown in .
The improved BIER-TE BIFT on each of the BFRs
attached to the LAN is given in
.The explicit P2MP path traverses
the link/adjacency from A to B (indicated by BP 2'),
the link/adjacency from B to G (indicated by BP 4') and
the link/adjacency from B to C (indicated by BP 6'),
the link/adjacency from G to K (indicated by BP 14'),
the link/adjacency from G to Px (indicated by BP 18'),
the link/adjacency from C to F (indicated by BP 12'), and
the link/adjacency from Px to H (indicated by BP 19').
This path is represented by
{2', 4', 6', 12', 14', 18', 19', 2, 4, 6}.
The packet at A has this path.For the packet with the P2MP path,
A forwards the packet to B according to the forwarding
entry for BP 2' in its BIFT.After receiving the packet from A,
B forwards the packet to G and C according to the forwarding
entries for BPs 4' and 6' in B's BIFT respectively.
The packet received by G has path {12', 14', 18', 19', 2, 4, 6}.
The packet received by C has path {12', 14', 18', 19', 2, 4, 6}.After receiving the packet from B,
G sends a copy of the packet to K according to the forwarding
entry for BP 14' in G's improved BIER-TE BIFT and
"sends" another copy of the
packet to Px according to the forwarding
entry for BP 18' in G's improved BIER-TE BIFT.
After receiving the packet from G,
which has path {12', 19', 2, 4, 6},
Px "sends" the packet to H according to the forwarding
entry for BP 19' in the secondary BIFT for Px
(a part of G's improved BIER-TE BIFT).After receiving the packet from G,
which has path {12', 19', 2, 4, 6},
K decapsulates the packet and passes a copy of the
payload of the packet to the packet's NextProto within node K
according to the forwarding
entry for BP 6 in K's BIFT.After receiving the packet from G,
which has path {12', 2, 4, 6},
H decapsulates the packet and passes a copy of the
payload of the packet to the packet's NextProto within node H
according to the forwarding
entry for BP 4 in H's improved BIER-TE BIFT.After receiving the packet from B,
which has path {12', 14', 18', 19', 2, 4, 6},
C sends the
packet to F according to the forwarding
entry for BP 12' in C's improved BIER-TE BIFT.After receiving the packet from C,
which has path {14', 18', 19', 2, 4, 6},
F decapsulates the packet and passes a copy of the
payload of the packet to the packet's NextProto within node F
according to the forwarding
entry for BP 2 in F's BIER-TE BIFT.Egress node H of the P2MP path does not receive
any duplicated packet.TBD.No requirements for IANA.The authors would like to thank people
for their comments to this work.