Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50IP MulticastFang YanCSEE, UMBC10/14/04topicsBasics of multicastingMBoneIPv4 routing protocols6boneWhat is multicastingApplication level one to many communication.A single packet is addressed to all intended recipients—host groupThe network replicates packets only as needed—when paths diverge at a routerWhy MulticastingIt is efficientbetter bandwidth utilizationless host/router processingquicker participationMany applications send data to multiple receivers.Streaming multimediaContent delivery (meeting, lecture, speech…)Stock quotes, newsDatabase replicationSoftware distributionABCDEXYZFlow of data in multiple unicastingABCDEXYZFlow of data in multicastingBasic components of IP multicastingDefinition of a multicast host groupProtocols for establishing and controlling multicast groupsRouter infrastructure for distribution of multicast trafficApplication protocols and APIs that enable desktop computers and workstations to put multicasting to good usemulticast addressIPV4 4 28 bitsclass DFrom 224.0.0.0 to 239.255.255.255From 224.0.0.0 to 224.0.0.255 is reservedTotally 2^28-256=268 million addresses1110 Multicast Group IDReserved address examples224.0.0.1 all hosts224.0.0.1 all multicast routers224.0.0.4 DVMRP routers224.0.0.5 OSPF routers224.0.0.6 OSPF designated routers224.0.0.22 IGMP…multicast address (cont.)IPV6 8 4 4 112 bitsSupport 4millionbillionbillionbillion addressesFlagTransit/permanentScope1: node-local 2: link-local 5: site-local (set by administrators of routers at the site) 8: organization local (set by administrators of routers of the organization) 14: global 11111111 flags scope Multicast Group IDReady to go?Unfortunately, there is a problem…At the early 90’s, the majority of the routers on the Internet don't know how to handle multicasting. Most routers are set up to move traditional IP unicast packets.Router manufacturers have been reluctant to create equipment that can do multicasting until there is a proven need for such equipment. But, as you might expect, it's difficult for users to try out a technology until they have a way to use it. Without the right routers, there's no multicasting. Without multicasting, there won't be the right routers.Solution?MBone !MBone—a little bit historyStands for Multicast BackboneIn 1992, some bright fellows on the Internet Engineering Task Force (IETF) decided that no one would do in hardware, they could do in software.Many scientific conferences, scientific events, concerts were broadcast over MBone since then.In 1997, the first ISPs started rolling out commercial services utilizing multicasting on the Internet.MBone—architectureA virtual overlay network on top of the Internet.Consists of multicast-capable islands connected by tunnelsEach island (typically a LAN or group of interconnected LANs) supports hardware multicast to its hosts.Each island contains one or more special routers called mrouters (multicast routers)Mrouters are often workstations running multicast routing daemon (mrouted)mrouterLANMulticast islandABCDtunnelingA tunnel is a connection between two mrouters using "IP over IP". Tunnel parametersThreshold — The minimum TTL required for a packet to be forwarded across this tunnel Cost — A metric used to compute routing “distances”encapsulate MBone packets within IP packet and send as regular unicast packets to the destination mrouter’s IP addressversi on hdr l en servi ce typeflagsti me to l i vedatagram l engthi denti fi cati onf ragment off setprotocolheader checksumsource addressmul ti cast desti nati on addressappl i cati on dataOriginal packetversion hdr len service typeflagstime to liveversion hdr len service typeflagstime to livesource address=unicast address of router at beginning of tunneldestination address=unicast address of rounter at end of tunneldatagram lengthidentificationfragment offsetprotocol=4header checksumdetagram lengthidentificationfragment offsetprotocolheader checksumsource addressmulticast destination addressapplication dataEncapsulated packetTunnel configureTunnel is configured manuallyThe administrator of the new island sends a message announcing its existence to the MBone mailing list.The administrators of nearby sites then contact him to arrange to set up tunnels.Existing tunnels may be reshuffled to take advantage of the new island to optimize the topology.MBone (cont.)Initially used DVMRP routing algorithmMigrated toward PIM Uses UDP protocolProblemsScalabilityFlow controlCongestion controlFutureUniverse support of multicast?IGMPv1Stands for Internet Group Management ProtocolDescribed in RFC 1112.Manages multicast group membershipRuns between hosts and their immediate neighboring mrouterOnly two kinds of packets: query and reportPacket format 4 4 4 16 bitsversi on t ype unusedchecksumcl ass D mul t i cast group addressIGMPv1How to join a host groupMrouter initiatedPeriodically, mrouter sends out a Query packet to its island asking who is interested in which channel.Hosts wishing to (continue to) receive one or more channels send back Report packet.Each mrouter keeps a table of which channels it must put out into its LANReceiver initiatedWhen a host first joins a group, it immediately transmits Report message rather than waiting from the next Query from the mrouter.The request may need to be forwarded up to a router that’s already part of the host groupReduce join latencyMore IGMPIGMPv2Defined in RFC 2236Adds an explicit Leave message Routers can more easily determine when a group has no interested listeners on a LANIGMPv3Defined in RFC 3376Optimizes support for a single source of content for a multicast group (SSM)Backward compatibleIPv4 multicast routing protocolsDVMRP (Distance Vector Multicast Routing Protocol)MOSPF (Multicast Open Shortest Path First)PIM-DM (Protocol Independent Multicast, Dense Mode)PIM-SM (Protocol Independent Multicast, Sparse Mode)CBT (Core-Based
View Full Document