Flex-Cubic: A Runtime-Adaptive Loss-Tolerant TCP Cubic - P. Filho, Pedro P.; Ribeiro, Moises R. N.; Martinello, Magnos; Miguel, Guilherme F. (Anais do Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC), 2026)
O TCP tradicional ainda carece da capacidade de diferenciar entre perdas causadas principalmente por congestionamento daquelas causadas por erros na camada física. Isso pode prejudicar severamente o desempenho, especialmente em aplicações científicas com uso intensivo de dados em redes ópticas transparentes, dinamicamente reconfiguráveis, de alta capacidade e longa distância. Este trabalho propõe e implementa experimentalmente uma variante do TCP Cubic projetada para redes reconfiguráveis, tornando a camada de transporte tolerante a perdas não relacionadas a congestionamento e a RTTs variáveis, explorando a largura de banda disponível de forma mais eficiente. Isso é feito através do projeto de um mecanismo de redução da janela de congestionamento (cwnd) que condiciona as reações de perda à evidência de congestionamento, fornecida por medições de RTT. Além disso, o Flex-Cubic visa suportar o ajuste dinâmico de parâmetros e temporização de maior precisão, resultando em maior estabilidade e melhor utilização da largura de banda. Assim, o eBPF foi utilizado como plataforma para a implementação do algoritmo de controle de congestionamento (CCA) do TCP, permitindo que novos algoritmos sejam carregados no kernel via JIT em tempo de execução, sem recompilação. Através de struct ops e mapas, o eBPF permite a instrumentação por fluxo e a adaptação dinâmica do CCA.