ONOSTheOpenSourceSDNNetworkOperatingSystemforServiceProvidersPingpingLinON.LabOutline●ON.Lab&ONOS●ONOSArchitecture●ONOSPerformance●ONOSUseCases●ONOSDeployment●ONOSTrainingPlanON.LabGuruParulkarExecutiveDirector,ON.Lab,ExecutiveDirectorONRCConsultingProfessor,StanfordNickMcKeownKP,Mayfield,SequoiaProfessor,StanfordLarryPetersonRobertKahnProfessorPrinceton(Emeritus)ScottShenkerProfessor,UCBerkeleyChiefScientist,ICSI“TheOpenNetworkingLabwasfoundedasa501(c)(3)non-profittopursueourvisionofwhatSoftwareDefinedNetworkingcouldbeforthepublicgood.”Whatareknownfor?●Mininet–networkemulator●OpenVirtex(OVX)–networkvirtualization●OpenNetworkingOperatingSystem(ONOS)●XOS–Orchestratingplatform●OpenCloud–operationalcloudbeingbuiltbyON.Lab,Internet2,andPlanetLabONOSCommunityON.LABSERVICEPROVIDERPARTNERSCOLLABORATORSVENDORPARTNERSCOMMUNITYONOSArchitectureArchitecturalTenets●High-availability,scalabilityandperformanceorequiredtosustaindemandsofserviceprovider&enterprisenetworks●Strongabstractionsandsimplicityorequiredfordevelopmentofappsandsolutions●Protocolanddevicebehaviourindependenceoavoidcontouringanddeformationduetoprotocolspecifics●Separationofconcernsandmodularityoallowtailoringandcustomizationwithoutspeciatingthecode-baseServiceProviderNetworks●WANcorebackboneoMulti-ProtocolLabelSwitching(MPLS)withTrafficEngineering(TE)o200-500routers,5-10Kports●MetroNetworksoMetrocoresforaccessnetworkso10-50Krouters,2-3Mports●CellularAccessNetworksoLTEforametroareao20-100Kdevices,100K-100Mports●Wiredaccess/aggregationoAccessnetworkforhomes;DSL/Cableo10-50Kdevices,100K-1MportsONOSDistributedArchitectureNBCoreAPIDistributedCore(statemanagement,notifications,high-availability&scale-out)SBCoreAPIProtocolsProvidersProtocolsProvidersProtocolsProvidersProtocolsProvidersAppsAppsONOSSubsystems-Today&2015DeviceLinkHostTopologyFlowRulePathPacketStatisticsIntentApplicationLeadershipMessagingStorageRegionMastershipDriverGroupSecurityFlowObjectiveEventOpenFlowNetConfOVSDBCoreCluster...ProxyARPMobilityL2ForwardingRESTAPIGUICLINetworkCfg.SDNIP/BGPPacket/OpticalTunnel...OSGi/ApacheKarafNetworkVirt.DeviceCfg.ConfigUIExtensionExternalAppsGraphDiscoveryTenant...Roadmapitemsfor2015AvailabletodayManagerComponentONOSCoreSubsystemStructureAdapterComponentAdapterComponentAppComponentServiceAdminServiceListenernotifycommandcommandsync&persistadd&removequery&commandAppComponentAdapterComponentManagerComponentAdapterRegistryAdapterAdapterServiceServiceAdminServiceListenernotifyregister&unregistercommandcommandsensingadd&removequery&commandStoreStoreProtocolssync&persistAdapterComponentAdapterRegistryAdapterAdapterServiceregister&unregistersensingProtocolsONOSCoreControlPlaneState●Topology●Flows●Intents●Switchtocontrollermapping●Resourceallocations●NetworkConfiguration●Andaplethoraofapplicationgeneratedstate●Observednetworkstate●Eachcontrollerdirectlyobservesasubsetofnetwork●ApplicationsaccessGlobalNetworkViewinitsentirety●DataplaneissourceoftruthAppsTopology●Dataplaneforwardingrules●Naturallypartitionedbyforwardingelement(switch)●ControlplaneisthesourceoftruthFlowsONOSCoreSummary•Allthedistributednotionsusedtoimplementoursolutionsareavailabletoyou:TransactionalMapDistributedSetAtomicCounterLeadershipServiceEventuallyConsistentMapK,V,TextendsTimestampConsistentMapK,V……DistributedCore●DistributedstatemanagementframeworkoBuiltforhighavailabilityandscale-out●DifferenttypesofstaterequiredifferenthandlingoFullyreplicatedandeventuallyconsistentoPartitionedandstronglyconsistentONOSSouthboundONOSSouthbound●ONOSsupportsmultiplesouthboundprotocols,enablingatransitiontotrueSDN.●Adaptersprovidedescriptionsofdataplaneelementstothecore-coreutilizesthisinformation.●AdaptershideprotocolcomplexityfromONOS.Areaoffocus●Attempttobeasgenericaspossible●Enablepartners/contributorstosubmittheirowndevice/protocolspecificproviders●Providersshouldbestateless;statemaybemaintainedforoptimizationbutshouldnotberelieduponAdapterPattern1.Adapterregisterswithcorea.CorereturnsaAdapterServiceboundtotheAdapter2.AdapterusesAdapterServicetonotifycoreofnewevents(deviceconnected,pktin)viaDescriptions3.CorecanuseAdaptertoissuecommandstoelementsunderAdaptercontrol4.Eventually,theadapterunregistersitself;corewillinvalidatetheAdapterService1234AdapterComponentManagerComponentAdapterRegistryAdapterAdapterServiceregister&unregistersensingProtocolsThisiswherethemagichappensONOSNorthboundBuildingNetworkApplicationsObjective:ConnectHost1andHost21.Read/discoverthetopology2.Computeapath3.Buildflowobjectivesforeachdevice4.InstallrulesinconsistentwayHost1Host2BuildingNetworkApplicationsWhatcangowrong?●Missing/rejected/droppedrulesoMonitordevicesconnectionsoSendbarriersbetweenruleupdatesoPollflowstate●TopologychangesoListentoswitch,port,linkandhosteventsoComputenewpaththatleverageorremoveoldflowsHost1Host2IntentFramework•Provideshigh-level,network-centricinterfacethatfocusesonwhatshouldbedoneratherthanhowitisspecificallyprogrammed•Abstractsunnecessarynetworkcomplexityfromapplications•Maintainsrequestedsemant