OpenFLOW Controllers » History » Version 5
Version 4 (Thiago Paiva, 04 Jun 2013 07:25) → Version 5/36 (Thiago Paiva, 04 Jun 2013 07:27)
h1. OpenFLOW Controllers
Características a analisar:
* linguagem
* licença
* tamanho do pacote
* features
* documentação
* exemplos
h2. OpenFLOW
* protocol between the controller and the switches
* set of operations on the switches
* http://routingfreak.wordpress.com/2013/03/01/openflow-controllers-whats-missing-in-routing-protocols-today/
* http://en.wikipedia.org/wiki/OpenFlow
* http://www.openflow.org/
* http://www.openflow.org/wp/openflow-components/
* http://bigswitch.com/blog/2012/12/20/why-openflow-hardware-control-matters-in-the-data-center
h2. Controladores
h3. Tabela Resumo:
|_. Nome|_. Linguagem|_. Licença|_. Tamanho do Pacote |_. Features |_. URL|_. Versão do OpenFlow |
|Nox |C++ |GPL V3 |>. 258 Kb (Fonte) | Provides a C++ OpenFlow 1.0 API
Provides fast, asynchronous IO
Includes sample components for:
Topology discovery
Learning switch
Network-wide switch |http://www.noxrepo.org/pox/documentation/| 1.0 |
|Pox |Python |GPL V3 |>. 1.1 Mb (Fonte) | “Pythonic” OpenFlow interfacePOX Performance Graph
Reusable sample components for path selection, topology discovery, etc.
“Runs anywhere” – Can bundle with install-free PyPy runtime for easy deployment
Specifically targets Linux, Mac OS, and Windows
Supports the same GUI and visualization tools as NOX
Performs well compared to NOX applications written in Python |http://www.noxrepo.org/nox/documentation/| 1.0|
|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.
*Cross-platform* - Beacon is written in Java and runs on many platforms, from high end multi-core Linux servers to Android phones.
*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).
*Rapid Development* - Beacon is easy to get up and running. Java and Eclipse simplify development and debugging of your applications.
*Fast* - Beacon is multithreaded, check out performance benchmarks.
*Web UI* - Beacon optionally embeds the Jetty enterprise web server and a custom extensible UI framework
*Frameworks* - Beacon builds on mature Java frameworks such as Spring and Equinox (OSGi) |https://openflow.stanford.edu/display/Beacon/Guides|1.0|
|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.
*Multi-threaded* - Takes full advantage of multi-core processors.
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|
h3. Listas
* http://tech.saroscorner.com/2012/12/list-of-openflow-controllers-for-sdn.html
h3. BigSwitch
* closed-source
* based on Beacon
* java
* targets production networks
* user-friendly cli
h3. floodlight
* http://www.projectfloodlight.org/floodlight/
* http://groups.geni.net/geni/wiki/OpenFlow/Controllers/Floodlight
* enterprise class (production)
* apache-licensed (open-source)
* support a broad range of OpenFLOW switches
* can manage multiple island of OpenFLOW switches
* the core of 'BigSwitch' (BigSwitch open-sourced FloodLight)
* fisical and virtual switches
* open community of developers
* simple to use
* java
* modular (simple to extend and enhance)
* minimal dependencies
* mixed OpenFLOW and non-OpenFLOW networks
* high performance
* support for OPENSTACK cloud orchestration platform
* (tem no repositório???)
* Floodlight VM (run mininet for tests)
* Examples at flood light site
* Avior (GUI open-source)
h3. POX
* python
* multi-platform
* research and education
* open-source
h3. NOX
* concurrent applications
* python and C++
* sample controller applications
h3. MUL
h3. Jaxon
h3. Trema
h3. Beacon
* java
* OSGI framework (openflow applications built on the platform to be started / stopped / refreshed / installed at runtime
* cross-platform
* modular
* "robusto"
h3. Maestro
* java
* extensible
* multi-threading
* target researchers
* open-source
h3. NDDI-OESS
h3. NodeFlow
h3. Ryu
* well-defined API
* NTT Labs (instituição por trás)
h3. OVS-Controller
h3. Helios
* C
* NEC (empresa que desenvolve)
* targetting researchers
* programmatic shell (integrated experiments)
h3. SNAC
* targets production networks
* based on NOX 0.4
* python e C++
* flexible policy definition language
* user-friendly interface (configuration + monitoring)
h3. HP Virtual Application Networks SDN Controller
* dinamic control plane
* full support for OpenFLOW protocol
* Open API enable third part application
h3. IBM PNC (IBM Programmable Network Controller)
* unlimited virtual machine mobility
* enterprise class (production)
* automatically and continuous discovers network topology
h2. Hypervisor
To a controller: ordinary switch. To a switch: a controller. Must stay on top of switches and under the controller.
h3. FlowVisor
* transparent proxy between switches and controller
* slices of network
* network virtualization platform
* hypervisor
* isolate services at slices (groups?)
h2. Guias
* http://searchsdn.techtarget.com/guides/OpenFlow-protocol-tutorial-SDN-controllers-and-applications-emerge
h2. Comparativos
* Nox, Nox D, Beacon, Maestro
http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons
Características a analisar:
* linguagem
* licença
* tamanho do pacote
* features
* documentação
* exemplos
h2. OpenFLOW
* protocol between the controller and the switches
* set of operations on the switches
* http://routingfreak.wordpress.com/2013/03/01/openflow-controllers-whats-missing-in-routing-protocols-today/
* http://en.wikipedia.org/wiki/OpenFlow
* http://www.openflow.org/
* http://www.openflow.org/wp/openflow-components/
* http://bigswitch.com/blog/2012/12/20/why-openflow-hardware-control-matters-in-the-data-center
h2. Controladores
h3. Tabela Resumo:
|_. Nome|_. Linguagem|_. Licença|_. Tamanho do Pacote |_. Features |_. URL|_. Versão do OpenFlow |
|Nox |C++ |GPL V3 |>. 258 Kb (Fonte) | Provides a C++ OpenFlow 1.0 API
Provides fast, asynchronous IO
Includes sample components for:
Topology discovery
Learning switch
Network-wide switch |http://www.noxrepo.org/pox/documentation/| 1.0 |
|Pox |Python |GPL V3 |>. 1.1 Mb (Fonte) | “Pythonic” OpenFlow interfacePOX Performance Graph
Reusable sample components for path selection, topology discovery, etc.
“Runs anywhere” – Can bundle with install-free PyPy runtime for easy deployment
Specifically targets Linux, Mac OS, and Windows
Supports the same GUI and visualization tools as NOX
Performs well compared to NOX applications written in Python |http://www.noxrepo.org/nox/documentation/| 1.0|
|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.
*Cross-platform* - Beacon is written in Java and runs on many platforms, from high end multi-core Linux servers to Android phones.
*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).
*Rapid Development* - Beacon is easy to get up and running. Java and Eclipse simplify development and debugging of your applications.
*Fast* - Beacon is multithreaded, check out performance benchmarks.
*Web UI* - Beacon optionally embeds the Jetty enterprise web server and a custom extensible UI framework
*Frameworks* - Beacon builds on mature Java frameworks such as Spring and Equinox (OSGi) |https://openflow.stanford.edu/display/Beacon/Guides|1.0|
|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.
*Multi-threaded* - Takes full advantage of multi-core processors.
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|
h3. Listas
* http://tech.saroscorner.com/2012/12/list-of-openflow-controllers-for-sdn.html
h3. BigSwitch
* closed-source
* based on Beacon
* java
* targets production networks
* user-friendly cli
h3. floodlight
* http://www.projectfloodlight.org/floodlight/
* http://groups.geni.net/geni/wiki/OpenFlow/Controllers/Floodlight
* enterprise class (production)
* apache-licensed (open-source)
* support a broad range of OpenFLOW switches
* can manage multiple island of OpenFLOW switches
* the core of 'BigSwitch' (BigSwitch open-sourced FloodLight)
* fisical and virtual switches
* open community of developers
* simple to use
* java
* modular (simple to extend and enhance)
* minimal dependencies
* mixed OpenFLOW and non-OpenFLOW networks
* high performance
* support for OPENSTACK cloud orchestration platform
* (tem no repositório???)
* Floodlight VM (run mininet for tests)
* Examples at flood light site
* Avior (GUI open-source)
h3. POX
* python
* multi-platform
* research and education
* open-source
h3. NOX
* concurrent applications
* python and C++
* sample controller applications
h3. MUL
h3. Jaxon
h3. Trema
h3. Beacon
* java
* OSGI framework (openflow applications built on the platform to be started / stopped / refreshed / installed at runtime
* cross-platform
* modular
* "robusto"
h3. Maestro
* java
* extensible
* multi-threading
* target researchers
* open-source
h3. NDDI-OESS
h3. NodeFlow
h3. Ryu
* well-defined API
* NTT Labs (instituição por trás)
h3. OVS-Controller
h3. Helios
* C
* NEC (empresa que desenvolve)
* targetting researchers
* programmatic shell (integrated experiments)
h3. SNAC
* targets production networks
* based on NOX 0.4
* python e C++
* flexible policy definition language
* user-friendly interface (configuration + monitoring)
h3. HP Virtual Application Networks SDN Controller
* dinamic control plane
* full support for OpenFLOW protocol
* Open API enable third part application
h3. IBM PNC (IBM Programmable Network Controller)
* unlimited virtual machine mobility
* enterprise class (production)
* automatically and continuous discovers network topology
h2. Hypervisor
To a controller: ordinary switch. To a switch: a controller. Must stay on top of switches and under the controller.
h3. FlowVisor
* transparent proxy between switches and controller
* slices of network
* network virtualization platform
* hypervisor
* isolate services at slices (groups?)
h2. Guias
* http://searchsdn.techtarget.com/guides/OpenFlow-protocol-tutorial-SDN-controllers-and-applications-emerge
h2. Comparativos
* Nox, Nox D, Beacon, Maestro
http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons