Virtual Router (vRouter) - ?· CORD Design Notes Virtual Router (vRouter) Jonathan Hart Open Networking…

Download Virtual Router (vRouter) - ?· CORD Design Notes Virtual Router (vRouter) Jonathan Hart Open Networking…

Post on 18-Sep-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>CORDDesignNotes </p><p>Virtual Router (vRouter) </p><p>JonathanHartOpenNetworkingLab</p><p>January5,2016</p><p>IntroductionInlegacyCOenvironments,aBroadbandNetworkGateway(BNG)deviceaggregatessubscriberconnectionsandroutestraffictoandfromthecorenetwork.InthedisaggregatedCORDarchitecturewenolongerhaveaBNGdeviceasthegatewaytotheCO,andinsteadweimplementthenecessaryfunctionalityasavirtualrouter(vRouter)service.ThevRouterservicedoesnotintendedtoimplementallfunctionalitythatexistsintraditionalBNGdevices,howeveritdoesimplementthefunctionalitynecessarytoprovideinternetaccesstoCORDinadisaggregatedfashion.</p><p>ThepurposeofthevRouterserviceistobethegatewaybetweentheCORDPODandtheupstreamnetworkandtoprovideinternetaccesstothesubscribersandserviceswithinCORD.Logically,itisthefinalserviceinthechainthatauser'straffictraversesbeforeexitingtheCORDsystem.Physically,itistheinterfacebetweenCORDandtheprovidersupstreamnetwork.ThevRouterserviceprovidesInternetasaservicetootherserviceswithintheCO.ThevRouterisimplementedasanetworkcontrolapplicationrunningonONOS.</p><p>vRouter Requirements PerformL3unicastroutingto/fromCOparticipateindynamicroutingprotocols Multicastsignalingandforwarding ApplyQoSpolicies PerformNATfunctionality</p></li><li><p>AT&amp;T Field Trial AsthevRouteristheinterfacebetweenCORDandtheupstreamprovidernetwork,theexactprotocolsandfunctionsthatneedtobesupportedbythevRouterservicewillvaryaccordingtotherequirementsofeachCORDdeployment.ThecurrentvRouterservicefocusesonafieldtrialofCORDwithAT&amp;T,whichneedstosupportOSPFandiBGPcommunicationtoupstreamrouters.Otherdeploymentsmayrequireadifferentsetofroutingprotocols,ornoneatalldependingontheprovidersupstreamnetwork.</p><p> ExchangeroutinginformationwithupstreamroutersviaOSPFandiBGPlearnroutesfromupstream,advertisesubnetsusedwithintheCORDPODtowardstheupstream.</p><p> SupportPIMSSMformulticastsignalling SetDSCPbitsappropriatelyforQoS.</p><p>DesignThedesignofthevRouterserviceissplitintotwomainpartsthatarerelativelyindependentfromoneanothercontrolplaneanddataplane.</p><p>ThevRouterhassomedataplanedeviceswhichitisincontrolof,andfromtheexternalpointofviewthosedevicesappearasthoughtheyareasinglerouter,supportingasetofroutingprotocols.</p><p>Control Plane ThemainfunctionalityofthevRouterconcernsspeakingroutingprotocolswithexternalrouters.InordertoavoidhavingtoimplementroutingprotocolswithinanONOSapplication,weveelectedtouseanexistingopensourceroutingstackcalledQuagga.Quaggasupportsawiderangeofroutingprotocols,whichallowsthevRoutertosupporttheseprotocolswithouthavingtoreimplementthem.AtthispointthevRouterisconsideringenvironmentswitharelativelysmallnumberofroutes,sotherearenttheperformanceconcernsthatcomewithinternetscale.</p><p>QuaggawillbeconfiguredtocommunicatewiththeupstreamroutersinthefieldtrialcasethiswillbeusingOSPFandiBGP.</p><p>QuaggadefinesaninterfacecalledtheFIBPushInterface(FPI)whichenablesittopushroutestoanexternalentity.WeusethisinterfacetocommunicateroutesfromQuaggatoONOS.TheONOSvRouterappactsastheForwardingPlaneManager(FPM),andisabletoreceiveanddecoderoutesfromQuagga.ThevRouterappisthenabletousetheseroutestoprogramthedataplaneaccordingly.</p><p>1</p></li><li><p>Figure1:ControlplanearchitectureofthevRouter</p><p>ThedesignofthecontrolplaneissimilartotheapproachusedintheONOSSDNIPapplication.ThemaindifferencehereisthatweneedtosupportmorethanjustBGPpeering,becauseweneedtosupportanIGPaswell.SDNIPusesaniBGPconnectionbetweenQuaggaandONOS,whereaswithvRouterweusetheFPMinterface.</p><p>Control Traffic InorderforQuaggatobeabletocommunicatewithupstreamrouters,routingcontroltraffichastoflowbetweenQuaggaserverandtheexternalrouter.Beforeanyroutesareexchanged,thefirsttaskofthevRouterappistoprogramthedataplanetoallowthistraffictoflow.TheQuaggaserverisconnectedtoaportonthevRouterdatapane,andincoming/outgoingroutingpacketsaredirectedto/fromthatport.ThisbypassestheusualroutingfunctionofthevRouterbecauseitconcernscontrolplanetrafficthatisdestinedfortherouteritself.</p><p>2</p><p>https://wiki.onosproject.org/display/ONOS/SDN-IP+Architecturehttps://wiki.onosproject.org/display/ONOS/SDN-IP+Architecture</p></li><li><p>Figure2:RoutingcontroltrafficishandledbyredirectingtotowardstheQuagga</p><p>instanceconnectedonthedataplane</p><p>Multicast ThevRouteralsoneedstosupportPIMSSMformulticastsignallingtotheupstream.PIMSSMwillnotbehandledbyQuagga,rathertherewillbeadedicatedONOSappformanagingPIMmessages.ThePIMappwillsendPIMjoinmessagesupstreamwhennewmulticastgroupsneedtoberequested.ThePIMappwilllearnoftheneedfornewmulticastgroupsfromothercontrolapplicationswithinONOS(ultimatelythiscomesfromIGMPsnoopingattheaccessdevices).ThewillnotbeanyprotocolbasedmulticastsignallingonthedataplanebetweenthefabricandthevRouterthisallhappenswithinONOS.</p><p>Data Plane WevechosentousededicatedswitchesfordataplaneofthevRouter.WhileitmaytechnicallybepossibletoimplementthevRouterfunctionalityinthefabrichardwareswitches,thiswouldbeamorecomplexpropositiontoexplore.InlightofthiswevechosentousededicatedswitchesforthevRouterinordertoensurethatweareabletobuildthevRouterwithintherequiredtimeframe.WealsoneedtoensurethatthevRoutercansupportNATandQoS,whicharenotsupportedbythecurrentfabricswitches.InthefutureitwouldbeinterestingtoinvestigateimplementingthevRouterdataplaneinthefabricswitches.</p><p>3</p></li><li><p>Figure3:ThevRouterdataplaneelementssitbetweenthefabricandtheupstreammetrorouters.</p><p>ImplementationTheimplementationofthevRouterappinONOSwillleverageexistingcodefromotherONOSroutingapplications.</p><p>Figure4:ComponentsthatmakeupthevRouterONOSapp</p><p>4</p></li><li><p>ThearchitectureoftheroutingfunctionisshowninFigure4.IncomingroutesfromQuaggaarereceivedbyaForwardingPlaneManager(FPM)component.ThiscomponentknowshowtodecoderoutesfromtheexternalNetlinkprotocol,anditpushesthoseroutesintotheONOSRIB.TheONOSRIBworkstoresolvetheMACaddressofthenexthop,andonceithasthisinformationitpushesaFIBupdatetoFIBinstallercomponent.</p><p>InitiallyfortheFIBinstallerwewillreuseaSingleSwitchFibInstallercomponentwhichwasdevelopedfortheONOSBgpRouterapplication.Thiscomponentisdesignedtoinstallroutesintoasingleswitch,therebyturningthatswitchintoanIProuter.ThecomponentwillgenerateFlowObjectivesandsubmitthemtoONOS.</p><p>5</p></li></ul>

Recommended

View more >