CS 6390 Advanced Computer NetworksMotivationMulticast semanticsFundamentalsSlide 5Slide 6Slide 7Slide 8Slide 9PowerPoint PresentationSlide 11Slide 12IGMPMulticast RoutingRouting approachesTypes of forwarding treesSlide 17CS 6390Advanced Computer NetworksIP Multicast - FundamentalsMotivationOriginal IP service model: one-to-one data deliveryOne sender sending its data to one receiver at a timeApps with multi-receiver semanticsAudio/video conferencing, news dissemination, Internet TV, etc.Unicast not designed to efficiently support multi-receiver appsSolutionMulticast support for IPTwo versions of IP MulticastAny Source Multicast (ASM) – original service modelSingle Source Multicast (SSM) – proposed later onAlso called as Source Specific Multicast (SSM)Multicast semanticsOpen group semanticZero or more receivers form a multicast group – host groupHosts can join/leave at will – no registration/synchronizationA group is represented by a class D IP address (more later)Anyone knowing group address can send to it (open group)This has been modified later on in SSM (more later)IP based best effort delivery semanticsMulticast supports UDP only – no TCP !AdvsSources do not need to know individual receiversReceivers simply join the group and receive dataDisadvsDifficult to protect from unauthorized senders/receiversFundamentalsBasic host modelHostsSend and receive multicast data with no/minimum extra effortWhen sending data, normal IP-Send operationWhen receiving data, tell your router what group you are interested injoin/leave a multicast group (start/stop receiving data from source(s) sending to the group)Basic router modelRoutersHave the task of connecting multicast sources to multicast receiversPrepared to receive data from all multicast group addressesKnow when to forward or drop packetsKeep track of interfaces leading to receiversFundamentalsMulticast group addressesClass D IP addresses (224.0.0.0 – 239.255.255.255)Implicit scoping224.0.0.0 – 224.0.0.255: link scoped 224.0.1.0 – 238.255.255.255: global scoped239.0.0.0 – 239.255.255.255: admin scopedExplicit scopingUse TTL value for scopingUse TTL thresholds at routers for scopingHow to do actual delivery to a receiver host?Map IP multicast address to an Ethernet multicast addressReceiver NIC is configured to receive packets destined to this Ethernet addressFundamentalsMapping an IP address to an Ethernet addressClass D IP address11105 bitsnot usedLow-order 23 bits of multicastGroup address copied to Ethernet address48-bit Ethernet address0000000100000000010111100FundamentalsMulticast packet formatSource IP is unicast IP address corr to source of the packetDestination IP is multicast group addressIn general, we show this (Source IP, Dest IP) couple as(S,G) where S is source IP, G is dest. IP (multicast group addr)How data is forwarded to multiple receivers?Routers in the network build forwarding trees connecting sources and receiversOn-tree routers keep multicast forwarding states for each groupSource data propagates on this tree toward the receiversFundamentalsMulticast forwarding statesUsed to determine how a multicast packet will be forwardedConsists of several elements:source address - Sgroup address - Gincoming interface - iifoutgoing interface list – oif listvarious timers (needed to deal with aging entries out of the forwarding table)flags (needed later for PIM-SM)Created, modified, and deleted dynamicallyCreated when receivers join a multicast group and/or when sources send packets addressed to the group.Deleted after receivers leave a multicast group or senders stop sending packets addressed to the group.Every forwarding state has a fixed lifetime – needs refreshingFundamentalsoif list maintenanceEvery outgoing interface in a forwarding state has a fixed lifetimeWhen lifetime expires for an interface, it is removed from oifWhen oif is empty, the overall forwarding state (may) expire and removed from the forwarding tableCertain events can reset the timerBig pictureCreate multicast forwarding trees connecting sources and receivers so that receivers get source data sent to the multicast groupThree componentsHost to router communicationIntra-domain routingInter-domain routingIP Multicast Architectureapplication APIhost-to-router (IGMP)intra-domain routinginter-domain routinghostsroutersDomain ADomain BApplication APIroutersIntra-domainInter-domainHost-to-routerAt multicast receiver:Application API has socket options:IP_ADD_MEMBERSHIPIP_DROP_MEMBERSHIPAt multicast source: ???ApplicationOSHost-to-RouterhostsroutersIntra-domainInter-domainHost-to-routerInternet Group Management ProtocolKernel informs router that an application wants to join a specificgroup GIGMPUsed by hosts to indicate their interest in receiving packets addressed to a particular multicast group G.IGMPv1 (RFC 1112)RoutersGeneral Membership QueryHostsMembership ReportsUnsolicited Group Membership ReportsIGMPv2 (RFC 2236) Added explicit Leave Group and Group Specific Membership Query messagesIGMPv3 (RFC 3376) Added source filtering capabilitiesIGMP messages aren’t forwarded by routersThis is for the ones defined in above RFCsMulticast RoutingBuilding forwarding trees between sources and receiversHard due to the open service modelSources do not know who/where the receiversReceivers may not know (in advance) who/where the sourcesRouting approachesFlood and pruneBegin by flooding traffic to entire networkPrune branches with no receiversExamples: DVMRP, PIM-DMDisadv: unwanted state where there are no receiversCore based protocolsSpecify a meeting place or coreSources send their packets to coreReceivers join group at coreRequires mapping between group addresses and coresExamples: CBT, PIM-SMLink-state multicast protocolsRouters advertise groups for-which-they-have-receivers to entire networkCompute trees on demandExample: MOSPFDisadv: unwanted state where there are no sendersTypes of forwarding treesShared treesSingle tree shared by all members (sources)Data flows on the same tree regardless of the senderExample: CBT, PIM-SM+s: less states at routers-s: higher delay, traffic
View Full Document