OpenFLOW Controllers » History » Version 9

Raphael Cóbe, 04 Jun 2013 11:19

1 1 Thiago Paiva
h1. OpenFLOW Controllers
2 1 Thiago Paiva
3 5 Thiago Paiva
Características a analisar: 
4 1 Thiago Paiva
5 5 Thiago Paiva
* linguagem
6 5 Thiago Paiva
* licença
7 5 Thiago Paiva
* tamanho do pacote
8 5 Thiago Paiva
* features
9 5 Thiago Paiva
* documentação
10 5 Thiago Paiva
* exemplos
11 6 Thiago Paiva
* versão do OpenFLOW
12 1 Thiago Paiva
13 5 Thiago Paiva
14 1 Thiago Paiva
h2. OpenFLOW
15 5 Thiago Paiva
16 5 Thiago Paiva
* protocol between the controller and the switches
17 5 Thiago Paiva
* set of operations on the switches
18 1 Thiago Paiva
19 1 Thiago Paiva
* http://routingfreak.wordpress.com/2013/03/01/openflow-controllers-whats-missing-in-routing-protocols-today/
20 1 Thiago Paiva
* http://en.wikipedia.org/wiki/OpenFlow
21 1 Thiago Paiva
* http://www.openflow.org/
22 1 Thiago Paiva
* http://www.openflow.org/wp/openflow-components/
23 1 Thiago Paiva
* http://bigswitch.com/blog/2012/12/20/why-openflow-hardware-control-matters-in-the-data-center
24 1 Thiago Paiva
25 1 Thiago Paiva
26 1 Thiago Paiva
27 1 Thiago Paiva
28 1 Thiago Paiva
h2. Controladores
29 1 Thiago Paiva
30 2 Raphael Cóbe
h3. Tabela Resumo:
31 2 Raphael Cóbe
32 3 Raphael Cóbe
|_. Nome|_. Linguagem|_. Licença|_. Tamanho do Pacote                              |_. Features              |_. URL|_. Versão do OpenFlow |
33 7 Raphael Cóbe
|*Nox*    |C++         |GPL V3    |>. 258 Kb (Fonte)                                 | Provides a C++ OpenFlow 1.0 API
34 1 Thiago Paiva
    Provides fast, asynchronous IO
35 1 Thiago Paiva
    Includes sample components for:
36 1 Thiago Paiva
        Topology discovery
37 1 Thiago Paiva
        Learning switch
38 1 Thiago Paiva
        Network-wide switch |http://www.noxrepo.org/pox/documentation/| 1.0 |
39 7 Raphael Cóbe
|*Pox*    |Python      |GPL V3    |>. 1.1 Mb (Fonte)                                 | “Pythonic” OpenFlow interfacePOX Performance Graph
40 1 Thiago Paiva
Reusable sample components for path selection, topology discovery, etc.
41 1 Thiago Paiva
“Runs anywhere” – Can bundle with install-free PyPy runtime for easy deployment
42 1 Thiago Paiva
Specifically targets Linux, Mac OS, and Windows
43 1 Thiago Paiva
Supports the same GUI and visualization tools as NOX
44 1 Thiago Paiva
Performs well compared to NOX applications written in Python          |http://www.noxrepo.org/nox/documentation/| 1.0|
45 7 Raphael Cóbe
|*Beacon* |Java        |GPL v2    |>. 12.2 Mb (Fonte) 17 Mb (Binários + Dependências)|    *Stable* - Beacon has been in development since early 2010, and has been used in several research projects, networking classes, and trial deployments. Beacon currently powers a 100-vswitch, 20-physical switch experimental data center and has run for months without downtime.
46 1 Thiago Paiva
    *Cross-platform* - Beacon is written in Java and runs on many platforms, from high end multi-core Linux servers to Android phones.
47 1 Thiago Paiva
    *Dynamic* - Code bundles in Beacon can be started/stopped/refreshed/installed at runtime, without interrupting other non-dependent bundles (ie replace your running Learning Switch application without disconnecting switches).
48 1 Thiago Paiva
    *Rapid Development* - Beacon is easy to get up and running. Java and Eclipse simplify development and debugging of your applications.
49 1 Thiago Paiva
    *Fast* - Beacon is multithreaded, check out performance benchmarks.
50 1 Thiago Paiva
    *Web UI* - Beacon optionally embeds the Jetty enterprise web server and a custom extensible UI framework
51 1 Thiago Paiva
    *Frameworks* - Beacon builds on mature Java frameworks such as Spring and Equinox (OSGi)           |https://openflow.stanford.edu/display/Beacon/Guides|1.0|
52 8 Raphael Cóbe
|*Maestro* |Java        |LGPL v2.1    |>. 117 Kb (Binários) 262 Kb (Fonte) |*Developed in Java* (both the platform and the components) - Highly portable to various operating systems and architectures.
53 1 Thiago Paiva
    *Multi-threaded* - Takes full advantage of multi-core processors. 
54 1 Thiago Paiva
    Currently provides the control components for realizing either a learning switch network, or a routed network using OpenFlow switches.              |http://code.google.com/p/maestro-platform/wiki/MaestroTutorial|1.0|
55 8 Raphael Cóbe
|*Ryu* |Python        |Apache V2.0   |>. 12.2 Mb (Fontes) |*OpenStack supports Ryu*. You can create tens of thousands of isolated virtual networks without using VLAN. You manage virtual networks, OpenStack notifies of Ryu and Ryu configures OpenvSwitches properly.
56 1 Thiago Paiva
    You can try Now. Ryu's *pre-configured VM image* file enables you to easily set up multi-node OpenStack environment.
57 1 Thiago Paiva
    We try Ryu with *software OpenFlow Switch* (OpenvSwitch) and bunch of *hardware OpenFlow Switches*.|https://github.com/osrg/ryu/wiki|1.0, 1.2, 1.3 e Nicira Extensions|
58 9 Raphael Cóbe
|*Floodlight* |Java        |Apache V2.0   |>. 46 Mb (Fonte)| Offers a *module loading system* that make it simple to extend and enhance.
59 8 Raphael Cóbe
    *Easy to set up* with *minimal dependencies*
60 8 Raphael Cóbe
    Supports a broad range of *virtual- and physical- OpenFlow switches*
61 8 Raphael Cóbe
    Can handle *mixed OpenFlow and non-OpenFlow networks* – it can manage multiple “islands” of OpenFlow hardware switches
62 8 Raphael Cóbe
    Designed to be *high-performance* – is the *core of a commercial product from Big Switch Networks*.
63 8 Raphael Cóbe
    *Support for OpenStack* cloud orchestration platform - *OpenStack Quantum plugin*
64 8 Raphael Cóbe
    *API REST*
65 8 Raphael Cóbe
    *Floodlight VM*. It includes floodlight running by default and Mininet.
66 8 Raphael Cóbe
    *Nos repositórios do Ubuntu*|http://www.projectfloodlight.org/documentation/|1.0|
67 7 Raphael Cóbe
68 4 Thiago Paiva
69 4 Thiago Paiva
70 4 Thiago Paiva
h3. Listas
71 4 Thiago Paiva
72 4 Thiago Paiva
* http://tech.saroscorner.com/2012/12/list-of-openflow-controllers-for-sdn.html
73 4 Thiago Paiva
74 4 Thiago Paiva
75 4 Thiago Paiva
h3. BigSwitch
76 4 Thiago Paiva
77 4 Thiago Paiva
* closed-source
78 4 Thiago Paiva
* based on Beacon 
79 4 Thiago Paiva
* java
80 4 Thiago Paiva
* targets production networks
81 4 Thiago Paiva
* user-friendly cli
82 4 Thiago Paiva
83 4 Thiago Paiva
84 4 Thiago Paiva
h3. floodlight
85 4 Thiago Paiva
86 4 Thiago Paiva
* http://www.projectfloodlight.org/floodlight/
87 4 Thiago Paiva
* http://groups.geni.net/geni/wiki/OpenFlow/Controllers/Floodlight
88 4 Thiago Paiva
89 4 Thiago Paiva
* enterprise class (production)
90 4 Thiago Paiva
* apache-licensed (open-source)
91 4 Thiago Paiva
* support a broad range of OpenFLOW switches
92 4 Thiago Paiva
* can manage multiple island of OpenFLOW switches
93 4 Thiago Paiva
* the core of 'BigSwitch' (BigSwitch open-sourced FloodLight)
94 4 Thiago Paiva
* fisical and virtual switches
95 4 Thiago Paiva
* open community of developers
96 4 Thiago Paiva
* simple to use
97 4 Thiago Paiva
* java
98 4 Thiago Paiva
* modular (simple to extend and enhance)
99 4 Thiago Paiva
* minimal dependencies
100 4 Thiago Paiva
* mixed OpenFLOW and non-OpenFLOW networks
101 4 Thiago Paiva
* high performance
102 4 Thiago Paiva
* support for OPENSTACK cloud orchestration platform
103 4 Thiago Paiva
* (tem no repositório???)
104 4 Thiago Paiva
* Floodlight VM (run mininet for tests)
105 4 Thiago Paiva
* Examples at flood light site
106 4 Thiago Paiva
* Avior (GUI open-source)
107 4 Thiago Paiva
108 4 Thiago Paiva
h3. POX
109 4 Thiago Paiva
110 4 Thiago Paiva
* python
111 4 Thiago Paiva
* multi-platform
112 4 Thiago Paiva
* research and education
113 4 Thiago Paiva
* open-source
114 4 Thiago Paiva
115 4 Thiago Paiva
h3. NOX
116 4 Thiago Paiva
117 4 Thiago Paiva
* concurrent applications
118 4 Thiago Paiva
* python and C++
119 4 Thiago Paiva
* sample controller applications
120 4 Thiago Paiva
121 4 Thiago Paiva
h3. MUL
122 4 Thiago Paiva
123 4 Thiago Paiva
h3. Jaxon
124 4 Thiago Paiva
125 4 Thiago Paiva
h3. Trema
126 4 Thiago Paiva
127 4 Thiago Paiva
h3. Beacon
128 4 Thiago Paiva
129 4 Thiago Paiva
* java
130 4 Thiago Paiva
* OSGI framework (openflow applications built on the platform to be started / stopped / refreshed / installed at runtime
131 4 Thiago Paiva
* cross-platform
132 4 Thiago Paiva
* modular
133 4 Thiago Paiva
* "robusto"
134 4 Thiago Paiva
135 4 Thiago Paiva
136 4 Thiago Paiva
h3. Maestro
137 4 Thiago Paiva
138 4 Thiago Paiva
* java
139 4 Thiago Paiva
* extensible
140 4 Thiago Paiva
* multi-threading
141 4 Thiago Paiva
* target researchers
142 4 Thiago Paiva
* open-source
143 4 Thiago Paiva
144 4 Thiago Paiva
145 4 Thiago Paiva
h3. NDDI-OESS
146 4 Thiago Paiva
147 4 Thiago Paiva
h3. NodeFlow
148 4 Thiago Paiva
149 4 Thiago Paiva
h3. Ryu
150 4 Thiago Paiva
151 4 Thiago Paiva
* well-defined API
152 4 Thiago Paiva
* NTT Labs (instituição por trás)
153 4 Thiago Paiva
154 4 Thiago Paiva
155 4 Thiago Paiva
h3. OVS-Controller
156 4 Thiago Paiva
157 4 Thiago Paiva
h3. Helios
158 4 Thiago Paiva
159 4 Thiago Paiva
* C
160 4 Thiago Paiva
* NEC (empresa que desenvolve)
161 4 Thiago Paiva
* targetting researchers
162 4 Thiago Paiva
* programmatic shell (integrated experiments)
163 4 Thiago Paiva
164 4 Thiago Paiva
165 4 Thiago Paiva
h3. SNAC
166 4 Thiago Paiva
167 4 Thiago Paiva
* targets production networks
168 4 Thiago Paiva
* based on NOX 0.4 
169 4 Thiago Paiva
* python e C++
170 4 Thiago Paiva
* flexible policy definition language
171 4 Thiago Paiva
* user-friendly interface (configuration + monitoring)
172 4 Thiago Paiva
173 4 Thiago Paiva
174 4 Thiago Paiva
h3. HP Virtual Application Networks SDN Controller
175 4 Thiago Paiva
176 4 Thiago Paiva
* dinamic control plane
177 4 Thiago Paiva
* full support for OpenFLOW protocol
178 4 Thiago Paiva
* Open API enable third part application
179 4 Thiago Paiva
180 4 Thiago Paiva
181 4 Thiago Paiva
h3. IBM PNC (IBM Programmable Network Controller)
182 4 Thiago Paiva
183 4 Thiago Paiva
* unlimited virtual machine mobility
184 4 Thiago Paiva
* enterprise class (production)
185 4 Thiago Paiva
* automatically and continuous discovers network topology
186 4 Thiago Paiva
187 4 Thiago Paiva
188 4 Thiago Paiva
h2. Hypervisor
189 4 Thiago Paiva
190 4 Thiago Paiva
To a controller: ordinary switch. To a switch: a controller. Must stay on top of switches and under the controller.
191 4 Thiago Paiva
192 4 Thiago Paiva
h3. FlowVisor
193 4 Thiago Paiva
194 4 Thiago Paiva
* transparent proxy between switches and controller
195 4 Thiago Paiva
* slices of network
196 4 Thiago Paiva
* network virtualization platform
197 4 Thiago Paiva
* hypervisor
198 4 Thiago Paiva
* isolate services at slices (groups?)
199 4 Thiago Paiva
200 4 Thiago Paiva
h2. Guias
201 4 Thiago Paiva
202 4 Thiago Paiva
* http://searchsdn.techtarget.com/guides/OpenFlow-protocol-tutorial-SDN-controllers-and-applications-emerge
203 4 Thiago Paiva
204 4 Thiago Paiva
205 4 Thiago Paiva
206 4 Thiago Paiva
h2. Comparativos
207 4 Thiago Paiva
208 4 Thiago Paiva
* Nox, Nox D, Beacon, Maestro
209 4 Thiago Paiva
http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons