14
Controller Conundrums Yatish Kumar

Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

Controller ConundrumsYatish Kumar

Page 2: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

Which Controller is right for me ?• RYU

• ODL

• ONOS

“We also kept getting questions asking where the SDN controller was. I eventually said that if they would define “SDN controller” for me, then I'd tell them where it was. I was being serious, but it just got a laugh and we moved on.” — Ben Pfaff ( author OVS )

Page 3: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

Ryu

WHAT'S RYU?

Ryu is a component-based software defined networking framework. Ryu provides software components with well defined API that make it easy for developers to create new network management and control applications. Ryu supports various protocols for managing network devices, such as OpenFlow, Netconf, OF-config, etc. About OpenFlow, Ryu supports fully 1.0, 1.2, 1.3, 1.4, 1.5 and Nicira Extensions. All of the code is freely available under the Apache 2.0 license.

TRUELY OPENNo CLA, board members, governance, or other mess.

INSTALLATION IS A SNAPUsing pip command is the easiest option:

% pip install ryu

Page 4: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

ONOS

Page 5: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I
Page 6: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

ONOS vs ODL Side By Side

device

host

link

topologypathflowpacket

Typical networking concepts are baked into the core model

core model provides a programming framework

? So where are the hosts, devices, packets, flows etc…

Page 7: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

ODLwe can build and compose

yang models for these concepts

or we can model different core networking concepts

domains

nodes

reachability

isolation

host, device, link, packet, flow

ODL Tutorial actually builds a model/view/controller

abstraction for a toaster.

How do we do that with RYU or ONOS ?

toast

toaster

bread

Page 8: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

ONOS

ENOSdomains

nodes

reachability

isolation

host, device, link, packet, flow ODL is the most general frame work

Your choices are:

1. Invent a modelling astraction you like to run over ODL

2. Adopt a popular abstraction to work with

ONOS. Express your networking problem in terms that

ONOS understands.

ENOS. A higher order model for network

services that can map to ONOS or ODL

Driver

MD-SAL Driver

Page 9: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

Gnnnnhhhhh…..1. Simple controller written by one or two people,

to control a single openflow switch. Use RYU !! 2. Bigger controller, written by a team, to control

MANY OpenFlow switches, using the fundamental concept of a CONNECTION (Telco grade Fabric) as a core concept. Use ONOS !!

3. Higher order controller, using core concepts that YOU like. Use ODL !!

4. Service oriented controller, written by NRENs for NRENs. Use ENOS !!

5. Production Grade L2 controller written by NRENs for NRENs. Use OESS !!

Page 10: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

If I had to pick JUST one

Page 11: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

If I had to pick JUST one

RYU

1. Simple 2. Simple 3. Simple 4. Powerful 5. Rich and Healthy Community 6. Useful building blocks

Page 12: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

Other Cool Controllers

Quagga BirdAny

Linux Router

Linux Networking Stack

Vandervecken

FIB

OF 1.3 Dataplane

OpenFlow 1.3

Vandervecken written in New Zealand, led by Josh Bailey

Simple shim layer that extracts the FIB from the linux networking stack and pushes it into an OpenFlow forwarding plane. Router agnostic, routing protocol agnostic.

Experimental grade SDN Router Just don’t freak out if you break it

Page 13: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

Other Cool Controllers

OF 1.3 Dataplane

Faucet written in New Zealand, by REANNZ

Simple RYU based layer 2 switch designed for production use in the REANNZ office. ie. not a toy switch.

Roughly 1000 lines of python code. Easy to understand, easy to extend, built on the easy to use Ryu framework.

Faucet / Valve

L2 learning / flooding

L2 switching / VLANs

Everyman’s L2 switch. Try this one at home, or in your office. Add some features make it better.

Page 14: Controller Conundrums - Internet2 · 2015-10-16 · Which Controller is right for me ? • RYU • ODL • ONOS “We also kept getting questions asking where the SDN controller was.I

Other Cool Controllers

OVS

OVN a virtual networking controller. Written by vmWare by the authors of OVS

Very simple and high performance controller written by a very credible team. Enables an Open Source network virtualization solution similar to what NSX is built upon.

No frameworks used. Written from scratch in C.

OVN

VxLan Network Virtualization

Production grade solution. Watch this team dominate the virtualization space.