OpenFLOW Controllers » History » Version 5

Thiago Paiva, 04 Jun 2013 07:27

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 1 Thiago Paiva
12 5 Thiago Paiva
13 1 Thiago Paiva
h2. OpenFLOW
14 5 Thiago Paiva
15 5 Thiago Paiva
* protocol between the controller and the switches
16 5 Thiago Paiva
* set of operations on the switches
17 1 Thiago Paiva
18 1 Thiago Paiva
* http://routingfreak.wordpress.com/2013/03/01/openflow-controllers-whats-missing-in-routing-protocols-today/
19 1 Thiago Paiva
* http://en.wikipedia.org/wiki/OpenFlow
20 1 Thiago Paiva
* http://www.openflow.org/
21 1 Thiago Paiva
* http://www.openflow.org/wp/openflow-components/
22 1 Thiago Paiva
* http://bigswitch.com/blog/2012/12/20/why-openflow-hardware-control-matters-in-the-data-center
23 1 Thiago Paiva
24 1 Thiago Paiva
25 1 Thiago Paiva
26 1 Thiago Paiva
27 1 Thiago Paiva
h2. Controladores
28 1 Thiago Paiva
29 2 Raphael Cóbe
h3. Tabela Resumo:
30 2 Raphael Cóbe
31 3 Raphael Cóbe
|_. Nome|_. Linguagem|_. Licença|_. Tamanho do Pacote                              |_. Features              |_. URL|_. Versão do OpenFlow |
32 1 Thiago Paiva
|Nox    |C++         |GPL V3    |>. 258 Kb (Fonte)                                 | Provides a C++ OpenFlow 1.0 API
33 1 Thiago Paiva
    Provides fast, asynchronous IO
34 1 Thiago Paiva
    Includes sample components for:
35 1 Thiago Paiva
        Topology discovery
36 1 Thiago Paiva
        Learning switch
37 1 Thiago Paiva
        Network-wide switch |http://www.noxrepo.org/pox/documentation/| 1.0 |
38 1 Thiago Paiva
|Pox    |Python      |GPL V3    |>. 1.1 Mb (Fonte)                                 | “Pythonic” OpenFlow interfacePOX Performance Graph
39 1 Thiago Paiva
Reusable sample components for path selection, topology discovery, etc.
40 1 Thiago Paiva
“Runs anywhere” – Can bundle with install-free PyPy runtime for easy deployment
41 1 Thiago Paiva
Specifically targets Linux, Mac OS, and Windows
42 1 Thiago Paiva
Supports the same GUI and visualization tools as NOX
43 1 Thiago Paiva
Performs well compared to NOX applications written in Python          |http://www.noxrepo.org/nox/documentation/| 1.0|
44 1 Thiago Paiva
|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.
45 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.
46 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).
47 1 Thiago Paiva
    *Rapid Development* - Beacon is easy to get up and running. Java and Eclipse simplify development and debugging of your applications.
48 1 Thiago Paiva
    *Fast* - Beacon is multithreaded, check out performance benchmarks.
49 1 Thiago Paiva
    *Web UI* - Beacon optionally embeds the Jetty enterprise web server and a custom extensible UI framework
50 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|
51 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.
52 1 Thiago Paiva
    *Multi-threaded* - Takes full advantage of multi-core processors. 
53 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|
54 4 Thiago Paiva
55 4 Thiago Paiva
56 4 Thiago Paiva
h3. Listas
57 4 Thiago Paiva
58 4 Thiago Paiva
* http://tech.saroscorner.com/2012/12/list-of-openflow-controllers-for-sdn.html
59 4 Thiago Paiva
60 4 Thiago Paiva
61 4 Thiago Paiva
h3. BigSwitch
62 4 Thiago Paiva
63 4 Thiago Paiva
* closed-source
64 4 Thiago Paiva
* based on Beacon 
65 4 Thiago Paiva
* java
66 4 Thiago Paiva
* targets production networks
67 4 Thiago Paiva
* user-friendly cli
68 4 Thiago Paiva
69 4 Thiago Paiva
70 4 Thiago Paiva
h3. floodlight
71 4 Thiago Paiva
72 4 Thiago Paiva
* http://www.projectfloodlight.org/floodlight/
73 4 Thiago Paiva
* http://groups.geni.net/geni/wiki/OpenFlow/Controllers/Floodlight
74 4 Thiago Paiva
75 4 Thiago Paiva
* enterprise class (production)
76 4 Thiago Paiva
* apache-licensed (open-source)
77 4 Thiago Paiva
* support a broad range of OpenFLOW switches
78 4 Thiago Paiva
* can manage multiple island of OpenFLOW switches
79 4 Thiago Paiva
* the core of 'BigSwitch' (BigSwitch open-sourced FloodLight)
80 4 Thiago Paiva
* fisical and virtual switches
81 4 Thiago Paiva
* open community of developers
82 4 Thiago Paiva
* simple to use
83 4 Thiago Paiva
* java
84 4 Thiago Paiva
* modular (simple to extend and enhance)
85 4 Thiago Paiva
* minimal dependencies
86 4 Thiago Paiva
* mixed OpenFLOW and non-OpenFLOW networks
87 4 Thiago Paiva
* high performance
88 4 Thiago Paiva
* support for OPENSTACK cloud orchestration platform
89 4 Thiago Paiva
* (tem no repositório???)
90 4 Thiago Paiva
* Floodlight VM (run mininet for tests)
91 4 Thiago Paiva
* Examples at flood light site
92 4 Thiago Paiva
* Avior (GUI open-source)
93 4 Thiago Paiva
94 4 Thiago Paiva
h3. POX
95 4 Thiago Paiva
96 4 Thiago Paiva
* python
97 4 Thiago Paiva
* multi-platform
98 4 Thiago Paiva
* research and education
99 4 Thiago Paiva
* open-source
100 4 Thiago Paiva
101 4 Thiago Paiva
h3. NOX
102 4 Thiago Paiva
103 4 Thiago Paiva
* concurrent applications
104 4 Thiago Paiva
* python and C++
105 4 Thiago Paiva
* sample controller applications
106 4 Thiago Paiva
107 4 Thiago Paiva
h3. MUL
108 4 Thiago Paiva
109 4 Thiago Paiva
h3. Jaxon
110 4 Thiago Paiva
111 4 Thiago Paiva
h3. Trema
112 4 Thiago Paiva
113 4 Thiago Paiva
h3. Beacon
114 4 Thiago Paiva
115 4 Thiago Paiva
* java
116 4 Thiago Paiva
* OSGI framework (openflow applications built on the platform to be started / stopped / refreshed / installed at runtime
117 4 Thiago Paiva
* cross-platform
118 4 Thiago Paiva
* modular
119 4 Thiago Paiva
* "robusto"
120 4 Thiago Paiva
121 4 Thiago Paiva
122 4 Thiago Paiva
h3. Maestro
123 4 Thiago Paiva
124 4 Thiago Paiva
* java
125 4 Thiago Paiva
* extensible
126 4 Thiago Paiva
* multi-threading
127 4 Thiago Paiva
* target researchers
128 4 Thiago Paiva
* open-source
129 4 Thiago Paiva
130 4 Thiago Paiva
131 4 Thiago Paiva
h3. NDDI-OESS
132 4 Thiago Paiva
133 4 Thiago Paiva
h3. NodeFlow
134 4 Thiago Paiva
135 4 Thiago Paiva
h3. Ryu
136 4 Thiago Paiva
137 4 Thiago Paiva
* well-defined API
138 4 Thiago Paiva
* NTT Labs (instituição por trás)
139 4 Thiago Paiva
140 4 Thiago Paiva
141 4 Thiago Paiva
h3. OVS-Controller
142 4 Thiago Paiva
143 4 Thiago Paiva
h3. Helios
144 4 Thiago Paiva
145 4 Thiago Paiva
* C
146 4 Thiago Paiva
* NEC (empresa que desenvolve)
147 4 Thiago Paiva
* targetting researchers
148 4 Thiago Paiva
* programmatic shell (integrated experiments)
149 4 Thiago Paiva
150 4 Thiago Paiva
151 4 Thiago Paiva
h3. SNAC
152 4 Thiago Paiva
153 4 Thiago Paiva
* targets production networks
154 4 Thiago Paiva
* based on NOX 0.4 
155 4 Thiago Paiva
* python e C++
156 4 Thiago Paiva
* flexible policy definition language
157 4 Thiago Paiva
* user-friendly interface (configuration + monitoring)
158 4 Thiago Paiva
159 4 Thiago Paiva
160 4 Thiago Paiva
h3. HP Virtual Application Networks SDN Controller
161 4 Thiago Paiva
162 4 Thiago Paiva
* dinamic control plane
163 4 Thiago Paiva
* full support for OpenFLOW protocol
164 4 Thiago Paiva
* Open API enable third part application
165 4 Thiago Paiva
166 4 Thiago Paiva
167 4 Thiago Paiva
h3. IBM PNC (IBM Programmable Network Controller)
168 4 Thiago Paiva
169 4 Thiago Paiva
* unlimited virtual machine mobility
170 4 Thiago Paiva
* enterprise class (production)
171 4 Thiago Paiva
* automatically and continuous discovers network topology
172 4 Thiago Paiva
173 4 Thiago Paiva
174 4 Thiago Paiva
h2. Hypervisor
175 4 Thiago Paiva
176 4 Thiago Paiva
To a controller: ordinary switch. To a switch: a controller. Must stay on top of switches and under the controller.
177 4 Thiago Paiva
178 4 Thiago Paiva
h3. FlowVisor
179 4 Thiago Paiva
180 4 Thiago Paiva
* transparent proxy between switches and controller
181 4 Thiago Paiva
* slices of network
182 4 Thiago Paiva
* network virtualization platform
183 4 Thiago Paiva
* hypervisor
184 4 Thiago Paiva
* isolate services at slices (groups?)
185 4 Thiago Paiva
186 4 Thiago Paiva
h2. Guias
187 4 Thiago Paiva
188 4 Thiago Paiva
* http://searchsdn.techtarget.com/guides/OpenFlow-protocol-tutorial-SDN-controllers-and-applications-emerge
189 4 Thiago Paiva
190 4 Thiago Paiva
191 4 Thiago Paiva
192 4 Thiago Paiva
h2. Comparativos
193 4 Thiago Paiva
194 4 Thiago Paiva
* Nox, Nox D, Beacon, Maestro
195 4 Thiago Paiva
http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons