POX » History » Version 1

Thiago Paiva, 01 Oct 2013 10:56

1 1 Thiago Paiva
h1. POX
2 1 Thiago Paiva
3 1 Thiago Paiva
4 1 Thiago Paiva
h2. Overview
5 1 Thiago Paiva
6 1 Thiago Paiva
* irmão mais novo do NOX
7 1 Thiago Paiva
* plataforma para desenvolvimento rápido e prototipagem de controladores OpenFlow (framework)
8 1 Thiago Paiva
* linguagem: python
9 1 Thiago Paiva
* alvo principal é a pesquisa
10 1 Thiago Paiva
11 1 Thiago Paiva
* POX wiki: instalação, componentes, APIs, openflow e FAQ (bem completo)
12 1 Thiago Paiva
https://openflow.stanford.edu/display/ONL/POX+Wiki
13 1 Thiago Paiva
14 1 Thiago Paiva
* mininet + POX
15 1 Thiago Paiva
http://mininet.org/blog/2013/06/03/automating-controller-startup/
16 1 Thiago Paiva
17 1 Thiago Paiva
* Configuring an OpenFlow POX SDN Controller and HP Switches
18 1 Thiago Paiva
http://networkstatic.net/configuring-an-openflow-pox-sdn-controller-and-hp-switches/
19 1 Thiago Paiva
20 1 Thiago Paiva
21 1 Thiago Paiva
h2. Código no GitHub 
22 1 Thiago Paiva
https://github.com/noxrepo/pox
23 1 Thiago Paiva
24 1 Thiago Paiva
25 1 Thiago Paiva
h3. Requerimentos
26 1 Thiago Paiva
27 1 Thiago Paiva
* Python 2.7
28 1 Thiago Paiva
29 1 Thiago Paiva
30 1 Thiago Paiva
h2. Usado para
31 1 Thiago Paiva
32 1 Thiago Paiva
* SDN debugging
33 1 Thiago Paiva
* network virtualization
34 1 Thiago Paiva
* projeto de controladores
35 1 Thiago Paiva
* modelagem de programação
36 1 Thiago Paiva
* desenvolvimento de um moderno controlador SDN
37 1 Thiago Paiva
38 1 Thiago Paiva
39 1 Thiago Paiva
h2. Características
40 1 Thiago Paiva
41 1 Thiago Paiva
* interface pythonica para OpenFlow
42 1 Thiago Paiva
* componentes reutilizáveis (modularidade) (recursos prontos)
43 1 Thiago Paiva
* não dependente de plataforma (instalar PyPy)
44 1 Thiago Paiva
* suporta mesmas ferramentas de visualização do NOX
45 1 Thiago Paiva
* melhor desempenho que o NOX para aplicações escritas em python, porém mais lento que NOX/C++
46 1 Thiago Paiva
* suporte para OpenFlow 1.0
47 1 Thiago Paiva
* especial suporte para  Open vSwitch
48 1 Thiago Paiva
49 1 Thiago Paiva
50 1 Thiago Paiva
h2. Funcionamento
51 1 Thiago Paiva
52 1 Thiago Paiva
pox.py recebe uma lista de módulos na linha de comando e chama a função 'launch()' deles caso ela exista e depois muda para estado 'up'.
53 1 Thiago Paiva
54 1 Thiago Paiva
Os módulos podem estar nos diretórios 'pox' e 'ext', além dos diretórios normalmente vigiados pela instalação do python.
55 1 Thiago Paiva
56 1 Thiago Paiva
Opções (--) podem ser acrescidas após o nome do módulo e serão passadas como parâmetro para o chamado da função 'launch()'.
57 1 Thiago Paiva
58 1 Thiago Paiva
59 1 Thiago Paiva
h2. Componentes
60 1 Thiago Paiva
61 1 Thiago Paiva
* py: interface python (debug)
62 1 Thiago Paiva
* forwarding.hub: $10 hub
63 1 Thiago Paiva
* forwarding.l2_learning: L2 learning switch
64 1 Thiago Paiva
* forwarding.l2_pairs: L2 learning switch based on MAC addresses
65 1 Thiago Paiva
* forwarding.l3_learning: "L3-lerning-switchy-thing"
66 1 Thiago Paiva
* forwarding.l2_multi: 
67 1 Thiago Paiva
...
68 1 Thiago Paiva
69 1 Thiago Paiva
h2. Tutoriais
70 1 Thiago Paiva
71 1 Thiago Paiva
* openflow tutorial with pox
72 1 Thiago Paiva
http://blog.pythonicneteng.com/2013/02/openflow-tutorial-with-pox.html