Capítulo 8. eBPF para Network+
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Como viste no Capítulo 1, a natureza dinâmica do eBPF permite-nos personalizar o comportamento do kernel. No mundo das redes, há uma enorme variedade de comportamentos desejáveis que dependem da aplicação. Por exemplo, uma operadora de telecomunicações pode ter que fazer interface com protocolos específicos de telecomunicações, como SRv6; um ambiente Kubernetes pode precisar ser integrado com aplicações legadas; balanceadores de carga de hardware dedicados podem ser substituídos por programas XDP rodando em hardware commodity. O eBPF permite que os programadores construam recursos de rede para atender a necessidades específicas, sem ter que forçá-los a todos os usuários do kernel upstream.
As ferramentas de rede baseadas no eBPF são agora amplamente utilizadas e provaram ser eficazes em escala prolífica. O projeto Cilium da CNCF, por exemplo, usa o eBPF como uma plataforma para redes Kubernetes, balanceamento de carga autônomo e muito mais, e é usado por adotantes nativos da nuvem em todas as verticais concebíveis da indústria.1 O Meta tem usado o eBPF em grande escala - todos os pacotes de e para o Facebook desde 2017 têm passado por um programa XDP. Outro exemplo público e em grande escala é a utilização do eBPF pela Cloudflare para proteção contra DDoS (negação de serviço distribuída).
Estas são soluções complexas, prontas para ...