← Últimos artigos
💻 ciência da computação

Port-Range Rule Management and Matching-Path Measurement for eBPF-Based Network Functions

Este artigo propõe uma otimização leve para a função de rede baseada em eBPF, ZFW, que reordena as regras de intervalo de portas por seus limites inferiores e implementa a terminação antecipada no caminho de dados, reduzindo significativamente as etapas de varredura e a latência, ao mesmo tempo em que aumenta a previsibilidade do processamento de regras.

Autores originais: Bo Xie

Publicado 2026-10-30
📖 6 min de leitura🧠 Leitura aprofundada

Autores originais: Bo Xie

Artigo original sob licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Na vasta infraestrutura invisível que transporta nossas vidas digitais, existe uma camada de software que atua como um porteiro para redes de computadores. Este software, conhecido como uma função de rede, decide quais pacotes de dados podem passar e quais devem ser interrompidos, muito parecido com um segurança verificando identidades na entrada de um edifício. Durante anos, esses guardas operaram com regras fixas e rígidas. No entanto, os sistemas modernos evoluíram para usar uma tecnologia flexível chamada eBPF, que permite que essas verificações de segurança sejam programadas dinamicamente dentro do núcleo do computador. Essa mudança oferece grande poder, permitindo que os administradores atualizem políticas de segurança instantaneamente sem reiniciar o sistema. No entanto, essa flexibilidade introduz um desafio oculto: à medida que a lista de regras cresce, o tempo que o software leva para encontrar a regra certa pode se tornar imprevisível. Se a lista não for bem organizada, o sistema pode perder tempo verificando dezenas de regras irrelevantes antes de encontrar a que importa, retardando toda a rede.

Um pesquisador chamado Bo Xie, do Instituto de Pesquisa de Engenharia Digital de Wuhan, propôs-se a resolver este problema específico de ineficiência dentro de uma ferramenta de rede de código aberto chamada ZFW. O problema central identificado foi que a ferramenta mantinha sua lista de regras de intervalos de portas exatamente na ordem em que foram adicionadas, em vez de organizá-las logicamente. Imagine uma biblioteca onde os livros são colocados em uma prateleira na ordem em que foram entregues ao edifício, em vez de estarem em ordem alfabética pelo título. Se um patrono deseja um livro que foi entregue por último, ele deve passar por todos os outros livros na prateleira para encontrá-lo. No mundo digital, isso significava que, se um serviço de internet popular fosse adicionado à lista de segurança tardiamente, cada tráfego para esse serviço teria que percorrer todas as regras não relacionadas antes de alcançar a correta. O pesquisador também descobriu que o sistema carecia de um sinal de "parada"; mesmo que fosse matematicamente impossível uma regra posterior corresponder ao tráfego atual, o software continuaria verificando de qualquer maneira.

Para corrigir isso, a equipe introduziu duas mudanças simples, mas eficazes, na forma como o sistema gerencia e verifica essas regras. Primeiro, eles modificaram o lado do gerenciamento para que, sempre que uma nova regra fosse adicionada, o sistema a organizasse automaticamente na posição correta com base em seu número inicial, em vez de apenas anexá-la ao final da lista. Segundo, eles atualizaram o mecanismo de verificação de alta velocidade dentro do computador para parar a varredura no momento em que encontra uma regra que começa com um número maior do que o tráfego que está tentando corresponder. Como a lista agora está ordenada, o sistema sabe que, se passou de um certo ponto, nenhuma regra futura poderá corresponder, permitindo que ele encerre a busca imediatamente. Esta abordagem baseia-se na premissa de que as regras não se sobrepõem de uma forma que crie confusão, uma condição que os pesquisadores garantiram ter sido atendida pela camada de política antes das regras serem instaladas.

Os resultados dos testes dessas mudanças foram impressionantes em sua clareza. Em um experimento controlado onde o sistema precisava gerenciar cem regras, o método original exigia que o software percorresse, em média, cem entradas para encontrar uma correspondência para uma porta popular. Com o novo método de ordenação e parada antecipada, essa média caiu para apenas uma entrada. Os pesquisadores mediram isso contando o número exato de etapas que o software percorreu, uma métrica que reflete diretamente o esforço necessário para processar cada pedaço de dado. Em cenários onde a regra alvo foi colocada ao final da lista original, a melhoria foi uma redução de noventa e nove por cento no trabalho que o computador teve que fazer. Mesmo nos casos em que o tráfego não correspondia a nenhuma regra, o novo sistema frequentemente conseguia parar após verificar apenas a primeira entrada, se o número do tráfego fosse menor do que a menor regra da lista.

No entanto, o estudo também revelou uma distinção importante entre a eficiência do próprio software e a velocidade total da conexão de rede. Quando os pesquisadores testaram o sistema em um servidor de nuvem pública, onde o tráfego de internet viaja por longas distâncias e através de muitos outros computadores, o tempo total para uma solicitação ser concluída melhorou apenas cerca de dois por cento. Esse ganho pequeno ocorreu porque o tempo gasto esperando os dados viajarem pela internet e o tempo que o computador gastou gerenciando suas próprias tarefas internas sobrecarregaram a pequena economia feita pela verificação de regras mais rápida. Em contraste, quando os testes foram realizados em um ambiente local estritamente controlado, onde os dados não precisavam viajar longe, o tempo total para uma solicitação caiu quase vinte por cento. Essa diferença provou que, embora a otimização tenha tornado o processo de verificação de regras vastamente mais eficiente, a velocidade geral de uma conexão ainda é fortemente influenciada por fatores externos ao software, como a distância da rede e a carga do sistema.

Os pesquisadores também testaram o sistema sob várias condições, incluindo padrões de tráfego mistos onde algumas solicitações correspondiam a regras e outras não, e compararam diferentes versões do software para isolar os efeitos da ordenação versus a parada antecipada. Eles descobriram que a ordenação das regras era o principal motor da melhoria para o tráfego comum, enquanto o recurso de parada antecipada fornecia um impulso significativo para o tráfego que não correspondia a nenhuma regra. O estudo concluiu que esta abordagem leve oferece uma maneira confiável de tornar a segurança de rede mais previsível e eficiente sem exigir uma reformulação completa do sistema existente. Demonstrou que, ao simplesmente organizar a lista de regras e dar ao software permissão para interromper a busca quando sabe a resposta, os administradores podem garantir que suas funções de rede operem de forma consistente, mesmo conforme o número de regras de segurança cresce. O trabalho serve como uma demonstração prática de que, em sistemas digitais complexos, a ordem em que as coisas são organizadas pode ser tão importante quanto as próprias regras.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →