Page 1Peter A. Steenkiste, SCS, CMU1Lecture 15IP MulticastPeter SteenkisteSchool of Computer ScienceCarnegie Mellon University15-441 Networking, Spring 2004http://www.cs.cmu.edu/~prs/15-441Peter A. Steenkiste, SCS, CMU2Group Communication Applicationsz Broadcast audio/videoz Software distributionz Web-cache updates z Teleconferencing (audio, video, shared whiteboard, text editor)z Multi-player gamesz Server/service locationz Other distributed applicationsPage 2Peter A. Steenkiste, SCS, CMU3How To Support One-to-Many Communication?z Sender sends the message repeatedly.» Wasteful in network resourceszServer-based multicast.» Server can also perform application-specific functionszIP-multicast.» Multicast is done by the router as an IP-level functionzOverlay-multicast.» Multicast is performed by a group of hosts or serversPeter A. Steenkiste, SCS, CMU4Multicast – Efficient Data DistributionSrc SrcPage 3Peter A. Steenkiste, SCS, CMU5Overviewz IP multicast service basicsz Multicast routingz Multicast transportz Overlay multicastPeter A. Steenkiste, SCS, CMU6IP Multicast ArchitectureHostsRoutersService modelHost-to-router protocol(IGMP)Multicast routing protocols(various)Page 4Peter A. Steenkiste, SCS, CMU7IP Multicast Service Model (rfc1112)z Each group identified by a single IP addressz Groups may be of any sizez Members of groups may be located anywhere in the Internetz Members of groups can join and leave at willz Senders need not be membersz Group membership not known explicitly z Analogy:» Each multicast address is like a radio frequency, on which anyone can transmit, and to which anyone can tune-in.Peter A. Steenkiste, SCS, CMU8IP Multicast Addressesz Class D IP addresses» 224.0.0.0 – 239.255.255.255z How to allocated these addresses?» Well-known multicast addresses, assigned by IANA» Transient multicast addresses, assigned and reclaimed dynamically, e.g., by “sdr” program1110 Group IDPage 5Peter A. Steenkiste, SCS, CMU9IP Multicast Servicez Sending – same as beforez Receiving – two new operations» Join-IP-Multicast-Group(group-address, interface)» Leave-IP-Multicast-Group(group-address, interface)» Receive multicast packets for joined groups via normal IP-Receive operationPeter A. Steenkiste, SCS, CMU10Multicast Scope Control – Small TTLsz TTL expanding-ring search to reach or find a nearby subset of a groups123Page 6Peter A. Steenkiste, SCS, CMU11Multicast Scope Control – Large TTLsz Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy or resource reasonsAn administrative domainTTL threshold set oninterfaces to these links,greater than the diameterof the admin. domainThe rest of the InternetPeter A. Steenkiste, SCS, CMU12Overviewz IP multicast service basicsz Multicast routingz Multicast transportz Overlay multicastPage 7Peter A. Steenkiste, SCS, CMU13Multicast Router Responsibilitiesz Learn of the existence of multicast groups (through advertisement)z Identify links with group membersz Establish state to route packets» Replicate packets on appropriate interfaces» Routing entry:Src, incoming interface List of outgoing interfacesSrcPeter A. Steenkiste, SCS, CMU14IP Multicast ArchitectureHostsRoutersService modelHost-to-router protocol(IGMP)Multicast routing protocols(various)Page 8Peter A. Steenkiste, SCS, CMU15Internet Group Management Protocolz End system to router protocol is IGMPz Each host keeps track of which multicast groups its applications are subscribed to» Socket API informs IGMP process of all joinszObjective is to keep router up-to-date with group membership of entire LAN» Routers need not know who all the members are, only that members existPeter A. Steenkiste, SCS, CMU16How IGMP Worksz On each link, one router is elected the “querier”z Querier periodically sends a Membership Query message to the all-systems group (224.0.0.1), with TTL = 1z On receipt, hosts start random timers (between 0 and 10 seconds)for each multicast group to which they belong QRouters:Hosts:Page 9Peter A. Steenkiste, SCS, CMU17How IGMP Works (cont.)z When a host’s timer for group G expires, it sends a Membership Report to group G, with TTL = 1z Other members of G hear the report and stop their timersz Routers hear all reports, and time out non-responding groupsQG G G GRouters:Hosts:Peter A. Steenkiste, SCS, CMU18How IGMP Works (cont.)z Note that, in normal case, only one report message per group present is sent in response to a queryz Query interval is typically 60-90 secondsz When a host first joins a group, it sends one or two immediate reports, instead of waiting for a queryPage 10Peter A. Steenkiste, SCS, CMU19IP Multicast ArchitectureHostsRoutersService modelHost-to-router protocol(IGMP)Multicast routing protocols(various)Peter A. Steenkiste, SCS, CMU20Multicast Routingz Basic objective – build distribution tree for multicast packetsz Multicast service model makes it hard» Anonymity» Dynamic join/leavePage 11Peter A. Steenkiste, SCS, CMU21Routing Techniquesz Flood and prune» Begin by flooding traffic to entire network» Prune branches with no receivers» Examples: DVMRP, PIM-DM» Unwanted state where there are no receiversz Link-state multicast protocols» Routers advertise groups for which they have receivers to entirenetwork» Compute trees on demand» Example: MOSPF» Unwanted state where there are no sendersPeter A. Steenkiste, SCS, CMU22Source-based TreesRouterSourceReceiverSRRRRRSSPage 12Peter A. Steenkiste, SCS, CMU23Distance-Vector Multicast Routingz DVMRP consists of two major components:» A conventional distance-vector routing protocol (like RIP) » A protocol for determining how to forward multicast packets, based on the routing tablezDVMRP router forwards a packet if» The packet arrived from the link used to reach the source of the packet (reverse path forwarding check – RPF)» If downstream links have not pruned the treePeter A. Steenkiste, SCS, CMU24Example TopologyG GSGPage 13Peter A. Steenkiste, SCS, CMU25Broadcast with TruncationG GSGPeter A. Steenkiste, SCS, CMU26PruneG GSPrune (s,g)Prune (s,g)GPage 14Peter A. Steenkiste, SCS, CMU27Graft (s,g)Graft (s,g)GraftG GSGGReport (g)Peter A. Steenkiste, SCS, CMU28Steady StateG GSGGPage 15Peter A. Steenkiste, SCS, CMU29Overviewz IP multicast service basicsz Multicast routingz Multicast transportz Overlay multicastPeter A. Steenkiste, SCS, CMU30R1ImplosionSR3 R4R221R1SR3 R4R2Packet 1 is lost All 4 receivers request a resendResend
View Full Document