clash of titans in sdn: opendaylight vs onos - elisa rojas
TRANSCRIPT
Clash of titans in SDN:
OpenDaylight vs ONOS
Elisa Rojas Sánchez [email protected]
TECHDAY MADRID, SPAIN, 11 MARCH 2016
1
Outline
• A bit of history…
• OpenDaylight (ODL)
• ONOS
• ODL vs ONOS
2
A bit of history…
OpenFlow controller
SDN controller
SDN framework
Network Operating System
3
A bit of history…
• NOX (2008) C++ & Python
• NOX-MT & POX (2010) C++ & Python
(respectively)
• Trema (2011) Ruby & C
• Beacon (2011) Java
• Floodlight (2011) Java
• Ryu (2012) Python
• ODL (2013) Java + OSGi
• ONOS (2014) Java + OSGi
More: IRIS, MUL, Jaxon, Maestro, NodeFlow, ovs-controller, RUNOS, etc… (+ more approaches in Unit 5)
4
… + a bunch of commercial SDN
solutions
• Big Switch Big Cloud Fabric
• Plexxi Big Data Fabric
• Brocade Vyatta Controller
• HP Virtual Application Networks (VAN) SDN
Controller/Virtual Cloud Networking (VCN)
• Juniper Contrail ( OpenContrail)
• Cisco Application Centric Infrastructure
(ACI)/Application Policy Infrastructure Controller (APIC)
• Ericsson SDN controller (based on ODL)
5
A bit of history…
• NOX (2008) C++ & Python
• NOX-MT & POX (2010) C++ & Python
(respectively)
• Trema (2011) Ruby & C
• Beacon (2011) Java
• Floodlight (2011) Java
• Ryu (2012) Python
• ODL (2013) Java + OSGi
• ONOS (2014) Java + OSGi
6
OpenDaylight (ODL)
• What is OpenDaylight (ODL)? <<OpenDaylight is leading the transformation to Open SDN. By uniting the industry around a common SDN platform, the ODL community is helping to make interoperable, programmable networks a reality. This is why so many regard OpenDaylight as the industry’s de facto standard.>>
– Highly available, modular, extensible, scalable and multi-protocol controller infrastructure
– Multi project SDN framework (integration)
– Supports OpenFlow (1.0, 1.3), NETCONF, OVSDB, OpFlex
– Written in Java
– Eclipse Public License (EPL-1.0)
– Work of the ODL community is funded by the members
7
OpenDaylight (ODL)
• Project members (1/2)
8
OpenDaylight (ODL)
• Project members (2/2)
9
OpenDaylight (ODL)
• Origin and releases:
– 2013 Hydrogen
– Currently Beryllium (03/2016)
– Periodic releases every ~9 months
• Keys:
1. Dynamic network services
2. Dynamic intent-based policies
3. Virtualizing functions with Service Function Chaining (SFC)
10
Architecture
11
Project list
12
MVC platform
• OpenDaylight is a Model-View-Control platform: – Model YANG: Model for data, RPC and
notifications. Used in MD-SAL architecture • E.g. the model of a flow
– View REST API: View self-generated and accessible through NB (AD-SAL) or RESTconf (MD-SAL). “User” interface.
– Control Java Implemented Code: To handle data changes, notifications and RPC callbacks.
13
AD-SAL vs MD-SAL
14
MD-SAL
15
Web GUI
• DLUX
16
Importance
• Supports a wide variety of SBI protocols versions
• Active community
• Aligned with vendors and telcos
• Easy proposal of projects
• Easy deployment (OSGi)
• However…! – Not so good documentation (e.g. “flavours”?)
– Development of modules requires a deep knowledge of ODL
17
ONOS
• What is Open Network Operating System (ONOS)? <<The Open Network Operating System (ONOS) is a software defined networking (SDN) OS for service providers that has scalability, high availability, high performance and abstractions to make it easy to create apps and services. The platform is based on a solid architecture and has quickly matured to be feature rich and production ready.>>
– Highly available, modular, extensible, distributed, scalable and multi-protocol controller infrastructure
– Supports OpenFlow (1.0, 1.3), NETCONF, OVSDB
– Protocol and device behaviour independence
– Written in Java
– Apache 2.0 license
18
ONOS
19
• Board
– Service providers:
• AT&T
• China Unicom
• NTT Communications
Corp
• SK Telecom Co., Ltd.
• Verizon
Vendors:
Alcatel Lucent
Ciena Corporation
Cisco Systems, Inc.
Ericsson
Fujitsu Ltd.
Huawei Technologies Co. Ltd.
Intel Corporation
NEC Corporation
ON.Lab
ONOS
• Origin and releases:
– 2014 Avocet
– Currently Falcon (03/2016)
– Periodic releases every ~3 months
• Keys:
1. Grow a community of partners
2. Produce high quality NOS software
3. Create an effective open source process allowing contributors to be productive
20
Architecture
21
Architecture
• Services and Subsystems
– A service/subsystem is a unit of functionality that is comprised of multiple components that create a vertical slice through the tiers as a software stack.
– ONOS defines several primary services: • Device Subsystem
• Link Subsystem
• Host Subsystem
• Topology Subsystem
• PathService
• FlowRule Subsystem
• Packet Subsystem
22
Architecture
23
Architecture
• Subsystem architecture
24
Architecture
• Events and Descriptions
25
Architecture
• Model Objects – ONOS maintains protocol-agnostic + protocol-specific
network element and state representations. • The former are constructs of the core tier, referred to
as Model Objects, and the latter are constructs of the appropriate provider.
– Model Objects are what ONOS exposes to its applications.
– Types • Network Topology ( networks as directed graphs)
Device, Port, Host, Link, EdgeLink, Path,Topology
• Network Control ( high-level flow rules: match+action)
FlowRule (!=OF), Intent, RoleValue (clusters: NONE, SLAVE, MASTER)
• Network Packets ( protocol agnostic)
OutboundPacket , InboundPacket
26
Intents
• Intent Framework
– Subsystem that allows applications to specify their network control desires in form of policy rather than mechanism.
• An Intent is an immutable model object that describes an application's request to the ONOS core to alter the network's behavior. Described by:
– Network Resource
– Constraints
– Criteria
– Instructions
27
Web GUI
28
Importance
• Supports a wide variety of SBI protocols versions
• Very active community
• Good documentation
• Aligned with vendors and telcos
• Easy deployment (OSGi)
• However…! – Still in its early phases (some project are still
under development and not fully supported)
29
ODL vs. ONOS
• Linux Foundation! • From: https://www.sdxcentral.com/articles/news/onos-joins-the-linux-foundation-
becoming-an-opendaylight-sibling/2015/10/ (Oct’2015)
– “It’s important to understand how code flows. People pick components and mix them together when it makes sense to do so. One nice thing about a single umbrella is it creates harmony” Zemlin says.
– “ONOS and ODL focused on different problems. While ONOS has focused on service providers’ needs, which landed it a role as a local controller for AT&T, ODL was created to be the Linux of networking: one platform to have a very long life and enable people to build a wide range of solutions to solve a wide range of problems.” AT&T is using the ODL framework as the basis for its global SDN controller.
– “One of my big hopes,” says Jacques (ODL executive director), “is that we don’t need to be in opposition anymore. It allows us to create collaboration.”
30
ODL vs. ONOS
• Cloud vs. Carrier-grade networks?
• Legacy vs. “Pure” SDN?
• Private companies vs. Academic?
31
Questions?
Thanks for your attention!
32
Maven, OSGi, Karaf
• Apache Maven
– Apache Maven is a software project
management and comprehension tool.
– Based on the concept of a project object
model (POM), Maven can manage a project's
build, reporting and documentation from a
central piece of information.
https://maven.apache.org/
33
Maven, OSGi, Karaf
• OSGi – Dynamic Module System for Java bundles
https://www.osgi.org/
• Apache Karaf – OSGI environment implementation that provides
some additional features (Apache Felix) • Folder based hot deployment
• Remote SSH access to the console
• Centralized logging
• Own Maven plugins
http://karaf.apache.org/
34