您的当前位置:首页正文

IPv6 Anycast for Simple and Effective Service-Oriented Communications

2024-04-06 来源:步旅网
IPv6AnycastforSimpleandEffectiveService-orientedCommunications

SatoshiDoi∗,ShingoAta†,HiroshiKitamura‡,andMasayukiMurata§

∗OsakaUniversity

Email:s-doi@ist.osaka-u.ac.jp†OsakaCityUniversity

Email:ata@info.eng.osaka-cu.ac.jpAbstract—Althoughanycastcommunicationsupportsservice–orientedaddresses,manyofitscurrentdefinitionsinIPv6areunclear.Furthermore,sincetherearenoprotocolstandardsorevenaconsensusoncontrollingrouting,inter–segmentanycastcommunicationsarenotyetavailable.Inthispaper,wefirstreviewIPv6–basedanycastcommunication.Atpresent,thereareseveralpossibleapplicationsthataresuitedtothis.Wethenraiseseveralproblemsandprovidepossiblesolutionstothese.Basedonthisbackground,wepresenttheAnycastAddressResolvingProtocol(AARP)toestablishTCPconnectionswithaspecificanycastaddress,andwethenproposearoutingprotocolforinter–segmentanycasts.Ourproposedarchitecturemakesanycastaddressesmoreusefulwithout(oratmostminimum)theneedformodifications/extensionstoexistingapplicationsand/orupper–layerprotocols.

IndexTerms—IPv6,AnycastCommunication,Network-layerAnycast,AnycastRouting,AddressResolving

I.INTRODUCTION

Anycastingisanewnetworkingparadigmsupportingservice–orientedAddresseswhereanidenticaladdresscanbeassignedtomultiplenodesprovidingaspecificservice.Ananycastpacket(i.e.,onewithananycastdestinationaddress)isdeliveredtooneofthesenodeswiththesameanycastaddress.AnycastwasfirstdefinedinRFC1546[1],whichstatedthatthemotivationforanycastingwastodrasticallysimplifythetaskoffindinganappropriateserverontheInternet.Thebasicideabehindanycastcommunicationistoseparatethelogicalserviceidentifierfromthephysicalhostequipment,i.e.,theanycastaddressisassignedonatype-of-servicebasis,whichenablesthenetworkservicetoactasalogicalhost.

TheInternetProtocolversion6(IPv6)hasthreetypesofIPaddresses,i.e.,unicastandmulticastaddressesasinIPv4,andananycastaddressthatisthesubjectofthecurrentpaper.TableIsummarizestheformsofcommunicationfortheseaddresses.Aunicastaddressisauniqueidentifierforeachnetworkinterface,andmultipleinterfacesmustnotbeassignedthesameunicastaddress.Packetswiththesamedestinationaddressaresenttothesamenode.Amulticastaddress,ontheotherhand,isassignedtoagroupofnodes,i.e.,allgroupmembershavethesamemulticastaddressandpacketsforthisaddressaresenttoallmemberssimultaneously.Likeamulticastaddress,asingleanycastaddressisassigned

‡NECCorporation

Email:kitamura@da.jp.nec.com

§OsakaUniversity

Email:murata@cmc.osaka-u.ac.jp

TABLEIIPV6

ADDRESSTYPES.

unicastmulticastanycastcommunicationpointpointpointformtototopointmultipointpointtargetofnode

group

servicetype

addressnumberof

singlemultiplemultiplemembershiprolesinC/Smodelbothclient(listener)servertomultiplenodes(calledanycastmembership),butunlikemulticasting,onlyonememberoftheassignedanycastaddresscommunicateswiththeoriginatoratatime.Figure1hasanexampleofanycastcommunication.TherearethreenodesassociatedwiththeanycastaddressAany.Whenthesourcenodesendsapacket,wherethedestinationaddressisAany,thepacketissenttooneofthreenodes(Xuniinthisfigure),nottoallhosts.Theadvantageofanycastingisthatthesourcenodecanreceiveaspecificservicewithoutknowledgeoncurrentconditionsinservicenodesand/ornetworks.WhenhostXunigoesdown,thepacketforAanycanbesenttoanotherhost(YuniorZuni)(Fig.1).Howappropriatelythedestinationnodeischosenfromanycastmembershipdependsontheanycastroutingprotocol,whichwillbediscussedmoreinSectionIII.

However,IPv6anycastingstillhasseveralproblemsthatneedtobeclarifiedwithinthecontextofthecurrentspecifi-cations.First,weshouldhaveclearanswersto“whatkindsofapplicationsaresuitedtousinganycasting?”and“whataretheadvantages/disadvantagesofusinganycastingforapplica-tions?”AnotherproblemwithIPv6–basedanycastingisthataroutingprotocolhasnotbeenincludedinitsspecifications,whichisindispensableinmakinganycastingmorewidespread.Theroutershouldplayanactiveroleindecidingthedesti-nationnetworksothatanycastpacketscanbeappropriatelyforwarded.Weneedtodesignandimplementananycast

Fig.1.Anycastcommunication.

routingprotocolthatissuitedtoanycastapplications.WealsoneedamigrationscenariowheretheInternetwillgraduallybeabletosupportanycasting.Forexample,anycastroutingshouldworkadequately(thoughnotnecessarilyoptimally)evenwhenonlyafewnodesand/orrouterssupportanycastroutingwithintheInternet.WewilldiscussproblemswithanycastroutinginSectionIII,andpresentourproposalinSectionV.

Wealsoneedtoidentifyhowstatefulapplicationsutilizeanycastingindesigningtheirroutingprotocols.Internetap-plicationsusingallTCP-basedorsomeUDP-basedprotocolsarestateful,i.e.,endhostsestablishtheconditionsofcom-municationwitheachotherandassumethattheirpartnersareidenticalduringtheexchange.Thisisveryimportantbecausethecurrentdefinitionofanycastingisessentiallystateless,i.e.,thedestinationhostshouldbedeterminedonapacket-by-packetbasisbytherouters.WewilldiscussoursolutiontothisprobleminSectionIV.

Ofcourse,securityconsiderationsarealsoveryimportantinanycastcommunications.Amaliciousnodemayhijackcom-municationbyannouncingaspoofedadvertisementthroughwhichitreceivespacketsfortheanycastaddress.Thus,someauthenticationmechanismisnecessarytoactuallyvalidateanycasting.Public-key-basedauthenticationisonepromisingapproachtocounteractthisproblem,butfurtherconsiderationsonsecurityarebeyondthescopeofthecurrentpaper.

Finally,weneedtonotethatthenotionofanycastingisnotonlylimitedtothenetwork(i.e.,IP)layer,butcanalsobeachievedinother(e.g.,application)layers.AswillbediscussedinSectionII,network–andapplication–layeranycastinghavebothstrengthsandweakness,andwewillfocusonnetwork–layeranycastinginthispaper.

Therestofthispaperisorganizedasfollows.Thenextsectiondiscussesapplicationssuitable(andnotsuitable)tonetwork–layeranycastcommunications.SectionIIIisdevotedtoanintroductiononthecurrentimplementationsofanycast-ingandassociatedproblems.SectionIVpresentsourapproachcalledtheAARP(AnycastAddressResolvingProtocol)thatenablesTCPcommunicationsutilizinganycastaddresses.SectionVdiscussesourroutingschemeforinter–segmentanycasting,wherescalabilityanddeploymentaretakeninto

2

account.SectionVIconcludesthepaper.

II.ANYCASTAPPLICATIONS

Thissectionreviewswhatkindsofapplicationsaresuitedtoanycastcommunication.AnexcellentsurveyonIPv6anycastaddressescanbefoundin[2],wheretheyintroducedseveralapplicationsthatcanbeachievedthroughanycasting.Oneimportantexampleisserverlocation,throughwhichthesenderhostcanchooseoneofmanyfunctionallyidenticalhosts.Asaresult,loaddistributionamonganycasthostscanbeachievedifweutilizesomeappropriateanycastroutingmethod,whereanycastrequestsareevenlydistributedtohosts.However,asimplemethodsuchasrandomizationamonganycasthostsmaynotbesufficientsinceitisdifficulttotakethestatusoftheresourcesofeachserver,suchastheCPUload,intoaccountinnetwork–layeranycasting.Instead,application–layeranycastingshouldbeemployedinthiscase.

Anotherexampleisservicelocation[2],wherethesenderhostcancommunicatewithanoptimal(e.g.,minimumdelayorlargestthroughput)hostchosenfrommultipleanycasthostsbyspecifyingtheanycastaddress.Thisisespeciallyusefulindynamicallychangingenvironmentssuchasmobileadhocnetworks.Whilethiskindofservicecanbeobtainedthroughapplication–layeranycasting,thenodecancommunicateau-tomaticallywithanappropriate(e.g.,nearest)serverthroughnetwork–layeranycasting.

Insummary,theadvantageofnetwork–layeranycastingliesessentiallyinthatitprovidesasimplemechanismwherethesourcenodecanreceiveaspecificservicewithouttheknowledgeofservicenodesand/ornetworks.However,thisimmediatelyimpliesthatitisdifficulttoobtainrichfunc-tionalitiesandtheadditionalanycastexamplesthatarelistedbelowclearlydemonstratethis.

A.HostAuto-Configuration(Plug&Play)

Bydefiningandassigningawellknownanycastaddresstowidelyusedapplications(e.g.,DomainNameServices(DNS),andproxyservices),theusercanreachthesewithoutknowingthelocation(i.e.,theirunicastaddress)oftheserver[1].Moreover,theusercanutilizetheseapplicationseverywherebyspecifyingawellknownanycastaddress.DNSresolverswouldnolongerhavetobeconfiguredwiththeIPaddressesoftheirDNSservers,anditwouldbesufficienttosendaquerytoawellknownDNSanycastaddress.Thisfunctionalitycanalsobeusedforplug&play.Autoconfigurationthroughanycastingisquiteeffectiveduringtheprimitivesetupphase(e.g.,DNSservercannotbeused).Whenahostispluggedin,itsIPv6addressisconfigured,automatically.However,toachievetrueplug&play,varioussettingsarenecessary(e.g.,configuringunicastaddressesofDNSandproxyservers).Ifawell-knownanycastaddressisinstalledinthehardwarebeforehand,enduserscanutilizetheseserviceswithoutconfiguration.

Sinceautoconfigurationofhostsisoftendonetodiscoverlocally-providedservers(e.g.,DNS,SMTP,orproxyservers),anycastroutingprotocolcrossingsegmentsarenotmandatory,whichmeansthatthescalabilityproblempreviouslymentionedisnotanissuehere.

B.GatetoOverlayNetwork

Thegatetooverlaynetworkisanotherexampleofananycastapplication.AdistributedapplicationlikeaP2P(Peer-to-Peer)serviceconstructsalogicalnetworktopologyamongnodesparticipatingintheservice.However,thepeerneedstoknowtheaddresstoconnectthelogicalnetworkpriortoparticipatingintheservice.Eachpeeronlyspecifiestheanycastaddressinordertoparticipateinthelogicalnetworkandoneoftheparticipatingpeersbecomesthegateofthelogicalnetworkforthenewnode,whichshouldbedeterminedbytheanycastroutingprotocol.Theadvantageofthismodelisthatallprocessesarecompletedwithinitsownprotocol.Furthermore,evenwhentheconnectedpeerleavesthelogicalnetwork,itispossibletocontinueparticipatingviaanotherpeer,whichisautomaticallychangedbytheanycastroutingprotocol.Thiscannotbeattainedwithanyoftheexistingtechnologies.

C.ImprovingSystemReliability

Anycastingpermitsmultiplehostswiththesameaddressandbyincreasingthenumberofhosts,systemreliabilitycanbeimprovedbecauseitstillworksevenifsomeofthesefail.Throughamechanismthatwassimilartothis,wewouldhaveservicesthathadbetterpropertiestotoleratefaults.However,ifanycastpacketsaredestinedforothersegments,weagainneedanycastrouting.

III.PROBLEMSANDPOSSIBLESOLUTIONSTOIPV6

ANYCASTINGThissectiondiscussesproblemsthatremainwiththecurrentspecificationsforIPv6anycastingbecausetheycontaintoofewdefinitions.Italsoreviewsseveralsolutions.

A.Howahostannouncesitsparticipationinanycastmem-bership

Therearenostandardsfornodestoannouncethattheycanreceiveanycastpacketsexceptforpublishingroutinginformationforanycastaddresses,i.e.,thenodemustbearouterintheIPv6specifications.Thisimpliesthatahost(i.e.,notarouter)thatintendstoparticipatein(orleave)anycastmembershipmusthaveadifferentcapabilityofnotifyingthenearestanycastrouterofthestatus(joining/leaving).B.Howanupper–layerstatefulprotocolissupportedAnycastinghasastatelessnature,whereitcannotassurethatallpacketsbelongingtothesameanycastaddresswillgotothesamedestinationnode.

However,thisleadstoseriousproblemsinthatstatefulprotocolslikeTCPcannotbesupported.WhenahostinitiatesaTCPconnectiontoananycastaddress,thereceivinghostcannotsetitsownanycastaddressasthesourceaddressfortheacknowledgementpacket.TheIPv6specificationsprohibittheanycastaddressfrombeingsetintothesourceaddressfieldofthepacketheader.ThisisbasicallybecauseanIPv6anycastaddressdoesnotidentifyasinglesourcenode.Iftheprotocolallowedtheanycastaddresstobesetintothe

3

sourceaddressofthepacket,thereceivinghostcouldnotbesurethatallpacketssentduringthecommunicationhadcomefromthesamehost.Thismeansthatthehostcannotreceiveacknowledgementforapacketsenttoananycastaddress.WeberandCheng[2]recentlydiscussedtheanycastaddressmapper,whichhadbeenproposedbyOeandYamaguchi[3].Ittranslatesanycastaddressestocorrespondingunicastaddressesatthehostreceivinganycastpacketsandthisisdonepriortoanycastcommunication.However,eachapplicationmustbemodifiedinusingtheanycastaddressmappertomapananycastaddressbeforecommunicationbegins.Oursolutionissimilartoanycastaddressmapper,butthereisnoneedtomodifyupper–layerprotocolsorapplications.ThisisdiscussedinSectionIV.

C.Howanycastroutingisachieved

Thecurrentanycaststandarddoesnotdefinetheroutingprotocol,andthereareseveralchallengingissuesthatneedtoberesolvedindesigninganycastroutingprotocols.1)Scalabilityissue

Theroutingentriesforanycastaddressescannotbeaggregatedbecauseanycastmembershiplocationsarewidespreadregardlessoftheiractualprefix.Hence,routingentriesforanycastaddressesshouldbestoredindividuallyontherouter.Itiseasytoimagineexplo-sionsinroutingtablesasanycastaddressesgettobemorewidelyused.

2)Criteriaforselectinganycastmembership

Themeaningofappropriateneedstodifferamongapplications.Forexample,ifanapplicationrequiresafasterresponse,thepropagationdelaybetweenthesourcenodeandanycastnodeisextremelyimportant,i.e.,thenearestnodeforanycastmembershipshouldbechosen.Thecriteriaforanycastroutingstronglyaffectsanycastcommunicationcapabilities.3)Securityissues

Maintaininganycastmembershipisparticularlyimpor-tant.Theeasiestwayforahostthatintendstogainmembershipisforittosimplyadvertisetheroutingentryfortheassociatedanycastaddresstotherouter.However,suchanapproachcansometimesleadtoserioussecurityproblemsinthattheanycasthostcanfreelyaddordeleteanycastentriesintheroutingtable.

Oneimportantfeatureofanycastaddressesisthattheyshouldbeassignedfromthesameaddressspaceasaunicastaddressandarethussyntacticallyindistinguishablefromuni-castaddresses.RFC1546originallyrecommendedassigninganycastingitsownaddressspacebecauseitgreatlyexpectedthistoreducetheriskofapplicationsmistakenlyfailingtorecognizeanycastaddresses.However,whenweconsiderthedeploymentofanycastrouters,itisverylikelythatsomeroutersontheInternetwillnotbeabletoprocessanycastaddresses.Iftheseaddressesareallocatedinaunicastaddressspace,itisnotnecessaryforlegacyrouterstodeployspecialoperationsforcommunication:i.e.,thesesimplypassonanycastpacketsthroughunicastforwarding,expectingpacketscanbereached.Asitisdifficultforananycastroutertodecide

Fig.2.ProtocolstackofAARP.

whetherthereceivingpacket’sdestinationaddressisanycastorunicast,designingananycastroutingprotocolisproblematic.Therehavebeenseveralproposalsforananycastroutingprotocol[2],buttothebestofourknowledge,noneofthesehaveconformedtoIPv6anycastspecificationsandanycastaddressesareallocatedintheirownaddressspace,whichisdifferentfromtheunicastaddressspace.However,theroutingprotocolweproposedinSectionVallowsthesamespacetobeusedforbothunicastandanycastaddresses.

IV.ANYCASTADDRESSRESOLVINGPROTOCOLOurproposalfillsagapbetweenanycastandupper–layerprotocolslikeTCPandUDPwithouttheneedtomodifyapplicationsorprotocols[4].Morespecifically,thetaskoftheAARP(AnycastAddressResolvingProtocol)istoresolvetheanycastaddressspecifiedbytheapplicationintothecorrespondingunicastaddress.Figure2outlinestheprotocolstackforanycastcommunicationwiththeAARP.TheAARPisimplementedasakindofDLL(DynamicLinkableLibrary)thatoverwritestheoriginal(i.e.,theprovidedoperatingsys-tem)APIs(ApplicationProgrammingInterfaces).WecalledthislibrarytheAARPLibrary(AARPLibinFigure2),whichprovidesthesamesetofAPIsastheoriginalIPv6socketAPIs,andhooksthemtoresolveanycastaddresses.ItconvertsananycastaddressintoitscorrespondingunicastaddresspriortocallingtheoriginalAPIs.TheanycastaddressisonlyusedintheapplicationlayerandtheAARPLibrarylayer.LayersbelowtheAARPLibraryarenotawareoftheanycastaddress,andonlyhandlethetranslatedunicastaddress.A.AddressResolvingProcessinAARP

WhenhostCwantstoestablishanycastcommunicationwithahostwhoseanycastaddressisAA,theprocessforanycastaddressresolutionisasfollows;

1)HostCcallsthesocketAPI(e.g.,connect()inTCP)withtheanycastaddressAAwithinitsparameters.TheAARPLibrary’sAPIiscalledinsteadofthesocketlayer’sAPI.

2)TheAARPLibraryconvertstheanycastaddressintotheunicastaddressUAinthecalleefunction.

3)Afterconversion,theAARPLibrarycallstheoriginalsocketAPIthroughtheunicastaddressUA.

4

4)Aftercommunicationhasbeenestablished,allpacketsfromhostCaregiventheunicastaddressUAintheirdestinationaddressesandtransferredtohostS.B.AddressConversionMethod

BecauseofIPv6anycast’sprotocolspecifications,itcannotidentifytheaddressasanycastbyitselfandforconversionthehostconnectingtotheanycastaddressshouldreceiveatleastonepacketfromthedestinationhost.Therearetwoapproachestoconvertthisaddress.

1)ProbePacketMethod(ClientInitiated)

Thehostsendsaprobepackettotheanycastaddresspriortothestartofcommunicationanditcanobtainthedestination’sunicastaddressfromthesourceaddressofthereplypacket.

2)PiggybackMethod(ServerInitiated)

Theanycasthostappendsitsanycastaddresstothepacketwhensendingitbacktotheconnectingpeer.Itcanrecognizethatthepackethasbeensentfromthehostassociatedwiththeanycastaddressbycheckingtheinformationthathasbeenaddedtothepacket.

Theprobepacketmethodrequiresadditionalnetworkband-widthtoprobepackets,whichwastesnetworkresources.However,thepiggybackmethodrequiresapplicationstobemodifiedsothattheanycastaddresscanbepiggybackedonthepacket.Sinceweneededtoavoidanymodificationstoapplications,weusedthepacketprobingapproachtoincludetheunicastaddressintheAARP.C.ImplementationofAARP

WeimplementedandtestedtheAARP[4].Toresolvetheanycastaddressintoitscorrespondingunicastaddress,weusedICMPv6ECHOREQUEST/REPLYpackets.Sincetheanycastaddressshouldnotbesetinthesourceaddressofthepacketheader,theanycastmembershiphostsetsthecorrespondingunicastaddressinthesourceaddressfieldoftheICMPpacketinsteadoftheanycastaddress.Therefore,thehostthatreceivestheICMPECHOREQUESTpacketsenttoananycastaddresswillsendthispacketwithitsunicastaddress.IftheAARPcannotusetheICMPv6mechanism,specialsoftwareisrequiredtorespondtotheprobepacketfromthecallerhost.

OurAARPlibraryalsoprovidesacachetableforresolvedanycastaddresses.Whentheanycastaddressisnotcachedinthetable,theAARPsendsaprobepackettoresolvetheanycastaddress.Theresolvedunicastaddressisstoredintothecachetablewithatimer,andwillbedeletedwhenthetimerexpires.Thatis,fortheclient,packetstotheanycastaddressaredeliveredtothesameanycastserveruntilthecacheexpires.Otherwise,theAARPreturnstheresolvedunicastaddressfromthecachetable,andaprobepacketisnotsentuntiltheentryfortheanycastaddresshasexpiredinthecachetable.NoteherethatthissimpleapproachusingICMPpacketscannotsolvesecurityproblems.EvenifamalicioususerhookstheICMPECHOREQUESTpacketandsendsit,theclientusesthesourceaddressofthispacket.

Intests,weusedTCP(telnet,ftp)andUDPappli-cations(DNS).Wemonitoredpacketexchangesbytheseapplicationswithtcpdump.TheresultsrevealedthatAARPmakesanycastcommunicationspossiblebyonlyspecifyingtheanycastaddressinallexistingapplications(e.g.,ftpanycastaddr).

V.DESIGNOFINTER-SEGMENTANYCASTROUTING

PROTOCOLA.DesignChoices

Thedesignchoiceswemadeinouranycastroutingprotocolareasfollows.

1)Weallowedunicastandanycastaddresseswithinthesamespaceandtodothiswechoseaseednodefromanycastmembershipbeforeassigningananycastaddress.Wethenestablishedtheanycastaddressofmembershiptobetheunicastaddressoftheseednode.Theanycastrouterforwardsananycastpackettoanappropriatenodewithintheanycastmembership.How-ever,theunicastrouteronlytriestoforwardtheanycastpackettotheseednode.Ananycastpacketleavinganarbitrarynodeisattheveryleastsenttotheseednode.Anypacketdestinedfortheanycastaddressisguaranteedtobesenttoatleastonedestinationnode.2)Weenvisionthegradualdeploymentofanycastingandtheprotocolworkscorrectlyinourarchitectureandoffersadvantagesevenifthereisonlyoneanycastrouterbetweenthesenderandseednode.Itsimpactwillincreaseasmoreanycastroutersaredeployed.

3)Weadoptedanapproachthatmodifiesmulticastroutingtotheanycastroutingprotocoltoreducethecomplexityofimplementation,sincetheyhavemanysimilarities.B.ProposedArchitecture

Figure3isanoverviewoftheroutingarchitectureweproposeandtherearetwotypesofroutingtopologies.Theunicastnetworkistheexistingnetworktopologywherebothunicastandanycastpacketsareforwardedonthebasisofaunicastaddress.Intheanycastnetwork,anycast-awarerouters(calledanycastrouters)areconnectedtooneanotherandonlyanycastpacketsareforwardedbytreatingtheiraddressesasanycastaddresses.Theanycastnetworkcanthusbeconsideredasalogicaloverlaynetworkovertheunicastnetwork.

Inananycastnetwork,nodesarenotphysically(i.e.,directly)connected,butareconnectedviavariouskindsoflogicalpeer-to-peerconnections(e.g.,virtualpath,tunneling,orencapsulation).Ananycastrouterisupper-compatible,doesanycastroutingfunctions,andhasthecapabilitiesofunicastrouters.Ananycastrouterhasanextraroutingtable(calledananycastroutingtable)tohandleanycastaddresses.Ananycastroutingtableconsistsofatleast(anycastaddressandnextanycastrouter’saddress)pairs.Whenapacketarrivesattheanycastrouter,itfirstcheckstheanycastroutingtabletofindanentryregardingthedestinationaddressofthepacket.Ifitfindsthis,thepacketistreatedasananycastpacketandforwardedtothenextanycastrouteraccordingtotheanycast

5

Fig.3.Proposedarchitecture.

routingtable.Otherwise,itisforwardedthroughtheunicastroutingmechanism.

Figure3hasanexampleofanycastroutingwherewehaveassumedthatthenodeselectioncriterionisthenumberofhops.Asmallercountismoreappropriatehere.InFig.3,shortcylindersrepresentroutersandtheonelabeled“AR”isananycastrouter.Theothershortcylinders(i.e.,non-labeledcylinders)areunicastrouters.Therearetwoanycastmembersfortheanycastaddress3ffe:5::5.Noteherethat3ffe:5::5isalsotheunicastaddressofanycastserverA1.Here,nodeA1istheseednodeofanycastmembershipfor3ffe:5::5.TheothernodeA2isinadifferentnetwork(3ffe:4::/32).Letusnowconsiderwheretwonodes(C1andC2)sendpacketsdestinedforanycastaddresses3ffe:5::5.ThedifferenceiswhetherthereisananycastrouterontheroutetoseednodeA1.C1firstforwardsthepackettorouterARthroughunicastrouting(solidarrow).IntermediaterouterARisananycastrouterandcandetectthatthepacketisalsoananycastpacket.

Accordingtoanycastrouting(dashedarrow),anycastrouterARthenforwardsittonodeA2,whichisthenodenearestC1.However,sincethereisnoanycastrouterbetweenC2andA1,thepacketissimplyforwardedtoA1throughunicastroutingonly.Notethatthereisamoreappropriatenode(A2)inthisnetwork.Forexample,ifwereplacetherouternexttoC2(short-checkedcylinder)withananycastrouter,thepacketcouldbetransmittedtothemoreappropriateA2nodethroughanycastrouting.

Theabovedescriptionrevealsthatouranycastroutingprotocolworksappropriatelyevenwhentherearealimitednumberofanycastrouters.Iftheseareincreased,betterroutingisachieved.Whenallroutersinthenetworkareanycast,flexibleroutingadoptingacontrolpolicyusingvariousmetricswillbepossible.

Wedividedtheanycastroutingprotocolintothefollowingtwoprocessestodefineit.

1)Initiateanycastmembership(SubsectionV-C)

Theanycastroutercollectsinformationonnodesthatintendtojoinanycastmemberships.

Fig.4.Overviewofanycastroutingprotocol.

2)Constructandupdateroutingtable(SubsectionV-D)Accordingtoinformationcollected,anycastrouterscon-structtheirownroutingtablesandthenexchangeroutinginformationwithoneanothertoreconfigurethese.Figure4hasanoverviewofouranycastroutingprotocol.Noteagainthatourbasicmotivationinsupportingany-castingwastominimizeoverheadsorimplementationfordeploymentasmuchaspossible.Wethereforefocusedonthedifferencebetweenanycastingandmulticastingtodevelopananycastroutingprotocolthroughmulticastroutingprotocols.Anycastingandmulticastinghavemanysimilarcharacteristicswhiletheyalsohavesomedifferences.Ourfirststepindesign-ingtheanycastroutingprotocolistoclarifythesesimilaritiesbetweenanycastingandmulticastingandthenshowhowtomodifytheexistingmulticastroutingprotocolstosupportanycastrouting.Inthispaper,wechosethreemulticastroutingprotocolsthatarecurrentlyavailableandwidelyusedinIPv4networkstoday;(1)theDVMRP(DistanceVectorMulticastRoutingProtocol)[5],(2)theMOSPF(multicastextensionofOSPF)[6],andthePIM-SM(ProtocolIndependentMulticast–SparseMode)[7].

Sinceeachmulticastprotocolhasbothadvantagesanddisadvantages,wedefinedtheanycastroutingprotocolbasedonallofthese,i.e.,(1)theDistanceVectorAnycastRout-ingProtocol(DVARP),(2)theanycastextensionofOSPF(AOSPF),and(3)theProtocolIndependentAnycastSparseMode(PIA-SM).Thesewillbepresentedinturninthesubsectionsthatfollow.Whenmodifyingtheseprotocols,weconsideredthefollowingdifferencesbetweenanycastingandmulticasting(SeeTableI):

Communicationform

Inanycasting,onlyonemembercommunicateswiththeoriginator.Inmulticasting,however,allmembersareequallytreatedintheroutingtable.Apacketdestinedforananycastaddresswillbedeliveredtoonlyoneofthehostswiththataddress.•

Rolesinclient/servermodel

Ananycastaddressisassignedtotheserverinanycasting.Inmulticasting,however,amulticastaddressisassigned

6

totheclient(i.e.,multicastlistener).Therefore,multicastmembershipmaychangefrequently.Iftherearedesignpointsbasedonthisfeatureinmulticastroutingprotocols,weshouldmodifythesepoints.

NotethatcomparisonsoftheseanycastroutingprotocolswillbepresentedinSubsectionV-Ealongwithsomeguide-linesusedinchoosingtheprotocol.C.InitiateAnycastMembership

Likemulticasting,thehostparticipatingin(orleavingfrom)anycastmembershipmusthavethecapabilityofnotifyingthenearestanycastrouterofthestatus(joining/leaving).Themethodoffindingahostparticipatinginanycastmembership(calledanycasthostbelow)isdifferentandisbasedonthelocationoftheanycasthost.Iftheanycasthostandtheanycastrouterareonthesamesegment,anextendedversionofMLD(MulticastListenerDiscovery)isused[8].WecallthisARD(AnycastReceiverDiscovery).AnanycasthostgeneratesanMLDreportmessagetotheanycastrouterbeforejoininganycastmembership.However,theanycasthostsendsanMLDleavemessagepriortoleavingmembership.BecausethedestinationaddressfieldofMLDpacketsissettothelink-localaddressofrouters(FF02::2),thismethodcanonlybeappliedwhereallhostsandroutersresidewithinthesamesegment.

AlledgeroutersmustbecomeanycastrouterswiththecapabilityofARDtoenableinter-segmentanycastrouting.However,thisisunrealisticintheearlystagesofanycasting.Onepossiblesolutionistolocatetheauthorizationnodeonthesamesegmentastheanycastrouter.Anodewiththecapabilityofforwardingananycastpacketestablishesatunnelingpathtotheauthorizationnode.Afterestablishingthetunnelingpath,theauthorizationnodeadvertisesanycastaddressinformationtotheanycastrouterthroughARD.Thetunnelingpathisonlyusedtoannounceanycastroutinginformation.

Againnotethatthemethodbywhichanycasthostsarecollectedsometimesleadstoserioussecurityproblems.Theanycastroutershouldhavesomemechanismthatpreventsillegaland/orspoofedanycasthostnotifications.D.ConstructingandUpdatingRoutingTable

1)DVARP:SincemulticastmembershipisexpectedtochangedynamicallyintheDVMRP,itishardtospecifytheroutethatmulticastpacketswilltraversebeforebeginningtransmission.Therefore,aflooding(orbroadcasting)approachiseffective.However,anycastmembershipdoesnotchangeasfrequentlyasthatformulticasting,anditsroutinginformationismorestable.Therefore,DVARPdoesnotusefloodingbutexchangesroutinginformationperiodically.

Figure5(a)hasanexampleofupdatingaDVARProutingtable.DVARPoperationisdoneasfollows.

1)Iftheanycastrouterdetectschangesinanycastmember-ship,theanycastrouterupdates/createstheroutingentryinitsownroutingtable.

2)EachDVARProuterperiodicallysendsitsownroutinginformationtoitsadjacentrouters.

7

(a)DVARP.(b)PIA-SM.

Fig.5.Examplesofproposedanycastroutingprotocols.

3)Ifarouterreceivesroutinginformationfromadjacentrouters,itupdatesentriesintheroutingtable.2)AOSPF:UnlikeDVMRP,routinginformationisnotfloodedwhenmulticastpacketsinMOSPFfirstarrive.Instead,therouterexchangesroutinginformationwithotherrouterswhenmulticastmembershipchanges.Thisapproachsuitsanycastroutingbecauseitsmembershipismorestablethanmulticast’s.Therefore,AOSPFalsoadoptsthismembershipchange-drivenapproach,andtheAOSPFroutingtableisexactlythesameasDVARP’s.AOSPFoperationisdoneasfollows.

1)Iftheanycastrouterdetectsachangeinanycastmem-bership,itupdates/createstheentryinitsownlink-statedatabase.

2)Whendetectingmembershipchanges,eachAOSPFrouterimmediatelysendsthelinkstateupdatetoad-jacentAOSPFrouters.

3)Afterupdating/creatingitsownlink-statedatabase,therouterusesDijkstra’sSPF(ShortestPathFirst)algorithmandcalculatestheshortestpathtreefromtherouter.Then,theanycastroutercreates/updatesitsroutingtablefromtheshortestpathtree.TheAOSPFoperationissimilartothatofDVARP’sexceptthatitusesDijkstra’sSPFalgorithmandthereisadifferenceinthefrequencyofroutinginformationexchanges.DVARPperiodicallyexchangesinformationwhileAOSPFdoesthisattopologychangeevents,whichgreatlyaffectstheconvergencetimefortheroutingtable.WhenthereisachangeinrouteinAOSPF,itistransmittedfasterthanitiswithDVARP.

3)PIA-SM:PIA-SMusesacore-based-treealgorithmlikePIM-SM[7]andmembershipmanagementisdonebythecorerouter.WecalledthiscorenodetheRendezvousPoint(RP)followingPIM-SM.TheRPisselectedfromallPIA-SMroutersandhastheresponsibilityofmanaginganycastmem-berships.Apackettowardananycastaddressistransmitted

oncetotheRP.AftertransfertotheRP,thepacketcanbeforwardedtotheappropriateanycastreceiverbytheRP.TheregistrationinformationontheRPisequivalenttoDVARPandAOSPFroutingtables.

Becausethiscore-basedapproachcanbeappliedtoPIA-SM,thePIM-SMmechanismcandirectlybeusedforit.Figure5(b)hasanexampleofanewregistrationtothePIA-SM’sRP.WewillnowdescribetheoperationsofRPandPIA-SMrouters.

1)Ifananycastrouterdetectschangesinanycastmem-bership,thePIA-SMrouterreportsthesetotheRP,whichdetectstwotypesofmessagepackets,PIA-JoinandPIA-Prune.ThePIA-Joinmessageindicatesthatanewanycastreceiverhasjoinedmembership,andthePIA-Prunemessageindicatesthenodenolongerbelongstoit.

2)IfthePIA-SMrouter(notRP)receivesaPIA-Join(PIA-Prune)message,itcreates(cuts)thecorrespondinganycastmembershipandsendsthePIA-Join(PIA-Prune)totheupperPIA-SMrouterstowardtheRP.IfthePIA-SMalreadyhasacorrespondingentryandthedownstreamPIA-SMindicatesadifferentrouter,thenexthopisaddedtoanexistingentryformultipathrouting.

3)Similarly,iftheRPreceivesaPIA-Join(PIA-Prune),itcreates(cuts)thecorrespondinganycastmembership.IftheRPalreadyhasacorrespondingentry,whichindi-catesthatthedownstreamPIA-SMrouterisdifferent,thenexthopisaddedtotheexistingentryformultipathrouting.E.ComparisonsofAnycastRoutingProtocols

Letusnowcompareourproposedprotocols,i.e.,DVARP,AOSPF,andPIA-SM.Wehadthefollowingthreeobjectivesinmindforourcomparisons.

TABLEII

COMPARISONSOFTHREEANYCASTROUTINGPROTOCOLS.

DVARPAOSPFPIA-SMoverheadnetworkO(gm)O(gm)RP:O(ng)O(gs)router

O(gs)+

RP:O(gs)O(l*log(gm))convergencehopbyhopnoneimplementabilitynotavailableavailablen:thetotalnumberofnodesinthenetwork,g:thenumberofanycastgroups,m:themeannumberofnodeswhichsharethesameanycastaddress,s:themeannumberofanycastroutingentries,l:thetotalnumberoflinks.

Protocoloverheads(e.g.,CPUloadandmemorycon-sumption)

•Convergencetimeduetomembershipchanges•Easeofimplementingprotocols

TableIIsummarizesthecomparisons.Notethatthesearesimilartowhatweobtainedformulticastroutingprotocols.Withrespecttoprotocoloverheads,bothDVARPandAOSPFconsumeavastamountofnetworkresourcesandtheirtrafficconsumptionisalmostlinearforthenumberofanycastgroupsandthenumberofnodessharingthesameanycastaddress.Therefore,theseprotocolscanonlybeappliedtosmallnet-workswithhighlevelsofavailablebandwidth.

PIA-SMhashardlyanytrafficconsumption,however,be-causeonlytheRPhasroutinginformation,whichtheotherPIA-SMroutersdonot.Therefore,PIA-SMismorescalablethantheothertwoprotocols.However,PIA-SMhasoneprobleminthatanycastpacketsarenottransferredthroughtheoptimalpathbecausetheyarealwaystransferredthroughtheRP.AnotherproblemisthattrafficconcentratesaroundtheRP.Theseproblemscauseextradelaysinpackettransmissions.Becauseofthis,PIA-SMcanbeappliedtolargenetworksliketheInternet.

DVARPtakesalongtimeforroutestoconvergealthoughAOSPFtakesless.SinceallroutinginformationisonlykeptbytheRPinPIA-SM,itisnotnecessarytoexchangeroutinginformation.

TheimplementationofPIM-SMforIPv6hasalreadybeenavailablewhileDVMRPandMOSPFhavenotasfarasweknow.Thatis,PIA-SMiseasiertoimplementthantheothertwo.

VI.CONCLUSIONANDFUTUREWORK

IPv6anycastinghasseveralproblemsinfacilitatingcom-municationswithexistingapplications.Tosolvethese,weproposedanewprotocolcalledtheAARP,whichchangestheanycastaddressintoacorrespondingunicastaddress,whichisusedinactualcommunicationafterconversion.Wedemonstratedthatcommunicationswiththeanycastaddresscouldoccurwithoutchangingtheexistingapplicationprogramwiththisprotocol.

Wealsoproposedanddesignedthreeanycastroutingproto-colsbyfocusingonandcomparingsimilaritiesbetweenany-castingandmulticastingandmodifyingtheexistingmulticast

8

routingprotocol.Inthispaper,however,weonlydiscussedthedesignofoneanycastroutingprotocolalthoughwearecurrentlyimplementingothersandevaluatingtheirfeasibility.

REFERENCES

[1]C.Patridge,T.Mendez,andW.Milliken,“Hostanycastingservice,”

RFC1546,Nov.1993.

[2]S.WeberandL.Cheng,“AsurveyofanycastinIPv6networks,”IEEE

CommunicationsMagazine,vol.42,Jan.2004.

[3]M.OeandS.Yamaguchi,“ImplementationandevaluationofIPv6

anycast,”inProceedingsofthe10thAnnualInternetSocietyConference,2000.[4]S.Ata,H.Kitamura,andM.Murata,“Aproto-colforanycastaddressresolving,”Internetdraft

draft-ata-ipv6-anycast-resolving-01.txt,Feb.2004.[5]D.Waitzman,C.Partridge,andS.Deering,“Distancevectormulticast

routingprotocol,”RFC1075,Nov.1988.

[6]J.Moy,“MOSPF:Analysisandexperience,”RFC1584,Mar.1994.

[7]S.Deering,D.Estrin,D.Farinacci,V.Jacobson,C.gungLiu,andL.Wei,

“ThePIMarchitectureforwide-areamulticastrouting,”inProceedingsofIEEE/ACMTransactionsonNetworking,vol.4,pp.153–162,Apr.1996.[8]B.HabermanandD.Thaler,“Host-basedanycastusingMLD,”Internet

draftdraft-haberman-ipngwg-host-anycast-01.txt,May2002.(ExpiredNovember2002).

因篇幅问题不能全部显示,请点此查看更多更全内容