mirror of
https://github.com/eunomia-bpf/bpf-developer-tutorial.git
synced 2026-10-28 19:24:04 +08:00
nini
This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
# eBPF 教程:精准隔离已建立的 TCP 连接
|
# eBPF 教程:精准隔离已建立的 TCP 连接
|
||||||
|
|
||||||
## 问题场景
|
|
||||||
|
|
||||||
某个出站 IP 地址刚刚被加入威胁情报黑名单,防火墙已经更新规则阻止新连接。但当你用 `netstat` 检查时,发现服务器上已经存在一条到该地址的活跃 TCP 会话。你需要立即关闭这条连接,但不能杀掉进程,不能影响其他流量,也不能等待会话超时。
|
某个出站 IP 地址刚刚被加入威胁情报黑名单,防火墙已经更新规则阻止新连接。但当你用 `netstat` 检查时,发现服务器上已经存在一条到该地址的活跃 TCP 会话。你需要立即关闭这条连接,但不能杀掉进程,不能影响其他流量,也不能等待会话超时。
|
||||||
|
|
||||||
这个看似简单的需求,用传统工具却很难实现:
|
这个看似简单的需求,用传统工具却很难实现:
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
# eBPF 教程:用 BPF Qdisc 实现出口限速
|
# eBPF 教程:用 BPF Qdisc 实现出口限速
|
||||||
|
|
||||||
## 问题背景:带宽受限场景下的测试
|
|
||||||
|
|
||||||
假设你需要测试应用程序在低带宽条件下的行为。你创建了一对 veth 接口模拟网络链路,想把出口速率限制到 64 Kbit/s,同时观察队列满时的丢包情况。传统方案(复杂的 tc 配置或用户态代理)虽然可行,但对于快速验证来说过于笨重。
|
假设你需要测试应用程序在低带宽条件下的行为。你创建了一对 veth 接口模拟网络链路,想把出口速率限制到 64 Kbit/s,同时观察队列满时的丢包情况。传统方案(复杂的 tc 配置或用户态代理)虽然可行,但对于快速验证来说过于笨重。
|
||||||
|
|
||||||
Linux 6.16 提供了一种新选择:BPF qdisc。你不再需要配置现有的调度器,而是可以用 eBPF 直接实现一个完整的排队规则。本教程构建一个 FIFO 限速器,演示 qdisc 的完整生命周期:注册为 root qdisc、在入队和出队过程中管理报文所有权、计算发送时间、使用 watchdog 定时器调度下次出队、以及在移除时清理资源。
|
Linux 6.16 提供了一种新选择:BPF qdisc。你不再需要配置现有的调度器,而是可以用 eBPF 直接实现一个完整的排队规则。本教程构建一个 FIFO 限速器,演示 qdisc 的完整生命周期:注册为 root qdisc、在入队和出队过程中管理报文所有权、计算发送时间、使用 watchdog 定时器调度下次出队、以及在移除时清理资源。
|
||||||
|
|||||||
Reference in New Issue
Block a user