NoBI: uma interface Northbound para a programação dinâmica de redes OpenFlow com suporte à interoperabilidade entre controladores. - VASCONCELOS, César Rocha. (2018)
As Redes Definidas por Software (SDN, do inglês Software-Defined Networks) são um novo paradigma que tem atraído um interesse significativo da academia e indústria de redes de computadores. Ao contrário das redes tradicionais, o paradigma SDN encoraja a separação entre a lógica de controle da rede dos dispositivos adjacentes e introduz a capacidade de orquestrar a rede em alto nível. Nos últimos anos, esforços de pesquisa crescentes têm endereçado a concepção de interfaces de programação northbound (NBI, do inglês Northbound Interface), as quais permitem às aplicações de negócio e aos gerentes de redes se comunicarem, apropriadamente, com controladores SDN para programar a rede. Entretanto, apesar da corrente consolidação do protocolo OpenFlow, a ausência de uma padronização destas interfaces tem dificultado a criação de código interoperável. Hoje em dia, dezenas de controladores encontram-se disponíveis; porém, cada um é livre para projetar e implementar sua própria NBI. Logo, à medida que o número de controladores SDN tem aumentado dramaticamente, a habilidade dos gerentes de reutilizar funções da NBI tem se tornado uma tarefa problemática e, em alguns casos, impossível, por conta das diferenças entre as linguagens de programação e instruções dos controladores. O resultado é que a ausência de implementações northbound interoperáveis frequentemente tem obrigado gerentes a reescrever partes inteiras do código, quando é necessário suportar um novo controlador. Adicionalmente, a migração de conjuntos de instruções de rede existentes para um outro controlador é um processo lento e tedioso, que tipicamente envolve o aprendizado de novas APIs, modelos de dados complexos e várias outras convenções específicas do controlador-alvo. Para lidar com tal problemática, é apresentada neste trabalho uma interface northbound alternativa, denominada NoBI, que permite aos gerentes programar a SDN com facilidade e independentemente do controlador existente. Em particular, a NoBI provê um conjunto de funcionalidades baseado em princípios REST e verdadeiramente interoperável, isto é, pode se comunicar de forma transparente com diferentes controladores. Para satisfazer o requisito de interoperabilidade entre múltiplos controladores, foram desenvolvidos uma nova arquitetura simples de ser instanciada e modelos de dados compatíveis com controladores SDN conhecidos (Floodlight e OpenDaylight). Em vez de injetar instruções intrincadas e de baixo nível diretamente no código para programar a SDN, gerentes devem interagir apenas com a NoBI. Esta traduzirá todas as requisições de alto nível recebidas em invocações de funções NBI internas e modelos de dados nativos suportados pelo controlador existente, de forma automática. Demonstrou-se a viabilidade da NoBI em arquiteturas de redes SDN reais contendo diferentes dispositivos OpenFlow. Os resultados obtidos mostraram que a NoBI é capaz de programar a SDN em tempo de execução e ainda atender o requisito de interoperabilidade, com um resultado peracional estatisticamente equiparado às implementações estado da arte (baselines) disponíveis.