Referência

  • N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S.J. Turner, OpenFlow: enabling innovation in campus networks, ACM SIGCOMM Comput. Commun. Rev. (2008)

Resumo

Introdução

  • A estrutura das redes de computadores são uma parte crítica diante de todo o desenvolvimento de negócios e evolução tecnológica. E o sucesso desta depende de continuadas pesquisas, e a estrutura existente hoje está limitada para extensões, ou seja, está "ossificada".
  • O problema depois de reconhecido criou a necessidade de um trabalho aprofundado neste ponto, e assim a comunidade científica começou a se mover em atitudes como a criação do GENI, um grupo de pesquisas para experimentar novas arquiteturas de Internet.
  • Assim novas ideias e discussões surgiram no meio da pesquisa sobre como desenvolver este processo, e conceitos como "slices", virtualização, clean slate, entre outros surgem com representatividade.
  • Diante deste cenário, surgem ideias de plataformas e switches programáveis, que desenvolvam novas estratégias e protocolos, e que exigiam uma nova ideia de abordagem não suportada antes.
  • Esta nova proposta precisa incorporar:
    • Alta performance e baixo custo de implementação.
    • Capacidade de suportar um alto "range" de pesquisas.
    • Isolamento entre tráfico experimental e de produção.

Switch OpenFlow

  • A ideia é aproveitar que a maioria dos switches Ethernet possuem tabelas de fluxo ou encaminhamento (Flow Tables), capazes de coletar estatísticas e implementar QoS, NAT, entre outros.
  • O OpenFlow explora um conjunto de funções comuns, devido a diferença entre os fabricantes, e assim provê um protocolo aberto para programar a "flow-table" destes switches, o que já possibilita ao administrador da rede, dividir o fluxo de pesquisa e produção.
  • O switch OpenFlow trabalha com a associação de fluxos na tabela através de entradas comuns, as quais não são fixas ou apenas limitadas a um campo de um cabeçalho, mas extensíveis e adaptáveis conforme a necessidade, o que requer um mínimo de funções para implementação.
  • Este switch consiste de três partes:
    • Flow Table: a associação de uma entrada (flow entry) com uma ação de acordo com esta.
    • Um canal seguro de comunicação que permita um controlador interagir com o mesmo, para a adaptação dos fluxos à necessidade, através de comandos e informações passadas entre ambos.
    • O protocolo OpenFlow que provê um meio padrão de comunicação entre controlador e switch.
  • Em suma um switch OpenFlow dedicado, é um elemento de rede que repassa pacotes entre portas de acordo com processos e regras definidos por um controlador.
  • Cada entrada na tabela de fluxos pode ser vista e usada para esta associação dos pacotes que passam pela rede com um tipo de encaminhamento, através do controlador estas podem ser "negociadas" e assim podem ser criados novos fluxos ou deletados alguns através desta comunicação em canal seguro.
  • Novamente, os controladores são fundamentais neste processo, porque ele determina as regras de encaminhamento na rede, e possui graças ao canal de comunicação, uma visão (virtualizada) da rede, para que esta possa ser aproveitada da melhor maneira. Este pode apresentar processos dinâmicos e adaptativos, de modo que as melhores condições possam ser identificadas e implementadas automaticamente.