free riding multicast
DESCRIPTION
Free Riding Multicast. Berkeley SysLunch (10/10/06). Sylvia Ratnasamy (Intel Research) Andrey Ermolinskiy (U.C. Berkeley) Scott Shenker (U.C. Berkeley and ICSI) ACM SIGCOMM 2006. Talk Outline. Introduction Overview of the IP Multicast service model - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/1.jpg)
Free Riding Multicast
Sylvia Ratnasamy (Intel Research)
Andrey Ermolinskiy (U.C. Berkeley)
Scott Shenker (U.C. Berkeley and ICSI)
ACM SIGCOMM 2006
Berkeley SysLunch (10/10/06)
![Page 2: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/2.jpg)
Talk Outline Introduction
Overview of the IP Multicast service model Challenges of Multicast routing
Free Riding Multicast (FRM) Approach overview Overhead evaluation Design tradeoffs Implementation
![Page 3: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/3.jpg)
Talk Outline Introduction
Overview of the IP Multicast service model Challenges of Multicast routing
Free Riding Multicast (FRM) Approach overview Overhead evaluation Design tradeoffs Implementation
![Page 4: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/4.jpg)
Internet Routing – a High-Level View
Routing protocols (BGP, OSPF) establish forwarding state in routers
C3C3
C1C1
C4C4
C2C2
Each routable entity is assigned an IP address
Internet is a packet-switched network
C1: Send(Packet, C2Addr);
Routers forward packets towards their recipients
![Page 5: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/5.jpg)
Problem: Some applications
require one-to-many packet delivery Streaming media delivery Digital conferencing Online multiplayer games
GG
GG
GG
GG
SS
Internet Routing – a High-Level View Traditionally, Internet routing infrastructure offers a
one-to-one (unicast) packet delivery service
![Page 6: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/6.jpg)
IP Multicast Service Model In 1990, Steve Deering proposed IP Multicast
extension to the IP service model for efficient one-to-many packet delivery
GG
GG
GG
GG
SS
Group-based communication: Join (IPAddr, GrpAddr); Leave (IPAddr, GrpAddr); Send (Packet, GrpAddr);
Multicast routing problem: Set up a dissemination tree rooted
at the source with group members as leaves
![Page 7: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/7.jpg)
IP Multicast Routing
GG
GG
GG
GG
SS
![Page 8: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/8.jpg)
IP Multicast Routing New members must find
tree
GG
GG
GG
GG
SS
join G? ?
?
![Page 9: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/9.jpg)
IP Multicast Routing
GG
GG
GG
GG
SS
join G? ?
?
New members must find tree
Tree changes with new members, sources
![Page 10: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/10.jpg)
IP Multicast Routing New members must find
tree
Tree changes with new members, sources
Tree changes with network failures
GG
GG
GG
GG
SS
join G? ?
?
![Page 11: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/11.jpg)
IP Multicast Routing New members must find
tree
Tree changes with new members, sources
Tree changes with network failure
Admin. boundaries and policies matter
GG
GG
GG
GG
SS
join G? ?
?
![Page 12: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/12.jpg)
IP Multicast Routing New members must find
tree
Tree changes with new members, sources
Tree changes with network failure
Admin. boundaries and policies matter
Forwarding state grows with number of groups, sources
GG
GG
GG
GG
SS
join G? ?
?
![Page 13: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/13.jpg)
IP Multicast – a Brief History Extensively researched, limited deployment
Implemented in routers, supported by OS vendors Some intra-domain/enterprise usage Virtually no inter-domain deployment
Why? Too complex? PIM-SM, PIM-DM, MBGP, MSDP,
BGMP, IGMP, etc.
FRM goal: make inter-domain multicast simple
![Page 14: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/14.jpg)
Talk Outline Introduction
Overview of the IP Multicast service model Challenges of Multicast routing
Free Riding Multicast (FRM) Approach overview Overhead evaluation Design tradeoffs Implementation
![Page 15: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/15.jpg)
FRM Overview Free Riding Multicast: radical restructuring of inter-domain multicast
Key design choice: decouple group membership discovery from multicast route construction
Principal trade-off: avoidance of distributed route computation at the expense of optimal efficiency
![Page 16: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/16.jpg)
FRM Approach Group membership discovery
Extension to BGP - augment route advertisements with group membership information
![Page 17: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/17.jpg)
FRM Approach Group membership discovery
Extension to BGP - augment route advertisements with group membership information
Multicast route construction Centralized computation at the origin border router Exploit knowledge of unicast BGP routes Eliminate the need for a separate routing algorithm
![Page 18: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/18.jpg)
Group Membership Discovery AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*AS X Augment BGP with per-prefix group
membership information
![Page 19: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/19.jpg)
AS X
Group Membership Discovery AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Domain X joins G1
Augment BGP with per-prefix group membership information
![Page 20: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/20.jpg)
Group Membership Discovery AS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Domain X joins G1
FRM group membership
{G1 }a.b.*.* XAS PathDest
BGP UPDATE
Border router at X re-advertises its prefix, attaches encoding of active groups
Augment BGP with per-prefix group membership information
a.b*.* {G1}
![Page 21: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/21.jpg)
Group Membership Discovery AS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
a.b*.* {G1}
Prefix AS Path Active Groups
a.b.*.* V Q P X
c.d.e.* V Q P Y
f.g.*.* V R Z
h.i.*.* V Q T
Border routers maintain membership info. as part of per-prefix state in BGP RIB
BGP disseminates membership change
![Page 22: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/22.jpg)
Group Membership Discovery AS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
a.b*.* {G1}
Prefix AS Path Active Groups
a.b.*.* V Q P X
c.d.e.* V Q P Y
f.g.*.* V R Z
h.i.*.* V Q T
Border routers maintain membership info. as part of per-prefix state in BGP RIB
BGP disseminates membership change
![Page 23: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/23.jpg)
Group Membership Discovery AS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
a.b*.* {G1}a.b*.* {G1}a.b*.* {G1}a.b*.* {G1}
Prefix AS Path Active Groups
a.b.*.* V Q P X
c.d.e.* V Q P Y
f.g.*.* V R Z
h.i.*.* V Q T
Border routers maintain membership info. as part of per-prefix state in BGP RIB
BGP disseminates membership change
![Page 24: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/24.jpg)
Group Membership Discovery AS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
a.b*.* {G1}
a.b*.* {G1} a.b*.* {G1}
a.b*.* {G1}
a.b*.* {G1}a.b*.* {G1}a.b*.* {G1}a.b*.* {G1}
Prefix AS Path Active Groups
a.b.*.* V Q P X
c.d.e.* V Q P Y
f.g.*.* V R Z
h.i.*.* V Q T
Border routers maintain membership info. as part of per-prefix state in BGP RIB
BGP disseminates membership change
![Page 25: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/25.jpg)
Group Membership Discovery AS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
a.b*.* {G1}Prefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y
f.g.*.* V R Z
h.i.*.* V Q T
Border routers maintain membership info. as part of per-prefix state in BGP RIB
BGP disseminates membership change
![Page 26: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/26.jpg)
AS Z
Group Membership Discovery AS X AS Y
AS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
AS VPrefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y
f.g.*.* V R Z
h.i.*.* V Q T
Domains Y and Z join G1
![Page 27: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/27.jpg)
Group Membership Discovery AS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
f.g.*.* {G1}
c.d.e.* {G1} Domains Y and Z join G1
Prefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y
f.g.*.* V R Z
h.i.*.* V Q T
![Page 28: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/28.jpg)
Group Membership Discovery AS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
f.g.*.* {G1}
c.d.e.* {G1} Domains Y and Z join G1
Prefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y {G1}
f.g.*.* V R Z {G1}
h.i.*.* V Q T
![Page 29: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/29.jpg)
Packet ForwardingAS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Domain V: Send(G1, Pkt)
![Page 30: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/30.jpg)
Packet ForwardingAS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Prefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y {G1}
f.g.*.* V R Z {G1}
h.i.*.* V Q T
Dissemination tree
{G1 }
Domain V: Send(G1, Pkt)
Lookup
![Page 31: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/31.jpg)
Packet ForwardingAS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Prefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y {G1}
f.g.*.* V R Z {G1}
h.i.*.* V Q T
V
Q
P
X
Dissemination tree
Domain V: Send(G1, Pkt)
{G1 } Lookup
![Page 32: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/32.jpg)
Packet ForwardingAS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Prefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y {G1}
f.g.*.* V R Z {G1}
h.i.*.* V Q T
V
Q
P
X
Dissemination tree
Y
Domain V: Send(G1, Pkt)
{G1 } Lookup
![Page 33: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/33.jpg)
Packet ForwardingAS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Prefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y {G1}
f.g.*.* V R Z {G1}
h.i.*.* V Q T
V
Q
P
X
Dissemination tree
R
Z
Y
Domain V: Send(G1, Pkt)
{G1 } Lookup
![Page 34: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/34.jpg)
Packet ForwardingAS X AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Prefix AS Path Active Groups
a.b.*.* V Q P X {G1}
c.d.e.* V Q P Y {G1}
f.g.*.* V R Z {G1}
h.i.*.* V Q T
V
Q
P
X
Dissemination tree
R
Z
Y
Domain V: Send(G1, Pkt)
{G1 } Lookup
![Page 35: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/35.jpg)
Packet Forwarding
V
Q
P
X
R
Z
Y
AS V
AS X AS Y
AS ZAS T
AS Q AS R
AS P
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
G1 SubtreeR
G1 SubtreeQ
Domain V: Send(G1, Pkt)
SubtreeQ SubtreeR
V forwards packet to its children on the tree, attaches encoding the subtree in a “shim” header
![Page 36: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/36.jpg)
Packet Forwarding
V
Q
P
X
R
Z
Y
AS V
AS X AS Y
AS ZAS T
AS P
c.d.e.*a.b.*.*
AS Q AS R
G1 SubtreeQ
G1 SubtreeR
h.i.*.* f.g.*.*
Domain V: Send(G1, Pkt)
V forwards packet to its children on the tree, attaches encoding the subtree in a “shim” header
![Page 37: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/37.jpg)
Packet Forwarding
AS V
G1 SubtreeR
AS X AS Y
AS ZAS T
AS Q AS R
AS P
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
G1 SubtreeQ
Transit routers inspect FRM header, forward packet to their children on the tree
V
Q
P
X
R
Z
Y
Domain V: Send(G1, Pkt)
![Page 38: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/38.jpg)
Packet Forwarding
AS V
AS X AS Y
AS Z
AS Q AS R
AS P
c.d.e.*
f.g.*.*
a.b.*.*
G1 SubtreeQ
No
V
Q
P
X
R
Z
Y
AS T
h.i.*.*
Domain V: Send(G1, Pkt)
Transit routers inspect FRM header, forward packet to their children on the tree
G1 SubtreeR
![Page 39: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/39.jpg)
Packet Forwarding
V
Q
P
X
R
Z
Y
AS X AS Y
AS ZAS T
AS Q AS R
AS P
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
G1 SubtreeQ
No
VAS
Domain V: Send(G1, Pkt)
Transit routers inspect FRM header, forward packet to their children on the tree
G1 SubtreeR
![Page 40: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/40.jpg)
Packet Forwarding
V
Q
P
X
R
Z
Y
AS V
AS X AS Y
AS ZAS T
AS Q AS R
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*
Yes
AS P
G1 SubtreeQ
Domain V: Send(G1, Pkt)
Transit routers inspect FRM header, forward packet to their children on the tree
G1 SubtreeR
![Page 41: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/41.jpg)
Packet Forwarding
V
Q
P
X
R
Z
Y
AS V
AS ZAS T
AS Rf.g.*.*h.i.*.*
AS P
AS Q
AS X
a.b.*.*AS Y
c.d.e.*
G1 TREE_BFQG1 SubtreeQ
Domain V: Send(G1, Pkt)
Transit routers inspect FRM header, forward packet to their children on the tree
G1 SubtreeR
![Page 42: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/42.jpg)
Packet Forwarding
V
Q
P
X
R
Z
Y
AS V
AS ZAS T
AS Rf.g.*.*h.i.*.*
AS Q
AS X
a.b.*.*AS Y
c.d.e.*
AS P
G1 SubtreeR
Domain V: Send(G1, Pkt)
Transit routers inspect FRM header, forward packet to their children on the tree
![Page 43: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/43.jpg)
Packet Forwarding
V
Q
P
X
R
Z
Y
AS V
AS T
AS Rh.i.*.*
AS Q
AS X
a.b.*.*AS Y
c.d.e.*
AS P
AS Z
f.g.*.*
G1 SubtreeR
Domain V: Send(G1, Pkt)
Transit routers inspect FRM header, forward packet to their children on the tree
![Page 44: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/44.jpg)
FRM Details Encoding group membership
Simple enumeration is hard to scale Border routers encode locally active groups using a Bloom filter Transmit encoding using a new path attribute in BGP UPDATE message
Encoding the dissemination tree Encode edges into a shim header using a Bloom filter
Tree computation is expensive Border routers maintain shim header cache
![Page 45: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/45.jpg)
Talk Outline Introduction
Free Riding Multicast (FRM) Approach overview Overhead evaluation
Router storage requirements Forwarding bandwidth overhead (in paper)
Design tradeoffs Implementation
![Page 46: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/46.jpg)
FRM Overhead – Router Storage AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*AS X
1. Source forwarding state (per-group, line card memory)
2. Group membership state (per-prefix, BGP RIB)
Origin border router
Transit forwarding state (per-neighbor, line card memory)
Transit router
![Page 47: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/47.jpg)
FRM Overhead – Router Storage AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*AS X
1. Source forwarding state (per-group, line card memory)
2. Group membership state (per-prefix, BGP RIB)
Origin border router
Transit forwarding state (per-neighbor, line card memory)
Transit router
![Page 48: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/48.jpg)
Forwarding State (Source Border Router)
0
100
200
300
400
500
600
700
800
900
100 1000 10000 100000 1M
Number of groups with active sources (A)
Ca
ch
e s
ize
(M
B)
256 MB of line card memory enables fast-path forwarding for ~200000 active groups
A -- number of groups with sources in the local domain
Zipfian group popularity with a minimum of 8 domains per group
25 groups have members in every domain (global broadcast)
![Page 49: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/49.jpg)
FRM Overhead – Router Storage AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*AS X
1. Source forwarding state (per-group, line card memory)
2. Group membership state (per-prefix, BGP RIB)
Origin border router
Transit forwarding state (per-neighbor, line card memory)
Transit router
![Page 50: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/50.jpg)
Group Membership State Requirements Total of A multicast
groups Domains of prefix
length p have 232-p users
Each user chooses and joins k distinct groups from A
10 false positives per prefix allowed
1M simultaneously active groups and 10 groups per user require ~3GB of route processor memory (not on the fast path)
![Page 51: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/51.jpg)
FRM Overhead – Router Storage AS Y
AS ZAS T
AS Q AS R
AS P
AS V
c.d.e.*
f.g.*.*h.i.*.*
a.b.*.*AS X
1. Source forwarding state (per-group, line card memory)
2. Group membership state (per-prefix, BGP RIB)
Origin border router
Transit forwarding state (per-neighbor, line card memory)
Transit router
![Page 52: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/52.jpg)
Forwarding State (Transit Router) Number of forwarding entries = number of neighbor ASes
Independent of number of groups!
90% of ASes: 10 forwarding entries 99% of ASes: 100 forwarding entries Worst case: 2400 forwarding entries
AS V
AS Q
AS PAS T ? ?
?
![Page 53: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/53.jpg)
Talk Outline
Introduction
Free Riding Multicast (FRM) Approach overview Overhead evaluation Design tradeoffs Implementation
![Page 54: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/54.jpg)
FRM Design Tradeoffs Protocol simplicity
Can be implemented as a straightforward extension to BGP Centralized route construction (tree is computed at source
border router from existing unicast routes)
![Page 55: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/55.jpg)
FRM Design Tradeoffs Protocol simplicity
Can be implemented as a straightforward extension to BGP Centralized route construction (tree is computed at source
border router from existing unicast routes)
Ease of configuration Management within familiar BGP framework Avoid rendezvous point selection
![Page 56: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/56.jpg)
FRM Design Tradeoffs Protocol simplicity
Can be implemented as a straightforward extension to BGP Centralized route construction (tree is computed at source
border router from existing unicast routes)
Ease of configuration Management within familiar BGP framework Avoid rendezvous point selection
Enables ISP control over sources/subscribers To block traffic for an undesired group, drop it from BGP
advertisement Source controls dissemination tree facilitates source-based
charging [Express].
![Page 57: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/57.jpg)
FRM Design Tradeoffs
![Page 58: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/58.jpg)
FRM Design Tradeoffs Group membership state maintenance
Membership information disseminated more widely
![Page 59: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/59.jpg)
FRM Design Tradeoffs Group membership state maintenance
Membership information disseminated more widely
Nontrivial bandwidth overhead (see paper for results) Per-packet shim header Redundant packet transmissions
![Page 60: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/60.jpg)
FRM Design Tradeoffs Group membership state maintenance
Membership information disseminated more widely
Group membership state maintenance Membership information disseminated more widely
Nontrivial bandwidth overhead (see paper for results) Per-packet shim header Redundant packet transmissions
New packet forwarding techniques Full scan of the BGP RIB at source border router Bloom filter lookups at transit routers
![Page 61: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/61.jpg)
FRM Implementation A proof-of-concept prototype on top of Linux 2.4 and the eXtensible Open Router Platform (http://www.xorp.org).
Functional components: FRM kernel module (3.5 KLOC of new Linux kernel code)
Interfaces with the Linux kernel IP layer and implements the packet forwarding plane FRM user-level component (1.9 KLOC of new code)
Extension to the XORP BGP daemon Implements tree construction and group membership state dissemination
Configuration and management tools (1.4 KLOC of new code)
![Page 62: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/62.jpg)
Summary Free Riding Multicast is a very different approach to inter-domain multicast routing
FRM makes use of existing unicast routing infrastructure for group membership discovery and route construction
Reduce protocol complexity via aggressive use of router resources
![Page 63: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/63.jpg)
Thank you
![Page 64: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/64.jpg)
Challenges and Future Work Incremental Deployment
Legacy BGP routers rate-limit their path advertisements (30 seconds), thus delaying dissemination of group membership state.
Large group Bloom filters that exceed maximum BGP UPDATE message size (4KB) require fragmentation and reassembly.
Explore alternative tree encoding techniques to reduce per-packet bandwidth overhead
![Page 65: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/65.jpg)
Backup Slides
![Page 66: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/66.jpg)
FRM Overhead – Redundant TransmissionsTotal number of transmissions required to transfer a single packet to all
group members (FRM header size = 100 bytes) Ideal Mcast – precisely 1 packet
is transmitted along each edge
Per-AS Unicast – source unicasts to each members AS individually
For all group sizes, the overall bandwidth consumed by FRM is close to that of Ideal Mcast (within 2.4%).
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
1000 10000 100000 1M 10M
Group Size
Nu
mb
er o
f p
acke
t tr
ansm
issi
on
s
Per-AS Unicast FRM Ideal Mcast
![Page 67: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/67.jpg)
FRM Overhead – Redundant TransmissionsNumber of transmissions per AS-level link required to transfer a single
packet to all group members (FRM header size = 100 bytes)
Per-AS Unicast with 10M users:• 6% of links see redundant transmissions.• Worst case: 6950 transmissions per link.
FRM with 10M users:• Less than 0.5% of links see redundant transmissions.• Worst case: 157 transmissions per link• Worst case with optimization (see paper): 2 transmissions per link
![Page 68: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/68.jpg)
Encoding Group Membership State Simple enumeration is hard to scale.
Border routers encode the set of locally active groups using a constant-size Bloom filter (GRP_BF) of length L.
{G1, G2, G3, G4, …} 011011011010…
GRP_BFK hash functions
BGP speakers communicate their GRP_BF state as part of their regular route advertisements (BGP UPDATE message) using a new path attribute.
![Page 69: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/69.jpg)
Encoding Group Membership State Use of Bloom filters introduces possibility of false
positives – a domain may on occasion receive traffic for a group it has no interest in.
To deal with unwanted traffic, recipient domain can install an explicit filter rule at the upstream provider’s network.
For a given number of available upstream filters f, the recipient computes the maximum tolerable false positive rate r and chooses its filter length L accordingly.
r = Min(1, f / (A – G))A = size of the group address spaceG = number of groups to be encoded
![Page 70: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/70.jpg)
Summary Free Riding Multicast is a very different approach to inter-domain multicast routing
FRM makes use of existing unicast routing infrastructure for group membership discovery and route construction
Reduce protocol complexity via aggressive use of router resources
Might be interesting to consider the viability of this approach in broader context
![Page 71: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/71.jpg)
Group Membership Bandwidth Overhead For GRP_BFs with 5 hash functions and bit
positions represented by 24-bit values, the payload of a membership update message for a single group join/leave event is approx. 15 bytes.
Assuming 200000 prefixes in the BGP RIB and 1 group membership event per second per prefix, the aggregate rate of incoming GRP_BF update traffic at a border router is approx. 3MBps.
![Page 72: Free Riding Multicast](https://reader035.vdocument.in/reader035/viewer/2022062500/56815196550346895dbfcc56/html5/thumbnails/72.jpg)
Why IP Multicast? Technical feasibility aside, now might be a good time
to revisit the desirability question Multicast applications now more widespread
IP-TV, MMORPG, digital conferencing Better understanding of ISP requirements
Bottom line: simple multicast design might open the door to more widespread adoption