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

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

Also available in: PDF HTML TXT