COMP/ELEC 429 Introduction to Computer Networks Multicast Routing Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
What applications do you think consume the most bandwidth in the Internet? T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Internet Traffic 1995-2010 Other Video Newsgroups Peer-to-peer DNS Telnet Email FTP Web http://www.reelseo.com/video-50-bandwidth-consumption/ T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
What would it take to run a live Internet TV station? Broadcast Center Backbone ISP A live Internet TV station would be 4Mbps/stream! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Terminologies What is “unicast”? What is “broadcast? Cast: to send, to throw Unicast: to send to a single receiver Point-to-point communication Nearly all wide-area Internet traffic is unicast Web traffic, Video, Music, BitTorrent, SSH, FTP,... What is “broadcast? Broadcast: to send everywhere (recall broadcast in local area Ethernet) What is “multicast”? In between unicast and broadcast Each packet is sent to multiple specific receivers Point-to-Multipoint communication Useful for: Internet TV/radio, stock price update, video conference …… T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
How to Send to Multiple Receivers? What are the simplest ways? 1: Send a copy of the packet to one receiver at a time until all receivers have it i.e. use unicast to implement multicast Doesn’t scale with respect to # receivers 2: Flood a packet throughout the network and have non-receivers discard the packet i.e. use broadcast to implement multicast Don’t scale with respect to network size 3: Use IP routers to construct a distribution tree a.k.a. IP multicast Many ways to construct tree 4: Peer-to-peer 5: Content Distribution “Network” (Akamai, Limelight, etc.) T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
IP Multicast Idea: Use IP routers in distribution tree Copy data at routers At most one copy of a data packet per link Broadcast Center Backbone ISP Routers compute trees and forward packets along them LANs use broadcasting Important: This is not the only way to solve the distirbution problem T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
IP Multicast Routing Approaches Kinds of Trees Source Specific Trees Most suitable for single sender E.g. Internet TV/radio, distance learning, stock quote Shared Tree Multiple senders in a group E.g. Teleconference, multiplayer games, distributed databases T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Source Specific Trees Each source is the root of its own tree One tree per source Tree can consists of shortest paths to each receiver 5 7 4 8 6 11 2 10 3 1 13 12 Members of the multicast tree Sender T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Source Specific Trees Each source is the root of its own tree One tree per source Tree can consists of shortest paths to each receiver 5 7 4 8 6 11 2 10 3 1 13 12 Lowest delay can be achieved but expensive to construct/maintain; routers need to manage a tree per source T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Shared Tree One tree used by all members in a group 5 7 4 8 6 11 2 10 3 1 13 12 Easier to construct/maintain but hard to pick a “good” tree for everyone! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Multicast Group Address IPv4 Multicast 28 1110 Multicast Group Address First octet: 224 - 239 Class D addresses These are group identifiers Not specific to an end host Flat address space In practice, pick a group address at random, hope no collision No security in the network layer Will use “G” to designate an IP multicast group address T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
IP Multicast Service Model [G, data] R0 joins G R1 joins G Rn-1 joins G R0 S R1 Net . Rn-1 Receivers join a multicast group which is identified by a multicast address (e.g. G) Sender(s) send data to address G Network routes data to each of the receivers T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
IP Multicast Implementation Issues How is join implemented? How is send implemented? How much information about trees is kept and who keeps it? T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
IP Multicast Routing Intra-domain Inter-domain Distance-vector multicast (DVMRP) Protocol-Independent Multicast – Sparse Mode (PIM-SM) Inter-domain Multicast Source Discovery Protocol (MSDP) T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Distance Vector Multicast Routing Protocol (DVMRP) An extension to DV routing Use shortest path DV routes to determine if link is on the source-rooted spanning tree Three steps in developing DVMRP Reverse Path Flooding Reverse Path Broadcasting Truncated Reverse Path Broadcasting T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Reverse Path Flooding (RPF) Extension to DV unicast routing Packet forwarding If incoming link is shortest path to source Send on all links except incoming Packets always take shortest path assuming delay is symmetric Issues Some links (LANs) may receive multiple copies Every link receives each multicast packet, even if no interested hosts e:3 c:2 d:3 a:1 b:2 r s name:hop count to s T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Example Flooding can cause a given packet to be sent multiple times over the same link Solution: Called “Reverse Path Broadcasting” S x y a duplicate packet z b T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Reverse Path Broadcasting (RPB) Choose parent of each link along reverse shortest path to source Only parent forward to a link (child link) Use DV routing update to identify parent Use the poison reverse DV entry! If no router is used as parent, then the router with the smallest address becomes parent of link S 5 6 x y forward only to child link a child link of x for S z b x y S 5 6 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Don’t Really Want to Flood! This is still a broadcast algorithm – the traffic goes everywhere Need to “Prune” the tree when there are subtrees with no group members Solution: Truncated Reverse Path Broadcasting T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Truncated Reverse Path Broadcasting (TRPB) Extend RPB to eliminate unneeded forwarding Explicit group joining Members periodically send “join” requests If another LAN member has joined (overheard join message), other members do not send join message Router with no member downstream is removed from tree Leaf router sends “prune” message to upstream router when no member Recur S r2 r1 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
DVMRP Scaling State requirements: O(Sources Groups) active state Source specific trees Flood and prune is disruptive if number of receivers is small T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
PIM-SM (No more flooding) Protocol-Independent Multicast – Sparse Mode Pick a router as the “rendezvous point” for the group Build a tree rooted at the RP Union of the unicast paths from members to the RP becomes shared tree To send, router receiving multicast packet from host tunnels multicast packet to RP, and RP sends it to multicast group Reduce routing table state from O(S x G) to O(G) No packet flooding Note: PIM-DM “Dense Mode” is similar to DVMRP T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
PIM-SM Example Group members M2, M3 sends group join (*, G) to RP M1 multicasts data Register msg RP M1 M2 M3 control (join) messages data T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
PIM-SM Optimization 1 RP sends source specific join (M1, G) to M1 Eliminates need for tunneling RP M1 M2 M3 control (join) messages data T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
PIM-SM Optimization 2 M2, M3 sends source specific join (M1, G) to M1 instead Previous tree paths to RP may expire Eliminates detour Justified if volume of data is large RP M1 M2 control (join) messages M3 data T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Disadvantages Potentially sub-optimal delay unless source specific tree optimization is performed Need good RP selection Optimal choice (computing topological center) is NP hard Single point of failure RP goes out and all packets could be lost until error recovery elects a new RP T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Inter-Domain Multicast Rendezvous Point TCP Connection Intra-Domain PIM Tree TCP Connection Intra-Domain PIM Tree Intra-Domain PIM Tree Construct multicast tree paths between domains on-demand T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Inter-Domain Multicast with Multicast Source Discovery Protocol (MSDP) T. S. Eugene Ng eugeneng at cs.rice.edu Rice University
Disadvantages with IP Multicast Complex Protocols Increase state in routers Needs universal router support Cannot incrementally deploy Poor security control Hard to multicast data reliably Hard to perform congestion control on multicast data Next time we’ll study end-to-end alternatives to IP multicast T. S. Eugene Ng eugeneng at cs.rice.edu Rice University