POX » History » Version 3
Thiago Paiva, 09 Oct 2013 10:14
| 1 | 1 | Thiago Paiva | h1. POX |
|---|---|---|---|
| 2 | 1 | Thiago Paiva | |
| 3 | 1 | Thiago Paiva | |
| 4 | 3 | Thiago Paiva | h2. Sobre o código |
| 5 | 3 | Thiago Paiva | |
| 6 | 3 | Thiago Paiva | |
| 7 | 3 | Thiago Paiva | h3. Linguagem |
| 8 | 3 | Thiago Paiva | |
| 9 | 3 | Thiago Paiva | Linguagem utilizada para o desenvolvimento. |
| 10 | 3 | Thiago Paiva | |
| 11 | 3 | Thiago Paiva | |
| 12 | 3 | Thiago Paiva | h3. Licença |
| 13 | 3 | Thiago Paiva | |
| 14 | 3 | Thiago Paiva | Licença em que o código foi liberado. A preferência é por licenças livres, facilitando assim o estudo e desenvolvimento de aplicações ou até mesmo de correções de problemas. |
| 15 | 3 | Thiago Paiva | |
| 16 | 3 | Thiago Paiva | |
| 17 | 3 | Thiago Paiva | h3. Suporte a versões do OpenFLOW |
| 18 | 3 | Thiago Paiva | |
| 19 | 3 | Thiago Paiva | * Quais são as versões de OpenFlow suportadas pelo controlador / framework. |
| 20 | 3 | Thiago Paiva | * Como isso é implementado |
| 21 | 3 | Thiago Paiva | |
| 22 | 3 | Thiago Paiva | |
| 23 | 3 | Thiago Paiva | h3. Requisitos |
| 24 | 3 | Thiago Paiva | |
| 25 | 3 | Thiago Paiva | * pacotes a serem instalados |
| 26 | 3 | Thiago Paiva | * espaço de armazenamento exigido |
| 27 | 3 | Thiago Paiva | * outros recursos necessários ao funcionamento do controlador. |
| 28 | 3 | Thiago Paiva | |
| 29 | 3 | Thiago Paiva | |
| 30 | 3 | Thiago Paiva | h3. Independência de linguagem de programação |
| 31 | 3 | Thiago Paiva | |
| 32 | 3 | Thiago Paiva | Quais linguagens são suportadas na implementação de aplicações e componentes. |
| 33 | 3 | Thiago Paiva | |
| 34 | 3 | Thiago Paiva | |
| 35 | 3 | Thiago Paiva | h3. Modularidade |
| 36 | 3 | Thiago Paiva | |
| 37 | 3 | Thiago Paiva | Quanto e que tipo de modularidade o controlador oferece. |
| 38 | 3 | Thiago Paiva | |
| 39 | 3 | Thiago Paiva | |
| 40 | 3 | Thiago Paiva | h3. Repositório |
| 41 | 3 | Thiago Paiva | |
| 42 | 3 | Thiago Paiva | Onde encontrar o código. |
| 43 | 3 | Thiago Paiva | |
| 44 | 3 | Thiago Paiva | |
| 45 | 3 | Thiago Paiva | h3. Recursos básicos do controlador |
| 46 | 3 | Thiago Paiva | |
| 47 | 3 | Thiago Paiva | Recursos oferecidos pelo controlador sem a necessidade de aplicações, como por exemplo: |
| 48 | 3 | Thiago Paiva | * GRE tunneling |
| 49 | 3 | Thiago Paiva | * VLAN support |
| 50 | 3 | Thiago Paiva | |
| 51 | 3 | Thiago Paiva | |
| 52 | 3 | Thiago Paiva | h3. Aplicações |
| 53 | 3 | Thiago Paiva | |
| 54 | 3 | Thiago Paiva | Componentes disponíveis que acrescentam ferramentas ao controlador, como por exemplo: |
| 55 | 3 | Thiago Paiva | * topology discovery |
| 56 | 3 | Thiago Paiva | * MAC based segregation |
| 57 | 3 | Thiago Paiva | |
| 58 | 3 | Thiago Paiva | |
| 59 | 3 | Thiago Paiva | h3. Testes |
| 60 | 3 | Thiago Paiva | |
| 61 | 3 | Thiago Paiva | Existência de testes de unidades no codigo (scripts ou códigos), geralmente em uma pasta em separado, que validam e testam o código desenvolvido. |
| 62 | 3 | Thiago Paiva | |
| 63 | 3 | Thiago Paiva | |
| 64 | 3 | Thiago Paiva | h3. Disponibilidade nas distribuições GNU/Linux |
| 65 | 3 | Thiago Paiva | |
| 66 | 3 | Thiago Paiva | Disponibilidade e facilidade de instação nas distribuição GNU/Linux relevantes atuais. |
| 67 | 3 | Thiago Paiva | |
| 68 | 3 | Thiago Paiva | * disponível nos repositórios da distribuição? |
| 69 | 3 | Thiago Paiva | * versão dos pacotes disponíveis |
| 70 | 3 | Thiago Paiva | * ênfase nas distros Debian e Ubuntu. |
| 71 | 3 | Thiago Paiva | |
| 72 | 3 | Thiago Paiva | |
| 73 | 3 | Thiago Paiva | h2. Documentação |
| 74 | 3 | Thiago Paiva | |
| 75 | 3 | Thiago Paiva | Nível de documentação do controlador, incluindo tutoriais e exemplos (tanto de estruturas quanto de aplicações). |
| 76 | 3 | Thiago Paiva | |
| 77 | 3 | Thiago Paiva | |
| 78 | 3 | Thiago Paiva | h2. Suporte junto ao OpenStack |
| 79 | 3 | Thiago Paiva | |
| 80 | 3 | Thiago Paiva | Como o ambiente estruturado se baseia no OpenStack, é interessante saber qual é o tipo de suporte oferecido a essa ferramenta. |
| 81 | 3 | Thiago Paiva | |
| 82 | 3 | Thiago Paiva | |
| 83 | 3 | Thiago Paiva | h2. Quem usa |
| 84 | 3 | Thiago Paiva | |
| 85 | 3 | Thiago Paiva | Público do controlador |
| 86 | 3 | Thiago Paiva | |
| 87 | 3 | Thiago Paiva | |
| 88 | 3 | Thiago Paiva | h2. Quem está por trás |
| 89 | 3 | Thiago Paiva | |
| 90 | 3 | Thiago Paiva | Empresas, consórcio, comunidade, universidade, ... |
| 91 | 3 | Thiago Paiva | |
| 92 | 3 | Thiago Paiva | |
| 93 | 3 | Thiago Paiva | h2. último release / commit |
| 94 | 3 | Thiago Paiva | |
| 95 | 3 | Thiago Paiva | Uma das formas de se ter noção de quanto o desenvolvimento ainda está ativo é procurar pela data da última atualização de código no repositório. |
| 96 | 3 | Thiago Paiva | |
| 97 | 3 | Thiago Paiva | |
| 98 | 3 | Thiago Paiva | h2. Outras características |
| 99 | 3 | Thiago Paiva | |
| 100 | 3 | Thiago Paiva | Características que não se adequam a nenhuma das anteriores. |
| 101 | 3 | Thiago Paiva | |
| 102 | 3 | Thiago Paiva | |
| 103 | 3 | Thiago Paiva | |
| 104 | 3 | Thiago Paiva | |
| 105 | 3 | Thiago Paiva | |
| 106 | 3 | Thiago Paiva | |
| 107 | 3 | Thiago Paiva | |
| 108 | 3 | Thiago Paiva | |
| 109 | 3 | Thiago Paiva | |
| 110 | 1 | Thiago Paiva | h2. Overview |
| 111 | 1 | Thiago Paiva | |
| 112 | 1 | Thiago Paiva | * irmão mais novo do NOX |
| 113 | 1 | Thiago Paiva | * plataforma para desenvolvimento rápido e prototipagem de controladores OpenFlow (framework) |
| 114 | 1 | Thiago Paiva | * linguagem: python |
| 115 | 1 | Thiago Paiva | * alvo principal é a pesquisa |
| 116 | 1 | Thiago Paiva | |
| 117 | 1 | Thiago Paiva | * POX wiki: instalação, componentes, APIs, openflow e FAQ (bem completo) |
| 118 | 1 | Thiago Paiva | https://openflow.stanford.edu/display/ONL/POX+Wiki |
| 119 | 1 | Thiago Paiva | |
| 120 | 1 | Thiago Paiva | * mininet + POX |
| 121 | 1 | Thiago Paiva | http://mininet.org/blog/2013/06/03/automating-controller-startup/ |
| 122 | 1 | Thiago Paiva | |
| 123 | 1 | Thiago Paiva | * Configuring an OpenFlow POX SDN Controller and HP Switches |
| 124 | 1 | Thiago Paiva | http://networkstatic.net/configuring-an-openflow-pox-sdn-controller-and-hp-switches/ |
| 125 | 1 | Thiago Paiva | |
| 126 | 1 | Thiago Paiva | |
| 127 | 1 | Thiago Paiva | h2. Código no GitHub |
| 128 | 2 | Thiago Paiva | |
| 129 | 1 | Thiago Paiva | https://github.com/noxrepo/pox |
| 130 | 1 | Thiago Paiva | |
| 131 | 1 | Thiago Paiva | |
| 132 | 1 | Thiago Paiva | h3. Requerimentos |
| 133 | 1 | Thiago Paiva | |
| 134 | 1 | Thiago Paiva | * Python 2.7 |
| 135 | 1 | Thiago Paiva | |
| 136 | 1 | Thiago Paiva | |
| 137 | 1 | Thiago Paiva | h2. Usado para |
| 138 | 1 | Thiago Paiva | |
| 139 | 1 | Thiago Paiva | * SDN debugging |
| 140 | 1 | Thiago Paiva | * network virtualization |
| 141 | 1 | Thiago Paiva | * projeto de controladores |
| 142 | 1 | Thiago Paiva | * modelagem de programação |
| 143 | 1 | Thiago Paiva | * desenvolvimento de um moderno controlador SDN |
| 144 | 1 | Thiago Paiva | |
| 145 | 1 | Thiago Paiva | |
| 146 | 1 | Thiago Paiva | h2. Características |
| 147 | 1 | Thiago Paiva | |
| 148 | 1 | Thiago Paiva | * interface pythonica para OpenFlow |
| 149 | 1 | Thiago Paiva | * componentes reutilizáveis (modularidade) (recursos prontos) |
| 150 | 1 | Thiago Paiva | * não dependente de plataforma (instalar PyPy) |
| 151 | 1 | Thiago Paiva | * suporta mesmas ferramentas de visualização do NOX |
| 152 | 1 | Thiago Paiva | * melhor desempenho que o NOX para aplicações escritas em python, porém mais lento que NOX/C++ |
| 153 | 1 | Thiago Paiva | * suporte para OpenFlow 1.0 |
| 154 | 1 | Thiago Paiva | * especial suporte para Open vSwitch |
| 155 | 1 | Thiago Paiva | |
| 156 | 1 | Thiago Paiva | |
| 157 | 1 | Thiago Paiva | h2. Funcionamento |
| 158 | 1 | Thiago Paiva | |
| 159 | 1 | Thiago Paiva | 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'. |
| 160 | 1 | Thiago Paiva | |
| 161 | 1 | Thiago Paiva | Os módulos podem estar nos diretórios 'pox' e 'ext', além dos diretórios normalmente vigiados pela instalação do python. |
| 162 | 1 | Thiago Paiva | |
| 163 | 1 | Thiago Paiva | 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()'. |
| 164 | 1 | Thiago Paiva | |
| 165 | 1 | Thiago Paiva | |
| 166 | 1 | Thiago Paiva | h2. Componentes |
| 167 | 1 | Thiago Paiva | |
| 168 | 1 | Thiago Paiva | * py: interface python (debug) |
| 169 | 1 | Thiago Paiva | * forwarding.hub: $10 hub |
| 170 | 1 | Thiago Paiva | * forwarding.l2_learning: L2 learning switch |
| 171 | 1 | Thiago Paiva | * forwarding.l2_pairs: L2 learning switch based on MAC addresses |
| 172 | 1 | Thiago Paiva | * forwarding.l3_learning: "L3-lerning-switchy-thing" |
| 173 | 1 | Thiago Paiva | * forwarding.l2_multi: |
| 174 | 1 | Thiago Paiva | ... |
| 175 | 1 | Thiago Paiva | |
| 176 | 1 | Thiago Paiva | h2. Tutoriais |
| 177 | 1 | Thiago Paiva | |
| 178 | 1 | Thiago Paiva | * openflow tutorial with pox |
| 179 | 1 | Thiago Paiva | http://blog.pythonicneteng.com/2013/02/openflow-tutorial-with-pox.html |