@MASTERSTHESIS{ 2022:1516283278, title = {Investigação sobre Tolerância a Falhas em Controladores SDN Distribuídos e Implementação de um Algoritmo de Difusão Atômica Hierárquico e Sem líder}, year = {2022}, url = "https://tede.unioeste.br/handle/tede/5912", abstract = "O avanço da Internet permitiu que uma imensa quantidade de dados fosse gerada a cada dia. A fim de absorver todo o crescimento da Internet, a infraestrutura da rede teve que aumentar tanto em capacidade quanto em número de dispositivos. Com isso, surgiram paradigmas para maximizar o gerenciamento e controle da infraestrutura de rede. Dentre os paradigmas existentes, as Redes Definidas por Software (SDN) permitem que as redes sejam flexíveis através da separação do plano de dados e do plano de controle. No entanto, distribuir o plano de controle em múltiplos controladores apresenta desafios relacionados à capacidade de tolerar falhas e a manutenção das regras e políticas de redes de maneira consistente entre os vários controladores. O objetivo desta dissertação é avaliar extensivamente o plano de controle SDN distribuído e os algoritmos para manter a consistência que permitam obter alto desempenho. Como resultado, este trabalho apresenta duas contribuições. A primeira contribuição realiza uma investigação dos mecanismos de tolerância a falhas e consistência de rede nos principais controladores distribuídos encontrados na literatura, ou seja, os controladores ONOS e Opendaylight (ODL). Ambos foram investigados e avaliados em relação aos diferentes algoritmos empregados para tolerar falhas e manter a consistência no plano de dados e no plano de controle. Os resultados obtidos demonstraram como cada um dos controladores lidou com os diferentes tipos de falhas, bem como métricas de desempenho entre eles. A segunda contribuição apresenta o projeto e avaliação de um algoritmo de difusão atômica hierárquico sem-líder (chamado de AnyABCast). Importante destacar que tanto ONOS quanto ODL utilizam uma abordagem de consenso em que existe um líder usando o algoritmo de consenso Raft. O algoritmo implementado visa distribuir o custo de ordenar as regras e políticas de rede entre todos os processos. Os experimentos foram executados em um ambiente simulado e em uma rede local. Na rede local, o algoritmo foi implementado com o apoio do framework distribuído Akka.io e comparado com uma implementação do algoritmo Raft presente no Apache Ratis. Os experimentos demonstraram que no ambiente simulado o AnyABCast apresenta desempenho superior tanto com e sem-falhas. Já no ambiente real, o AnyABCast apresentou desempenho superior somente na abordagem sem-falhas.", publisher = {Universidade Estadual do Oeste do Paraná}, scholl = {Programa de Pós-Graduação em Ciência da Computação}, note = {Centro de Ciências Exatas e Tecnológicas} }