UCB Multicasting Jean Walrand EECS
UCB Outline Definitions Broadcast, Multicast, Anycast Examples ARP, ICMP, Group Flooding Routing Multicast Tree of shortest paths; shortest tree Multicast Backbone Overlay Join Groups Soft State Reliable Multicast Nacks, Aggregation Multilayer Multicast
UCB Definitions Broadcast One to all Multicast One to all members of a group Anycast One to any member of a group
UCB Examples ARP: Broadcast to LAN (Note: VLANs) 11…11 = “broadcast” address on Ethernet ICMP: Routers broadcast their link states in OSPF Group: Multicast of seminar to “subscribers” Class-D IP addresses = group addresses
UCB Flooding Send on all other ports: Remember seen packets, or Mark route on packets BC A [1] {1} [1] BC A [1; A] [1; A, C][1; A, B]
UCB Routing Multicast Simplest: Tree of shortest paths Example S D1 D2
UCB Routing Multicast (continued) Optimal: Shortest tree Example S D1 D2
UCB Routing Multicast (continued) Comparison: S D1 D S D1 D2 Tree of shortest paths Sum of lengths = 9 Shortest tree Sum of lengths = 8
UCB Routing Multicast (continued) RPB: Reverse Path Broadcast Router R sends packet received from A if A is on the shortest path from R to S S D1 D2 R Link AR A
UCB Routing Multicast (continued) RPM: Reverse Path Multicast RPB + Prune back if no member of Mcast group S D1 D2 P R Link RP G Not G Prune
UCB Join G G Routing Multicast (continued) PIM-Dense Mode RPR + Prune + Graft (+ periodic RPR + Prune) S D1 D2 Prune Graft
UCB Routing Multicast (continued) PIM-Sparse Mode Periodic Join/Prune Messages from DR to RP Assumption: Relatively few group members
UCB Reliable Multicast (continued) ACKs do not scale NACKs may implode => NACK aggregation
UCB Reliable Multicast (continued) ACKs do not scale NACKs may implode => NACK aggregation
UCB Reliable Multicast (continued) ACKs do not scale NACKs may implode => NACK aggregation NACK2 [Remember for T seconds]
UCB Reliable Multicast (continued) Other idea: Designated Receivers NACK n [n] Source DR
UCB Multilayer Multicast Different channel bandwidths => Multiple Layers Source Layer 1 Layer 2 Random “join” experiments