Upload
duongtram
View
215
Download
0
Embed Size (px)
Citation preview
ThisprojecthasreceivedfundingfromtheEuropeanUnion’sSeventhFrameworkProgramme forresearch,technologicaldevelopmentanddemonstrationundergrantagreementno619543
Develop,DeployandDeliverwithNetIDE:AnIntegratedServiceLevelNetworkProgrammingFramework
PedroA,Aranda(TID)
2
ChallengesforthecurrentSDNlandscape
Can’t easily portthem:Youimplementfor
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.)
3
TheNetIDE Framework
* Client/ServerSDNcontrollerparadigmofONF
* NetworkApplication’smodulesaregiventheruntimeenvironmenttheyexpectintheclientcontroller
* Multi-controller support(ONOS,OpenDaylight,Ryu,Floodlight,…)
* Backend:southboundplugin
* CoreLayer:providesacontroller-independentmeanstoresolveconflictsbetweenapps,interfaceswiththetools
* ShimLayer:northboundplugin
TheNetworkEngine
Develop,DeployandTest
10/19/16 5
Developthecodeandconfigurethetopology
AutomaticallydeploytheSDNapplications
Testanddebugtheapplications
CodeEditorsGraphical
TopologyEditor
Toolsfordebuggingandinspectingofthecontrol
channel
TheIntegratedDevelopmentEnvironment
* CodeEditors(PyDev,CDT,Java)
* Topologyeditor
* InterfacewiththeNetworkEngineandtools
* Accessunderlyingnetwork
* AccesstotheMininet CLI
* NetworkElements
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?
ThankYou!
10/19/16 9