Construção de caminhos causais em redes definidas por software - Carvalho, Fabrício Barbosa de (2014)
As redes corporativas atuais são compostas de diversos equipamentos e aplicações. O aumento da escala de uma rede corporativa faz com que as interações entre as aplicações se tornem mais complexas e envolvam diversos elementos de hardware e software, como: enlaces, switches, roteadores, servidores e sistemas operacionais. Consequentemente, determinar corretamente quais elementos foram utilizados no processamento de uma requisição nesse ambiente se torna uma tarefa extremamente desafiadora. Diferentes técnicas de como determinar os elementos de hardware e software utilizados no processamento das requisições foram propostas na literatura. Esses elementos são agrupados em um conjunto denominado caminho causal. As técnicas de construção de caminhos causais são incorporadas em ferramentas de detecção de anomalias. Essas ferramentas detectam falhas ou sobrecargas nos elementos dos caminhos causais. Além disso, essas ferramentas são divididas em dois grandes grupos: as intrusivas e as não intrusivas. A principal diferença entre os grupos é que nas intrusivas as aplicações precisam ser modificadas para se inserir informações de controle, enquanto nas não intrusivas não há essa necessidade. O objetivo comum, entretanto, é mapear o caminho causal de uma requisição. Todas as ferramentas de construção de caminhos causais e, consequentemente, para detecção de anomalias até então conhecidas foram concebidas para a arquitetura atual da Internet. Essa arquitetura tem sido fortemente criticada por ser de difícil alteração e evolução, sendo inclusive rotulada de ossificada por alguns pesquisadores. O novo paradigma de Rede Definida por Software (SDN - Software Defined Network) foi proposto para contornar os problemas da arquitetura atual da Internet. SDN proporciona a dissociação entre o plano de controle e o plano de dados, permitindo que elementos externos de software exerçam funções do plano de controle e alterem o comportamento do plano de dados. Este trabalho propõe S-Trace, uma ferramenta não intrusiva de construção de caminhos causais que explora aspectos positivos das ferramentas de construção de caminhos causais e de detecção de anomalias intrusivas e não intrusivas, além da separação de planos fornecida por SDN. S-Trace intercepta chamadas de função de bibliotecas para correlacionar os eventos de comunicação inter-processo (IPC - Inter-Process Communication) utilizados ao processar uma requisição. Além disso, S-Trace explora a separação de planos de SDN para realizar a reprodução de tráfego de rede e, assim, aprimorar os caminhos causais construídos. Os resultados da avaliação mostram que S-Trace constrói caminhos causais corretamente, capturando o comportamento das aplicações ao processar as requisições. A avaliação utilizou duas aplicações que abrangem grande parte dos diferentes modelos de implementação utilizados pelas aplicações distribuídas de rede. Durante a avaliação, S-Trace foi capaz de construir caminhos causais mesmo na presença de falhas e de dispositivos NAT que modificam os endereços IP das conexões das requisições, fatores que dificultam significativamente a construção dos caminhos.