POX » History » Version 2

Version 1 (Thiago Paiva, 01 Oct 2013 10:56) → Version 2/4 (Thiago Paiva, 01 Oct 2013 10:57)

h1. POX

h2. 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

* mininet + POX
http://mininet.org/blog/2013/06/03/automating-controller-startup/

* Configuring an OpenFlow POX SDN Controller and HP Switches
http://networkstatic.net/configuring-an-openflow-pox-sdn-controller-and-hp-switches/

h2. Código no GitHub


https://github.com/noxrepo/pox

h3. Requerimentos

* Python 2.7

h2. Usado para

* SDN debugging
* network virtualization
* projeto de controladores
* modelagem de programação
* desenvolvimento de um moderno controlador SDN

h2. 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

h2. 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()'.

h2. 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:
...

h2. Tutoriais

* openflow tutorial with pox
http://blog.pythonicneteng.com/2013/02/openflow-tutorial-with-pox.html