OpenFLOW Controllers » History » Version 6

Thiago Paiva, 04 Jun 2013 07:28

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