ebpf 标签归档

共 78 篇文章 · 返回首页

【eBPF 内核实现深度拆解】从验证器到 JIT,从 BTF 到调度器

eBPF 内核虚拟机内部实现系统讲解:BPF 指令集与寄存器机器、验证器的抽象解释与状态裁剪、JIT 编译器后端、Map 各类型的并发与内存模型、helper 函数注册与类型检查、BTF 格式规范与 CO-RE 重定位引擎、libbpf 加载器工程、fentry/fexit 蹦床机制、sched_ext 调度器内核接…

【可观测性工程】网络可观测性:Cilium Hubble、Pixie、DeepFlow、Tetragon

从 L3/L4/L7 三层观测视角出发,讲 eBPF socket filter / tc / XDP 数据采集与 Cilium Hubble 流日志、Tetragon 安全可观测、Pixie 协议自动解析、DeepFlow 架构;展开 bpftrace + kfree_skb_reason 的内核丢包定位、TLS…

【可观测性工程】eBPF 可观测性全景:bcc、bpftrace、libbpf 的工程路径

eBPF 如何实现零侵入、内核级、低开销的可观测性:从 kprobe/uprobe/tracepoint/fentry 钩子机制,到 bcc 工具集、bpftrace 脚本语言、libbpf+CO-RE 可移植编程,再到 Pixie、DeepFlow、Grafana Beyla 等商业化工具,结合内核版本兼容性与生产…

【零信任安全架构】微分段深度拆解:从 VLAN 到 eBPF 的访问控制演化

微分段是零信任在网络层的核心机制——从传统 VLAN 的广播域隔离,到 Kubernetes NetworkPolicy 的 IP 级别过滤,再到 Cilium 基于身份的 eBPF 执行和 Istio 的 L7 策略。本文拆解四层微分段技术的实现原理、性能差异和适用场景,以及从'全通'到'全白名单'的策略制定流程。

【eBPF 内核实现深度拆解】BPF 程序调试与测试:verifier log、bpftool、test runner 与内核自测

从 verifier log 的级别控制(log_level 1/2/自选寄存器)出发,覆盖 bpftool prog dump xlated/jited 的反汇编、bpftool map dump 运行时检查、bpftool btf 类型查阅、BPF selftests 结构与编写,以及生产环境下的 BPF 排障方…

【eBPF 内核实现深度拆解】蹦床(Trampoline)与 fentry / fexit:零开销内核追踪

fentry/fexit 通过 BPF 蹦床机制在目标函数的 nop 位置直接替换为 call 指令进入 BPF,避免了 kprobe 的 int3 中断开销。本文拆解 bpf_trampoline 内核实现、arch_prepare_bpf_trampoline 的架构相关栈帧构造、struct_ops 与蹦床的协…

【eBPF 内核实现深度拆解】BPF 并发模型:spinlock、RCU 与 per-CPU 模式

BPF 程序在内核上下文中并发执行——同一程序可能在多个 CPU 同时运行。本文讲清 BPF 环境下的内存模型(BPF_ATOMIC 指令的语义)、bpf_spin_lock 的实现限制、RCU 保护的 map 读取、per-CPU map 的免锁读写,以及中断上下文与进程上下文的执行语义差异。

【eBPF 内核实现深度拆解】实战:构建微型 eBPF 可观测 Agent

把 01--17 的知识串成一条实践线——从 libbpf skeleton 写第一个 BPF 程序、加载到内核、用 ring buffer 回传事件、用 CO-RE 实现跨内核版本兼容、map pinning 实现热升级、配上半自动化的 verifier 错误排障流程——构建一个麻雀虽小五脏俱全的 eBPF 可观测…

【可观测性工程】持续性能分析(Profiling):pprof、Pyroscope、Parca、async-profiler、JFR

从 CPU/heap/goroutine/lock/off-CPU 等 Profiling 种类出发,比较采样与插桩两类 profiler 的工作原理,深入 Go pprof、Java async-profiler/JFR、Python py-spy、Pyroscope、Parca eBPF Profiling,以及…

【网络工程】eBPF 可编程网络:从包过滤到流量工程

eBPF 正在重新定义网络工程——从传统的 iptables/netfilter 规则堆砌,到可编程、可观测、高性能的网络数据平面。本文系统讲解 eBPF 网络程序类型(XDP/TC/Socket)、Map 数据结构、Cilium 的 eBPF 数据平面实现,以及 eBPF 在负载均衡、可观测性和网络安全中的工程实践。