Develop, Deploy and Deliver with NetIDE: An Integrated ... · on Controller Y Can’t easily...
Transcript of Develop, Deploy and Deliver with NetIDE: An Integrated ... · on Controller Y Can’t easily...
Thisproject hasreceivedfundingfromtheEuropeanUnion’s SeventhFrameworkProgramme forresearch, technological development anddemonstration undergrantagreementno619543
Develop,DeployandDeliverwithNetIDE:AnIntegratedServiceLevelNetworkProgrammingFramework
PedroA,Aranda(TID)onbehalfofTinku Rasheed CREATE-NET
EUCNCWorkshopW04a- NextGenerationfronthaul/backhaulintegratedtransportnetworks
June27,2016
* SDNpromisestointroduceagilesoftwaredevelopmenttechniquesinthewayoperatorsusetheirnetworks* Shortertimetomarket* Reuseservices
* HowevertherearedifferentSDNplatformsoutinthemarket* Howtoselectone
* Fittopurpose* Bestofbreed
* Fromvendorlock-intoplatformlock-in?
7/11/16 2
ChallengesforcurrentSDNlandscape
3
ChallengesforthecurrentSDNlandscape
Can’t easily portthem:Youimplement for
ControllerX,youcan’tmakesamecoderun
onControllerY
Can’teasilycombinethem:Youcan’trunanLBapptogetherwithanFWapp
ontopofthesamenetwork
Can’teasilydebugthem:OnlyfewSWdevelopment
toolsareavailableforSDN,inmostcasescontroller-specific
NetworkApps
NetIDE aimsatsupportingthewholedevelopmentlifecycleofnetworkappsinaplatform-independentfashion:* IntegratedSDNdevelopmentenvironment* CoveringthefulllifetimeofSDNapplications* ItbringsallthegoodiesofSoftwareDesignandDevelopmenttoNetworking:* Platformindependence* Codere-usability* Developertools(debugger,profiler,logger,etc.)
4
TheNetIDE Framework
* Client/ServerSDNcontrollerparadigmofONF
* NetworkApplication’smodules aregiventheruntimeenvironment theyexpectintheclientcontroller
* Multi-controller support (ONOS,OpenDaylight,Ryu,Floodlight, …)
* Backend:southbound plugin
* CoreLayer:providesacontroller-independentmeanstoresolveconflictsbetweenapps,interfaceswiththetools
* ShimLayer:northbound plugin
TheNetworkEngine
Develop,DeployandTest
7/11/16 6
Developthecodeandconfigure thetopology
AutomaticallydeploytheSDNapplications
Testanddebug theapplications
CodeEditorsGraphical
Topology Editor
Toolsfordebugging andinspectingofthecontrol
channel
TheIntegratedDevelopmentEnvironment
* CodeEditors(PyDev,CDT,Java)
* Topologyeditor
* InterfacewiththeNetworkEngineandtools
* Accessunderlyingnetwork
* AccesstotheMininet CLI
* NetworkElements
* Graphicaleditor tocreateandeditnetworktopologies
* Optionally itcanimporttheunderlying topologyfromtheNetIDE NetworkEngine
* Atopologygeneratoroutputsaconfiguration fileforMininet
Thetopologyeditor
Enablingthedevelopertosystematicallytest,profile,andtunetheirNetworkApp* Logger:tracingcapabilitiestojudgetheperformanceofthedeployedNetworkApp
* GarbageCollector:Cleanstheswitches’memoryfromunusedflowrules
*ModelChecker:systematicallyexercisesappbehaviour andflagactionsthatleadtoviolationsofthedesiredsafetyproperties
* Profiler:judgingtheimpactofnetworkfailuresontheNetworkAppbehaviour
* Debugger:supportsdebugofpacketprocessing(OFReplay,packetinspectionandflowtablechecking)
Developertools
WeassuresurvivalofNetIDE resultsbycontributingthemtodifferentFOSSprojectsSourcecodeofIDE,NetworkEngineandToolsarepubliclyavailableonGithub underEclipsePublicLicensev1.0Usecases containsimplementationsoftargetscenariosthatvalidatetheNetIDE framework.
https://github.com/fp7-netide
Tryourcode?
NetIDE isanOpenDaylight Projectsincethe26thofJune,2015.https://wiki.opendaylight.org/view/Project_Proposals:NetIDE
TheNetIDE’s ODLShimshippedwithOpenDayLight Beryllium(Feb2016)https://www.opendaylight.org/odlbe
OpenDaylightproject
NetIDE’s toolsforEclipseareavailableontheEclipseMarketplace
http://marketplace.eclipse.org/content/netide
EclipseMarketplace
NetIDE includedamong theauthorsandcontributorsoftheFloodlightController
https://floodlight.atlassian.net/wiki/display/floodlightcontroller/Authors+and+Contributors
NetIDE’s architecturalconceptsportedtoFloodlight:
* driving theexecutionflowofthecontroller:i.e.delivering thenetworkeventonly tospecificapplicationsinaspecificorder(overriding thecontroller’sdefaultbehaviour)
* Singal applicationswhenaninputeventhasbeenconsumed
ContributiontoFloodlight
ArchitecturalEvolutionHandlingmulti-domaindeployments:* Multi-domaindatacenter
(geographicallyspread)* Multi-domain5Gnetwork
Controllingmulti-vendor/multi-protocoldeployments