NOX » History » Version 2
« Previous -
Version 2/3
(diff) -
Next » -
Current version
Thiago Paiva, 09 Oct 2013 10:14
NOX¶
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'.
Sobre o código¶
Linguagem¶
Linguagem utilizada para o desenvolvimento.
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.
Suporte a versões do OpenFLOW¶
- Quais são as versões de OpenFlow suportadas pelo controlador / framework.
- Como isso é implementado
Requisitos¶
- pacotes a serem instalados
- espaço de armazenamento exigido
- outros recursos necessários ao funcionamento do controlador.
Independência de linguagem de programação¶
Quais linguagens são suportadas na implementação de aplicações e componentes.
Modularidade¶
Quanto e que tipo de modularidade o controlador oferece.
Repositório¶
Onde encontrar o código.
Recursos básicos do controlador¶
Recursos oferecidos pelo controlador sem a necessidade de aplicações, como por exemplo:- GRE tunneling
- VLAN support
Aplicações¶
Componentes disponíveis que acrescentam ferramentas ao controlador, como por exemplo:- topology discovery
- MAC based segregation
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.
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.
Documentação¶
Nível de documentação do controlador, incluindo tutoriais e exemplos (tanto de estruturas quanto de aplicações).
Suporte junto ao OpenStack¶
Como o ambiente estruturado se baseia no OpenStack, é interessante saber qual é o tipo de suporte oferecido a essa ferramenta.
Quem usa¶
Público do controlador
Quem está por trás¶
Empresas, consórcio, comunidade, universidade, ...
ú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.
Outras características¶
Características que não se adequam a nenhuma das anteriores.
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
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
NOX API reference¶
http://www.noxrepo.org/_/nox-classic-doxygen/index.html
(gerado pelo doxygen)
Repositório GitHub¶
https://github.com/noxrepo/nox
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
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/