最近读了篇 eBPF 技术的文章( Simple and Precise Static Analysis of Untrusted Linux Kernel Extensions PLDI'19 ),还在几个不错的公众号上都看到了关于 eBPF 的文章。
碰巧还看到 陈莉君老师(昵称是,不知道是否是本人)的高评价留言(大概意思,找不到具体文章了) “对于用户态内核态,eBPF 填平了沟壑,对于微内核宏内核,eBPF 减少了差异”。
然而对比之前的 systemtap,hook,kprobe,除了 JTT in-kernel 虚拟机和静态分析 verifier 增强安全性之外,我似乎并没有发现 eBPF 在功能、性能上非常特别或者突出的地方,相反 systemtap 脚本的可能更强大。
因此我想听听大家对 eBPF 技术发展的看法,这技术到底牛在哪里能够得到这么高的评价。
lwn.net 参考文章
A thorough introduction to eBPF
A JIT for packet filters
BPF: the universal in-kernel virtual machine
1
janxin 2020-06-10 16:52:54 +08:00
看到几个在用的是在做包过滤相关一些的东西,systemtap 还可以做包过滤的么...
|
2
NoobPhper 2020-06-10 16:54:06 +08:00
mark, 我关注 ebpf 主要是 cloud native 这个方向 ,原因是这段时间比较火的 cni cilium
|
3
Chenamy2017 2020-06-11 11:31:41 +08:00
陈莉君老师的公众号是:Linux 内核之旅,上面有很多讲 eBPF 的文章,可以去看看。
|
4
tkl 2020-06-11 14:35:52 +08:00 1
ebpf eat the world
|
5
purplewall OP @janxin 包过滤这个太强了,不过这个是 classic BPF,我主要的困惑是 eBPF extend 出来的那些功能
|
6
purplewall OP |
7
lyi4ng 2020-06-24 16:03:12 +08:00
好处很多,但是如果谈及影响可以看看 https://lwn.net/Articles/808503/
最大的问题在于 ebpf 技术导致的内核可编程,这就导致一个本来应该稳定的线上机器一下子就引入了不确定性,非常可能导致内核恐慌,这个比起用户态上的问题更是灾难级别的,所以国内对于 ebpf 上的态度基本都是可以用,但是不能泛用,基本是浅尝辄止吧。 |
8
tuomasi 2023-02-23 13:05:24 +08:00
爬虫利器
|