把 L7 防火墙塞进 Kernel 会怎样
We Put an L7 Firewall in the Kernel

传统防火墙在用户空间处理应用层流量,每次请求都要经历数据拷贝和重建,耗时以毫秒计。我们反其道而行,利用 eBPF 技术将 L7 防火墙直接植入 Kernel,决策时间压缩至纳秒级。更酷的是,策略编写完全基于 JavaScript,无需重新编译或重启,只需 git push 即可生效。通过 Aho-Corasick 算法,我们在 XDP 钩子处直接拦截恶意流量,单核每秒可处理 500 万次 HTTP/2 决策。这不仅是性能的提升,更是架构思维的革新,让防火墙在流量进入网络栈前就完成生死裁决。
"在 XDP 处被丢弃的数据包永远不会变成 socket 缓冲区,也永远不会进入网络栈,这是 Linux 最廉价的丢弃方式。"