OpenFLOW Controllers » History » Version 7

Raphael Cóbe, 04 Jun 2013 10:55

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 1 Thiago Paiva
|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 7 Raphael Cóbe
|*Ryu* |Python        |Apache V2.0   |>. 12.2 Mb (Fonte) 17 Mb (Binários + Dependências)|*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 7 Raphael Cóbe
    You can try Now. Ryu's *pre-configured VM image* file enables you to easily set up multi-node OpenStack environment.
57 7 Raphael Cóbe
    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 7 Raphael Cóbe
59 4 Thiago Paiva
60 4 Thiago Paiva
61 4 Thiago Paiva
h3. Listas
62 4 Thiago Paiva
63 4 Thiago Paiva
* http://tech.saroscorner.com/2012/12/list-of-openflow-controllers-for-sdn.html
64 4 Thiago Paiva
65 4 Thiago Paiva
66 4 Thiago Paiva
h3. BigSwitch
67 4 Thiago Paiva
68 4 Thiago Paiva
* closed-source
69 4 Thiago Paiva
* based on Beacon 
70 4 Thiago Paiva
* java
71 4 Thiago Paiva
* targets production networks
72 4 Thiago Paiva
* user-friendly cli
73 4 Thiago Paiva
74 4 Thiago Paiva
75 4 Thiago Paiva
h3. floodlight
76 4 Thiago Paiva
77 4 Thiago Paiva
* http://www.projectfloodlight.org/floodlight/
78 4 Thiago Paiva
* http://groups.geni.net/geni/wiki/OpenFlow/Controllers/Floodlight
79 4 Thiago Paiva
80 4 Thiago Paiva
* enterprise class (production)
81 4 Thiago Paiva
* apache-licensed (open-source)
82 4 Thiago Paiva
* support a broad range of OpenFLOW switches
83 4 Thiago Paiva
* can manage multiple island of OpenFLOW switches
84 4 Thiago Paiva
* the core of 'BigSwitch' (BigSwitch open-sourced FloodLight)
85 4 Thiago Paiva
* fisical and virtual switches
86 4 Thiago Paiva
* open community of developers
87 4 Thiago Paiva
* simple to use
88 4 Thiago Paiva
* java
89 4 Thiago Paiva
* modular (simple to extend and enhance)
90 4 Thiago Paiva
* minimal dependencies
91 4 Thiago Paiva
* mixed OpenFLOW and non-OpenFLOW networks
92 4 Thiago Paiva
* high performance
93 4 Thiago Paiva
* support for OPENSTACK cloud orchestration platform
94 4 Thiago Paiva
* (tem no repositório???)
95 4 Thiago Paiva
* Floodlight VM (run mininet for tests)
96 4 Thiago Paiva
* Examples at flood light site
97 4 Thiago Paiva
* Avior (GUI open-source)
98 4 Thiago Paiva
99 4 Thiago Paiva
h3. POX
100 4 Thiago Paiva
101 4 Thiago Paiva
* python
102 4 Thiago Paiva
* multi-platform
103 4 Thiago Paiva
* research and education
104 4 Thiago Paiva
* open-source
105 4 Thiago Paiva
106 4 Thiago Paiva
h3. NOX
107 4 Thiago Paiva
108 4 Thiago Paiva
* concurrent applications
109 4 Thiago Paiva
* python and C++
110 4 Thiago Paiva
* sample controller applications
111 4 Thiago Paiva
112 4 Thiago Paiva
h3. MUL
113 4 Thiago Paiva
114 4 Thiago Paiva
h3. Jaxon
115 4 Thiago Paiva
116 4 Thiago Paiva
h3. Trema
117 4 Thiago Paiva
118 4 Thiago Paiva
h3. Beacon
119 4 Thiago Paiva
120 4 Thiago Paiva
* java
121 4 Thiago Paiva
* OSGI framework (openflow applications built on the platform to be started / stopped / refreshed / installed at runtime
122 4 Thiago Paiva
* cross-platform
123 4 Thiago Paiva
* modular
124 4 Thiago Paiva
* "robusto"
125 4 Thiago Paiva
126 4 Thiago Paiva
127 4 Thiago Paiva
h3. Maestro
128 4 Thiago Paiva
129 4 Thiago Paiva
* java
130 4 Thiago Paiva
* extensible
131 4 Thiago Paiva
* multi-threading
132 4 Thiago Paiva
* target researchers
133 4 Thiago Paiva
* open-source
134 4 Thiago Paiva
135 4 Thiago Paiva
136 4 Thiago Paiva
h3. NDDI-OESS
137 4 Thiago Paiva
138 4 Thiago Paiva
h3. NodeFlow
139 4 Thiago Paiva
140 4 Thiago Paiva
h3. Ryu
141 4 Thiago Paiva
142 4 Thiago Paiva
* well-defined API
143 4 Thiago Paiva
* NTT Labs (instituição por trás)
144 4 Thiago Paiva
145 4 Thiago Paiva
146 4 Thiago Paiva
h3. OVS-Controller
147 4 Thiago Paiva
148 4 Thiago Paiva
h3. Helios
149 4 Thiago Paiva
150 4 Thiago Paiva
* C
151 4 Thiago Paiva
* NEC (empresa que desenvolve)
152 4 Thiago Paiva
* targetting researchers
153 4 Thiago Paiva
* programmatic shell (integrated experiments)
154 4 Thiago Paiva
155 4 Thiago Paiva
156 4 Thiago Paiva
h3. SNAC
157 4 Thiago Paiva
158 4 Thiago Paiva
* targets production networks
159 4 Thiago Paiva
* based on NOX 0.4 
160 4 Thiago Paiva
* python e C++
161 4 Thiago Paiva
* flexible policy definition language
162 4 Thiago Paiva
* user-friendly interface (configuration + monitoring)
163 4 Thiago Paiva
164 4 Thiago Paiva
165 4 Thiago Paiva
h3. HP Virtual Application Networks SDN Controller
166 4 Thiago Paiva
167 4 Thiago Paiva
* dinamic control plane
168 4 Thiago Paiva
* full support for OpenFLOW protocol
169 4 Thiago Paiva
* Open API enable third part application
170 4 Thiago Paiva
171 4 Thiago Paiva
172 4 Thiago Paiva
h3. IBM PNC (IBM Programmable Network Controller)
173 4 Thiago Paiva
174 4 Thiago Paiva
* unlimited virtual machine mobility
175 4 Thiago Paiva
* enterprise class (production)
176 4 Thiago Paiva
* automatically and continuous discovers network topology
177 4 Thiago Paiva
178 4 Thiago Paiva
179 4 Thiago Paiva
h2. Hypervisor
180 4 Thiago Paiva
181 4 Thiago Paiva
To a controller: ordinary switch. To a switch: a controller. Must stay on top of switches and under the controller.
182 4 Thiago Paiva
183 4 Thiago Paiva
h3. FlowVisor
184 4 Thiago Paiva
185 4 Thiago Paiva
* transparent proxy between switches and controller
186 4 Thiago Paiva
* slices of network
187 4 Thiago Paiva
* network virtualization platform
188 4 Thiago Paiva
* hypervisor
189 4 Thiago Paiva
* isolate services at slices (groups?)
190 4 Thiago Paiva
191 4 Thiago Paiva
h2. Guias
192 4 Thiago Paiva
193 4 Thiago Paiva
* http://searchsdn.techtarget.com/guides/OpenFlow-protocol-tutorial-SDN-controllers-and-applications-emerge
194 4 Thiago Paiva
195 4 Thiago Paiva
196 4 Thiago Paiva
197 4 Thiago Paiva
h2. Comparativos
198 4 Thiago Paiva
199 4 Thiago Paiva
* Nox, Nox D, Beacon, Maestro
200 4 Thiago Paiva
http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons