Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
SDN/NFV: So*ware Defined Networking & Network Func9on Virtualiza9on
Chris'anEsteveRothenberg(UniversityofCampinas)
RodrigoFonseca(BrownUniversity)
Topic Preview Sessions
Monday, August 22, 2016
SDN & NFV :: Network Programmabilty /Flexibility
Sources: Ahmad Rostami, Ericsson Research (Kista): http://www.itc26.org/fileadmin/ITC26_files/ITC26-Tutorial-Rostami.pdf and Uwe Michel, T-Systems
A means to make the network more flexible and simple by minimising dependence on HW constraints
The NFV Concept
Source: Adapted from D. Lopez Telefonica I+D, NFV
Why NFV/SDN? 1.Virtualiza,on:Usenetworkresourcewithoutworryingaboutwhereitisphysicallylocated,howmuchitis,howitisorganized,etc.2.Orchestra,on:Managethousandsofdevices3.Programmability:Shouldbeabletochangebehavioronthefly.4.DynamicScaling:Shouldbeabletochangesize,quan'ty,asaF(load)5.Automa,on:Letmachines/soIwaredohumans’work6.Visibility:Monitorresources,connec'vity7.Performance:Op'mizenetworkdeviceu'liza'on8.Mul,-tenancy:Slicethenetworkfordifferentcustomers(as-a-Service)9.ServiceIntegra,on:LetnetworkmanagementplaynicewithOSS/BSS10.Openness:Fullchoiceofmodularplug-ins
Source: Adapted from Raj Jain
Note:Theseareexactlythesamereasonswhyweneed/wantSDN/NFV.Obs:Differencesonthe(complementary)SDNandNFVapproachesonhow.
(SDN::decouplingofcontrolplane,NFV:decouplingofSWfunc'onfromHW)
NFV vs. SDN
SDN›››flexibleforwarding&steeringoftrafficinaphysicalorvirtualnetworkenvironment[NetworkRe-Architecture]NFV›››flexibleplacementofvirtualizednetworkfunc'onsacrossthenetwork&cloud[ApplianceRe-Architecture](ini'ally)›››SDN&NFVarecomplementarytoolsforachievingfullnetworkprogrammability
Intellectual History of Programmable Networks
Source:N.Feamster,J.Rexford,E.Zegura.TheRoadtoSDN:AnIntellectualHistoryofProgrammableNetworks.h`p://gtnoise.net/papers/draIs/sdn-cacm-2013-aug22.pdf
SDN
NFV
Networking as Learned in School (text books)
Source:Mar'nCasadoCS244Spring2013,Lecture6,SDN
Networking in Prac9ce “in theory, theory and practice are the same; in practice they are not...”
Source:Mar'nCasadoCS244Spring2013,Lecture6,SDN
Tens of Millions of lines of code Closed, proprietary, outdated
Hundreds of protocols 6,500 RFCs
Billions of gates Power hungry and bloated
Vertically integrated, complex, closed, proprietary
Not good for network owners and users
Specialized Packet Forwarding Hardware
Specialized Control Plane
Specialized Features
Problem with Internet Infrastructure
Source: ON.LAB
Trend
Source: ON.LAB
SDN to the rescue!
So, What is SDN? “OpenFlowisSDN,butSDNisnotOpenFlow”
(DoesnotsaymuchaboutSDN) Networkingcommunity“Don’tlethumansdomachines’work”
(probablyright…)NetworkingProfessional“Let’scallSDNwhateverwecanshiptoday”
(akaSDNwashing)VendorX“SDNisthemagicbuzzwordthatwillbringusVCfunding”
(hmmm…N/A,N/C)StartupY“SDNisthemagicthatwillgetmypaper/grantaccepted”
(maybebutnotatSIGCOMM?)ResearcherZ
What is SDN?
IntheSDNarchitecture,thecontrolanddataplanesaredecoupled,networkintelligenceandstatearelogicallycentralized,andtheunderlyingnetworkinfrastructureisabstractedfromtheapplicaCons.
OpenNetworkingFounda'onwhitepaper
SoEwareDefinedNetworking(SDN)refactorstherelaConshipbetweennetworkdevicesandthesoEwarethatcontrolsthem.Openinterfacestonetworkswitchesenablemoreflexibleandpredictablenetworkcontrol,andtheymakeiteasiertoextendnetworkfuncCon.
HotSDNCFP
SDN defini9ons • Withtheoriginal(OpenFlow)defini'on,SDNrepresentedanetworkarchitecturewheretheforwardingstateissolelymanagedbyacontrolplaneandisdecoupledfromthedataplane.
• Theindustry,however,hasmovedonfromtheoriginalacademicpuristviewofSDNtoreferringtoanythingdisrupCveorfundamentallynewaspartofSDN.
Atleasttwodefini'onsforSDN:1. academic(puristview:strictdecouplingofthedataandcontrolplane)
2. industry(many-foldbusiness-drivenviews)
SDN :: Evolving Definition
Rethinking the “Division of Labor” Tradi9onal Computer Networks
Data plane:Packet
streaming
Forward, filter, buffer, mark, rate-limit, and measure packets
Source: Adapted from J. Rexford
Track topology changes, compute routes, install forwarding rules
Control plane:Distributed algorithms
Rethinking the “Division of Labor” Tradi9onal Computer Networks
Source: Adapted from J. Rexford
Collect measurements and configure the equipment
Management plane: Human time scale
Rethinking the “Division of Labor” Tradi9onal Computer Networks
Source: Adapted from J. Rexford
So*ware Defined Networking (SDN)
API to the data plane(e.g., OpenFlow)
Logically-centralized control
Switches
Smart,slow
Dumb,fast
Source: Adapted from J. Rexford
SDNreferstosoIware-definednetworkingarchitectureswhere:
• Data-andcontrolplanesdecoupledfromoneanother.
• Dataplaneatforwardingdevicesmanagedandcontrolled(remotely)bya“controller”.
• Well-definedprogramminginterfacebetweencontrol-anddataplanes.
• Applica'onsrunningoncontrollermanageandcontrolunderlying(abstract)dataplane
Source:“SoIware-DefinedNetworking:AComprehensiveSurvey”,Kreutzetal.,InProceedingsoftheIEEE,Vol.103,Issue1,Jan.2015..
SDN: Defini9ons, Concepts, and Terminology
• Controlplane:controlsthedataplane;logicallycentralizedinthe“controller”(a.k.a.,networkopera'ngsystem).
• Southboundinterface:(instruc'onsettoprogramthedataplane)+(protocolbtwcontrol-anddataplanes).E.g.,OpenFlow,POF,Forces,Netconf
SDN: Defini9ons, Concepts, and Terminology
Source:“SoIware-DefinedNetworking:AComprehensiveSurvey”,Kreutzetal.,InProceedingsoftheIEEE,Vol.103,Issue1,Jan.2015..
• Dataplane:networkinfrastructureconsis'ngofinterconnectedforwardingdevices(a.k.a.,forwardingplane).
• Forwardingdevices:dataplanehardware-orsoIwaredevicesresponsiblefordataforwarding.
• Flow:sequenceofpacketsbetweensource-des'na'onpair;flowpacketsreceiveiden'calserviceatforwardingdevices.
• Flowrules:instruc'onsetthatactonincomingpackets(e.g.,drop,forwardtocontroller,etc)
• Flowtable:residesonswitchesandcontainsrulestohandleflowpackets.
SDN: Defini9ons, Concepts, and Terminology
Source:“SoIware-DefinedNetworking:AComprehensiveSurvey”,Kreutzetal.,InProceedingsoftheIEEE,Vol.103,Issue1,Jan.2015..
SDN: Defini9ons, Concepts, and Terminology
• Northboundinterface:APIofferedbycontrolplanetodevelopnetworkcontrol-andmanagementapplica'ons.
• Applica,onLayer/BusinessApplica,ons(Managementplane):func'ons,e.g.,rou'ng,trafficengineering,thatuseControllerfunc'ons/APIstomanageandcontrolnetworkinfrastructure.
Source:“SoIware-DefinedNetworking:AComprehensiveSurvey”,Kreutzetal.,InProceedingsoftheIEEE,Vol.103,Issue1,Jan.2015..
One SDN to rule them all Actuallynot,differentreasonablemodelsandapproachestoSDNarebeingpursued
One SDN controller to rule them all, with a discovery app to find them, One SDN controller to tell them all, on which switchport to bind them. In the Data Center, where the packets fly.
SourcePoem:h`p://dovernetworks.com/?p=83Furtherreading:h`p://theborgqueen.wordpress.com/2014/03/31/the-legend-of-sdn-one-controller-to-rule-them-all/
Different SDN Models Control-plane component(s) Data-plane component(s)
Canonical/Open SDN
Traditional
Hybrid Overlay
Compiler
SDN asks (at least) three major ques9ons
Where the control plane resides “Distributed vs Centralized” ?
How does the Control Plane talk to the Data Plane ?
How are Control and Data Planes programmed ?
Source: Adapted from T. Nadeu, slides-85-sdnrg-5.pptx
Legacy
Different SDN Models to Program / Refactor the Stack
DataPlane
Mgm.APIs
DistributedL2/L3
ControlPlane
ManagemtSoIware
Mgm.Apps
SouthboundAgent
(e.g.OF)
NetworkController/OS
SouthboundProtocol(e.g.OF)
Business/ControlApps
NorthboundAPIs
Mgm.
HALAPIs/Drivers
Orchestrator
APIs
Compiler
Auto-GeneratedTargetBinary
SDN
VNF
GP-CPU(x86,ARM)
HWResourcesVirtualiza,on
DPCP
Mgm.
NFV
VNFM(Manager)
VIM(Infra-M)
OSS/BSS
APIs
SouthboundAPIs/Plugins
PAPER PREVIEWS
Topic Preview Sessions
Contribu,ons• Accelera'ngNFswithprogrammableHW(FPGA)
• ClickNP:C-likeDSL&toolchain• 40Gbpslinerate• Fivedemonstra'onNFs:(1)trafficcaptureandgenerator,(2)afirewall,(3)IPSecgateway,(4)Layer-4loadbalancer,(5)pFabricscheduler
TopicChallenges• High-performanceprogramambleDPimplementa'on
• Programmer-friendlyhigh-levelDSLfornetworking
How are Control & Data Planes programmed ?
Compiler&toolchain
ClickNPProgram
FPGADataPlane
HALAPIs/Drivers
Scope
#programmability#performance
#openness
Contribu,ons• Programdata-planealgorithmsinahigh-levellanguageandcompilethem
• Domino,aC-likeimpera'velanguage+compiler• BanzaimachinemodelforDPTopicChallenges• High-performanceprogramambleDPimplementa'on
• DPalgorithmscreateandmodifyalgorithmicstate• SWalgorithmsonprogrammableline-rateHW
How are Control & Data Planes programmed ?
DataPlane
APIs
Compiler
Auto-GeneratedTargetBinary
Dominoprogram
Statefull processing units, called atoms
Scope
#programmability#performance
#openness
Contribu,ons• Programmableschedulerusingasingleabstrac'on:thepush-infirst-outqueue(PIFO)
• HWdesignfora64-port10Gbit/sswitch• Verilogcodeavailableath`p://web:mit:edu/pifo/
TopicChallenges• High-performanceprogramambleDPimplementa'on• Schedulingalgorithms—poten'allyalgorithmsthatareunknowntoday—tobeprogrammedintoaswitchwithoutrequiringhardwareredesign
• Howwillprogrammableschedulingbeusedinprac'ce?
How are Control & Data Planes programmed ?
DataPlane
Compiler
Auto-GeneratedAPIsTargetBinary
Statefull processing units, called atoms
Dominoprogram
#programmability#performance
#openness
Contribu,ons• Programminglanguagewithpersistentglobalarrays,transac'ons,one-big-switchillusion
• Compilerthatdecideswheretoplacestate,howtoroutetraffic(throughMILP)
• 20Exampleapplica'onsTopicChallenges• Managingdistributedstate• Consistencyofstate• Efficientuseofroutes,switchresources
How are Control & Data Planes programmed ?
DataPlane
CompilerStatefulDistributedstateOneBigSwitchabstrac,on
SNAPprogram
Where does the control plane reside?
Scope
Distribu,ngstateRou,ng
#programmability#visibility
#automa,on#virtualiza,on
Contribu,ons• Frameworkfornetwork-widedevelopment,deployment,andmanagementofnetworkfunc'ons(NFs).
• OpenBoxProtocol&ControllerTopicChallenges• Flexibility/programmabilityofSDN/NFV• Management&DPPerformanceofServiceFunc'onChains
How are Control & Data Planes programmed ?
How does the Control Plane talk to the Data Plane ?
Scope
NetworkController/OS
SouthboundAPIs/Plugins
Business/ControlApps
NBAPI
Orchestrator
VNF
CG-CPU(x86,ARM)
Virtualiza,on
VNFM(Manager)
VIM(Infra-M)
APIs
#virtualiza,on#orchestra,on#performance#service_integra,on#automa,on#openness
Contribu,ons• SoIwareswitchderivedfromOpenvSwitch(OVS)withbehaviorcustomizedusingP4:h`ps://github.com/P4-vSwitch
• Compilertoop'mizeforwardingperformance• Programsareabout40xshorterthanequivalentOVSones
TopicChallenges• High-performanceSW-basedDPimplementa'on
• Flexiblehypervisorswitches(“hard-wired”today)
How are Control & Data Planes programmed ?
LinuxSWDataPlane
APIs
CompilerAuto-GeneratedTargetBinary
Scope
CPU(x86)+LinuxI/Oaccelera'on(DPDK)
#programmable#performance
#openness
Contribu,ons• ESWITCHswitcharchitectureusingon-the-flytemplate-basedtocompileOpenFlowpipelineintoefficientmachinecode
• Acaseagainstflowcachingandgeneralpurposeswitchfastpaths→dataplanespecializedwithrespecttotheworkload
• 100+GbpsonasingleIntelbladeand100Ksflowentries,whilesuppor'ngfastupdates
TopicChallenges• High-performanceSW-basedOpenFlow/DPimplementa'on
How are Control & Data Planes programmed ?
SWDataPlane
Scope
CPU(x86)+LinuxI/Oaccelera'on(DPDK)
SBIProtocol(OpenFlow)
HALAPIs/Drivers
OpenFlowAgentLinuxOS
#programmable#performance
#openness
Contribu,ons• UniversalStreamingimplementa'onusingP4
• Heavyhi`ersonsuccessivesampledsubstreams
• One-big-switchabstrac'onformonitoringsketches• Comparableaccuracytocustomsketches
TopicChallenges• Severalalgorithmandsketchesexistforspecificproblems
• Datastructuresandalgorithmsspecifictodesiredmetric
• Solu'onthatisbothgeneralandaccurateisanopenproblem
ScopeMonitoringwithlimitedresources
Sketches/Streamingalgorithms:Singleorconstantpassesoverdata,sublinearspace,approximate
givensta's'calmeasure(mean,median,moments,..)
SeminalpaperAMSpaper(ref[9])
#programmability#visbility
Fidelity
Gene
rality Sampling UnivMon
Specificsketches
DataPlane
DistributedL2/L3
ControlPlane
SouthboundAgent
(e.g.OF)Mgm.
HALAPIs/Drivers
APIs
Contribu,ons• Findingrootcausesbydifferen'alprovenance
• Givenareference(good)provenancetree,andabadone,findtheeventsyouhavetochangeinthebadonetomakeitgood
TopicChallenges• Provenanceproducessufficient,butextensiveinforma'ontodiagnoserootcauses
ScopeDiagnos'csofnetworkedsystemsbasedon
provenance
SDNsoneusecaseinwhichprogrammabilityhelpswithrecordingofprovenanceandreplayofevents
DataPlane
DistributedL2/L3
ControlPlane
SouthboundAgent
(e.g.OF)Mgm.
HALAPIs/Drivers
APIs
#programmability#visbility
#performance
Contribu,ons• Languageforspecifyingnetwork-widepredicates• Leverageend-hostCPUresourcestoachievethegoals
• Manyusefulop'miza'onsforprocessing
TopicChallenges• Scale
• Volumeoftraffic• #ofevents• #ofendpoint• 70ns/packet(64b@10G)
Scope• Controlloopformonitoringandac'ngonthenetwork
• ProgrammabilityenablessoIwarecontrolloop(nothuman'mescale)
• DatacenteracCvemonitoring• Faultsdetec'on,networkplanning,trafficengineering,
performancediagnosis
• Goals:• Network-widepredicatesovereverypacketwithμsreac'on
'me
#programmability#visbility
SDN/NFV: The Fron9er of Networking
Exis,ng• CLIs• ClosedSource• VendorLead• ClassicNetworkAppliances
New• APIs
• OpenSource• CustomerLead
• NetworkFunc'onVirtualiza'on(NFV)Adapted from: Kyle Mestery, Next Generation Network Developer Skills
Thank you! Ques9ons?
Topic Preview Sessions
BACKUP
Session1-SDN&NFV1.1[NFV]ClickNP:HighlyFlexibleandHighPerformanceNetworkProcessingwithReconfigurableHardware
1.2[Programmabledataplane]PacketTransac,ons:High-LevelProgrammingforLine-RateSwitches1.3[Onebigswitch]SNAP:StatefulNetwork-WideAbstrac,onsforPacketProcessing
1.4[Programmabledataplane]ProgrammablePacketSchedulingatLineRateSession11-SDN&NFV
11.1[NFV]OpenBox:ASohware-DefinedFrameworkforDeveloping,Deploying,andManagingNetworkFunc,ons11.2[P4forOVS]PISCES:AProgrammable,Protocol-IndependentSohwareSwitch
11.3[switchdesign]DataplaneSpecializa,onforHigh-performanceOpenFlowSohwareSwitching
Session3-MonitoringandDiagnos,cs
3.1[Monitoring]OneSketchtoRuleThemAll3.2[Monitoring]Differen,alProvenance
3.3[Monitoring]Trumpet:TriggersinDataCenters
Architectural Framework [ETSI NFV]
Souce:ETSINFVWhitePaper2
NFV
Source:Viewon5GArchitecture-5GPPPArchitectureWorkingGroup(2016)
NFV Layers
NFV Infrastructure
EndPoint
EndPoint
E2E Network Service
Compute Storage Network HWResources
Virtualization Layer Virtualiza,onSW
Virtual Compute
Virtual Storage
Virtual Network
VirtualResources
LogicalAbstrac,onsNetwork Service
VNF VNF VNF
VNF VNF
Logical Links
VNF Instances
VNF VNF VNF SWInstances
VNF:VirtualizedNetworkFunc'on
VNF
Source: Adapted from D. Lopez Telefonica I+D, NFV
Alterna9ve op9ons to virtualize NFV apps
ONF recursive SDN architecture
SDN controller B
(Physical) data plane
Manager B
Customer G application
Controller plane (Virtual)dataplane (Virtual)dataplane
Customer R application
SDN controller G
(Physical) data plane
Manager G
SDN controller R
(Physical) data plane
Manager R
Controller plane
Controller plane (Virtual)dataplane
Source:ONFTR-504:SDNArchitectureOverviewVersion1.1,h`ps://www.opennetworking.org/images/stories/downloads/sdn-resources/technical-reports/TR_SDN-ARCH-Overview-1.1-11112014.02.pdf
Network Programmability Layers
Source: Introducing Network Programmability Fundamentals Part#: CTOD-SDN-1.0-017141 https://learningnetworkstore.cisco.com/skillsoft/introducing-network-programmability-fundamentals-ctod-sdn-1-0-017141
SDN asks (at least) three major ques9ons
Where the control plane resides “Distributed vs Centralized” ?
• What state belongs in distributed protocols? • What state must stay local to switches? • What state should be centralized? • Whataretheeffectsofeachon:-statesynchroniza'onoverhead-totalcontrolplaneoverhead-systemstabilityandresiliency-efficiencyinresourceuse-controlloop'ghtness
Source: E. Crabbe, slides-85-sdnrg-7.pdf
1
SDN asks (at least) three major ques9ons
• Prop. IPC • OpenFlow (with or w/extensions) • Open Source south-bound protocols • Via SDN controller broker and south-bound plug-ins • Other standardized protocols
• Whataretheeffectsofeachon:- Interoperability,Evolvability,Performance- VendorLock-in
How does the Control Plane talk to the Data Plane ? 2
SDN asks (at least) three major ques9ons
• Levels of Abstraction • Open APIs • Standardized Protocols
• Whataretheeffectsofeachon:- Dataplaneflexibility- Integra'onwithlegacy- Interoperability(CP/DP)- Vendorlock-in
Source: E. Crabbe, slides-85-sdnrg-7.pdf
How are Control and Data Planes programmed ? 3
NFV Concepts
• NetworkFunc,on(NF):Func'onalbuildingblockwithawelldefinedinterfacesandwelldefinedfunc'onalbehavior
• VirtualizedNetworkFunc,on(VNF):SoIwareimplementa'onofNFthatcanbedeployedinavirtualizedinfrastructure
• VNFSet:Connec'vitybetweenVNFsisnotspecified,e.g.,residen'algateways
• VNFForwardingGraph:Servicechainwhennetworkconnec'vityorderisimportant,e.g.,firewall,NAT,loadbalancer
• NFVInfrastructure(NFVI):HardwareandsoIwarerequiredtodeploy,mangeandexecuteVNFsincludingcomputa'on,networking,andstorage.
• NFVOrchestrator:Automatesthedeployment,opera'on,management,coordina'onofVNFsandNFVI.
Source: Adapted from Raj Jain
NFV Concepts • NFVIPointofPresence(PoP):Loca'onofNFVI• NFVI-PoPNetwork:Internalnetwork• TransportNetwork:Networkconnec'ngaPoPtootherPoPsorexternalnetworks• VNFManager:VNFlifecyclemanagemente.g.,instan'a'on,update,scaling,query,monitoring,faultdiagnosis,healing,termina'on
• VirtualizedInfrastructureManager:Managementofcompu'ng,storage,network,soIwareresources• NetworkService:Acomposi'onofnetworkfunc'onsanddefinedbyitsfunc'onalandbehavioralspecifica'on
• NFVService:AnetworkservicesusingNFswithatleastoneVNF.
Source: Adapted from Raj Jain
NFV Concepts • UserService:Servicesofferedtoendusers/customers/subscribers.• DeploymentBehavior:NFVIresourcesthataVNFrequires,e.g.,NumberofVMs,memory,disk,images,bandwidth,latency
• Opera,onalBehavior:VNFinstancetopologyandlifecycleopera'ons,e.g.,start,stop,pause,migra'on,…
• VNFDescriptor:Deploymentbehavior+Opera'onalbehavior
Source: Adapted from Raj Jain