O que é OpenFlow?

OpenFlow é uma tecnologia que viabiliza a SDN (rede definida por software), uma abordagem orientada por software para a configuração de redes.

Tradicionalmente, os dispositivos de rede combinavam duas funções principais: o plano de controle, responsável pelo gerenciamento de rotas, e o plano de dados, responsável pelo encaminhamento de dados. A principal característica do OpenFlow é a separação dessas duas funções. O controlador OpenFlow é responsável pelo plano de controle (geralmente implementado em software), enquanto o switch OpenFlow cuida do plano de dados (normalmente fornecido como hardware, embora também existam implementações em software, como o Open vSwitch).

Outro recurso importante do OpenFlow é o uso de tabelas de fluxo, que definem as regras de encaminhamento de dados. As tabelas de fluxo especificam condições para o processamento de pacotes, como endereços MAC, endereços IP, números de porta, IDs de VLAN ou rótulos MPLS, além das ações correspondentes, como encaminhar pacotes para portas específicas, modificar determinados campos ou descartar pacotes.

Usando Tabelas de Fluxo, o OpenFlow pode executar funções normalmente realizadas por switches de Camada 2 (L2), roteadores ou switches de Camada 3 (L3). Ele também pode implementar comportamentos semelhantes aos de firewalls ou balanceadores de carga. Além disso, o OpenFlow oferece suporte a mecanismos de failover, permitindo o redirecionamento automático por caminhos alternativos em caso de falha de um switch, bem como a segmentação de rede semelhante à das VLANs. Redes compostas por vários switches OpenFlow são gerenciadas e controladas de forma centralizada pelo controlador OpenFlow.

O OpenFlow oferece uma maneira altamente flexível e programável de definir e gerenciar configurações e funções de rede, proporcionando vantagens significativas em relação à infraestrutura de rede tradicional baseada em hardware.