借助 XDP,eBPF 程序可在网络驱动层、数据包进入内核协议栈之前就进行处理,无需复制原始包即可实现高性能的过滤、转发与丢弃,非常适合 DDoS 防护、恶意流量清洗等场景。
TC 层的 eBPF 程序运行在 L3 层之前,可访问数据包的大部分元数据,适合做流量监控、L3/L4 端点策略控制等。配合 TC egress,还能在容器环境下实现更高维度的网络策略。XDP 与 TC 的组合为软件定义网络(SDN)提供了基础支撑。
由于 eBPF 程序直接在内核态运行,可直接操作网络包缓冲区,避免用户态—内核态的数据复制与上下文切换,从而实现低延迟、高吞吐的包处理能力。