15-441 Computer NetworkingMulticast RoutingOverviewMulticast – Efficient Data DistributionExample ApplicationsIP Multicast ArchitectureLogical NamingMulticast Router ResponsibilitiesIP Multicast Service Model (rfc1112)IP Multicast AddressesIP Multicast APIMulticast Scope Control – Small TTLsMulticast Scope Control – Large TTLsSlide 14Slide 15Internet Group Management ProtocolHow IGMP WorksHow IGMP Works (cont.)Slide 19Slide 20Slide 21Routing TechniquesSlide 23Shared vs. Source-based TreesSource-based TreesShared TreeShared vs. Source-Based TreesSlide 28Multicast OSPF (MOSPF)ExampleLink Failure/Topology ChangeMembership ChangeImpact on Route ComputationDistance-Vector Multicast RoutingExample TopologyBroadcast with TruncationPruneGraftSteady StateSlide 40Failure of IP MulticastSupporting Multicast on the InternetIP MulticastEnd System MulticastPotential Benefits Over IP MulticastConcerns with End System MulticastImportant ConceptsNext Lecture: DNSEXTRA SLIDES15-441 Computer NetworkingLecture 12 – MulticastLecture 12: 02-17-2005 2Multicast Routing•Unicast: one source to one destination•Multicast: one source to many destinations•Main goal: efficient data distributionLecture 12: 02-17-2005 3Overview•IP Multicast Service Basics•Host/Router Interaction•Multicast Routing Basics•MOSPF/DVMRP•Overlay MulticastLecture 12: 02-17-2005 4Multicast – Efficient Data DistributionSrc SrcLecture 12: 02-17-2005 5Example Applications•Broadcast audio/video•Push-based systems•Software distribution•Web-cache updates •Teleconferencing (audio, video, shared whiteboard, text editor)•Multi-player games•Server/service location•Other distributed applicationsLecture 12: 02-17-2005 6IP Multicast ArchitectureHostsRoutersService modelHost-to-router protocol(IGMP)Multicast routing protocols(various)Lecture 12: 02-17-2005 7Logical Naming•Single name/address maps to logically related set of destinations•Destination set = multicast group •Key challenge: scalability•Single name/address independent of group growth or changesLecture 12: 02-17-2005 8Multicast Router Responsibilities•Learn of the existence of multicast groups (through advertisement)•Identify links with group members•Establish state to route packets•Replicate packets on appropriate interfaces•Routing entry:Src, incoming interface List of outgoing interfacesLecture 12: 02-17-2005 9IP Multicast Service Model (rfc1112)•Each group identified by a single IP address•Groups may be of any size•Members of groups may be located anywhere in the Internet•Members of groups can join and leave at will•Senders need not be members•Group membership not known explicitly •Analogy:•Each multicast address is like a radio frequency, on which anyone can transmit, and to which anyone can tune-in.Lecture 12: 02-17-2005 10IP Multicast Addresses•Class D IP addresses•224.0.0.0 – 239.255.255.255•How to allocated these addresses?•Well-known multicast addresses, assigned by IANA•Transient multicast addresses, assigned and reclaimed dynamically, e.g., by “sdr” program1 1 1 0 Group IDLecture 12: 02-17-2005 11IP Multicast API•Sending – same as before•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 operation•Implemented using socket optionsLecture 12: 02-17-2005 12Multicast Scope Control – Small TTLs•TTL expanding-ring search to reach or find a nearby subset of a groups123Lecture 12: 02-17-2005 13Multicast Scope Control – Large TTLs•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 InternetLecture 12: 02-17-2005 14Overview•IP Multicast Service Basics•Host/Router Interaction•Multicast Routing Basics•MOSPF/DVMRP•Overlay MulticastLecture 12: 02-17-2005 15IP Multicast ArchitectureHostsRoutersService modelHost-to-router protocol(IGMP)Multicast routing protocols(various)Lecture 12: 02-17-2005 16Internet Group Management Protocol•End system to router protocol is IGMP•Each host keeps track of which mcast groups are subscribed to•Socket API informs IGMP process of all joins•Objective 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 existLecture 12: 02-17-2005 17How IGMP Works•On each link, one router is elected the “querier”•Querier periodically sends a Membership Query message to the all-systems group (224.0.0.1), with TTL = 1•On receipt, hosts start random timers (between 0 and 10 seconds) for each multicast group to which they belong QRouters:Hosts:Lecture 12: 02-17-2005 18How IGMP Works (cont.)•When a host’s timer for group G expires, it sends a Membership Report to group G, with TTL = 1•Other members of G hear the report and stop their timers•Routers hear all reports, and time out non-responding groupsQG G G GRouters:Hosts:Lecture 12: 02-17-2005 19How IGMP Works (cont.)•Note that, in normal case, only one report message per group present is sent in response to a query• Power of randomization + suppression•Query interval is typically 60-90 seconds•When a host first joins a group, it sends one or two immediate reports, instead of waiting for a queryLecture 12: 02-17-2005 20Overview•IP Multicast Service Basics•Host/Router Interaction•Multicast Routing Basics•MOSPF/DVMRP•Overlay MulticastLecture 12: 02-17-2005 21IP Multicast ArchitectureHostsRoutersService modelHost-to-router protocol(IGMP)Multicast routing protocols(various)Lecture 12: 02-17-2005 22Routing Techniques•Basic objective – build distribution tree for multicast packets•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 receivers•Link-state multicast protocols•Routers advertise groups for which they have receivers to entire network•Compute trees on demand•Example: MOSPF•Unwanted state where there are no sendersLecture 12: 02-17-2005 23Routing Techniques•Core based protocols•Specify “meeting place” aka core•Sources send initial packets to core•Receivers join group at core•Requires mapping between
View Full Document