Redes de Computadores I - 2013.1

Principais Ferramentas

    Esta seção apresenta com mais detalhes três das principais ferramentas utilizadas hoje em dia no meio de pesquisa universitária. É importante ressaltar que são ferramentas de código aberto. Além disso, também são apresentadas, com menos detalhes, outras ferramentas de Redes Definidas por Software.

OpenFlow

    O protocolo OpenFlow é a base para a criação de uma rede definida por Software aberta e baseada em padrões. Seu desenvolvimento começou em 2007 nas Universidades de Stanford e da California em Berkeley. Ele permite a manipulação e o acesso direto do plano de encaminhamento dos pacotes de dispositivos de rede, como switches e roteadores, tanto virtuais como físicos.

    O protocolo OpenFlow se baseia na separação de planos. Nos elementos encaminhadores há uma tabela de fluxos que é atualizada no plano de controle. Quando chega um pacote de um fluxo que já está definido nessa tabela, ele é comutado pelo switch OpenFlow. Já quando chega um pacote de um fluxo não definido, ele é então mandado para o controlador, que está no plano de controle. No controlador é definido qual será o próximo destino desse pacote, de acordo com as aplicações que foram programadas, e estão sendo executadas nele, e também de acordo com o cabeçalho do pacote. No protocolo OpenFlow, esse cabeçalho possui 12 campos, que a aplicação pode levar em conta na decisão. O controlador então adiciona essa linha de fluxo no elemento encaminhador. É importante perceber que só o primeiro pacote de um fluxo não definido é encaminhado ao controlador, sendo a partir dele criada a regra na tabela de fluxo, o que faz que os demais pacotes desse fluxo sejam comutados, aumentando o desempenho da rede.

Open vSwitch

    A ferramenta Open vSwitch serve para a criação de múltiplos switchs virtuais, o que permitiria a automação da rede através da programação. Nestes switchs é possível então implementar diversos protocolos, entre eles o OpenFlow, e também definir um controlador como o POX, o NOX, ou o próprio controlador nativo do Open vSwitch.

    O Open vSwitch também permite a criação de switchs virtuais em máquinas físicas diferentes, similar ao Software da VMware. Desta forma é possível criar diversas redes virtuais para testes.

FlowVisor

    O FlowVisor é uma ferramenta desenvolvida em maio de 2009 em Stanford. Ele consiste em um controlador especial pro OpenFlow, e o que diferencia ele dos demais, é que ele atua como um proxy transparente entre um comutador OpenFlow e múltiplos controladores OpenFlow, ou seja, ele atua como um intermediador entre as requisições de um controlador e o comutador. Desta forma o FlowVisor permite que a rede seja fatiada e tenha um controle distribuído, já que quando um controlador OpenFlow envia algum comando para o comutador ele passa antes pelo FlowVisor que determina se ele tem autorização ou não para realizar esta ação.

    O FlowVisor permite que o controle das permissões dessas fatias da rede sejam feitas por um ou mais controladores que agiriam como administradores da rede. Vale ressaltar que essas fatias podem ser definidas por uma combinação das portas dos comutadores (camada 1), endereço ethernet (camada 2), endereço IP (camada 3) ou pelas protocolos TCP/UDP (camada 4). Vale ressaltar que o FlowVisor garante o isolamento dessas fatias da rede, portanto o fluxo de um comutador não afeta o outro e um controlador não pode ver o fluxo de um comutador que ele não tem autorização para ver.

Controladores

    Outras ferramentas importantes são os controladores. Os controladores fornecem APIs (Application Programming Interface) para que sejam desenvolvidos protótipos de Redes Definidas por Software. Para o protocolo OpenFlow, os principais controladores são o NOX e o POX, desenvolvidos pelos criadores do protocolo OpenFlow. A diferença entre eles é que o NOX utiliza a linguagem C++ e o POX, python. Há outros controladores para o protocolo OpenFlow, como, por exemplo, Trema, Maestro, Beacon, FML e Frenetic.

Anterior Topo Próximo