1 / 61

Free Riding Multicast

Free Riding Multicast. Sylvia Ratnasamy (Intel Research) Andrey Ermolinskiy (U.C. Berkeley) Scott Shenker (U.C. Berkeley and ICSI) ACM SIGCOMM 2006. IP Multicast. Extensively researched, limited deployment Some intra-domain/enterprise usage Virtually no inter-domain deployment

payton
Download Presentation

Free Riding Multicast

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Free Riding Multicast Sylvia Ratnasamy (Intel Research) Andrey Ermolinskiy (U.C. Berkeley) Scott Shenker (U.C. Berkeley andICSI) ACM SIGCOMM 2006

  2. IP Multicast • Extensively researched, limited deployment • Some intra-domain/enterprise usage • Virtually no inter-domain deployment • Why? • Poor match with underlying economics? • Too complex? • PIM-SM, PIM-DM, MBGP, MSDP, BGMP, IGMP, etc. • FRM goal: make inter-domain multicast simple

  3. 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

  4. Talk Outline • Free Riding Multicast (FRM) • Approach overview • Overhead evaluation • Design tradeoffs • Implementation

  5. FRM Approach • Group membership discovery • Extension to BGP - augment route advertisements with group membership information

  6. 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

  7. Group Membership Discovery • Augment BGP with per-prefix group membership information AS X AS Y a.b.*.* c.d.e.* AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V

  8. Group Membership Discovery • Augment BGP with per-prefix group membership information AS X AS Y a.b.*.* c.d.e.* AS P AS Z T AS • Domain X joins G1 h.i.*.* f.g.*.* AS Q AS R AS V

  9. a.b*.* {G1} Group Membership Discovery • Augment BGP with per-prefix group membership information AS X AS Y a.b.*.* c.d.e.* AS P AS Z T AS • Domain X joins G1 h.i.*.* f.g.*.* AS Q AS R • Border router at X re-advertises its prefix, attaches encoding of active groups AS V BGP UPDATE Dest AS Path FRM group membership a.b.*.* X {G1}

  10. a.b*.* {G1} Group Membership Discovery • BGP disseminates membership change AS X AS Y a.b.*.* c.d.e.* • Border routers maintain membership info. as part of per-prefix state in BGP RIB AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V

  11. a.b*.* {G1} Group Membership Discovery • BGP disseminates membership change AS X AS Y a.b.*.* c.d.e.* • Border routers maintain membership info. as part of per-prefix state in BGP RIB AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V

  12. a.b*.* a.b*.* a.b*.* a.b*.* {G1} {G1} {G1} {G1} Group Membership Discovery • BGP disseminates membership change AS X AS Y a.b.*.* c.d.e.* • Border routers maintain membership info. as part of per-prefix state in BGP RIB AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V

  13. a.b*.* a.b*.* a.b*.* a.b*.* a.b*.* a.b*.* a.b*.* a.b*.* {G1} {G1} {G1} {G1} {G1} {G1} {G1} {G1} Group Membership Discovery • BGP disseminates membership change AS X AS Y a.b.*.* c.d.e.* • Border routers maintain membership info. as part of per-prefix state in BGP RIB AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V

  14. a.b*.* {G1} Group Membership Discovery • BGP disseminates membership change AS X AS Y a.b.*.* c.d.e.* • Border routers maintain membership info. as part of per-prefix state in BGP RIB AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V

  15. Group Membership Discovery • Domains Y and Z join G1 AS X AS Y a.b.*.* c.d.e.* AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS AS V V

  16. c.d.e.* f.g.*.* {G1} {G1} Group Membership Discovery • Domains Y and Z join G1 AS X AS Y a.b.*.* c.d.e.* AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V

  17. c.d.e.* f.g.*.* {G1} {G1} Group Membership Discovery • Domains Y and Z join G1 AS X AS Y a.b.*.* c.d.e.* AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V

  18. Packet Forwarding AS X AS Y a.b.*.* c.d.e.* AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R AS V Domain V: Send(G1, Pkt)

  19. Packet Forwarding Dissemination tree AS X AS Y a.b.*.* c.d.e.* AS P AS Z T AS h.i.*.* f.g.*.* AS Q AS R {G1 } Lookup AS V Domain V: Send(G1, Pkt)

  20. Packet Forwarding Dissemination tree AS X AS Y a.b.*.* c.d.e.* V AS P Q AS Z T AS P h.i.*.* f.g.*.* AS Q AS R X {G1 } Lookup AS V Domain V: Send(G1, Pkt)

  21. Packet Forwarding Dissemination tree AS X AS Y a.b.*.* c.d.e.* V AS P Q AS Z T AS P h.i.*.* f.g.*.* AS Q AS R X Y {G1 } Lookup AS V Domain V: Send(G1, Pkt)

  22. Packet Forwarding Dissemination tree AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y {G1 } Lookup AS V Domain V: Send(G1, Pkt)

  23. Packet Forwarding Dissemination tree AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y {G1 } Lookup AS V Domain V: Send(G1, Pkt)

  24. G1 G1 SubtreeQ SubtreeR Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y SubtreeQ SubtreeR AS V Domain V: Send(G1, Pkt) • V forwards packet to its children on the tree, attaches encoding the subtree in a “shim” header

  25. G1 G1 SubtreeR SubtreeQ Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y AS V Domain V: Send(G1, Pkt) • V forwards packet to its children on the tree, attaches encoding the subtree in a “shim” header

  26. G1 G1 SubtreeQ SubtreeR Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y AS V • Transit routers inspect FRM header, forward packet to their children on the tree Domain V: Send(G1, Pkt)

  27. G1 G1 SubtreeQ SubtreeR Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* No AS Q AS R X Y AS V • Transit routers inspect FRM header, forward packet to their children on the tree Domain V: Send(G1, Pkt)

  28. G1 G1 SubtreeR SubtreeQ Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y No AS V • Transit routers inspect FRM header, forward packet to their children on the tree Domain V: Send(G1, Pkt)

  29. G1 G1 SubtreeR SubtreeQ Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R Yes AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y AS V • Transit routers inspect FRM header, forward packet to their children on the tree Domain V: Send(G1, Pkt)

  30. G1 G1 G1 SubtreeR SubtreeQ TREE_BFQ Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y AS V • Transit routers inspect FRM header, forward packet to their children on the tree Domain V: Send(G1, Pkt)

  31. G1 SubtreeR Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y AS V • Transit routers inspect FRM header, forward packet to their children on the tree Domain V: Send(G1, Pkt)

  32. G1 SubtreeR Packet Forwarding AS X AS Y a.b.*.* c.d.e.* V AS P Q R AS Z T AS P Z h.i.*.* f.g.*.* AS Q AS R X Y AS V • Transit routers inspect FRM header, forward packet to their children on the tree Domain V: Send(G1, Pkt)

  33. FRM Details • Encoding group membership • 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

  34. Talk Outline • Free Riding Multicast (FRM) • Approach overview • Overhead evaluation • Router storage requirements • Forwarding bandwidth overhead (in paper) • Design tradeoffs • Implementation

  35. FRM Overhead – Router Storage AS X AS Y a.b.*.* c.d.e.* AS P Transit router AS Z T AS Transit forwarding state (per-neighbor, line card memory) h.i.*.* f.g.*.* AS Q AS R AS V Origin border router 1. Source forwarding state (per-group, line card memory) 2. Group membership state(per-prefix, BGP RIB)

  36. FRM Overhead – Router Storage AS X AS Y a.b.*.* c.d.e.* AS P Transit router AS Z T AS Transit forwarding state (per-neighbor, line card memory) h.i.*.* f.g.*.* AS Q AS R AS V Origin border router 1. Source forwarding state (per-group, line card memory) 2. Group membership state(per-prefix, BGP RIB)

  37. Forwarding State (Source Border Router) • 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) 256 MB of line card memory enables fast-path forwarding for ~200000 active groups

  38. FRM Overhead – Router Storage AS X AS Y a.b.*.* c.d.e.* AS P Transit router AS Z T AS Transit forwarding state (per-neighbor, line card memory) h.i.*.* f.g.*.* AS Q AS R AS V Origin border router 1. Source forwarding state (per-group, line card memory) 2. Group membership state(per-prefix, BGP RIB)

  39. Group Membership State Requirements • Total of A multicast groups • Domains of prefix length phave 232-pusers • 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~3GBof route processor memory (not on the fast path)

  40. FRM Overhead – Router Storage AS X AS Y a.b.*.* c.d.e.* AS P Transit router AS Z T AS Transit forwarding state (per-neighbor, line card memory) h.i.*.* f.g.*.* AS Q AS R AS V Origin border router 1. Source forwarding state (per-group, line card memory) 2. Group membership state(per-prefix, BGP RIB)

  41. 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 P T AS ? ? AS Q ? AS V

  42. Talk Outline • Free Riding Multicast (FRM) • Approach overview • Overhead evaluation • Design tradeoffs • Implementation

  43. 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)

  44. 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 • Avoid rendezvous point selection

  45. 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 • 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].

  46. FRM Design Tradeoffs

  47. FRM Design Tradeoffs • Group membership state maintenance • Membership information disseminated more widely

  48. 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

  49. 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 • New packet forwarding techniques • Full scan of the BGP RIB at source border router • Bloom filter lookups at transit routers • Group membership state maintenance • Membership information disseminated more widely

  50. 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)

More Related