OpenFLOW Controllers » History » Version 33
Thiago Paiva, 01 Oct 2013 22:53
| 1 | 1 | Thiago Paiva | h1. OpenFLOW Controllers |
|---|---|---|---|
| 2 | 1 | Thiago Paiva | |
| 3 | 25 | Thiago Paiva | [[OpenFlowControllers_Features|Características e funcionalidades a serem examinadas]] |
| 4 | 25 | Thiago Paiva | |
| 5 | 24 | Thiago Paiva | h2. Páginas de estudo para cada controlador |
| 6 | 24 | Thiago Paiva | |
| 7 | 24 | Thiago Paiva | [[Ryu]] |
| 8 | 33 | Thiago Paiva | [[NOX]] |
| 9 | 28 | Thiago Paiva | [[POX]] |
| 10 | 29 | Thiago Paiva | [[Floodlight]] |
| 11 | 31 | Thiago Paiva | [[OpenDaylight]] |
| 12 | 5 | Thiago Paiva | |
| 13 | 1 | Thiago Paiva | |
| 14 | 1 | Thiago Paiva | h2. Controladores |
| 15 | 1 | Thiago Paiva | |
| 16 | 2 | Raphael Cóbe | h3. Tabela Resumo: |
| 17 | 2 | Raphael Cóbe | |
| 18 | 3 | Raphael Cóbe | |_. Nome|_. Linguagem|_. Licença|_. Tamanho do Pacote |_. Features |_. URL|_. Versão do OpenFlow | |
| 19 | 7 | Raphael Cóbe | |*Nox* |C++ |GPL V3 |>. 258 Kb (Fonte) | Provides a C++ OpenFlow 1.0 API |
| 20 | 11 | Raphael Cóbe | Provides *fast, asynchronous IO* |
| 21 | 1 | Thiago Paiva | Includes sample components for: |
| 22 | 11 | Raphael Cóbe | *Topology discovery* |
| 23 | 11 | Raphael Cóbe | *Learning switch* |
| 24 | 23 | Raphael Cóbe | *Network-wide switch* |http://www.noxrepo.org/pox/documentation/| 1.0, 1.3 via https://github.com/CPqD/nox13oflib | |
| 25 | 7 | Raphael Cóbe | |*Pox* |Python |GPL V3 |>. 1.1 Mb (Fonte) | “Pythonic” OpenFlow interfacePOX Performance Graph |
| 26 | 11 | Raphael Cóbe | *Reusable sample components* for *path selection*, *topology discovery*, etc. |
| 27 | 11 | Raphael Cóbe | “Runs anywhere” – Can *bundle with install-free PyPy runtime* for easy deployment |
| 28 | 11 | Raphael Cóbe | Specifically targets *Linux*, Mac OS, and Windows |
| 29 | 11 | Raphael Cóbe | Supports the *same GUI and visualization tools as NOX* |
| 30 | 11 | Raphael Cóbe | *Performs well compared to NOX* applications written in Python |http://www.noxrepo.org/nox/documentation/| 1.0| |
| 31 | 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. |
| 32 | 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. |
| 33 | 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). |
| 34 | 1 | Thiago Paiva | *Rapid Development* - Beacon is easy to get up and running. Java and Eclipse simplify development and debugging of your applications. |
| 35 | 1 | Thiago Paiva | *Fast* - Beacon is multithreaded, check out performance benchmarks. |
| 36 | 1 | Thiago Paiva | *Web UI* - Beacon optionally embeds the Jetty enterprise web server and a custom extensible UI framework |
| 37 | 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| |
| 38 | 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. |
| 39 | 1 | Thiago Paiva | *Multi-threaded* - Takes full advantage of multi-core processors. |
| 40 | 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| |
| 41 | 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. |
| 42 | 1 | Thiago Paiva | You can try Now. Ryu's *pre-configured VM image* file enables you to easily set up multi-node OpenStack environment. |
| 43 | 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| |
| 44 | 16 | Thiago Paiva | |*Floodlight* |Java |Apache V2.0 |>. 46 Mb (Fonte)| - Offers a *module loading system* that make it simple to extend and enhance. |
| 45 | 16 | Thiago Paiva | - *Support for OpenStack* cloud orchestration platform - *OpenStack Quantum plugin*. |
| 46 | 16 | Thiago Paiva | - *It is the core of 'BigSwitch' (BigSwitch open-sourced FloodLight)*. |
| 47 | 16 | Thiago Paiva | - *Easy to set up* with *minimal dependencies*. |
| 48 | 16 | Thiago Paiva | - Supports a broad range of *virtual- and physical- OpenFlow switches*. |
| 49 | 16 | Thiago Paiva | - Can handle *mixed OpenFlow and non-OpenFlow networks* – it can manage multiple “islands” of OpenFlow hardware switches. |
| 50 | 16 | Thiago Paiva | - Designed to be *high-performance* – is the *core of a commercial product from Big Switch Networks*. |
| 51 | 16 | Thiago Paiva | - *API REST*. |
| 52 | 16 | Thiago Paiva | - Enterprise class (production). |
| 53 | 16 | Thiago Paiva | - Floodlight VM*. It includes floodlight running by default and Mininet. |
| 54 | 16 | Thiago Paiva | - *Nos repositórios do Ubuntu*. |
| 55 | 16 | Thiago Paiva | - *Avior (GUI open-source). |http://www.projectfloodlight.org/documentation/|1.0| |
| 56 | 16 | Thiago Paiva | |*BigSwitch*| java | closed-source | -- | - OpenStack |
| 57 | 16 | Thiago Paiva | - based on Beacon |
| 58 | 16 | Thiago Paiva | - targets production networks |
| 59 | 16 | Thiago Paiva | - user-friendly cli | http://www.bigswitch.com/ | | |
| 60 | 17 | Thiago Paiva | |*MUL*| C | GPLv2 | 16.2 MB (src) | - muli-threaded infrastructure |
| 61 | 17 | Thiago Paiva | - multi-level north bound interface for hooking up applications. |
| 62 | 17 | Thiago Paiva | - designed for performance and reliability (mission-critical networks). |
| 63 | 17 | Thiago Paiva | - core of a commercial controller from Kulcloud Networks |
| 64 | 17 | Thiago Paiva | - Openstack Support through Quantum plugins | http://sourceforge.net/projects/mul/ | 1.0, 1.1, 1.2 | |
| 65 | 17 | Thiago Paiva | |*Jaxon*| java | -- | 109 KB (src) | - NOX-dependent |
| 66 | 17 | Thiago Paiva | - provides a thin interface with the NOX |
| 67 | 17 | Thiago Paiva | - possible to directly access from Java program to C native ones. | http://jaxon.onuos.org/ | -- | |
| 68 | 17 | Thiago Paiva | |*NDDI-OESS*|??|Apache V2.0|??| -- set of programs |
| 69 | 17 | Thiago Paiva | - OESS provides sub-second circuit provisioning |
| 70 | 17 | Thiago Paiva | - automatic circuit failover |
| 71 | 17 | Thiago Paiva | - per-interface permissions |
| 72 | 17 | Thiago Paiva | - automatic per-VLAN statistics |
| 73 | 17 | Thiago Paiva | - simple and user friendly web-based user interface |
| 74 | 17 | Thiago Paiva | - web services API | http://code.google.com/p/nddi/wiki/README | 1.0| |
| 75 | 17 | Thiago Paiva | |*NodeFlow*| javascript| MIT-License | ? | - provides an asynchronous library over JavaScript for server side programming which is perfect for writing network based applications (ones that don’t require an excessive amount of CPU). |
| 76 | 17 | Thiago Paiva | - Uses on OFLIB-NODE Library. | http://garyberger.net/?p=537 | 1.0| |
| 77 | 17 | Thiago Paiva | |*Helios*| C | closed-source | ? | - targetting researchers |
| 78 | 17 | Thiago Paiva | - programmatic shell (integrated experiments) | http://www.nec.com/|1.0| |
| 79 | 17 | Thiago Paiva | |*SNAC*| Python e C++ | GPLv3 | ? | - targets production networks |
| 80 | 17 | Thiago Paiva | - based on NOX 0.4 |
| 81 | 17 | Thiago Paiva | - flexible policy definition language |
| 82 | 17 | Thiago Paiva | - user-friendly interface (configuration + monitoring)| http://www.openflow.org/wp/snac/ |1.0| |
| 83 | 17 | Thiago Paiva | |*HP VANSC*| ? | closed | ? | - dinamic control plane |
| 84 | 17 | Thiago Paiva | - full support for OpenFLOW protocol |
| 85 | 17 | Thiago Paiva | - Open API enable third part application | ? | ? | |
| 86 | 17 | Thiago Paiva | |*IBM PNC*| ? | closed | ? | - unlimited virtual machine mobility |
| 87 | 17 | Thiago Paiva | - enterprise class (production) |
| 88 | 17 | Thiago Paiva | - automatically and continuous discovers network topology | ? | ? | |
| 89 | 7 | Raphael Cóbe | |
| 90 | 4 | Thiago Paiva | |
| 91 | 4 | Thiago Paiva | |
| 92 | 4 | Thiago Paiva | h3. Listas |
| 93 | 4 | Thiago Paiva | |
| 94 | 4 | Thiago Paiva | * http://tech.saroscorner.com/2012/12/list-of-openflow-controllers-for-sdn.html |
| 95 | 4 | Thiago Paiva | |
| 96 | 4 | Thiago Paiva | |
| 97 | 4 | Thiago Paiva | |
| 98 | 4 | Thiago Paiva | h2. Hypervisor |
| 99 | 4 | Thiago Paiva | |
| 100 | 4 | Thiago Paiva | To a controller: ordinary switch. To a switch: a controller. Must stay on top of switches and under the controller. |
| 101 | 4 | Thiago Paiva | |
| 102 | 4 | Thiago Paiva | h3. FlowVisor |
| 103 | 4 | Thiago Paiva | |
| 104 | 4 | Thiago Paiva | * transparent proxy between switches and controller |
| 105 | 4 | Thiago Paiva | * slices of network |
| 106 | 4 | Thiago Paiva | * network virtualization platform |
| 107 | 4 | Thiago Paiva | * hypervisor |
| 108 | 4 | Thiago Paiva | * isolate services at slices (groups?) |
| 109 | 17 | Thiago Paiva | |
| 110 | 17 | Thiago Paiva | h2. Framework |
| 111 | 17 | Thiago Paiva | |
| 112 | 17 | Thiago Paiva | h3. Trema |
| 113 | 17 | Thiago Paiva | |
| 114 | 17 | Thiago Paiva | Trema is a full-stack, easy-to-use framework for developing OpenFlow controllers in Ruby and C. |
| 115 | 17 | Thiago Paiva | |
| 116 | 4 | Thiago Paiva | |
| 117 | 4 | Thiago Paiva | h2. Guias |
| 118 | 4 | Thiago Paiva | |
| 119 | 4 | Thiago Paiva | * http://searchsdn.techtarget.com/guides/OpenFlow-protocol-tutorial-SDN-controllers-and-applications-emerge |
| 120 | 4 | Thiago Paiva | |
| 121 | 4 | Thiago Paiva | |
| 122 | 4 | Thiago Paiva | |
| 123 | 4 | Thiago Paiva | h2. Comparativos |
| 124 | 4 | Thiago Paiva | |
| 125 | 4 | Thiago Paiva | * Nox, Nox D, Beacon, Maestro |
| 126 | 4 | Thiago Paiva | http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons |