NOX » History » Version 2
Version 1 (Thiago Paiva, 02 Oct 2013 00:26) → Version 2/3 (Thiago Paiva, 09 Oct 2013 10:14)
h1. NOX
h2. OBSERVAÇÃO
Existem duas versões do NOX. A versão antiga e descontinuada foi renomeada para NOX-Classic. Porém todos os materiais que foram produzidos para essa versão tratam-na com o nome que era corrente, ou seja, apenas por NOX. Isso causa um problema sério: em qualquer conteúdo referente ao NOX não se consegue saber se é sobre a versão antiga ou a nova, a menos que seja dito explicitamente ou que o NOX seja chamado de 'new NOX'.
h2. Sobre o código
h3. Linguagem
Linguagem utilizada para o desenvolvimento.
h3. Licença
Licença em que o código foi liberado. A preferência é por licenças livres, facilitando assim o estudo e desenvolvimento de aplicações ou até mesmo de correções de problemas.
h3. Suporte a versões do OpenFLOW
* Quais são as versões de OpenFlow suportadas pelo controlador / framework.
* Como isso é implementado
h3. Requisitos
* pacotes a serem instalados
* espaço de armazenamento exigido
* outros recursos necessários ao funcionamento do controlador.
h3. Independência de linguagem de programação
Quais linguagens são suportadas na implementação de aplicações e componentes.
h3. Modularidade
Quanto e que tipo de modularidade o controlador oferece.
h3. Repositório
Onde encontrar o código.
h3. Recursos básicos do controlador
Recursos oferecidos pelo controlador sem a necessidade de aplicações, como por exemplo:
* GRE tunneling
* VLAN support
h3. Aplicações
Componentes disponíveis que acrescentam ferramentas ao controlador, como por exemplo:
* topology discovery
* MAC based segregation
h3. Testes
Existência de testes de unidades no codigo (scripts ou códigos), geralmente em uma pasta em separado, que validam e testam o código desenvolvido.
h3. Disponibilidade nas distribuições GNU/Linux
Disponibilidade e facilidade de instação nas distribuição GNU/Linux relevantes atuais.
* disponível nos repositórios da distribuição?
* versão dos pacotes disponíveis
* ênfase nas distros Debian e Ubuntu.
h2. Documentação
Nível de documentação do controlador, incluindo tutoriais e exemplos (tanto de estruturas quanto de aplicações).
h2. Suporte junto ao OpenStack
Como o ambiente estruturado se baseia no OpenStack, é interessante saber qual é o tipo de suporte oferecido a essa ferramenta.
h2. Quem usa
Público do controlador
h2. Quem está por trás
Empresas, consórcio, comunidade, universidade, ...
h2. último release / commit
Uma das formas de se ter noção de quanto o desenvolvimento ainda está ativo é procurar pela data da última atualização de código no repositório.
h2. Outras características
Características que não se adequam a nenhuma das anteriores.
h2. Overview
Controlador praticamente desenvolvido em conjunto com OpenFlow.
* Oferece uma API para OpenFlow em C++
* Oferece rápida e assincrona IO (entrada saída)
* Está disponível nas recentes distribuições Ubuntu (mas é possível instalar na Debian e RHEL)
* Inclui componentes exemplos:
** Topology discovery
** Learning switch
** Network-wide switch
h2. Versões
* NOX-Classic: deprecated. Suporte para C++ e Python.
* NOX (aka 'new NOX'): suporte apenas para C++. Código mais limpo. Poucos applicativos.
* NOX com suporte a OpenFlow 1.3 (em desenvolvimento, último commit 07/05/2013)
https://github.com/CPqD/nox13oflib
h2. NOX API reference
http://www.noxrepo.org/_/nox-classic-doxygen/index.html
(gerado pelo doxygen)
h2. Repositório GitHub
https://github.com/noxrepo/nox
h2. Documentação do NOX-Classic
Dizem que apesar de ultrapassado, a documentação contida no wiki do NOX-Classic ainda pode ajudar, então:
https://github.com/noxrepo/nox-classic/wiki
h2. Tutoriais
* Create OpenFlow network with multiple PCs/NetFPGAs
http://archive.openflow.org/wp/deploy-labsetup/
* NOX OpenFlow Controller Install on Ubuntu 12.04 (antigo já, talvez esteja no repositório)
http://mytestbed.net/projects/openflow/wiki/Installing_a_NOX_controller
http://networkstatic.net/nox-openflow-controller-install-on-ubuntu-12-04-precise-lts/
h2. OBSERVAÇÃO
Existem duas versões do NOX. A versão antiga e descontinuada foi renomeada para NOX-Classic. Porém todos os materiais que foram produzidos para essa versão tratam-na com o nome que era corrente, ou seja, apenas por NOX. Isso causa um problema sério: em qualquer conteúdo referente ao NOX não se consegue saber se é sobre a versão antiga ou a nova, a menos que seja dito explicitamente ou que o NOX seja chamado de 'new NOX'.
h2. Sobre o código
h3. Linguagem
Linguagem utilizada para o desenvolvimento.
h3. Licença
Licença em que o código foi liberado. A preferência é por licenças livres, facilitando assim o estudo e desenvolvimento de aplicações ou até mesmo de correções de problemas.
h3. Suporte a versões do OpenFLOW
* Quais são as versões de OpenFlow suportadas pelo controlador / framework.
* Como isso é implementado
h3. Requisitos
* pacotes a serem instalados
* espaço de armazenamento exigido
* outros recursos necessários ao funcionamento do controlador.
h3. Independência de linguagem de programação
Quais linguagens são suportadas na implementação de aplicações e componentes.
h3. Modularidade
Quanto e que tipo de modularidade o controlador oferece.
h3. Repositório
Onde encontrar o código.
h3. Recursos básicos do controlador
Recursos oferecidos pelo controlador sem a necessidade de aplicações, como por exemplo:
* GRE tunneling
* VLAN support
h3. Aplicações
Componentes disponíveis que acrescentam ferramentas ao controlador, como por exemplo:
* topology discovery
* MAC based segregation
h3. Testes
Existência de testes de unidades no codigo (scripts ou códigos), geralmente em uma pasta em separado, que validam e testam o código desenvolvido.
h3. Disponibilidade nas distribuições GNU/Linux
Disponibilidade e facilidade de instação nas distribuição GNU/Linux relevantes atuais.
* disponível nos repositórios da distribuição?
* versão dos pacotes disponíveis
* ênfase nas distros Debian e Ubuntu.
h2. Documentação
Nível de documentação do controlador, incluindo tutoriais e exemplos (tanto de estruturas quanto de aplicações).
h2. Suporte junto ao OpenStack
Como o ambiente estruturado se baseia no OpenStack, é interessante saber qual é o tipo de suporte oferecido a essa ferramenta.
h2. Quem usa
Público do controlador
h2. Quem está por trás
Empresas, consórcio, comunidade, universidade, ...
h2. último release / commit
Uma das formas de se ter noção de quanto o desenvolvimento ainda está ativo é procurar pela data da última atualização de código no repositório.
h2. Outras características
Características que não se adequam a nenhuma das anteriores.
h2. Overview
Controlador praticamente desenvolvido em conjunto com OpenFlow.
* Oferece uma API para OpenFlow em C++
* Oferece rápida e assincrona IO (entrada saída)
* Está disponível nas recentes distribuições Ubuntu (mas é possível instalar na Debian e RHEL)
* Inclui componentes exemplos:
** Topology discovery
** Learning switch
** Network-wide switch
h2. Versões
* NOX-Classic: deprecated. Suporte para C++ e Python.
* NOX (aka 'new NOX'): suporte apenas para C++. Código mais limpo. Poucos applicativos.
* NOX com suporte a OpenFlow 1.3 (em desenvolvimento, último commit 07/05/2013)
https://github.com/CPqD/nox13oflib
h2. NOX API reference
http://www.noxrepo.org/_/nox-classic-doxygen/index.html
(gerado pelo doxygen)
h2. Repositório GitHub
https://github.com/noxrepo/nox
h2. Documentação do NOX-Classic
Dizem que apesar de ultrapassado, a documentação contida no wiki do NOX-Classic ainda pode ajudar, então:
https://github.com/noxrepo/nox-classic/wiki
h2. Tutoriais
* Create OpenFlow network with multiple PCs/NetFPGAs
http://archive.openflow.org/wp/deploy-labsetup/
* NOX OpenFlow Controller Install on Ubuntu 12.04 (antigo já, talvez esteja no repositório)
http://mytestbed.net/projects/openflow/wiki/Installing_a_NOX_controller
http://networkstatic.net/nox-openflow-controller-install-on-ubuntu-12-04-precise-lts/