POX

Overview

Controlador derivado do NOX.

http://www.noxrepo.org/pox/about-pox/

  • irmão mais novo do NOX
  • plataforma para desenvolvimento rápido e prototipagem de controladores OpenFlow (framework) usando python.
  • tem como alvo principal é a pesquisa
  • interface pythonica para OpenFlow
  • melhor desempenho que o NOX para aplicações escritas em python, porém mais lento que NOX/C++
  • especial suporte para Open vSwitch
  • SDN debugging
  • network virtualization
  • projeto de controladores
  • modelagem de programação
  • desenvolvimento de um moderno controlador SDN

Sobre o código

Linguagem

Python 2.7

Licença

GPLv3

Suporte a versões do OpenFLOW

  • suporte para OpenFlow 1.0

Requisitos

  • pacotes a serem instalados
  • espaço de armazenamento exigido
  • outros recursos necessários ao funcionamento do controlador.

Independência de linguagem de programação

Somente python

Modularidade

  • componentes reutilizáveis (modularidade) (recursos prontos)

Repositório

https://github.com/noxrepo/pox

Recursos básicos do controlador

???

Aplicações

  • 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:
  • forwarding.l2_nx
  • forwarding.topo_proactive
  • openflow.spanning_tree
  • web.webcore
  • messenger
  • openflow.of_01
  • openflow.discovery
  • openflow.debug
  • openflow.keepalive
  • proto.pong
  • proto.arp_responder
  • info.packet_dump
  • proto.dns_spy
  • proto.dpcp_client
  • proto.dhcpd
  • misc.of_tutorial
  • misc.full_payload
  • misc.mac_blocker
  • misc.nat
  • misc.ip_loadbalancer
  • misc.gephi_topo
  • log
    • Disabling the Console Log
    • Log Formatting
    • Log Output
  • log.color
  • log.level
  • samples.pretty_log
  • tk
  • host_tracker

Testes

https://github.com/noxrepo/pox/tree/betta/tests

  • controllers (controle distribuído)
  • topology
  • unit

Disponibilidade nas distribuições GNU/Linux

Precisa ser clonado com git.

último release / commit

Branch 'carp' com atividades recentes.

Documentação

Suporte junto ao OpenStack

Nenhum, aparentemente

Quem usa

Voltado para pesquisadores.

Quem está por trás

Nicira

Outras características

  • suporta mesmas ferramentas de visualização do NOX

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

Also available in: PDF HTML TXT