IT袋

当前位置:主页 > 经验教程 > 系统教程 >

什么是eBPF技术

什么是eBPF技术 它何以改变Linux?(3)

时间:2023-09-23 12:11:46 来源:IT袋 作者:苏晓敏
导读:什么是eBPF技术,• 系统安全:eBPF 可以用于实现防火墙规则、安全监控等安全功能。 • 资源分配:eBPF 可以用于动态分配系统资源,例如根据网络流量动态调整网络缓冲

什么是eBPF技术

• 系统安全:eBPF 可以用于实现防火墙规则、安全监控等安全功能。

• 资源分配:eBPF 可以用于动态分配系统资源,例如根据网络流量动态调整网络缓冲区大小。

• 网络优化:eBPF 可以用于实现网络优化,例如通过读取 TCP 连接信息来调整 TCP 参数以提高网络性能,还有实现负载均衡、容器网络管理等。 

InfoQ:国内外 eBPF 技术发展和落地情况如何?有哪些值得关注的开源项⽬?

陈莉君教授:在国内外,eBPF 得到了快速发展,尤其是在网络领域,它已经被广泛应用于各种网络设备、操作系统、容器平台、SDN 以及 NFV 等领域。

eBPF 的开源项目,最典型的就是 iovisor 带来的 BCC、bpftrace 等工具,成为 eBPF 在跟踪和诊断领域的最佳实践。Cilium、Katran、Falco 等一系列基于 eBPF 优化网络和安全的开源项目也逐步诞生。最流行的网络解决方案之一 Calico,就在最近的版本中引入了 eBPF 数据面网络,大大提升了网络的性能。

开发者可以重点关注以下开源项目:

• BCC:BCC 是一种开源的 eBPF ⽂件工具集,可以帮助开发者创建、分析和调试系统性能监控工具。BCC 还提供比 Tcpdump 和 iptables 更强大的数据包处理能力。

• Cilium:用于透明地保护容器应用之间的网络连接。Cilium 基于 eBPF 技术开发,因此集成了 eBPF 的大部分特性和优点,提供负载均衡和监控、排障等非常多的功能。

• Falco:可以实现对调用行为的监控,并依赖于强大的规则引擎,对异常的系统调用行为进行告警。

• Coolbpf:以 CO-RE(Compile Once–Run Everywhere)为基础实现,保留了资源占用低、可移植性强等优点,还融合了 BCC 动态编译的特性,适合在生产环境批量部署应用。支持在同一个 eBPF 程序,运行在 5.x、4.x,甚至 3.10 的内核上。

• LMP 项目:LMP(Linux显微镜)基于eBPF探索和孵化更多的创新项目,形成对Linux内核深入探索和细粒度观察,给初学者探索和学习提供一种项目超市。 

InfoQ:由您领衔成⽴了业界⾸个产学研 eBPF 技术探索 SIG,这个 SIG 组成⽴的初衷是什么?⽬前取得了哪些研究进展?

陈莉君教授:eBPF 技术探索 SIG 致力于深入研究分析 BPF 前沿技术和产学研界发展,增强 Networking、Tracing、Observability、Security 四个纬度技术深度和落地效果,打造国内最有影响力的 BPF 项目和社区。SIG 成立的初衷是推动 eBPF 技术在国内的应用和发展,做国内领先者社区,国际上协同和对标 eBPF 知名社区。通过技术创新和技术合作,降低 eBPF 的学习和使用门槛,为高校师生、eBPF 技术爱好者、Linux 从业者提供工具和平台,打造创新的 eBPF 技术落地到 Linux 内核社区。

相关阅读