Top Banner
Bit Indexed Explicit Replication – A Stateless Multicast Architecture Nagendra Kumar Nainar NANOG72
33

Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Jun 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Bit Indexed Explicit Replication – A Stateless Multicast Architecture

Nagendra Kumar Nainar NANOG72

Page 2: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Agenda •  Multicast Architecture Challenges •  Introduction to BIER •  BIER Control plane behavior •  BIER Data plane Encapsulation •  Packet forwarding semantic •  BIER Use cases •  Standardization Efforts

Page 3: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Multicast Architecture - Challenges

R1 R2

R3

R4

R5

IGMP/ MLD

IGMP/ MLD

IGMP/ MLD

PIM/mLDP

PIM/mLDP

PIM/mLDP

PIM/mLDP

•  Scalability –  Control plane and Data plane state entries created on all transit nodes.

•  Inefficient Load sharing –  No Path control

•  Poor Path Resiliency

Page 4: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER Epiphany •  We call this architecture as Bit Indexed Explicit Replication (BIER). •  Goal

–  Carry state entry directly in the packet header. –  No state entries in any transit nodes

•  Control Plane semantic –  Assign unique bit position for each receivers –  Propagate the info within the domain

•  Data Plane Semantic –  Encode the set of receivers as bit string in packet header –  Replicate based on BIER forwarding table

Page 5: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Bit Position Assignment

•  Assigns a unique Bit Position (BFR-ID) from a Bit String to each BFR within the domain. –  String size can be 256, 512, 1024,2056 etc. –  Bit String of size 256 can accommodate 256 BFER

•  Map the BFR-ID to BFR-Prefix (locally reachable address). –  Preferably local loopback address

5

BitString

1 2 3 4 5 1 2 3 4 5

BIER Domain

R1

R2

R3 R4

R5

BFR-Prefix - 10.1.1.1/32 BFR-ID - 00001

BFR-Prefix - 10.1.3.3/32 BFR-ID - 00100

BFR-Prefix - 10.1.2.2/32 BFR-ID - 00010

BFR-Prefix - 10.1.5.5/32 BFR-ID - 10000

BFR-Prefix - 10.1.4.4/32 BFR-ID - 01000

BFR – BIER Forwarding Router BFR-Prefix – Reachable IP Address BFR-ID – Unique Bit Position BFIR – BIER Forwarding Ingress Router BFER – BIER Forwarding Egress Router

Page 6: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Bit Position Advertisement

•  Each BFR flood the “BFR-ID to BFR-Prefix” mapping to other nodes within the domain

–  ISIS, OSPF, BGP

6

BIER Domain

R1

R2

R3 R4

R5

BFR-Prefix - 10.1.1.1/32 BFR-ID - 00001

BFR-Prefix - 10.1.3.3/32 BFR-ID - 00100

BFR-Prefix - 10.1.2.2/32 BFR-ID - 00010

BFR-Prefix - 10.1.5.5/32 BFR-ID - 10000

BFR-Prefix - 10.1.4.4/32 BFR-ID - 01000

Page 7: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Bit Index Forwarding table – Path Computation

•  Transit nodes compute the shortest path to each BFR-Prefix. •  Populate the forwarding table as below:

–  Identify the set of BFR-Prefix reachable to same nexthop –  Perform “OR” operation on all the BFR-IDs reachable via same nexthop

7

BitMask Nbr

00011 A

00100 B

01000 C

A

B

C

00001

00010

00100

01000

D R4

R2

R3

R1

Page 8: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Bit Index Forwarding Table

D, F and E advertise their Bit positions in the IGP (flooded). Based on shortest path route to RID, the Bit Index Forwarding Table is created

8

BM Nbr

0111 B

BM Nbr

0011 C

0100 E

BM Nbr

0001 D

0010 F

0001

0010 0100

BM Nbr

0011 C

B

BM-ER

BM-ER BM-ER

F

D

A B C

E

Page 9: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER - Data Plane Encapsulation

Page 10: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER Header

•  Ether type helps differentiate the Layer PDU •  Two ways are under standardization.

–  Define a new Ether type –  MPLS Label

10

Nibble Ver BSL Entropy

OAM Rsv DSCP Proto BFIR-ID

BitString (first 32 bits)

…....

BitString (last 32 bits)

draft-ietf-bier-mpls-encapsulation

Page 11: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

MPLS encapsulation

•  MPLS label as a context Identifier •  MPLS label identifies the below:

– BIER encapsulation – Bit String Size – Sub Domain ID 11

Ethertype=0x8847 BIER Label BIER Header VPN Label Payload

MPLS Label IPv4/IPv6/L2 Upstream Label (optional)

BIER header

EO

S

EO

S

Ethernet

Page 12: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER-MPLS label Advertisement

•  Assigns a locally unique MPLS label and flood within the domain using IGP extensions

12

BIER Domain

R1

R2

R3 R4

R5

BFR-Prefix - 10.1.1.1/32 BFR-ID – 00001 BIER-MPLS = 100

BFR-Prefix - 10.1.3.3/32 BFR-ID – 00100 BIER-MPLS = 300

BFR-Prefix - 10.1.2.2/32 BFR-ID – 00010 BIER-MPLS = 200

BFR-Prefix - 10.1.5.5/32 BFR-ID – 10000 BIER-MPLS = 500

BFR-Prefix - 10.1.4.4/32 BFR-ID – 01000 BIER-MPLS = 400

Page 13: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER – Packet Forwarding

Page 14: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER Forwarding Semantic 1.  Determine Bit String from

received packet 2.  Use the LSB position set to 1. 3.  Identify the first match in

forwarding table 4.  Perform “AND” operation

between header string and table string.

5.  Rewrite the header and forward to neighbor.

BM Nbr

0011 C

0100 E

BIER-Label-B

0101

Payload

C

E

BIER-Label-C

0001

Payload

BIER-Label-E

0100

Payload

0101 0011 = 0001 AND

0101 AND 0100 = 0100

B

Page 15: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER – Packet Forwarding

15

CA B

D

F E

0001

BM Nbr

0111 B

BM Nbr

0011 C

0100 E

BM Nbr

0001 D

0010 F

0001 0001

AND AND AND

0001 0001

0010 0100

&0011 &0111 &0001

Nbr

0011 C

B

Page 16: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER – Packet Forwarding

16

A CA B

D

F E

Nbr

0111 B

Nbr

0011 C

0100 E

Nbr

0001 D

0010 F

0001 0101

AND AND

0100

AND

0101

0001

&0011 &0111 &0001

&0100

Nbr

0011 C

B AND

0001

0010 0100

Page 17: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER Characteristics •  Stateless

•  No per flow state entries created. •  Less Network churn.

• Duplication Avoidance •  Bitwise AND operation avoids duplicate

•  Flexible •  Architecture can accommodate different Bit string sizes.

•  Scalable

17

Page 18: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER Sub Domains

To increase the scale we group the egress routers in Sets.

18

A

B

1:0001

C

D

E

F

1:0010

1:0100

2:0001

2:0010

2:0100

Set 1

Set 2

Note, Bit Positions 1,2,3 appear in both Sets, and do not overlap due to Sets.

J I

G

H

Page 19: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER Set Identifier

•  Set Identifier (SI) is identified based on the BFR-ID and Bit String Size.

BFR-ID = 1027 When Bit String Size is 2056, SI = 0, Bit Position = 1027 When Bit String Size is 1024, SI = 1, Bit Position = 3 When Bit String Size is 512, SI = 2, Bit Position = 3 When Bit String Size is 256, SI = 4, Bit Position = 3

Page 20: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER Sets

• To increase the scale we group the egress routers in Sets. • There is no topological restriction which set an egress belongs to

20

A

B

1:0001

C

D

E

F

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

Set 2

Set 1 Set BM Nbr

1 0111 I

2 0111 I

J I

G

H

Page 21: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Underlay Protocol Extensions •  IGP and BGP protocols are

extended to carry: –  Sub Domain ID (Set

Identifier) –  BFR-ID –  BFR-Prefix –  BIER-MPLS Label

•  OSPF uses Extended Prefix Opaque LSA

•  ISIS uses TLVs 235, 237, 135, 236.

Type Length

Sub Domain ID

MT-ID BFR-ID

Sub-TLVs (Variable)

Type Length

Lbl Range Size

Label Range Base

BSL Reserved

BIER Sub-TLV

BIER MPLS Encap Sub-TLV

Reserved Sub Domain-ID

BFR-ID

Type Length

Type Length

Label Range BSL Label

ISIS Extension

OSPF Extension

Page 22: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER Use cases

Page 23: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

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.

Page 24: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Traditional MVPN

•  Core to be enabled with one of the below: –  PIM, mLDP, RSVp-TE

•  Per VRF MDT tree is required to be instantiated. •  Data MDT required for optimal forwarding

VRF RED VRF

RED

VRF RED

VRF BLUE

VRF BLUE

VRF BLUE

PIM/mLDP/RSVP-TE

PE4 PE2

PE3 PE1

Page 25: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

MVPN over BIER

•  Re-Use BGP-MVPN AFI for overlay signaling •  No per VRF MDT or tree to be instantiated •  No Data MDT required for optimality

VRF RED VRF

RED

VRF RED

VRF BLUE

VRF BLUE

VRF BLUE

BIER

PE4 PE2

PE3 PE1

0001

0010

0100

1000

Page 26: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

MVPN over BIER

•  Each PE creates the Bit String for each VRF based on overlay signaling.

•  No per VRF state entries or Data MDT required

VRF RED VRF

RED

VRF RED

VRF BLUE

VRF BLUE

VRF BLUE

BIER

PE4 PE2

PE3 PE1

0001

0010

0100

1000

PE1 MVPN table

VRF BitString

RED 0110

BLUE 1100

Page 27: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Brown field deployment

•  Uses IGP extension to determine BIER capability of neighbot

•  Uses unicast tunnel between BIER nodes –  Traditional forwarding on unsupported nodes.

BM Nbr Intf

0011 C tunnel1

… .. .. A B C

BIER BIER

Page 28: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Brown field deployment

•  BIER node uses different tunnel to each neighbors over traditional node.

•  Rewrite the bit string and unicast to each BIER neighbor

BM Nbr Intf

0011 C tunnel1

1100 D tunnel2

A B

C

BIER

BIER

D BIER

0011

1100

Page 29: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Standardization Efforts

Page 30: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

IETF •  BIER was proposed as BoF in IETF

– Nov 2014 (Hawaii) •  Industry interest resulted in BIER Working

Group – BIER ([email protected])

•  BIER Architecture is published as RFC8279 •  Multi Vendor Collaboration

Page 31: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

IETF drafts IETF Draft Description Status

draft-ietf-bier-architecture BIER Architecture Waiting for Publication

draft-ietf-bier-encapsulation-mpls MPLS Dataplane Encapsulation

Waiting for Publication

draft-ietf-ospf-bier-extensions OSPF Extension Stable

draft-przygienda-bier-isis-ranges ISIS Extension Stable

draft-eckert-bier-te-arch BIER Traffic Engineering Arch

Under Progress

draft-ietf-l3vpn-mvpn-bier BIER MVPN Under Progress

draft-ietf-bier-ping BIER OAM Under Progress

Page 32: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

BIER - Advantages •  Packets forwarded via BIER follow the unicast path towards the receiver,

inheriting unicast features like FRR and LFA. •  There is no per multicast flow state in the network. •  Multicast convergence is as fast as unicast, there is no multicast state to re-

converge, signal, etc. •  Nice plugin for SDN, its only the ingress and egress that need to exchange

Sender and Receiver information. •  The core network provides a many-2-many connectively between all BIER

routers by default following the IGP. •  No Multicast control protocol in the network.

Page 33: Bit Indexed Explicit Replication – A Stateless Multicast ...€¦ · MPLS encapsulation • MPLS label as a context Identifier • MPLS label identifies the below: – BIER encapsulation

Q&A