controller conundrums - internet2 · 2015-10-16 · which controller is right for me ? • ryu •...
Post on 15-Aug-2020
3 Views
Preview:
TRANSCRIPT
Controller ConundrumsYatish Kumar
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 )
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
ONOS
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…
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
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
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 !!
If I had to pick JUST one
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
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
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.
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.
top related