OpenFLOW Controllers » History » Version 15

Thiago Paiva, 06 Jun 2013 12:36

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 11 Raphael Cóbe
    Provides *fast, asynchronous IO*
35 1 Thiago Paiva
    Includes sample components for:
36 11 Raphael Cóbe
        *Topology discovery*
37 11 Raphael Cóbe
        *Learning switch*
38 11 Raphael Cóbe
        *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 11 Raphael Cóbe
*Reusable sample components* for *path selection*, *topology discovery*, etc.
41 11 Raphael Cóbe
“Runs anywhere” – Can *bundle with install-free PyPy runtime* for easy deployment
42 11 Raphael Cóbe
Specifically targets *Linux*, Mac OS, and Windows
43 11 Raphael Cóbe
Supports the *same GUI and visualization tools as NOX*
44 11 Raphael Cóbe
*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 10 Raphael Cóbe
|*Ryu* |Python        |Apache V2.0   |>. 12.2 Mb (Fonte) |*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 15 Thiago Paiva
    *Support for OpenStack* cloud orchestration platform - *OpenStack Quantum plugin*.
60 15 Thiago Paiva
    *It is the core of 'BigSwitch' (BigSwitch open-sourced FloodLight)*.
61 15 Thiago Paiva
    *Easy to set up* with *minimal dependencies*.
62 15 Thiago Paiva
    Supports a broad range of *virtual- and physical- OpenFlow switches*.
63 15 Thiago Paiva
    Can handle *mixed OpenFlow and non-OpenFlow networks* – it can manage multiple “islands” of OpenFlow hardware switches.
64 8 Raphael Cóbe
    Designed to be *high-performance* – is the *core of a commercial product from Big Switch Networks*.
65 15 Thiago Paiva
    *API REST*.
66 15 Thiago Paiva
    Enterprise class (production).
67 15 Thiago Paiva
    Floodlight VM*. It includes floodlight running by default and Mininet.
68 15 Thiago Paiva
    *Nos repositórios do Ubuntu*.
69 15 Thiago Paiva
    *Avior (GUI open-source). |http://www.projectfloodlight.org/documentation/|1.0|
70 15 Thiago Paiva
71 13 Thiago Paiva
|*BigSwitch*| java | closed-source | -- | * OpenStack
72 12 Thiago Paiva
    * based on Beacon 
73 12 Thiago Paiva
    * targets production networks
74 12 Thiago Paiva
    * user-friendly cli | http://www.bigswitch.com/ | |
75 12 Thiago Paiva
76 12 Thiago Paiva
77 12 Thiago Paiva
h3. NOX
78 12 Thiago Paiva
79 12 Thiago Paiva
* sample controller applications
80 12 Thiago Paiva
81 12 Thiago Paiva
h3. MUL
82 12 Thiago Paiva
83 12 Thiago Paiva
h3. Jaxon
84 12 Thiago Paiva
85 12 Thiago Paiva
h3. Trema
86 12 Thiago Paiva
87 12 Thiago Paiva
h3. Beacon
88 12 Thiago Paiva
89 12 Thiago Paiva
* java
90 12 Thiago Paiva
* OSGI framework (openflow applications built on the platform to be started / stopped / refreshed / installed at runtime
91 12 Thiago Paiva
* cross-platform
92 12 Thiago Paiva
* modular
93 12 Thiago Paiva
* "robusto"
94 12 Thiago Paiva
95 12 Thiago Paiva
96 12 Thiago Paiva
h3. Maestro
97 12 Thiago Paiva
98 12 Thiago Paiva
* java
99 12 Thiago Paiva
* extensible
100 12 Thiago Paiva
* multi-threading
101 12 Thiago Paiva
* target researchers
102 12 Thiago Paiva
* open-source
103 12 Thiago Paiva
104 12 Thiago Paiva
105 12 Thiago Paiva
h3. NDDI-OESS
106 12 Thiago Paiva
107 12 Thiago Paiva
h3. NodeFlow
108 12 Thiago Paiva
109 12 Thiago Paiva
h3. Ryu
110 12 Thiago Paiva
111 12 Thiago Paiva
* well-defined API
112 12 Thiago Paiva
* NTT Labs (instituição por trás)
113 12 Thiago Paiva
114 12 Thiago Paiva
115 12 Thiago Paiva
h3. OVS-Controller
116 12 Thiago Paiva
117 12 Thiago Paiva
h3. Helios
118 12 Thiago Paiva
119 12 Thiago Paiva
* C
120 12 Thiago Paiva
* NEC (empresa que desenvolve)
121 12 Thiago Paiva
* targetting researchers
122 12 Thiago Paiva
* programmatic shell (integrated experiments)
123 12 Thiago Paiva
124 12 Thiago Paiva
125 12 Thiago Paiva
h3. SNAC
126 12 Thiago Paiva
127 12 Thiago Paiva
* targets production networks
128 12 Thiago Paiva
* based on NOX 0.4 
129 12 Thiago Paiva
* python e C++
130 12 Thiago Paiva
* flexible policy definition language
131 12 Thiago Paiva
* user-friendly interface (configuration + monitoring)
132 12 Thiago Paiva
133 12 Thiago Paiva
134 12 Thiago Paiva
h3. HP Virtual Application Networks SDN Controller
135 12 Thiago Paiva
136 12 Thiago Paiva
* dinamic control plane
137 12 Thiago Paiva
* full support for OpenFLOW protocol
138 12 Thiago Paiva
* Open API enable third part application
139 12 Thiago Paiva
140 12 Thiago Paiva
141 12 Thiago Paiva
h3. IBM PNC (IBM Programmable Network Controller)
142 12 Thiago Paiva
143 12 Thiago Paiva
* unlimited virtual machine mobility
144 12 Thiago Paiva
* enterprise class (production)
145 12 Thiago Paiva
* automatically and continuous discovers network topology
146 12 Thiago Paiva
147 12 Thiago Paiva
148 12 Thiago Paiva
149 12 Thiago Paiva
150 12 Thiago Paiva
151 12 Thiago Paiva
152 12 Thiago Paiva
153 12 Thiago Paiva
154 12 Thiago Paiva
155 12 Thiago Paiva
156 12 Thiago Paiva
157 12 Thiago Paiva
158 12 Thiago Paiva
159 12 Thiago Paiva
160 12 Thiago Paiva
161 12 Thiago Paiva
162 12 Thiago Paiva
163 12 Thiago Paiva
164 12 Thiago Paiva
165 12 Thiago Paiva
166 12 Thiago Paiva
167 7 Raphael Cóbe
168 4 Thiago Paiva
169 4 Thiago Paiva
170 4 Thiago Paiva
h3. Listas
171 4 Thiago Paiva
172 4 Thiago Paiva
* http://tech.saroscorner.com/2012/12/list-of-openflow-controllers-for-sdn.html
173 4 Thiago Paiva
174 4 Thiago Paiva
175 4 Thiago Paiva
h3. BigSwitch
176 4 Thiago Paiva
177 4 Thiago Paiva
* closed-source
178 4 Thiago Paiva
* based on Beacon 
179 4 Thiago Paiva
* java
180 4 Thiago Paiva
* targets production networks
181 4 Thiago Paiva
* user-friendly cli
182 4 Thiago Paiva
183 4 Thiago Paiva
184 4 Thiago Paiva
h3. floodlight
185 4 Thiago Paiva
186 4 Thiago Paiva
* http://www.projectfloodlight.org/floodlight/
187 4 Thiago Paiva
* http://groups.geni.net/geni/wiki/OpenFlow/Controllers/Floodlight
188 4 Thiago Paiva
189 4 Thiago Paiva
* enterprise class (production)
190 4 Thiago Paiva
* apache-licensed (open-source)
191 4 Thiago Paiva
* support a broad range of OpenFLOW switches
192 4 Thiago Paiva
* can manage multiple island of OpenFLOW switches
193 4 Thiago Paiva
* the core of 'BigSwitch' (BigSwitch open-sourced FloodLight)
194 4 Thiago Paiva
* fisical and virtual switches
195 4 Thiago Paiva
* open community of developers
196 4 Thiago Paiva
* simple to use
197 4 Thiago Paiva
* java
198 4 Thiago Paiva
* modular (simple to extend and enhance)
199 4 Thiago Paiva
* minimal dependencies
200 4 Thiago Paiva
* mixed OpenFLOW and non-OpenFLOW networks
201 4 Thiago Paiva
* high performance
202 4 Thiago Paiva
* support for OPENSTACK cloud orchestration platform
203 4 Thiago Paiva
* (tem no repositório???)
204 4 Thiago Paiva
* Floodlight VM (run mininet for tests)
205 4 Thiago Paiva
* Examples at flood light site
206 4 Thiago Paiva
* Avior (GUI open-source)
207 4 Thiago Paiva
208 4 Thiago Paiva
h3. POX
209 4 Thiago Paiva
210 4 Thiago Paiva
* python
211 4 Thiago Paiva
* multi-platform
212 4 Thiago Paiva
* research and education
213 4 Thiago Paiva
* open-source
214 4 Thiago Paiva
215 4 Thiago Paiva
h3. NOX
216 4 Thiago Paiva
217 4 Thiago Paiva
* concurrent applications
218 4 Thiago Paiva
* python and C++
219 4 Thiago Paiva
* sample controller applications
220 4 Thiago Paiva
221 4 Thiago Paiva
h3. MUL
222 4 Thiago Paiva
223 4 Thiago Paiva
h3. Jaxon
224 4 Thiago Paiva
225 4 Thiago Paiva
h3. Trema
226 4 Thiago Paiva
227 4 Thiago Paiva
h3. Beacon
228 4 Thiago Paiva
229 4 Thiago Paiva
* java
230 4 Thiago Paiva
* OSGI framework (openflow applications built on the platform to be started / stopped / refreshed / installed at runtime
231 4 Thiago Paiva
* cross-platform
232 4 Thiago Paiva
* modular
233 4 Thiago Paiva
* "robusto"
234 4 Thiago Paiva
235 4 Thiago Paiva
236 4 Thiago Paiva
h3. Maestro
237 4 Thiago Paiva
238 4 Thiago Paiva
* java
239 4 Thiago Paiva
* extensible
240 4 Thiago Paiva
* multi-threading
241 4 Thiago Paiva
* target researchers
242 4 Thiago Paiva
* open-source
243 4 Thiago Paiva
244 4 Thiago Paiva
245 4 Thiago Paiva
h3. NDDI-OESS
246 4 Thiago Paiva
247 4 Thiago Paiva
h3. NodeFlow
248 4 Thiago Paiva
249 4 Thiago Paiva
h3. Ryu
250 4 Thiago Paiva
251 4 Thiago Paiva
* well-defined API
252 4 Thiago Paiva
* NTT Labs (instituição por trás)
253 4 Thiago Paiva
254 4 Thiago Paiva
255 4 Thiago Paiva
h3. OVS-Controller
256 4 Thiago Paiva
257 4 Thiago Paiva
h3. Helios
258 4 Thiago Paiva
259 4 Thiago Paiva
* C
260 4 Thiago Paiva
* NEC (empresa que desenvolve)
261 4 Thiago Paiva
* targetting researchers
262 4 Thiago Paiva
* programmatic shell (integrated experiments)
263 4 Thiago Paiva
264 4 Thiago Paiva
265 4 Thiago Paiva
h3. SNAC
266 4 Thiago Paiva
267 4 Thiago Paiva
* targets production networks
268 4 Thiago Paiva
* based on NOX 0.4 
269 4 Thiago Paiva
* python e C++
270 4 Thiago Paiva
* flexible policy definition language
271 4 Thiago Paiva
* user-friendly interface (configuration + monitoring)
272 4 Thiago Paiva
273 4 Thiago Paiva
274 4 Thiago Paiva
h3. HP Virtual Application Networks SDN Controller
275 4 Thiago Paiva
276 4 Thiago Paiva
* dinamic control plane
277 4 Thiago Paiva
* full support for OpenFLOW protocol
278 4 Thiago Paiva
* Open API enable third part application
279 4 Thiago Paiva
280 4 Thiago Paiva
281 4 Thiago Paiva
h3. IBM PNC (IBM Programmable Network Controller)
282 4 Thiago Paiva
283 4 Thiago Paiva
* unlimited virtual machine mobility
284 4 Thiago Paiva
* enterprise class (production)
285 4 Thiago Paiva
* automatically and continuous discovers network topology
286 4 Thiago Paiva
287 4 Thiago Paiva
288 4 Thiago Paiva
h2. Hypervisor
289 4 Thiago Paiva
290 4 Thiago Paiva
To a controller: ordinary switch. To a switch: a controller. Must stay on top of switches and under the controller.
291 4 Thiago Paiva
292 4 Thiago Paiva
h3. FlowVisor
293 4 Thiago Paiva
294 4 Thiago Paiva
* transparent proxy between switches and controller
295 4 Thiago Paiva
* slices of network
296 4 Thiago Paiva
* network virtualization platform
297 4 Thiago Paiva
* hypervisor
298 4 Thiago Paiva
* isolate services at slices (groups?)
299 4 Thiago Paiva
300 4 Thiago Paiva
h2. Guias
301 4 Thiago Paiva
302 4 Thiago Paiva
* http://searchsdn.techtarget.com/guides/OpenFlow-protocol-tutorial-SDN-controllers-and-applications-emerge
303 4 Thiago Paiva
304 4 Thiago Paiva
305 4 Thiago Paiva
306 4 Thiago Paiva
h2. Comparativos
307 4 Thiago Paiva
308 4 Thiago Paiva
* Nox, Nox D, Beacon, Maestro
309 4 Thiago Paiva
http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons