Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC) - Minicursos, May 10, 2018
The goal of this short course is to present the main concepts related to network programmability,... more The goal of this short course is to present the main concepts related to network programmability, description of the data plane and packet forwarding to network devices using P4 language. This short course approaches this topic in a theoretical and practical way, presenting in the first part the PISA (Protocol-Independent Switch Architecture) model under which the P4 language works. The P4 language components used to process packets are also presented. Before the second part of this course, it presents a description of the compiler and the sofware switch native of P4, named bmv2. With all these concepts presented, the second part consists of practical exercises, which allow a better understanding of the concepts and elements initially presented. Finally, this short course also aims to show some of the most relevant projects that make use of P4 and in this way, perceive possible applications and motivate research topics in this area. Resumo O objetivo deste minicurso e apresentar os principais conceitos relacionados com a programabilidade de redes, descrição do plano de dados e encaminhamento de pacotes em dispositivos de rede por meio da linguagem P4. O minicurso aborda o tema de maneira teórica e prática, apresentando na primeira parte o modelo PISA (Protocol-Independent Switch Architecture), sob o qual a linguagem funciona. Apresenta os componentes da linguagem P4 pelos quais os pacotes são processados. Antes da segunda parte, apresenta uma descrição do compilador e do software switch nativo do P4, o bmv2. Com esses elementos, a segunda parte é constituída por exercícios práticos de implementação em laboratório que permitem uma melhor compreensão dos conceitos e elementos inicialmente apresentados. Por fim, este minicurso também tem como objetivo de mostrar alguns dos projetos mais relevantes que fazem uso do P4 e desta maneira, perceber possíveis aplicações e motivar temas de pesquisa nessa área. Parsers: A definição de parser especifica como identificar (reconhecer) cabeçalhos ou sequências de cabeçalho válidos nos pacotes.
Sketches are probabilistic data structures capable of summarizing and storing network data (packe... more Sketches are probabilistic data structures capable of summarizing and storing network data (packets, bytes, and flows), with a certain degree of accuracy, that have become widely popular for network measurement and monitoring. In this paper, we propose a new multipurpose sketch, called BitMatrix, which is capable of working in multi-tenant networks. Owing to its multi-dimensional architecture, BitMatrix can differentiate between bit markings and byte/packet counting from different sources in a network. As a multipurpose sketch, BitMatrix and its algorithms contribute to the literature by providing information regarding the paths traversed by each packet and are designed for use in multi-tenant networks. We also designed a statistical model to adjust the measurements owing to the probabilistic behavior of the sketches. Such a model is able to infer the standard error rate and approximate the BitMatrix counters to the real value. The adjusted BitMatrix measurement has a Mean Absolute Percentage Error of ± 6.14%. The BitMatrix sketch was implemented using P4 language and a simulator was also developed, that allowed its scaling using real traces from CAIDA in an NSF network topology.
2018 IEEE Symposium on Computers and Communications (ISCC), 2018
With the evolution of the processing capacity of the network devices and the appearing of novel p... more With the evolution of the processing capacity of the network devices and the appearing of novel programmable network hardware, new methods and techniques for traffic monitoring have been proposed. Among these new techniques, the use of sketches has been increased. Sketches are probabilistic data structures capable of summarizing information about the network with two main advantages over flow-based counters: low memory usage and adjustable accuracy. Considering this scenario, this paper proposes the use of probabilistic data structures implemented in P4 (Programming Protocol-Independent Packet Processors) to monitor multi-tenant networks. While it is common to see similar solutions for monitoring non-shared networks, as far as we know this is the first work that deals multitenant scenarios. We implemented sketches for each tenant so that an isolated network monitoring can be done. The solution, named BitMatrix, was created taking into account two probabilistic structures: bitmaps and counter-arrays.
Empowering applications with RFC 6897 to manage elephant flows in datacenter networks
The Multipath TCP (MPTCP) is able to explore network resources with multi-connected devices. Alto... more The Multipath TCP (MPTCP) is able to explore network resources with multi-connected devices. Altogether with MPTCP, the RFC 6897 defines an API that adds the freedom for applications to manage the MPTCP subflows by giving them the power to control important aspects of the MPTCP implementation's behavior (e.g. to open and close subflows as they may wish). This paper presents an initial implementation of the RFC 6897 so that MPTCP subflows can be added by the application. To demonstrate the benefits of such mechanism, we build an HTTP application that detects elephant flows and breaks these into mice flows using the API. The tests were done using a cubic network topology and showed that the power given to the application to break elephant flows into mice flow decreased the Flow Completion Time (FCT) due to the spreading of subflows in the network.
Uploads
Papers by Regis Martins