网络是互联网的基础,更是每个开发者都需要掌握的核心技术之一。但是网络对大多数开发者来说通常只是一个黑盒子,可以看到输入和输出,却很难了解内部的工作原理。这就带来了一个很多人都会碰到的难题,即网络问题的排查和性能优化。Linux内核中的BPF(Berkeley Packet Filter)为这个问题提供了一种神奇的解决方法,即通过内核事件来动态跟踪内核中的网络行为。特别令人兴奋的是,eBPF在BPF的基础上引入了一系列的优化,使得用户可以动态地向内核中注入代码,从而不仅可以观测内核网络行为,更可以对网络数据包进行处理。eBPF特别适合于微服务等复杂网络场景的网络观测和安全策略控制,诸如Cilium、Sysdig、Calico等项目都得益于eBPF提供了更好的性能和动态观测能力。本书的内容将为你提供BPF的工作原理、开发方法、应用实例以及动态跟踪案例,相信读者朋友们定能从中受益。
倪朋飞
Kubernetes项目维护者