Upload
ngonguyet
View
227
Download
0
Embed Size (px)
Citation preview
Stateless Multicast withBit Indexed Explicit Replication
IJsbrand Wijnands, Distinguished Engineer
LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Spark
Questions? Use Cisco Spark to communicate with the speaker after the session
1. Find this session in the Cisco Live Mobile App
2. Click “Join the Discussion”
3. Install Spark or go directly to the space
4. Enter messages/questions in the space
How
cs.co/ciscolivebot#LTRIPM-3001
• Introduction
• Solution Overview
• Encapsulation
• Sets and Areas
• Forwarding
• ECMP
• BIER Overlay
• Deployment Scenarios
• Conclusion
Agenda
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER history
• A team was formed to investigate solutions for multicast in the context of Segment Routing.
• Encoding a Sourced routed Multicast tree path using MPLS labels is difficult.
• The packet header would get very large, and its very hard to parse such header.
6LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
The BIER Epiphany
• Only encode the end-receivers (as a Bit Position) in the packet header.
• Not the intermediate nodes.
• Encode the Bit String in the packet header.
• Using some sort of encapsulation.
• Create a Bit Forwarding Table on all BIER nodes to allow multicast packet forwarding using the Bit String in the packet.
• Derived from the RIB, SPF based.
• We call it, Bit Indexed Explicit Replication (BIER).
8LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
IETF
• The BIER idea was presented in a BOF at the IETF in Hawaii.
• November 2014.
• A new BIER Working Group has been formed ([email protected])
• Vendors collaborating (co-authoring) with us;
9LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
IETF drafts
• draft-ietf-bier-problem-statement
• draft-ietf-bier-architecture (now rfc8279)
• draft-ietf-bier-encapsulation-mpls (now rfc8296)
• draft-ietf-bier-use-cases
• draft-ietf-l3vpn-mvpn-bier
• draft-ietf-ospf-bier-extensions
• draft-ietf-bier-isis-extensions
• draft-xu-idr-bier-extensions
10LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
What is the problem with Multicast
• Each Tree has its own unique receiver population.
• To efficiently forward/replicate there is a Tree per flow!
• This means State is created in the network.
12LTRIPM-3001
S1
S2
S3
S4
S5
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Multicast Routing State
• State is created in the network using a Multicast routing protocol like PIM, mLDP, RSVP-TE.
• State means resources consumed, memory/CPU.
• Convergence is impacted by the amount of State.
• In order to manage the network, the protocol needs to be understood by the network operator.
• Different levels of complexity based on protocol choice.
13LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
What is BIER
• BIER is a new forwarding paradigm to forward and replication multicast packets through the network.
• Packets are forwarded using a special Header that is embedded into the packet.
• Routers build a special forwarding table to forward/replicate using the BIER header.
• BIER forwarding is State Less!
14LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
How does BIER work
• We give the Egress routers an identifier.
• The Ingress router includes the “identifiers in the packet.
15LTRIPM-3001
1, 2, 3, 4
1
2
3
4
Egress
Ingress
IP Mcast
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
How does BIER work
• Packet is forwarded hop-by-hop using the “identifier”
• Each “identifier” is forwarded along the unicast (SPF) path.
16LTRIPM-3001
1, 2, 3, 4
1
2
3
4
Egress
Ingress
IP Mcast
IP Mcast
IP Mcast
IP Mcast
IP Mcast
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
How does BIER work
• The smaller the identifier, the more we can fit into a single packet, how small can an identifier be?
• A single Bit!!!
• With BIER the Egress Identifier is a Bit Position.
• We include a BitString of 256 bits into the packet.
• Manipulations of a BitString is much easier compared to including a list of numbers.
17LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
How does BIER work
• Each Egress BIER router has a unique Bit Position.
• Routers maintain a forwarding table of Bitmask's
18LTRIPM-3001
1111
0001
Egress
Ingress
IP Mcast
IP Mcast
IP Mcast
IP Mcast
IP Mcast
0010
0100
1000
BIER Fwd TBL
Nbr BM
E 0011
F 1100
E
F
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Bit Index Forwarding Table
• Based on shortest path route to RID, the Bit Mask Forwarding Table is created
19LTRIPM-3001
CA B
D
FE
BM Nbr
0111 B
BM Nbr
0011 C
0100 E
BM Nbr
0001 D
0010 F
BFR-ID 1
BS:0001
BM Nbr
0011 C
B
BM-ER
BM-ERBM-ER
BFR-ID 2
BS:0010BFR-ID 3
BS:0100
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Forwarding Packets
20LTRIPM-3001
CA B
D
FE
BM Nbr
0111 B
BM Nbr
0011 C
0100 E
BM Nbr
0001 D
0010 F
00010001
AND ANDAND
0001
&0011&0111 &0001
BFR-ID 1
BS:0001
BFR-ID 2
BS:0010BFR-ID 3
BS:0100
Nbr
0011 C
B
Suppose A leans about D’s interest,
in the blue multicast flow.
(via BGP, SDN, STATIC, etc…)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Forwarding Packets
21LTRIPM-3001
A CA B
D
FE
Nbr
0111 B
Nbr
0011 C
0100 E
Nbr
0001 D
0010 F
00010101
AND ANDAND
0101
&0011&0111 &0001
&0100
AND
BFR-ID 1
BS:0001
BFR-ID 2
BS:0010BFR-ID 3
BS:0100
Nbr
0011 C
B
Suppose A leans about D and E’s interest,
in the blue multicast flow.
(via BGP, SDN, STATIC, etc…)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Forwarding Packets
22LTRIPM-3001
A CA B
D
FE
Nbr
0111 B
Nbr
0011 C
0100 E
Nbr
0001 D
0010 F
00110111
AND ANDAND
0111
Nbr
0011 C
B
&0011&0111 &0001
&0100 &0010
AND
BFR-ID 1
BS:0001
BFR-ID 2
BS:0010BFR-ID 3
BS:0100
Suppose A leans about D, E and F’s interest,
in the blue multicast flow.
(via BGP, SDN, STATIC, etc…)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Forwarding Packets
• As you can see from the previous slides, the result from the bitwise AND (&) between the Bit Mask in the packet and the Forwarding table is copied in the packet for each neighbor.
• This is the key mechanism to prevent duplication.
• Look at the next slide to see what happens if the bits are not reset
• If the previous bits would not have been reset, E would forward the packet to C and vice versa.
23LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Forwarding Packets
24LTRIPM-3001
A CA B
D
FE
Nbr
0111 B
Nbr
0011 C
0100 E
Nbr
0001 D
0010 F
01110111
AND ANDAND
0111
Nbr
0011 C
B
&0011&0111
&0100
AND
0111
BFR-ID 1
BS:0001
BFR-ID 2
BS:0010BFR-ID 3
BS:0100
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
How many Bits and Where?
• The number of multicast egress routers that can be addressed is depending on the number of Bits that can be included in the BitString
• The BitString length is dependent on the encapsulation type and router platform.
• We’ve analyzed the MPLS option, CRS, ASR1K and ASR9K platform.
• Both these platforms can do 256 bits.
• Other vendors confirmed they can do 256.
• We identified 5 different encoding options, most attractive below;
1. MPLS, below the bottom label and before IP header.
2. IPv6, extensions header.
26LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
MPLS encapsulation
• The Top Label is allocated by BIER from the downstream platform label space.
• The BIER Header follows directly below the BIER label.
• There is a single BIER label on top, unless the packet is re-encapsulated into a unicast MPLS tunnel.
• The VPN label is allocated from the upstream context label space (optional).
27LTRIPM-3001
BIER Label BIER Header VPN Label Payload
MPLS Label IPv4/IPv6/L2Upstream Label
(optional)
BIER header
EO
S
EO
S
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Header
• http://www.ietf.org/id/draft-ietf-bier-mpls-encapsulation-01.txt
28LTRIPM-3001
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 0 1| Ver | Len | Entropy |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BitString (first 32 bits) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ BitString (last 32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|OAM| Reserved | Proto | BFIR-id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
256bits = 32bytes
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Sets
• To increase the scale we group the egress routers in Sets.
30LTRIPM-3001
I
A
G B
1:0001
C
D
E
F
H
1:0010
1:0100
2:0001
2:0010
2:0100
Set 1
Set 2
1:0111
2:0111
Set BM Nbr
1 0111 I
2 0111 I
Note, Bit Positions 1,2,3
appear in both Sets, and
do not overlap due to Sets.
Note, we create different
forwarding entries for each Set
J
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Sets
• There is no topological restriction which set an egress belongs to
31LTRIPM-3001
I
A
G B
1:0001
C
D
E
F
H
1:0010
2:0001
1:0100
2:0010
2:0100
Set 1
Set 2
1:0111
2:0111
Note, we create different
forwarding entries for each Set
J
Set 2
Set 1Set BM Nbr
1 0111 I
2 0111 I
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Sets
• If a multicast flow has multiple receivers in different Sets, the packet needs to be replicated multiple times by the ingress router, for each set once.
• Is that a problem? We don’t think so…
• The Set identifier is part of the packet.
• Can be implemented as MPLS label.
32LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Areas
• BIER area’s are like IGP area’s, you only need reachability to the ABR
33LTRIPM-3001
I
A
G B
1:001
C
D
E
F
H
1:010
1:100
2:001
2:010
2:100
Area 1
Area 2J
BIER Forwarding
0:011
0:001
0:010
Area BM Nbr
0 0011 I
1:010
2:010
ABR
ABR
Area 0
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Areas
• The ABR removes the BIER header from Area 0, and imposes a new BIER header for Area 1 and 2.
• The new BIER header can be determined by a Group/Label lookup.• Look for the inner IPv4/6 packet group address, do a lookup in the MFIB
• Requires flow state on the ABR.
• Similar to Segmented Inter-AS MVPN
34LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Sub-domains
• Nodes are configured to be in a BIER sub-domain.
• BIER MPLS labels are not installed between sub-domains
36LTRIPM-3001
A B C D
E F G H
PIM/
IGMP
PIM/
IGMP
Domain 1
Domain 2
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Sub-domains
• When IGP changes SPF for B to F, traffic is dropped.
• BIER traffic is never leaked between sub-domains.
• Routers can be part of multiple sub-domains.
• This is a very easy mechanism to force dual plane.
37LTRIPM-3001
A B C D
E F G H
PIM/
IGMP
PIM/
IGMP
Domain 1
Domain 2
X
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
The BFR-id
• A BFER is uniquely identified by a two tuple {Set ID, Bit Position}
• The number of Bit Positions is depending on the length of the support BitString in the network.
• To make the BFER identifier independent of the BitString length we defined the BFR-id as a number between [1,65535]
• We auto-generate the BFR-id into a {Set ID, Bit Position}, based on the BitString Length.
39LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
The BFR-id
• Formula:SI = (BFR-id -1) / BitStringLength
BP = ((BFR-id -1) modulo BitStringLength) + 1
• Example BFR-id = 129.BitString Length 128 -> {SI = 1, BP = 1}
BitString Length 256 -> {SI = 0, BP = 129}
40LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
The BFR-id
• By decoupling the BFR-id from the SetID and Bit Position tuple, the BFR identifier is agnostic to the supported BitString length in the network.
• This is very useful during migration.
• If a network supports multiple BitString lengths, an egress router only needs oneBFR-id, and is reachable via each BitString length.
41LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding
We define two different forwarding methods for BIER.
1. Neighbor based forwarding.
2. Bit Indexed forwarding
43LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, neighbor based.
• A packet BitString is matched against each Neighbor in the BFT.
• This model works well for systems that have multi-cores.
• Its works less well for serialized processing as it requires a neighbor walk for each packet
44LTRIPM-3001
BIER Forwarding Table
5 4 3 2 1 Nbr
1 A
1 B
1 C
1 1 D
Packet IN Packet OUT 00100=10101 10101&
1
2
3
4
Packet OUT 10001=10101&
&
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
• We translate the BFT neighbor table in to a table sorting on Bit Position
(so not by neighbor)
• We walk the Bit Mask in the packet and Index into the FIB table.
45LTRIPM-3001
BFT Neighbors
5 4 3 2 1 Nbr
1 A
1 B
1 C
1 1 D
BFT Indexed
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
46LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
10101Packet IN
1
Walk Bit Mask
Packet OUT 10001=
01110
&
10101
Copy
&
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
47LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
Walk Bit Mask
1000110101 =
Copy
&
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
48LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
2
Walk Bit Mask
1000110101 =
Copy
&
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
49LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
3
Walk Bit Mask
1000110101 =
Copy
&
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
50LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
Walk Bit Mask
1000110101 =
Copy
&
00100 &
Copy
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
51LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
Walk Bit Mask
1000110101 =
Copy
&
00100= Packet OUT 00100 &
Copy
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
52LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
Walk Bit Mask
1000110101 =
Copy
&
00100= Packet OUT 00100 &
Copy&
11011
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
53LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
Walk Bit Mask
1000110101 =
Copy
&
00100= Packet OUT 00100 &
Copy
00000
&
11011
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
54LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
4
Walk Bit Mask
1000110101 =
Copy
&
00100= Packet OUT 00100 &
Copy
00000
&
11011
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
55LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
5
Walk Bit Mask
1000110101 =
Copy
&
00100= Packet OUT 00100 &
Copy
00000
&
11011
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
56LTRIPM-3001
BIER FIB Label
Forwarding Table
54321 Nbr
1 10001 D
2 00010 A
3 00100 B
4 01000 C
5 10001 D
00100Packet IN Packet OUT
Walk Bit Mask
1000110101 =
Copy
&
00100= Packet OUT 00100 &
Copy
00000
&
11011
• We walk the Bits in the packet, as soon as we hit a ‘1’, we copy the packet, index into the FIB table with the position of the Bit.
• The Bit Mask entry is reverse ‘&’ with the Bit Mask in the packet.
• This resets the Bits that where processed.
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
• Walking the bits in a Bit String takes less clock cycles compared to walking a list of neighbors.
• For that reason its faster to walk the Bit String and index into the neighbor table.
• The table is a NxN bit matrix, where N is the Bit String length.
• Bits that where already processed are reset so we don’t processes them if they appears later in a Bit String. This way we avoid multiple copies being forwarded.
57LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
BIER Forwarding, Bit Indexed
• Walking the Bit String in the packet is basically a repeating of ‘Find First Set’ (FFS) Bit operation.
• Could be optimized to record the last position.
• http://en.wikipedia.org/wiki/Find_first_set
• http://graphics.stanford.edu/~seander/bithacks.html
• Checkout Bruijn sequence (Count the consecutive zero bits)
• Is supported in compilers FFS and can be done in HW fairly easily.
58LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
ECMP
• It is possible the same Bit Position is reachable over different interfaces if there are ECMP paths.
• We distinguish two different ECMP behaviors
• ECMP via parallel interfaces to a single neighbor.
• ECMP via different neighbors.
• The handling is different for both cases.
• If the ECMP path is going to a single neighbor, the Bit Mask is the same for each candidate path, no special processing needed.
• If the ECMP path is to different neighbors, the Bit Mask will be different for each neighbor because the Bit String in the packet is the end result of the lookup in BIER, which is different for each nbr.
60LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
ECMP
61LTRIPM-3001
CA B
D
FE
Nbr
0111 B
Nbr
0011 C
0110 E
Nbr
0001 D
0010 F
00110111
AND ANDAND
0111
0001
0010
0100Nbr
0011 C
B
0010 F
&0011&0111 &0001
&0110 &0010
AND
Duplicate bit positions need to be resolved,
ECMP logic needs to select based on Hash.
In the example we selected C
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
ECMP
• We distribute the Bit Positions over multiple tables.
• Each Bit Position only appears once in each table.
• Table selection is based on entropy, done before Bit Index lookup
62LTRIPM-3001
ECMP Table 1
5 4 3 2 1
1 1 1
1
1
ECMP Table 2
5 4 3 2 1
1 1 1
1 1
ECMP Table 3
5 4 3 2 1
1 1
1
1 1
ECMP Table 4
5 4 3 2 1
A
1 1 B
C
1 1 1 D
BFT Neighbor
5 4 3 2 1 Nbr
1 1 1 A
1 1 1 B
1 1 C
1 1 1 D
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
ECMP
• The number of tables is depending on the number of ECMP paths to different neighbors.
• If the max number of ECMP paths is 4, but there is a Bit Position reachable via 3 paths, this will cause unequal distribution.
63LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• With Native BIER there is NO PIM involved, just IGMP and BIER.
• The Source and Receiver(s) are connected to BIER router.
• There are no RP’s.
• There is no equivalent of PIM modes, like sparse, ssm, bidir etc..
• We speak of ‘single’ sender and ‘multi’ sender, which is basically the same solution.
• The overlay can be BGP or SDN based.
66LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• E and F announce their Group membership via overlay to all other routers.
• A BIER router connected to the Source can immediately start sending.
67LTRIPM-3001
DC
E
F
A
B
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
0100
1000
0001
0010
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• E and F announce their Group membership via overlay to all other routers.
• A BIER router connected to the Source can immediately start sending.
68LTRIPM-3001
DC
E
F
A
B
IGMP
(*,G)
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
0100
1000
0001
0010
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• E and F announce their Group membership via overlay to all other routers.
• A BIER router connected to the Source can immediately start sending.
69LTRIPM-3001
DC
E
F
A
B(*,G):0:000
1
IGMP
(*,G)
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
(*,G):0:0001
(*,G):0:0001
0100
1000
0001
0010
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• E and F announce their Group membership via overlay to all other routers.
• A BIER router connected to the Source can immediately start sending.
70LTRIPM-3001
DC
E
F
A
B
(S1,G)
(*,G):0:000
1
IGMP
(*,G)
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
(*,G):0:0001
(*,G):0:0001
0100
1000
0001
0010
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• E and F announce their Group membership via overlay to all other routers.
• A BIER router connected to the Source can immediately start sending.
71LTRIPM-3001
DC
E
F
A
B
(S1,G)
(*,G):0:000
1
IGMP
(*,G)
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
(*,G):0:0001
(*,G):0:0001
0100
1000
0001
0010
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• E and F announce their Group membership via overlay to all other routers.
• A BIER router connected to the Source can immediately start sending.
72LTRIPM-3001
DC
E
F
A
B
(S1,G)
(*,G):0:000
1
IGMP
(*,G)
IGMP
(*,G)
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
(*,G):0:0001
(*,G):0:0001
0100
1000
0001
0010
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• E and F announce their Group membership via overlay to all other routers.
• A BIER router connected to the Source can immediately start sending.
73LTRIPM-3001
DC
E
F
A
B
(S1,G)
(*,G):0:000
1
IGMP
(*,G)
IGMP
(*,G)
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
(*,G):0:0001
(*,G):0:0001
0100
1000
0001
0010
(*,G):0:001
0
(*,G):0:001
0
(*,G):0:001
0
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• E and F announce their Group membership via overlay to all other routers.
• A BIER router connected to the Source can immediately start sending.
74LTRIPM-3001
DC
E
F
A
B
(S1,G)
(*,G):0:000
1
IGMP
(*,G)
IGMP
(*,G)
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
(*,G):0:0001
(*,G):0:0001
0100
1000
0001
0010
(*,G):0:001
0
(*,G):0:001
0
(*,G):0:001
0
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Native BIER
• When B leans about a new source, it can immediately start sending.
75LTRIPM-3001
DC
E
F
A
B
(S1,G)
(*,G):0:000
1
IGMP
(*,G)
IGMP
(*,G)
0 Nbr
0001 E
0010 F
1100 C
0 Nbr
0011 D
0100 A
1000 B
0 Nbr
1011 C
0 Nbr
0111 C
0 Nbr
1110 D
0 Nbr
1101 D
(*,G):0:000
1
(*,G):0:000
1
0100
1000
0001
0010
(*,G):0:001
0
(*,G):0:001
0
(*,G):0:001
0
(S2,G)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
MVPN over BIER
• BIER replaces PIM, mLDP, RSVP-TE or IR in the core.
• BIER represents a full mesh (P2MP) connectivity between all the PE’s in the network.
• There is no need to explicitly signal any MDT’s (or PMSI’s).
• With MVPN there are many profiles,
• This is partly due to the tradeoff between ‘State’ and ‘Flooding’.
• Different C-multicast signaling options.
• MVPN over BIER, there is one profile.
• BGP for C-multicast signaling.
• No need for Data-MDTs.
77LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
MVPN over BIER
• The BGP control plane defined for MVPN can be re-used.
• Big difference, there is no Tree per VPN…!!!
• The BIER packets needs to carry Source ID and upstream VPN context label
78LTRIPM-3001
C
D
A
B
0100
1000
0001
0010
BIER
PIM
PIM
PIM
PIM
PIM
PIM
RR(*,G):0:0001
(*,G)
(*,G)
(*,G)
(S,G)
(S1,G)
(S2,G)
(*,G):0:0010
(*,G):0:0001
(*,G):0:0001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Stateless
• There is no Multicast receiver or flow state in the core network (only edge).
• Imposition of the BIER Header may be done by application, removes state from ingress.
• There is no tree state in the network.
• There is no tree building protocol or logic in the network.
• There is only topology state for the BFER’s, derived from unicast routing.
80LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Scale
• Since there is no flow and tree state, converges as fast as unicast.
• Compared to Ingress Replication, saves 256x (minimum)
81LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Simplicity
• No Reverse Path Forwarding (RPF)
• No Rendezvous Points
• No shared tree / source tree switchover
• No receiver driven tree building
• BIER is like unicast
• State is in the packet (like Segment Routing)
82LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Spark
Questions? Use Cisco Spark to communicate with the speaker after the session
1. Find this session in the Cisco Live Mobile App
2. Click “Join the Discussion”
3. Install Spark or go directly to the space
4. Enter messages/questions in the space
How
cs.co/ciscolivebot#LTRIPM-3001
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Please complete your Online Session Evaluations after each session
• Complete 4 Session Evaluations & the Overall Conference Evaluation (available from Thursday) to receive your Cisco Live T-shirt
• All surveys can be completed via the Cisco Live Mobile App or the Communication Stations
Don’t forget: Cisco Live sessions will be available for viewing on-demand after the event at www.ciscolive.com/global/on-demand-library/.
Complete Your Online Session Evaluation
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Continue Your Education
• Demos in the Cisco campus
• Walk-in Self-Paced Labs
• Tech Circle
• Meet the Engineer 1:1 meetings
• Related sessions
85LTRIPM-3001