Multicast Shivkumar Kalyanaraman [email protected] http://www.ecse.rpi.edu/Homepages/shivkuma Adapted in part from Srini Seshan’s (CMU) and Ion Stoica (UCB) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Overview Why multicast ? Multicast apps ... (cid:137) Concepts: groups, scopes, trees (cid:137) Multicast addresses, LAN multicast (cid:137) Group management: IGMP (cid:137) Multicast routing and forwarding: MBONE, PIM (cid:137) Reliable Multicast Transport Protocols (cid:137) Multicast Congestion Control (cid:137) Deployment issues, Source-Specific Multicast (SSM), (cid:137) Application-level Multicast Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 2 Multicast = Efficient Data Distribution Src Src Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 3 Why Multicast ? Need for efficient one-to-many delivery of same data (cid:137) Applications: (cid:137) News/sports/stock/weather updates (cid:137) Distance learning (cid:137) Configuration, routing updates, service location (cid:137) Pointcast-type “push” apps (cid:137) Teleconferencing (audio, video, shared whiteboard, (cid:137) text editor) Distributed interactive gaming or simulations (cid:137) Email distribution lists (cid:137) Content distribution; Software distribution (cid:137) Web-cache updates (cid:137) Database replication (cid:137) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 4 Why Not Broadcast or Unicast? Broadcast: (cid:137) Send a copy to every machine on the net (cid:137) Simple, but inefficient (cid:137) All nodes must process packet even if they don’t care (cid:137) Wastes more CPU cycles of slower machines (cid:137) (“broadcast radiation”) Network loops lead to “broadcast storms” (cid:137) Replicated Unicast: (cid:137) Sender sends a copy to each receiver in turn (cid:137) Receivers need to register or sender must be pre- (cid:137) configured Sender is focal point of all control traffic (cid:137) Reliability => per-receiver state, separate (cid:137) sessions/processes at sender Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 5 Why IP multicast ? Application-layer relays: (cid:137) A “relay” node or set of nodes does the replicated (cid:137) unicast function instead of the source Multiple relays can handle “groups” of receivers (cid:137) and reduce number of packets per multicast => efficiency Manager has to manually configure names of (cid:137) receivers in relays etc App-level topology may be sub-optimal (cid:137) But bandwidth is becoming cheaper (cid:137) Becoming more popular in content distribution (cid:137) IP Multicast: replication/multicast engine at the (cid:137) network layer Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 6 Multicast Apps Characteristics Number of (simultaneous) senders to the group (cid:137) The size of the groups (cid:137) Number of members (receivers) (cid:137) Geographic extent or scope (cid:137) Diameter of the group measured in router hops (cid:137) The longevity of the group (cid:137) Number of aggregate packets/second (cid:137) The peak/average used by source (cid:137) Level of human interactivity (cid:137) Lecture mode vs interactive (cid:137) Data-only (eg database replication) vs multimedia (cid:137) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 7 IP Multicast Architecture SSeerrvviiccee mmooddeell Hosts Host-to-router protocol (IGMP) Routers Multicast routing protocols (various) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 8 IP Multicast model: RFC 1112 Message sent to multicast “group” (of receivers) (cid:137) Senders need not be group members (cid:137) A group identified by a single “group address” (cid:137) Use “group address” instead of destination (cid:137) address in IP packet sent to group Groups can have any size; (cid:137) Group members can be located anywhere on (cid:137) the Internet Group membership is not explicitly known (cid:137) Receivers can join/leave at will (cid:137) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 9 IP Multicast Concepts (Continued) Packets are not duplicated or delivered to (cid:137) destinations outside the group Distribution tree constructed for delivery of (cid:137) packets Packets forwarded “away” from the source (cid:137) No more than one copy of packet appears on (cid:137) any subnet Packets delivered only to “interested” receivers (cid:137) => multicast delivery tree changes dynamically Network has to actively discover paths between (cid:137) senders and receivers Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 10
Description: