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.