Feferman, Daniel Lazkani, 1992, Esteve Rothenberg, Christian Rodolfo, 1982, Villaça, Rodolfo da Silva, Salvador, Marcos Rogerio, Universidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de Computação, Programa de Pós-Graduação em Engenharia Elétrica, and UNIVERSIDADE ESTADUAL DE CAMPINAS
Orientador: Christian Rodolfo Esteve Rothenberg Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação Resumo: Por muitos anos as Redes Definidas por Software (SDN) têm revolucionado o comportamento das redes de computadores, dando aos administradores das mesmas a possibilidade de programar o plano de controle da rede. No entanto, a implantação de soluções SDN deu aos pesquisadores espaço para novos desafios, com o objetivo de atualizar nossas redes por meio de uma programação mais detalhada do plano de dados. O P4 é uma Linguagem de Domínio Específico (DSL) para expressar como os pacotes são processados em uma plataforma de rede programável. Considerando o objetivo de permitir a programação P4 com alto desempenho, o Multi-Architecture Compiler System for Abstract Dataplanes (MACSAD) utiliza o projeto open source OpenDataPlane (ODP) para fornecer APIs específicas, permitindo a interoperabilidade entre hardwares diferentes e minimizando a sobrecarga dos mesmos. O MACSAD é um compilador que aproveita a simplicidade da linguagem P4 e a flexibilidade das APIs do ODP para trabalhar em diferentes plataformas, mantendo o alto desempenho. Assim, o MACSAD pode ser chamado de um "sistema de compilador unificado de alto desempenho", considerando que ele pode executar o mesmo programa P4 em múltiplos hardwares com alta performance. Este projeto tem como objetivo adicionar suporte VXLAN ao MACSAD, integrá-lo a um controlador SDN, fazer uma análise de throughput, latência e da distribuição do balanceador de carga através de múltiplos polinômios. Assim, para alcançar essa integração, faremos uma implementação P4 VXLAN com uma abordagem SDN para preencher as tabelas através de um controlador simples. Por fim, faremos uma análise dos métodos de balanceamento de carga, principalmente através de funções Checksum e CRC para uma avaliação de desempenho de todo o sistema. Dessa forma, utilizaremos o Network Function Performance Analyzer (NFPA) e Open Source Network Tester (OSNT) para efetuar os testes de throughput e latência, gerando diferentes tipos de tráfego para an'alise de performance de nosso programa P4 definido na aplicação do plano de dados Abstract: For some years, Software-Defined Networking (SDN) has been revolutionizing the networking landscape, giving administrator users the possibility to program the network control plane. However, the deployment of SDN solutions gave researchers space to new challenges, aiming to upgrade our networks to new levels through deeper data plane programmability. The Programming Protocol-Independent Packet Processors (P4) is a Domain Specific Language (DSL) to express how packets are processed on a programmable network platform. Considering the objective to allow P4 programmability with high performance, the Multi-Architecture Compiler System for Abstract Dataplanes (MACSAD) uses the OpenDataPlane (ODP) Open Source project to provide specific Application Programming Interfaces (APIs), enabling the interoperability between different hardwares and minimizing the overhead. The MACSAD is a compiler that takes advantage of the P4 language simplicity and ODP APIs flexibility to work on different platforms, but still maintaining high performance. Thus, MACSAD can be called as a "unified compiler system with high performance", considering that it can execute the same P4 program on multiple targets with high throughput. This project aims to add Virtual eXtensible Local Area Network (VXLAN) support to MACSAD,integrate it with an SDN controller, evaluate the throughput, latency and the Load balance distribution through multiple polynomials. Thus, to achieve this integration we will make a P4 VXLAN implementation and an SDN approach to populate the tables through a simple controller. Finally, we will analyze different load balancing polynomials, mainly through Checksum and CRC functions and a performance evaluation of the whole system, to perform the last one we will take advantage of Network Function Performance Analyzer (NFPA) and Open Source Network Tester (OSNT), generating different types of traffic to benchmark our P4-defined dataplane application Mestrado Engenharia de Computação Mestre em Engenharia Elétrica Funcamp 35789-17, 78064/2018