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
Código no GitHub¶
https://github.com/noxrepo/pox
Requerimentos¶
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¶