87

Stateless Multicast with - clnv.s3.amazonaws.com · Stateless Multicast with Bit Indexed Explicit Replication IJsbrand Wijnands, Distinguished Engineer LTRIPM-3001

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

Introduction

© 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

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco PublicLTRIPM-3001 7

© 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

Solution Overview

© 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

Encapsulation

© 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

Sets and Areas

© 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

Sub-domains

© 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

The BFR-id

© 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

BIER Forwarding

© 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

ECMP

© 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

Deployment Scenarios

Native BIER

© 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)

MVPN over BIER

© 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

Conclusion

© 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

Thank you