POX » History » Version 2
« Previous -
Version 2/4
(diff) -
Next » -
Current version
Thiago Paiva, 01 Oct 2013 10:57
POX¶
Overview¶
- irmão mais novo do NOX
- plataforma para desenvolvimento rápido e prototipagem de controladores OpenFlow (framework)
- linguagem: python
- alvo principal é a pesquisa
- POX wiki: instalação, componentes, APIs, openflow e FAQ (bem completo)
https://openflow.stanford.edu/display/ONL/POX+Wiki
- Configuring an OpenFlow POX SDN Controller and HP Switches
http://networkstatic.net/configuring-an-openflow-pox-sdn-controller-and-hp-switches/
Código no GitHub¶
https://github.com/noxrepo/pox
Requerimentos¶
- Python 2.7
Usado para¶
- SDN debugging
- network virtualization
- projeto de controladores
- modelagem de programação
- desenvolvimento de um moderno controlador SDN
Características¶
- interface pythonica para OpenFlow
- componentes reutilizáveis (modularidade) (recursos prontos)
- não dependente de plataforma (instalar PyPy)
- suporta mesmas ferramentas de visualização do NOX
- melhor desempenho que o NOX para aplicações escritas em python, porém mais lento que NOX/C++
- suporte para OpenFlow 1.0
- especial suporte para Open vSwitch
Funcionamento¶
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'.
Os módulos podem estar nos diretórios 'pox' e 'ext', além dos diretórios normalmente vigiados pela instalação do python.
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()'.
Componentes¶
- py: interface python (debug)
- forwarding.hub: $10 hub
- forwarding.l2_learning: L2 learning switch
- forwarding.l2_pairs: L2 learning switch based on MAC addresses
- forwarding.l3_learning: "L3-lerning-switchy-thing"
- forwarding.l2_multi:
...
Tutoriais¶
- openflow tutorial with pox
http://blog.pythonicneteng.com/2013/02/openflow-tutorial-with-pox.html