The State of (Open Source) SDN and Programming Language Opportunities



Similar documents
OpenDaylight: Introduction, Lithium and Beyond

OpenDaylight and the Rise of Open Source, Software Networking

Exploring OpenDaylight

SDN-NFV Open Source. Landscape, Scaling, Use-Cases Sharon Barkai Cofounder, ConteXtream. Santa Clara, CA USA April 2015

A Brief Introduction to SDN and OpenDaylight

OpenDaylight and the Past, Present and Future of Open Source Networking

Centinel: Streaming Data Handler. September 07 th, 2015

Learn how Open Source Software is Redefining SDN!

Get Ship Done! Microservices Cloud Development Made Easy Charles Eckel and David Tootill Cisco Systems

Designing Virtual Network Security Architectures Dave Shackleford

Building an Open, Adaptive & Responsive Data Center using OpenDaylight

Open Source Network: Software-Defined Networking (SDN) and OpenFlow

SDN and NFV Open Source Initiatives. Systematic SDN and NFV Workshop Challenges, Opportunities and Potential Impact

Software Defined Networking (SDN) OpenFlow and OpenStack. Vivek Dasgupta Principal Software Maintenance Engineer Red Hat

App Development Tutorial

Introduction to Software Defined Networking

YANG User Interface (YANGUI) in OpenDaylight

Emerging Software Defined Networking & Open APIs Ecosystem

Developing OpenDaylight Apps with MD-SAL. J. Medved, E. Warnicke, A. Tkacik. R. Varga Cisco Sample App: M. Rehak, Cisco February 04, 2014

Qualifying SDN/OpenFlow Enabled Networks

Surviving the SDN Wars. Curt Beckmann Chair of Forwarding Abstractions WG, ONF and EMEA CTO

Using SouthBound APIs to build an SDN Solution. Dan Mihai Dumitriu Midokura Feb 5 th, 2014

OVSDB/Neutron Support in Lithium and Beyond. ODL Technical Work Stream Call February 23, 2015

ViSION Status Update. Dan Savu Stefan Stancu. D. Savu - CERN openlab

Trusting SDN. Brett Sovereign Trusted Systems Research National Security Agency 28 October, 2015

Model-Driven OpenFlow Interoperability

Network Virtualization and Software-defined Networking. Chris Wright and Thomas Graf Red Hat June 14, 2013

OpenConfig: collaborating to enable programmable network management

Bringing OpenFlow s Power to Real Networks

SDN powers Big Data Network with Analytics and Visualization 用 于 大 数 据 可 视 化 的 SDN 技 术

Towards Smart and Intelligent SDN Controller

SDN. What's Software Defined Networking? Angelo Capossele

What is SDN? And Why Should I Care? Jim Metzler Vice President Ashton Metzler & Associates

The OpenDaylight Project

Using OpenStack With OpenDaylight. Dave Meyer, Brocade Kyle Mestery, Cisco Brent Salisbury, Red Hat Madhu Venugopal, Red Hat

2016 SDN Controller Landscape Is there a Winner? 2016 SDNCentral LLC Presented on ONF Tutorial Day at ONS 2016

智 慧 應 用 服 務 的 資 料 中 心 與 底 層 網 路 架 構

OPENFLOW, SDN, OPEN SOURCE AND BARE METAL SWITCHES. Guido Appenzeller (Not representing Anyone)

OpenDaylight Network Virtualization and its Future Direction

2013 ONS Tutorial 2: SDN Market Opportunities

The State of OpenFlow: Advice for Those Considering SDN. Steve Wallace Executive Director, InCNTRE SDN Lab Indiana University

From Active & Programmable Networks to.. OpenFlow & Software Defined Networks. Prof. C. Tschudin, M. Sifalakis, T. Meyer, M. Monti, S.

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

Group-Based Policy for OpenStack

OpenFlow Technology Investigation Vendors Review on OpenFlow implementation

SDN Applications in Today s Data Center

Software-Defined Networking

An Open Approach to Enhancing Networking for OpenStack

Outline. Institute of Computer and Communication Network Engineering. Institute of Computer and Communication Network Engineering

Testing Software Defined Network (SDN) For Data Center and Cloud VERYX TECHNOLOGIES

OPNFV Summit 2015 Presentation. Coexistence of Commercial Solutions with OpenSource OPNFV Platform

Software Defined Networking & Openflow

THE REVOLUTION TOWARDS SOFTWARE- DEFINED NETWORKING

Current Development of Major SDN Standards Organizations

SDN/Virtualization and Cloud Computing

Software Defined Network (SDN)

Software Defined Networking What is it, how does it work, and what is it good for?

OpenFlow Introduction and Status

Software Defined Networks

Defining SDN. Overview of SDN Terminology & Concepts. Presented by: Shangxin Du, Cisco TAC Panelist: Pix Xu Jan 2014

Better management of large-scale, heterogeneous networks toward a programmable management plane

Software Defined Networking A quantum leap for Devops?

SOFTWARE-DEFINED NETWORKING (SDN)/NFV AND ACADEMIC RESEARCH IN CANADA

Simplifying Data Data Center Center Network Management Leveraging SDN SDN

OpenFlow & Software Defined Networking

OpenFlow/So+ware- defined Networks. Srini Seetharaman Clean Slate Lab Stanford University July 2010

SDN AND SECURITY: Why Take Over the Hosts When You Can Take Over the Network

Virtualization, SDN and NFV

Network Virtualization and Application Delivery Using Software Defined Networking

Ethernet-based Software Defined Network (SDN) Cloud Computing Research Center for Mobile Applications (CCMA), ITRI 雲 端 運 算 行 動 應 用 研 究 中 心

SDN/OpenFlow. Dean Pemberton Andy Linton

Utility Computing and Cloud Networking. Delivering Networking as a Service

How To Orchestrate The Clouddusing Network With Andn

BROADCOM SDN SOLUTIONS OF-DPA (OPENFLOW DATA PLANE ABSTRACTION) SOFTWARE

SDN Software Defined Networks

SOFTWARE DEFINED NETWORKING

Using SDN-OpenFlow for High-level Services

SDN, NFV & Future Technologies. Chris Thompson Director of Product Management, Cloud Connectivity Solutions

CS244 Lecture 5 Architecture and Principles

The 2013 Guide to Network Virtualization and SDN

SDN: A NEW PARADIGM. Kireeti Kompella CTO, JDI

Cloud Computing, Software Defined Networking, Network Function Virtualization

Software Defined Networking Seminar

SDN Architecture and Service Trend

A Presentation at DGI 2014 Government Cloud Computing and Data Center Conference & Expo, Washington, DC. September 18, 2014.

Introduction to Software Defined Networking (SDN) and how it will change the inside of your DataCentre

Cisco Network Services Orchestrator enabled by Tail-f Multi-Vendor Service Automation & Network Programmability Stefan Vallin, Ph D

Software Defined Environments

SDN and NFV in the WAN

Software Defined Networking at the Tactical Edge

Software Defined Networking (SDN) Solutions, Market Opportunities and Forecast

Prospects for Software Defined Networking & Network Function Virtualization in Media and Broadcast John Ellerton

Transcription:

The State of (Open Source) SDN and Programming Language Opportunities Colin Dixon Technical Steering Committee Chair, OpenDaylight Principal Engineer, Brocade Some content from: David Meyer, Neela Jaques, Kevin Woods, and others

Outline What I know a lot about Who I am and why I m here A brief history of SDN Problems that I have What I know a lot less about Ideas for how to solve them in nice ways instead of my normal systemsy hacks

Colin Dixon PhD Univ. of Washington 2011 IBM Research AusJn 2012 14 Started with ODL in late 2012 OpenDaylight 2012- present CommiRer- at- Large (9/2014) TSC Chair (10/2014) Brocade 2014- present Grad Student Research Lab Academic Working on products Working in Open Source Industry Working in Open Source Shipping products

A brief history of SDN Original Papers 4D (2004/2005) SANE/Ethane (2006/2007) OpenFlow (2008) Onix (2010) explosion This is just Controllers (Open Source) So`ware Open vswitch (2009) NOX/POX (2009/2011) Beacon (2010) Trema (2011) Floodlight (2011/2012) Ryu (2011/2012) OpenDaylight (2013) ONOS (2014)

Traditional SDN (OpenFlow) The separation of the control and data planes Modern switches Control/data plane both on switch Data plane: fast, reads tables Control plane: slow, writes tables SDN Decouple control/data planes Data plane on the switch Control plane elsewhere, e.g., an x86 server, can do fancier things Most features go here This gets smaller, turns into controller to switch chip translator 0A- >0E 0A- >0C SDN Controller Control Plane CPU Switch Chip Ports, 1-6 Install table entry, send packet 0C- >4 Table miss, send to controller dst 0E 0A 0C port 6 1 4

Modern, Inclusive SDN Vendor A mgmt control Vendor B mgmt control Vendor C mgmt control NETCONF/YANG Logically Centralized SDN Controller mgmt control mgmt control Northbound API Industry Standard Control/Management Protocols Standard mgmt Modeling Language control Vendor A Vendor B Vendor C

Acquisitions (very incomplete) 2012: Nicira => VMware (1.26B) 2012: Contrail => Juniper (176M) 2013: Insieme => Cisco (863M) 2014: Tail- F => Cisco (175M) 2015: Cyan => Ciena (400M)

Deployed in Production Today AT&T s Domain 2.0 inijajve Broad arempt to move to SDN and NFV in a major way BWoD runs us Brocade s OpenDaylight- based controller Also see: Google, Microso`, VMware, etc.

Summary SDN has gone from wild, crazy academic idea to reality Tons of arenjon from academia and industry Sustained ~1B/year in acquisijons Along the way it s changed a lot Not just about separajon of the control plane from the data plane Not just OpenFlow I think it s the rise of open source so`ware networking

Open Source SDN Projects of Note Orchestra;on Management/ Control Control/ Data Open Network Linux Akanda CloudRouter MidoNet ONIE ONOS OVN Open Compute Open Network Linux OpenContrail PrescripJve Topology Manager Quagga SocketPlane Weave and many, many more

What is OpenDaylight OpenDaylight is an Open Source So?ware project under the Linux Founda;on with the goal of furthering the adopjon and innovajon of So?ware Defined Networking (SDN) through the creajon of a common industry supported plaporm. Code Acceptance Community To create a robust, extensible, open source code base that covers the major common components required to build an SDN solujon To get broad industry acceptance amongst vendors and users: Using it directly or through vendor products Vendors using OpenDaylight in commercial products To have a thriving and growing technical community contribujng to the code base, using the code in commercial products, and adding value above, below and around.

OpenDaylight Releases Hydrogen (first release) February 2014 13 projects, 1.3m lines of code Helium October 2014 25 projects, 2.1m lines of code Lithium (most recent release) June 2015 40 projects, 2.3m lines of code

Core Architecture App/ Service App/ Service Controllers in a Cluster Model- Driven Service AbstracJon Layer (MD- SAL) NoJficaJons RPCs Data Plugin Plugin YANG Models

What does YANG data look like container ~= struct list ~= map/dicjonary leaf ~= primijve types grouping ~= interface grouping node-attributes { leaf node-id {... } } container network-topology { list topology { key "topology-id"; leaf topology-id { type topology-id; } Others: typedef, pointers, constraints, etc. } } list node { key "node-id"; uses node-attributes; } list link { key "link-id"; uses link-attributes; }

Why Java? Obvious answer: it s what we started in, so Slightly deeper: ~40 companies looking to hire ~10 developers each at some cost Java developers are (a) common, (b) reasonably priced, (c) somewhat safe CUDA/OpenCL : GPUs :: OpenDaylight : Java programmers Would we change to something else? Not everywhere. In some places, maybe.

Programming Language Opportunities Things that are currently causing me problems.

SDN Grand Challenges Centralized vs. Distributed RAFT distributed consensus algorithm in Helium ConJnued work on clustering in Lithium and beyond MigraJon to SDN Support SNMP, BGP, LISP, NETCONF legacy protocols ApplicaJon ComposiJon Support for declarajve, intent- based policy Unified models for inventory, topology, and more Hardware Diversity Support for Table Type PaRerns Device Driver Framework provides adaptajon in Lithium

How to get there from here How do we deploy SDN when it s not green field Because prery much nothing is actually green field Hybrid switches, hybrid networks, legacy protocols for interoperability, etc. OpenDaylight supports SNMP, BGP, LISP, NETCONF, etc. Trust and stability Current networks build on 40 years of code/experience How can SDN compete with that? Borrow good code/ideas from legacy code Provide berer visibility, debugging, etc. Model checking, verificajon, etc. 18

How to get there from here MB OF Flowlog s Exodus, Header Space Analysis, etc. Translate legacy config to SDN programs with correct semanjcs OF SDN OF Loop? Connected? Unreachable? Works prery well when everything is SDN- enabled In pracjce, connected to legacy network devices Also, middleboxes

Centralized vs. Distributed (Consistency, Clustering and Federation) SDN promises a (logically) centralized control plane In pracjce, we have a distributed cluster of controllers, rather than just one so that we can tolerate faults we can scale out our performance in network parjjons there are controllers on both sides Providing consistency, federajon, scale- out, dealing with CAP trade- offs, etc. is HARD http://events.linuxfoundation.org/sites/events/files/slides/sdn-consistency-ods2014.pdf https://www.youtube.com/watch?v=xq-lnb3x30g

Centralized vs. Distributed (Consistency, Clustering and Federation) What properjes can I provide when mixing consistency levels? the topology is stored in an eventually consistent manner the acjons I take based on it should not diverge Is Irmin one answer?

Hardware Diversity OpenFlow 1.0 provided a lowest common denominator API Real hardware is much more diverse and has many more capabilijes Exposing this diversity without burdening developers with per- device programming is hard Some ARempts Programming Protocol- independent Packet Processors (P4) TTPs from the ONF s FAWG hrps://www.youtube.com/watch?v=bcabs6w_k_o hrp://events.linuxfoundajon.org/sites/events/files/slides/ttps%20and%20nbis%20for%20ods2014- final_0.pdf hrp://arxiv.org/pdf/1312.1719v1.pdf 22

Table Type Patterns Really just a simple way to express fixed OF 1.3 pipelines DAG of tables Legal jumps between tables Legal matches in each table Legal acjons/instrucjons in each table Hope is to be able to map SDN services/apps to these in a sane way Compiler? What s the source language?

Are TTPs also the source language? L2 Forwarding DMAC => port Broadcom OF- DPA 10- table TTP L2/L3 Fwding/Rou;ng DMAC=>port IP=>nxtHop nxthop=>port Netronome Corsa Marvell Soon: HP, Dell, Intel

Why is this hard? Some acjons are impossible on a given switch Can fake it in the controller BeRer: use a fast programmable so`ware switch Could even be an end- host vswitch, host stack, NIC cont OF OF SDN VNF OF

Application Composition How can we let muljple SDN apps share the network? PC OSes parjjon and allocate resources You can t easily parjjon the network We re systems people, we can t help it! It s value comes from the fact that it spans everything You can in some cases, e.g., by address space (FlowVisor) Some ideas BeRer Idea: DSLs? Have: Neutron, NIC, GBP Most apps should be middleboxes, i.e., NFV Simply chain them together in the right order There s more to it than this, but linear chaining is powerful Other apps are concerned only with the physical path Coming There is hope to that ODL: conflicts here NEMO, can be sanely Maple, managed PyreJc 26

Application Composition The reality in OpenDaylight Some apps wriren to h/w Other apps wriren to DSLs Many different DSLs Can I combine different DSLs? What about detecjng conflicts with apps with no properjes? App2 App3 App4 App1 comp. DSL2 comp. DSL3 composijon composijon Controller flows on switches

Call to Action

Open source => real impact quickly If you have ideas, they can be real prery quickly Switches: OF- DPA + Open Network Linux on Broadcom Hardware Controllers: OpenDaylight, ONOS, etc. OrchestraJon: OpenStack, etc. You don t have to play with simulators Build the real thing in real code that real people can pick up and use

OpenDaylight in particular Designed to be customized and producjzed Ridiculously modular Nobody will tell you no (at least to producing a new project) We could really use help, guidance and people.

Backup Slides

Network-wide Security Policy Historically, policy is mostly Rigidly enforced by the physical topology, e.g., firewall at the gateway Configured dynamically via box- by- box Access Control Lists (ACLs) New policy efforts are changing this Network FuncJon VirtualizaJon (NFV) and Service FuncJon Chaining (SFC) AutomaJcally generated ACLs based on network- wide policy OpenDaylight is a proving ground for at least 3 policy- oriented projects Service FuncJon Chaining, Group- Based Policy, and Network Intent ComposiJon

OpenStack Neutron Integration OpenStack Neutron Neutron ML2 MechanismDriver VTN Provider OpenDaylight APIs (REST) Neutron Service OpenDaylight OpenContrail Provider OVSDB Provider OpenDaylight has a common Neutron northbound provider 3 implementajons in Helium 4+ implementajons in Lithium Supports L2 network virtualizajon and Distributed L3 forwarding Security Groups {LB,VPN}aaS

Programmable EMS and/or NMS Huge number of southbound protocol drivers OpenFlow, NETCONF, OVSDB, SNMP, BGP, PCEP, PCMM/COPS, etc. With a lirle bit of effort, you can write shell scripts for your network to either gather informajon or automate tasks Automate triggering acjvijes based on network events, e.g., quaranjne a host with L2 ACLs based on informajon from an IDS

How can I get it? OpenDaylight: hrp://www.opendaylight.org/so`ware/downloads Also commercialized, supported versions from Brocade, Ciena, Cisco, Inocybe, and others Understand the difference between uses and based on OpenDaylight Policy on upstreaming changes and compajbility with other products The Brocade VyaRa Controller is based on unmodified OpenDaylight and upstreams all changes to OpenDaylight Get it here: hrps://jnyurl.com/brcdvytacntrlr

Helium AAA: Authentication, Authorization & Accounting AuthN: Authentication BGP: Border Gateway Protocol COPS: Common Open Policy Service DLUX: OpenDaylight User Experience DDoS: Distributed Denial Of Service DOCSIS: Data Over Cable Service Interface Specification GBP: Group Based Policy LISP: Locator/Identifier Separation Protocol OVSDB: Open vswitch DataBase Protocol PCEP: Path Computation Element Communication Protocol PCMM: Packet Cable MultiMedia Core service wiring and dependencies Plugin2OC: Plugin To OpenContrail SDNI: SDN Interface (Cross-Controller Federation) SNBI: Secure Network Bootstrapping Infrastructure SNMP: Simple Network Management Protocol TTP: Table Type Patterns VTN: Virtual Tenant Network VTN Coordinator DDoS Protection SDNI Wrapper DLUX Webbased GUI App/service-specific wiring and dependencies Legend OpenStack (via Neutron) Applications and Orchestration Services Custom Basic AuthN Filter AAA AuthN Filter Neutron AuthN AD-SAL REST APIs MD-SAL RESTCONF (REST) APIs Neutron APIs Authentication Northbound/REST APIs Topology Manager Base Network Service Functions Stats Manager Switch Manager Fwdng Rules Mgr Host Tracker DOCSIS Service LISP Service SDNI Aggregator Service Flow Chaining GBP Service L2 Switch OpenStack Neutron Service OVSDB VTN Plugin2OC Controller Platform and Services API-Driven Service Abstraction Layer (AD-SAL) Clustering Shared Data Models RPCs and Notifications Model-Driven Service Abstraction Layer (MD-SAL) Abstraction Layers OpenFlow PCMM/ OpenFlow OVSDB SNMP SNBI LISP BGP PCEP NETCONF Plugin2OC 1.0 COPS 1.0 1.3 TTP Southbound Interfaces and Protocol Plugins

Who is OpenDaylight?

Who is OpenDaylight? (Really)

Source: https://www.openhub.net/p/opendaylight Who is OpenDaylight? (Really) Like any Open Source Project, OpenDaylight primarily consists of those who show up to do the work. Running around 300 commits per week over 12 months, trending up 30 Days: ~3200 commits, ~150 contributors (4/1/15 5/1/15; during a release) 12 Months: ~16,000 commits, ~325 contributors (5/1/14 5/1/15) Strong integrajon and tesjng community This stuff really marers