Multicast
Generatebackground
Generally,intraditionalnetworkcommunication,therearetwoways,oneisthe"one-to-one"betweenthesourcehostandthetargethost.Thecommunicationmethodisunicast.Thesecondisthecommunicationbetweenasourcehostandallotherhostsinthenetwork,whichisbroadcast.Then,ifyouneedtosendinformationfromthesourcehosttomultipletargethostsinthenetwork,eitherbroadcastisusedsothatallhostsinthenetworkwillreceivetheinformation,orunicastisusedtosendthesourcehosttodifferenttargethosts.sendMessage.Itcanbeseenthatinthebroadcastmode,informationwillbesenttohoststhatdonotneedtheinformation,thuswastingbandwidthresourcesandevencausingbroadcaststorms:whileinunicastmode,bandwidthresourceswillbewastedduetomultiplerepetitionsofdatapackets.Atthesametime,Theloadofthesourcehostwillincreaseduetomultipledataduplications.Therefore,unicastandbroadcasthavedisadvantagesformulticasting.
Inthiscase,theapplicationofmulticasttechnologywasborn.
Multicastisalsocalledmulti-targetbroadcastandmulticast.Atransmissionmethodusedinthenetworkthatallowsthesentmessagetobetransmittedtoaselectedsubsetofallpossibledestinations,thatis,toconveyinformationtoavarietyofaddressesthatareclearlyindicated.Itisamethodofcommunicationbetweenasenderandmultiplereceivers.Togetherwithanycastandunicast,multicastisalsoanIPv6packettransmissionmethod.MulticastcanalsobeusedinwirelessdatanetworksinCDPDtechnology.
InSeptember1985,SteveandhismentorproposedanextendedmodeltosupportIPmulticast,whichclarifiedtheconceptoftheInternetGroupManagementProtocol(IGMP).InDecember,StevesubmittedthisconcepttotheIETF,andafterupdatingthemulticastmodeltwice,theforwardingofdifferentnetworksegmentswasnotdefined.Thisworkhasbeenindependentlyusedasamulticastroutingtechnology.InAugust1989,RFC1112waswidelyacceptedastheIGMPv1specification,whichwasanimportantmilestoneinthedevelopmentofmulticast.
Traditionalmethod
MulticasttechnologyisoneofthethreemethodsofIPnetworkdatatransmission.BeforeintroducingIPmulticasttechnology,theunicastandmulticastofIPnetworkdatatransmissionMakeabriefintroductiontothebroadcastmethod.
Unicast
Apoint-to-pointnetworkconnectionisrealizedbetweenthesenderandeachreceiver.Ifasendertransmitsthesamedatatomultiplereceiversatthesametime,multiplecopiesofthesamedatapacketmustbecopiedaccordingly.Ifalargenumberofhostswanttoobtainthesamecopyofadatapacket,itwillcauseaheavyburdenonthesender,alongdelay,andnetworkcongestion;inordertoensureacertainqualityofservice,itisnecessarytoincreasehardwareandbandwidth.
Broadcast
BroadcastreferstobroadcastingdatapacketsinanIPsubnet,andallhostsinthesubnetwillreceivethesedatapackets.Broadcastingmeansthatthenetworkdeliversadatapackettoeveryhostinthesubnet,regardlessofwhetherthesehostsarewillingtoreceivethedatapacket.Therefore,theuserangeofbroadcastisverysmall,anditisonlyeffectiveinthelocalsubnet.Thebroadcasttransmissioniscontrolledbyroutersandnetworkdevices.
Multicast
Multicastrealizesapoint-to-multipointnetworkconnectionbetweenthesenderandeachreceiver.Ifasendertransmitsthesamedatatomultiplereceiversatthesametime,onlyonecopyofthesamedatapacketisrequired.Itimprovestheefficiencyofdatatransmissionandreducesthepossibilityofcongestioninthebackbonenetwork.
Multicastsolvestheproblemoflowefficiencyinunicastandbroadcastmethods.Whensomeusersinthenetworkrequirespecificinformation,themulticastsource(thatis,thesenderofmulticastinformation)onlysendstheinformationonce,andthemulticastrouterusesthemulticastroutingprotocoltoestablishatree-typerouteforthemulticastdatapacket,andtheinformationtobetransmittedReproductionanddistributionbeganattheforkasfaraspossible.
IPmulticast
SomegroupsinthepublicInternetoftenuseIPmulticast(Mboneisanexample).Inaddition,IPmulticastisalsousedUsedforsomespecialapplicationsinprivateIPnetworkssuchasInternet2.LinklocalmulticastreferstosendingIPmulticastpacketstoseveralhostgroupsatthesamephysicalorvirtualdatalinklayer.Sincethiskindofmulticastdoesnotrequirecomplexrouting,itsapplicationismuchmoreextensive.InIPv6,itisusedforaddressresolution,andinzero-configurationnetworks,itreplacestheinefficientbroadcastprotocolandcompletesthefunctionsofservicediscovery,nameresolution,andaddressconflictresolution.
Thefirstlarge-scaledemonstrationoftheIPmulticastconferencewasatthe23rdIETFconferenceinMarch1992,whenitwasusedtobroadcasttoresearchersandinterestedobserversallovertheworldSomemeetings.Afterthat,someIETFmeetingswereselectivelycontinuedtobemulticastonMBONEandsomeprivatemulticastnetworks.
Multicastsecurityisanimportantissue.Standardandpracticalcommunicationsecuritysolutionsgenerallyusesymmetricencryption.ButapplyingittoIPmulticasttrafficmaygiveanyreceivertheabilitytoimpersonatethesender.Thisisclearlyunacceptable.TheIETF'sMSECworkinggroupisdevelopingsecurityprotocolstosolvethisproblem.MostoftheseprotocolsaredevelopedwithintheframeworkoftheIPsecprotocolsuite.
IPseccannotbeusedinmulticastschemes.ThisisbecauseIPsecsecurityassociationsareboundtotwohostsinsteadofmultiplehosts.IETFproposedanewprotocol-TESLA,whichisflexibleandconvincingintermsofmulticastsecurity.
Architecture
Multicastprotocolsaredividedintohost-routergroupmembershipprotocolsandrouter-routermulticastroutingprotocols.ThegroupmembershipagreementincludesIGMP(InternetGroupManagementProtocol).Multicastroutingprotocolsaredividedintointra-domainmulticastroutingprotocolsandinter-domainmulticastroutingprotocols.Intra-domainmulticastroutingprotocolsincludePIM-SM,PIM-DM,DVMRPandotherprotocols,andinter-domainmulticastroutingprotocolsincludeMBGP,MSDPandotherprotocols.Atthesametime,inordertoeffectivelysuppressthediffusionofmulticastdataatthelinklayer,Layer2multicastprotocolssuchasIGMPSnoopingandCGMPareintroduced.Madeahugecontributiontothehistoryofmulticasttechnology!
IGMPestablishesandmaintainsthegroupmembershipinformationofthedirectnetworksegmentoftherouter.Theintra-domainmulticastroutingprotocolusesacertainmulticastroutingalgorithmtoconstructamulticastdistributiontreetoforwardmulticastdatapacketsaccordingtothemembershipinformationofthesemulticastgroupsmaintainedbyIGMP.Theinter-domainmulticastroutingprotocolpublishesmulticast-capableroutinginformationandmulticastsourceinformationbetweenautonomousdomains,sothatmulticastdatacanbeforwardedbetweendomains.
IPaddress
ThemulticastIPaddressisusedtoidentifyanIPmulticastgroup.IANA(internetassignednumberauthority)assignsClassDaddressspacetoIPmulticast,anditsrangeisfrom224.0.0.0to239.255.255.255.Suchasbinaryrepresentation,thefirstfourdigitsoftheIPmulticastaddressareall1110octets⑴octet⑵octet⑶octet⑷1110
XXXXXXXXXXXXXXXXXXXXXXXXXXXXmulticastgroupcanbepermanentorcanbeItistemporary.Amongthemulticastgroupaddresses,apartofthemisofficiallyallocatedandiscalledapermanentmulticastgroup.Whatremainsthesameforapermanentmulticastgroupisitsipaddress,andthemembershipofthegroupcanchange.Thenumberofmembersinapermanentmulticastgroupcanbearbitrary,orevenzero.ThoseIPmulticastaddressesthatarenotreservedforpermanentmulticastgroupscanbeusedbytemporarymulticastgroups.
224.0.0.0~224.0.0.255arereservedmulticastaddresses(permanentgroupaddresses).Theaddress224.0.0.0isreservedforallocation,andotheraddressesareusedbyroutingprotocols.
224.0.1.0~238.255.255.255aremulticastaddresses(temporarygroupaddresses)availabletousers,whicharevalidintheentirenetwork.
239.0.0.0~239.255.255.255arelocallymanagedmulticastaddresses,whichareonlyvalidinaspecificlocalrange.Thelistofcommonlyusedreservedmulticastaddressesisasfollows:
224.0.0.0baseaddress(reserved)
224.0.0.1allhostaddresses
224.0.0.2allTheaddressofthemulticastrouter
224.0.0.3notassigned
224.0.0.4dvmrp(DistanceVectorMulticastRoutingProtocol)router
224.0.0.5ospf(OpenShortestPathFirst)router
224.0.0.6ospfdr(DesignatedRouter,designatedrouter)
224.0.0.7st(SharedTree,Sharedtree)router
224.0.0.8sthost
224.0.0.9rip-2router
224.0.0.10Eigrp(EnhancedInteriorGatewayRoutingProtocol,enhancedgatewayInternalroutinglineprotocol)router224.0.0.11activeagent
224.0.0.12dhcpserver/relayagent
224.0.0.13allpim(ProtocolIndependentMulticast)routers
224.0.0.14rsvp(ResourceReservationProtocol,resourcereservationprotocol)encapsulation
224.0.0.15allcbtrouters
224.0.0.16designatedsbm(SubnetworkBandwidthManagement,subnetbandwidthmanagement)
224.0.0.17allsbms
224.0.0.18vrrp(VirtualRouterRedundancyProtocol,VirtualRouterRedundancyProtocol)
239.255.255.255SSDPprotocoluses
MulticastMACaddress
Thehigh24bitofthemulticastMACaddressis0x01005e,andthe25thbitis0,thatis,thehigh25bitisafixedvalue.Thelower23bitsoftheMACaddressarethelower23bitsofthemulticastIPaddress.Sincethefirst4bitsoftheIPmulticastaddressare1110,whichrepresentsthemulticastidentifier,andonly23bitsofthelast28bitsaremappedtotheMACaddress,5bitsofinformationintheIPaddressarelost,resultingin32IPmulticastaddressmappings.TothesameMACaddress.
Interactive
ThebiggestuseofIPmulticastistotransmitaudioandvideoontheInternet,suchassendingaudioandvideodatatohundredsofusersflow.ButthebiggestdisadvantageoftraditionalIPmulticastisthatalltheseusersarepassivereceivers.Inotherwords,IPmulticastdoesnothaveabuilt-inmechanismfortheseuserstoengageininteractiveandactiveparticipation.
UsingtheH.323internationalstandardmanagementtechnologyformeetingmembers,SAP(SessionAnnouncementProtocol),SDP(SessionDescriptionProtocol),RTCP(Real-timeTransportControlProtocol)andotherprotocols,youcanuseTraditionalIPmulticasttechnologyhasinteractivefunctions.InteractiveIPmulticasttechnologyhasawiderangeofapplications,especiallymultimediatransmissionservicesontheInternet.Suchasvideoconferencing,distanceeducation,videoondemand(VoD)ontheInternet,etc.
Multicastapplication
Inthemulticastmode,thesenderofinformationiscalledthe"multicastsource",andthereceiveroftheinformationiscalledthe"multicastgroup"oftheinformation,whichsupportsAllroutersthattransmitmulticastinformationarecalled"multicastrouters."Thereceivermemberswhojointhesamemulticastgroupcanbewidelydistributedanywhereinthenetwork,thatis,the"multicastgroup"hasnogeographicalrestrictions.Itshouldbenotedthatthemulticastsourcedoesnotnecessarilybelongtothemulticastgroup.Itsendsdatatothemulticastgroup,anditisnotnecessarilythereceiveritself.Multiplemulticastsourcescansendpacketstoamulticastgroupatthesametime.
AssumingthatonlyHostB,HostD,andHostEneedinformation,whenmulticastisused,thesehostscanbeaddedtothesamemulticastgroup(Multicastgroup),andthemulticastsourcecanonlysendinformationtothemulticastgroup.Apieceofinformationneedstobesent,andeachrouterinthenetworkwillcopyandforwardtheinformationaccordingtothedistributionofthemembersinthemulticastgroup.Finally,theinformationwillbeaccuratelysenttoHostB,HostD,andHostE.
Relatedprotocols
Multicastprotocolsaredividedintogroupmembershipprotocolsbetweenhostsandroutersandmulticastroutingprotocolsbetweenroutersandrouters.
IGMP
TheIGMPprotocolrunsbetweenthehostandthemulticastrouterdirectlyconnectedtothehost.Thehosttellsthelocalrouterthroughthisprotocolthatitwantstojoinandacceptaspecificmulticastgroup.Atthesametime,therouterperiodicallyquerieswhetherthemembersofaknowngroupintheLANareactive(thatis,whethertherearestillmembersbelongingtoamulticastgroupinthenetworksegment)throughthisprotocol,soastorealizethemembershiprelationshipoftheconnectednetworkgroupCollectionandmaintenance.
TherearethreeversionsofIGMP,IGMPv1isdefinedbyRFC1112,andthegeneraloneisIGMPv2,whichisdefinedbyRFC2236.IGMPv3isstilladraft.IGMPv1definesthebasicgroupmemberqueryandreportprocess.IGMPv2addsamechanismforgroupmemberstoleavequickly.ThemainfunctionaddedinIGMPv3isthatmemberscanspecifytoreceiveorspecifynottoreceivepacketsfromcertainmulticastsources..ThisarticlefocusesonthefunctionsoftheIGMPv2protocol.
IGMPv2electstheonlyquerierfortheconnectednetworksegmentthroughthequerierelectionmechanism.Thequerierperiodicallysendsgeneralgroupquerymessagesformembershipquery;thehostsendsareportmessagetoanswerthequery.Whenjoiningamulticastgroup,thehostdoesnotneedtowaitforaquerymessage,andactivelysendsareportmessage.Whenleavingthemulticastgroup,thehostsendsaleavegroupmessage;afterreceivingtheleavegroupmessage,thequeriersendsaspecificgroupquerymessagetodeterminewhetherallgroupmembershaveleft.
ThroughtheaboveIGMPmechanism,atableisestablishedinthemulticastrouter,whichcontainseachportoftherouterandwhichgroupmembersareonthesubnetcorrespondingtotheport.WhentherouterreceivesadatamessagefromacertaingroupG,itonlyforwardsthedatamessagetothoseportsthathaveGmembers.Asforhowdatapacketsareforwardedbetweenrouters,itisdeterminedbytheroutingprotocol,andtheIGMPprotocolisnotresponsible.
IGMPSnooping
TherealizationmechanismofIGMPSnoopingis:theswitchformsthecorrespondencebetweengroupmembersandswitchinterfacesbylisteningtotheIGMPmemberreportmessagessentbythehosttotherouter;Accordingtothecorrespondingrelationship,thereceivedmulticastdatapacketisonlyforwardedtotheinterfacewithgroupmembers.
IGMPProxyandIGMPSnoopingachievethesamefunctionbutdifferentmechanisms:IGMPsnoopingonlyobtainsrelevantinformationbylisteningtoIGMPmessages,whileIGMPProxyinterceptstheenduser’sIGMPrequestandperformsrelatedprocessing.,Andthenforwardittotheupperrouter.
CGMP
CGMP(CiscoGroupManagementProtocol)isaproprietaryprotocoldevelopedbyCiscobasedontheclient/servermodel.WiththesupportofCGMP,multicastrouterscanfollowthereceivedIGMPThedatapacketinformstheswitchwhichhostswhentojoinandleavethemulticastgroup,andtheswitchusestheforwardingtableconstructedfromthisinformationtodeterminewhichinterfacetoforwardthemulticastdatapacketto.GMRPisastandardprotocolfromhosttoEthernetswitch,whichenablesmulticastuserstoregistermulticastmembersonthesecondlayerswitch.
PIM-SM
Amongthemanymulticastroutingprotocols,themostusedprotocolisPIM-SMsparsemodeprotocol-independentmulticast.
InthePIM-SMdomain,routersrunningthePIM-SMprotocolperiodicallysendHellomessagestodiscoveradjacentPIMroutersandareresponsiblefordesignatedrouters(DR)inthemulti-accessnetworkElections.Here,theDRisresponsibleforsendingthe"join/prune"messagetoitsdirectlyconnectedgroupmemberstowardtherootnodeofthemulticastdistributiontree,orsendthedataofthedirectlyconnectedmulticastsourcetothemulticastdistributiontree.
Multicastbackbonenetwork
Themulticastspecificationwaspublishedin1989,butitsuseisrestricted.NotallroutersontheInternethavemulticastcapabilities.Insuchasituation,researchershaveestablishedamulticastbackbonenetwork(MulticastBackbone,Mbone)inordertodevelopandtesttheapplicationofthemulticastprotocolundertheexistingconditions.MbonesupportsroutingofmulticastpacketswithoutdisturbingotherInternetservicestreams.
Mboneisanexperimentalnetworkthatspansseveralcontinentsandiscompletedbyvolunteers.Itisacollectionofinterconnectedsubnetsandrouters.ThesesubnetsandrouterssupportthetransmissionofIPmulticastservicestreams.AsavirtualnetworkontheInternet,MboneusestunnelingtobypassroutersontheInternetthatarenotcapableofmulticasting.
ThetunnelencapsulatesmulticastdatapacketsinIPpackets(ie,unicastdatapackets)topassthroughnetworksthatdonotsupportmulticastrouting.MR3andMR4aremulticast-capableroutersthatsupporttheIGMPprotocol.Theyencapsulatemulticastdatapacketsinunicastdatapacketsfortransmission,andatthesametime,theyalsotakeoutthemulticastdatapacketsfromthereceivedunicastdatapackets.R1andR2arerouterswithoutmulticastcapability.Theytransmitunicastdatapacketsencapsulatedwithmulticastdatapacketslikeotherordinaryunicastdatapackets.
Multicastapplications
Multicastapplicationscanberoughlydividedintothreecategories:point-to-multipointapplications,multipoint-to-multipointapplicationsandmultipoint-to-pointapplications.
Point-to-multipoint
Point-to-multipointapplicationreferstotheapplicationformofonesenderandmultiplereceivers.Thisisthemostcommonformofmulticastapplication.Typicalapplicationsinclude:
Mediabroadcast:eventssuchaslectures,presentations,meetings,etc.accordingtotheschedule.Itstraditionalmediadistributionmethodsusuallyusetelevisionandradio.Thistypeofapplicationusuallyrequiresoneormoreconstant-ratedatastreams.Whenmultipledatastreams(suchasvoiceandvideo)areused,theyoftenneedtobesynchronizedwitheachotherandhavedifferentpriorities.Theyoftenrequirehigherbandwidthandsmallerdelayjitter,buttherequirementsforabsolutedelayarenotveryhigh.
Mediapush:suchasnewsheadlines,weatherchanges,sportsscoresandothernon-commercialkeydynamicchanges.Theyrequirelowerbandwidthandnorequirementfordelay.
Informationcaching:suchaswebsiteinformation,executioncodeandotherfile-baseddistributedreplicationorcacheupdates.Theyhavegeneralrequirementsforbandwidthandgeneralrequirementsfordelay.
Eventnotification:suchasnetworktime,multicastsessionschedule,randomnumber,key,configurationupdate,effectiverangeofnetworkalarmorotherusefulinformation.Theyhavedifferentrequirementsforbandwidth,butaregenerallyrelativelylow,andtherequirementsfordelayarealsoaverage.
Statusmonitoring:suchasstockprices,sensingequipment,securitysystems,productioninformationorotherreal-timeinformation.Suchbandwidthrequirementsvaryaccordingtothesamplingperiodandaccuracy,andtheremaybeconstantratebandwidthorburstbandwidthrequirements.Generally,therequirementsforbandwidthanddelayaregeneral.
Multipoint-to-multipoint
Multipoint-to-multipointapplicationreferstoanapplicationformwithmultiplesendersandmultiplereceivers.Generally,eachreceivercanreceivedatasentbymultiplesenders,andatthesametime,eachsendercansenddatatomultiplereceivers.
Typicalapplicationsinclude:
Multipointconferences:usuallyaudio/videoandwhiteboardapplicationsconstitutemultipointconferenceapplications.Inamultipointconference,differentdatastreamshavedifferentpriorities.Traditionalmultipointconferencesusespecialmultipointcontrolunitstocoordinateanddistributethem,andmulticastcanbedirectlysentbyanysendertoallreceivers,andthemultipointcontrolunitisusedtocontrolthecurrentrighttospeak.Suchapplicationshaverelativelyhighrequirementsforbandwidthanddelay.
Resourcesynchronization:synchronizationofdistributeddatabasessuchasschedules,directories,andinformation.Theyhavegeneralrequirementsforbandwidthanddelay.
Parallelprocessing:suchasdistributedparallelprocessing.Ithasrelativelyhighrequirementsforbandwidthanddelay.
Collaborativeprocessing:suchaseditingofshareddocuments.Ithasgeneralrequirementsforbandwidthanddelay.
Distancelearning:Thisisactuallyamediabroadcastapplicationplussupportforupstreamdatastreams(allowingstudentstoaskquestionstoteachers).Ithasgeneralrequirementsforbandwidthanddelay.
Discussiongroup:Similartoatext-basedmultipointconference,itcanalsoprovidesomesimulatedexpressions.
Distributedinteractivesimulation(DIS):Ithashigherrequirementsforbandwidthanddelay.
Multiplayergame:Multiplayergameisasimpledistributedinteractivesimulationwithdiscussiongroupcapabilities.Ithasrelativelyhighrequirementsforbandwidthanddelay.
JamSession:Thisisanaudiocodingsharingapplication.Ithasrelativelyhighrequirementsforbandwidthanddelay.
Multipoint-to-point
Multipoint-to-pointapplicationreferstotheapplicationformofmultiplesendersandonereceiver.Usuallyatwo-wayrequestresponseapplication,eitherend(multipointorpoint)mayinitiatearequest.Typicalapplicationsinclude:
Resourcesearch:Suchasservicelocation,itrequireslowerbandwidthandgeneraldelay.
Datacollection:Itisthereverseprocessofstatusmonitoringapplicationsinpoint-to-multipointapplications.Itmaysenddatabacktoadatacollectionhostbymultiplesensingdevices.Bandwidthrequirementsvaryaccordingtothesamplingperiodandaccuracy.Theremaybeconstantratebandwidthorburstbandwidthrequirements.Generally,suchapplicationshavegeneralrequirementsforbandwidthanddelay.
Onlineauction:Theauctioneerauctionstheproduct,andmultiplecompetitorssendthebidbacktotheauctioneer.
Informationinquiry:Theinquirersendsaninquiry,andalltheinquiredrespondtoit.Usuallythisrequireslowbandwidthandislesssensitivetodelay.
JukeBox:Forexample,itsupportsnear-on-demand(Near-On-Demand)audioandvideoreverseplayback.Usually,thereceiverusesan"out-of-band"protocolmechanism(suchasHTTP,RTSP,SMTP,andalsomulticast)tosendthereverseplaybackrequesttoadispatchqueue.Ithashigherrequirementsforbandwidthandgeneralrequirementsfordelay.
Technicalissues
Multicasttechnologyhasmanyunsolvedissues,suchas:multicastsecurity,multicastcongestioncontrol,multicaststateaggregation,multicasttrafficaccounting,noCongestioncontrol,datapacketduplication,out-of-orderdeliveryofdatapackets,etc.
Latest: Non-tariff barriers
Next: PROLOG language