clash of titans in sdn: opendaylight vs onos - elisa rojas

34
Clash of titans in SDN: OpenDaylight vs ONOS Elisa Rojas Sánchez [email protected] TECHDAY MADRID, SPAIN, 11 MARCH 2016 1

Upload: opennebula-project

Post on 07-Jan-2017

3.409 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Clash of titans in SDN:

OpenDaylight vs ONOS

Elisa Rojas Sánchez [email protected]

TECHDAY MADRID, SPAIN, 11 MARCH 2016

1

Page 2: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Outline

• A bit of history…

• OpenDaylight (ODL)

• ONOS

• ODL vs ONOS

2

Page 3: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

A bit of history…

OpenFlow controller

SDN controller

SDN framework

Network Operating System

3

Page 4: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 5: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

… + 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

Page 6: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 7: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 8: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

OpenDaylight (ODL)

• Project members (1/2)

8

Page 9: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

OpenDaylight (ODL)

• Project members (2/2)

9

Page 10: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 11: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Architecture

11

Page 12: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Project list

12

Page 13: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 14: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

AD-SAL vs MD-SAL

14

Page 15: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

MD-SAL

15

Page 16: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Web GUI

• DLUX

16

Page 17: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 18: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 19: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 20: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 21: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Architecture

21

Page 22: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 23: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Architecture

23

Page 24: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Architecture

• Subsystem architecture

24

Page 25: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Architecture

• Events and Descriptions

25

Page 26: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 27: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 28: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Web GUI

28

Page 29: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 30: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 31: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

ODL vs. ONOS

• Cloud vs. Carrier-grade networks?

• Legacy vs. “Pure” SDN?

• Private companies vs. Academic?

31

Page 32: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

Questions?

Thanks for your attention!

32

Page 33: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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

Page 34: Clash of Titans in SDN: OpenDaylight vs ONOS - Elisa Rojas

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