NOX » History » Version 2

Thiago Paiva, 09 Oct 2013 10:14

1 1 Thiago Paiva
h1. NOX
2 1 Thiago Paiva
3 1 Thiago Paiva
h2. OBSERVAÇÃO
4 1 Thiago Paiva
5 1 Thiago Paiva
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'.
6 1 Thiago Paiva
7 1 Thiago Paiva
8 2 Thiago Paiva
h2. Sobre o código
9 2 Thiago Paiva
10 2 Thiago Paiva
11 2 Thiago Paiva
h3. Linguagem
12 2 Thiago Paiva
13 2 Thiago Paiva
Linguagem utilizada para o desenvolvimento.
14 2 Thiago Paiva
15 2 Thiago Paiva
16 2 Thiago Paiva
h3. Licença
17 2 Thiago Paiva
18 2 Thiago Paiva
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.
19 2 Thiago Paiva
20 2 Thiago Paiva
21 2 Thiago Paiva
h3. Suporte a versões do OpenFLOW
22 2 Thiago Paiva
23 2 Thiago Paiva
* Quais são as versões de OpenFlow suportadas pelo controlador / framework. 
24 2 Thiago Paiva
* Como isso é implementado
25 2 Thiago Paiva
26 2 Thiago Paiva
27 2 Thiago Paiva
h3. Requisitos
28 2 Thiago Paiva
29 2 Thiago Paiva
* pacotes a serem instalados
30 2 Thiago Paiva
* espaço de armazenamento exigido
31 2 Thiago Paiva
* outros recursos necessários ao funcionamento do controlador.
32 2 Thiago Paiva
33 2 Thiago Paiva
34 2 Thiago Paiva
h3. Independência de linguagem de programação 
35 2 Thiago Paiva
36 2 Thiago Paiva
Quais linguagens são suportadas na implementação de aplicações e componentes.
37 2 Thiago Paiva
38 2 Thiago Paiva
39 2 Thiago Paiva
h3. Modularidade
40 2 Thiago Paiva
41 2 Thiago Paiva
Quanto e que tipo de modularidade o controlador oferece.
42 2 Thiago Paiva
43 2 Thiago Paiva
44 2 Thiago Paiva
h3. Repositório
45 2 Thiago Paiva
46 2 Thiago Paiva
Onde encontrar o código.
47 2 Thiago Paiva
48 2 Thiago Paiva
49 2 Thiago Paiva
h3. Recursos básicos do controlador
50 2 Thiago Paiva
51 2 Thiago Paiva
Recursos oferecidos pelo controlador sem a necessidade de aplicações, como por exemplo:
52 2 Thiago Paiva
* GRE tunneling
53 2 Thiago Paiva
* VLAN support
54 2 Thiago Paiva
55 2 Thiago Paiva
56 2 Thiago Paiva
h3. Aplicações
57 2 Thiago Paiva
58 2 Thiago Paiva
Componentes disponíveis que acrescentam ferramentas ao controlador, como por exemplo:
59 2 Thiago Paiva
* topology discovery
60 2 Thiago Paiva
* MAC based segregation
61 2 Thiago Paiva
62 2 Thiago Paiva
63 2 Thiago Paiva
h3. Testes
64 2 Thiago Paiva
65 2 Thiago Paiva
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. 
66 2 Thiago Paiva
67 2 Thiago Paiva
68 2 Thiago Paiva
h3. Disponibilidade nas distribuições GNU/Linux 
69 2 Thiago Paiva
70 2 Thiago Paiva
Disponibilidade e facilidade de instação nas distribuição GNU/Linux relevantes atuais. 
71 2 Thiago Paiva
72 2 Thiago Paiva
* disponível nos repositórios da distribuição?
73 2 Thiago Paiva
* versão dos pacotes disponíveis
74 2 Thiago Paiva
* ênfase nas distros Debian e Ubuntu.
75 2 Thiago Paiva
76 2 Thiago Paiva
77 2 Thiago Paiva
h2. Documentação
78 2 Thiago Paiva
79 2 Thiago Paiva
Nível de documentação do controlador, incluindo tutoriais e exemplos (tanto de estruturas quanto de aplicações).
80 2 Thiago Paiva
81 2 Thiago Paiva
82 2 Thiago Paiva
h2. Suporte junto ao OpenStack
83 2 Thiago Paiva
84 2 Thiago Paiva
Como o ambiente estruturado se baseia no OpenStack, é interessante saber qual é o tipo de suporte oferecido a essa ferramenta.
85 2 Thiago Paiva
86 2 Thiago Paiva
87 2 Thiago Paiva
h2. Quem usa
88 2 Thiago Paiva
89 2 Thiago Paiva
Público do controlador
90 2 Thiago Paiva
91 2 Thiago Paiva
92 2 Thiago Paiva
h2. Quem está por trás 
93 2 Thiago Paiva
94 2 Thiago Paiva
Empresas, consórcio, comunidade, universidade, ...
95 2 Thiago Paiva
96 2 Thiago Paiva
97 2 Thiago Paiva
h2. último release / commit
98 2 Thiago Paiva
99 2 Thiago Paiva
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.
100 2 Thiago Paiva
101 2 Thiago Paiva
102 2 Thiago Paiva
h2. Outras características
103 2 Thiago Paiva
104 2 Thiago Paiva
Características que não se adequam a nenhuma das anteriores.
105 2 Thiago Paiva
106 2 Thiago Paiva
107 2 Thiago Paiva
108 2 Thiago Paiva
109 2 Thiago Paiva
110 2 Thiago Paiva
111 2 Thiago Paiva
112 2 Thiago Paiva
113 2 Thiago Paiva
114 2 Thiago Paiva
115 2 Thiago Paiva
116 2 Thiago Paiva
117 2 Thiago Paiva
118 1 Thiago Paiva
h2. Overview
119 1 Thiago Paiva
120 1 Thiago Paiva
Controlador praticamente desenvolvido em conjunto com OpenFlow.
121 1 Thiago Paiva
122 1 Thiago Paiva
* Oferece uma API para OpenFlow em C++
123 1 Thiago Paiva
* Oferece rápida e assincrona IO (entrada saída)
124 1 Thiago Paiva
* Está disponível nas recentes distribuições Ubuntu (mas é possível instalar na Debian e RHEL)
125 1 Thiago Paiva
* Inclui componentes exemplos: 
126 1 Thiago Paiva
** Topology discovery
127 1 Thiago Paiva
** Learning switch
128 1 Thiago Paiva
** Network-wide switch
129 1 Thiago Paiva
130 1 Thiago Paiva
131 1 Thiago Paiva
h2. Versões
132 1 Thiago Paiva
133 1 Thiago Paiva
* NOX-Classic: deprecated. Suporte para C++ e Python.
134 1 Thiago Paiva
135 1 Thiago Paiva
* NOX (aka 'new NOX'): suporte apenas para C++. Código mais limpo. Poucos applicativos.
136 1 Thiago Paiva
137 1 Thiago Paiva
* NOX com suporte a OpenFlow 1.3 (em desenvolvimento, último commit 07/05/2013)
138 1 Thiago Paiva
https://github.com/CPqD/nox13oflib
139 1 Thiago Paiva
140 1 Thiago Paiva
141 1 Thiago Paiva
h2. NOX API reference
142 1 Thiago Paiva
143 1 Thiago Paiva
http://www.noxrepo.org/_/nox-classic-doxygen/index.html
144 1 Thiago Paiva
145 1 Thiago Paiva
(gerado pelo doxygen)
146 1 Thiago Paiva
147 1 Thiago Paiva
148 1 Thiago Paiva
h2. Repositório GitHub
149 1 Thiago Paiva
150 1 Thiago Paiva
https://github.com/noxrepo/nox
151 1 Thiago Paiva
152 1 Thiago Paiva
153 1 Thiago Paiva
h2. Documentação do NOX-Classic
154 1 Thiago Paiva
155 1 Thiago Paiva
Dizem que apesar de ultrapassado, a documentação contida no wiki do NOX-Classic ainda pode ajudar, então:
156 1 Thiago Paiva
https://github.com/noxrepo/nox-classic/wiki
157 1 Thiago Paiva
158 1 Thiago Paiva
159 1 Thiago Paiva
h2. Tutoriais
160 1 Thiago Paiva
161 1 Thiago Paiva
* Create OpenFlow network with multiple PCs/NetFPGAs
162 1 Thiago Paiva
http://archive.openflow.org/wp/deploy-labsetup/
163 1 Thiago Paiva
164 1 Thiago Paiva
* NOX OpenFlow Controller Install on Ubuntu 12.04 (antigo já, talvez esteja no repositório)
165 1 Thiago Paiva
http://mytestbed.net/projects/openflow/wiki/Installing_a_NOX_controller
166 1 Thiago Paiva
http://networkstatic.net/nox-openflow-controller-install-on-ubuntu-12-04-precise-lts/