容器网络 netkit 方案:替代 veth 吞吐和延迟追平主机,实现作者论文深度解读
容器通信时,包跨网络命名空间要多排一次队。Isovalent 的 Borkmann 与 Chaignon 在 eBPF'26 论文中介绍 netkit:用 BPF 把包直接送过命名空间边界,让容器通信追平进程间通信。
容器通信时,包跨网络命名空间要多排一次队。Isovalent 的 Borkmann 与 Chaignon 在 eBPF'26 论文中介绍 netkit:用 BPF 把包直接送过命名空间边界,让容器通信追平进程间通信。
在第 3 部分中,我们介绍了构建 Cloudflare 基于 eBPF 的网络数据路径所需的架构转变与上游合入工作。这些代码一旦合入,把数据路径移入内核就改变了运维边界。当每秒数百万个报文在驱动中经由 XDP 被直接丢弃、 …
在第 1 部分中,我们说明了 Cloudflare 为何把 eBPF 当作一个平台来押注,而不是一堆单点方案。在第 2 部分中,我们考察了标准 Linux 网络 API 无法支撑 Cloudflare 需求的那些地方,以及团队为填补这些缺口 …
在第 1 部分中,我们说明了 Cloudflare 为何把 eBPF 当作一个平台来押注,而不是一堆单点方案。本文将深入具体细节:标准 Linux 网络 API 无法支撑 Cloudflare 需求的那些地方,以及团队为填补这些缺口所构建的 …
Cloudflare 于 2016 年末开始探索 eBPF/XDP,2017 年中启动负载均衡原型。首次生产部署是在 2018 年 11 月:我们上线了基于 XDP 的包过滤(l4drop),用于 L3/L4 DDoS 缓解。它取代了此前绑 …
如你构建系统或运维集群时,频繁遇到代理 (agent)、iptables 或内核模块的各种限制,那么 eBPF 正是你一直在寻找的更安全、更快、更具动态性的技术选择。eBPF 允许你在 Linux 内核中运行小型且经安全验证的程序,实现运 …
2024 年初,Isovalent 公司高级销售工程师 Nico Vibert 针对网络和 eBPF 提出了一些预测,这里我们将简单给出一些重要的结论,主要涉及到 eBPF/Cilium/云原生/网络/可观测和安全等领域。
2023 年 12 月 21 日,Isovalent 公司 CTO & 联合创始人Thomas Graf 和 Cisco 安全业务集团高级副总裁兼总经理 Tom Gillis 分别在各自公司网站公布了思科打算收购 Isovalent 公司的 …
随着 eBPF 的发展,我们已经可以将 eBPF/XDP 程序直接部署在普通服务器上来实现负载均衡,从而节省掉用于专门部署 LVS 的机器。
我们一直在密切关注 Cilium 并注意到 Cilium 1.10 版本中的独立 L4LB XDP和 Cilium 关于 maglev 的说明。XDP 钩子(hook)以有效利用 CPU 而著称,具有极高的性能。这对我们的团队来说非常有趣, …
Cilium 项目已逐渐成为万众瞩目之星,我们很自豪能够成为该项目的核心人员。几天前,我们发布了具有诸多新功能的 Cilium 1.11 版本,这是一个令人兴奋的版本。诸多新功能中也包括了万众期待的 Cilium Service Mesh …
公有云网络问题,是一个老生常谈的事情了。今天主要简单说明下,在内网环境下去分析 & 定位这个问题。也并不是一开始就需要 eBPF 加持的,可以从简单的基础工具到监控配合去相关比较快速的定位问题,解决问题。 …
本文从什么是 eBPF,eBPF 的应用场景和工作原理入手,然后介绍了使用 Python/C/Go 开发 eBPF 程序的生态环境和使用样例,最后介绍了 eBPF 未来的发展趋势
eBPF 的飞轮仍然在快速转动,自从 Linux 内核 5.6 版本支持 eBPF 程序修改 TCP 拥塞算法能力,可通过在用户态修改内核中拥塞函数结构指针实现;在 5.13 版本中该功能又被进一步优化,增加了该类程序类型直接调用部分内核代 …
本文对于 netfilter 实现机制和 iptables 使用进行了完整的分析,最后使用 ebpf 的 kprobe 和 kreprobe 对于 netfilter 中的 hook 点底层调用函数 ipt_do_table 进行跟踪。
本文通过对于 Go 语言绑定 eBPF 程序的库 cilium/ebpf,iovisor/gobpf 和 dropbox/goebpf 进行了全面对比,对于 go 开发者用户提供了参考。同时基于 cilium/ebpf 库给出了样例代码的测 …
本文主要介绍了由于 ipvs estimation_timer 遍历时间过长导致服务请求抖动或 ping 抖动的排查思路,使用 bpf 技术的 traceicmpsoftirq.py 脚本定位到抖动处理的软中断 CPU 核数,通过 perf …
本文使用 kpatch 的 livepatch 的技术,避免了重启系统或者加载模块,解决了 kubernetes 环境下的 ipvs 规则数量过大,ipvs 的统计定时器 estimation_timer 在内核时间过长导致网络抖动的问题
本文用于排查 k8s 集群中 SLB 流量间歇过大的问题,主要使用的网络工具 iftop,同时也针对 iftop 与 BCC tcptop 性能进行了测试对比