Balanceamento de carga utilizando planos de dados OpenFlow comerciais - Costa, Leonardo Chinelate (2016)
O paradigmade Redes Deﬁnidas por Software (SDN) vem mudando a forma como gerenciar e operar redes de computadores através da sua principal ideia, a separação dos planos de dados e de controle. O protocolo OpenFlow implementa este conceito e,devido às vantagens de menor custo de operação e maior facilidade de adaptação a projetos de comutadores já existentes, é encontrado hoje em diversos equipamentos de rede comercializados por muitas empresas. Com o uso do paradigma SDN e do protocolo OpenFlow, a inovação e a evolução da rede são facilitadas. Dessa forma, muitos serviços típicos de rede podem ser repensados, de forma a torná-los mais ﬂexíveis. Um desses serviços é o balanceamento de carga. Neste trabalho é realizado um estudo sobre a viabilidade de se implementar um balanceador de carga OpenFlow em uma rede SDN real, considerando as restrições existentes nos equipamentos OpenFlow comerciais atuais. Para isso, foi proposto um modelo de balanceamento de carga em SDN que leva em consideração diferentes perﬁs de carga mais realistas e que é baseado na utilização de diferentes políticas para a realização do balanceamento. Contudo, antes de reproduzir esse cenário em um ambiente real, foi realizada uma avaliação de desempenho de alguns planos de dados OpenFlow a ﬁm de se veriﬁcar se as implementações OpenFlow atuais são capazes de suportar o balanceamento de carga ou outros serviços e uma rede de produção. Foi avaliada a qualidade de diferentes implementações OpenFlow de hardware switches comerciais e de implementações open source de software switches, através de métricas de desempenho em operações típicas de um switch OpenFlow. Os resultados mostram que as implementações OpenFlow dos hardware switches avaliados ainda não atingiram um nível de maturidade suﬁciente para serem utilizadas em larga escala. Apesar de desempenhos similares entre os modos OpenFlow e legacy na maioria dos casos, as implementações OpenFlow em hardware apresentaram problemas como implementações incompletas do padrão, baixo número de regras suportadas, funcionamento instável para tabelas de ﬂuxo cheias e problemas no processamento de múltiplos comandos.