eBPF Summit 2024 简记 1

162 阅读5分钟

eBPF 关于研究项目的奖励

7d3a683d33856fa8b4919eafb7e3522.png

基于 flow collector 和 druid 以及 hive 提供网络监控,分析,安全

4377c7526f94165b4830f0a11499d84.png

邻居噪声检测

0def7d35770b2ca60bca7670418825b.png

bpftop 项目

动态实时观察 eBPF 程序

c3f7fc6e3308df891f8a1e954d3d41e.png

Droppio Rapid fire DDos Mitigation

"指的是针对快速、短时间内发起的DDoS(分布式拒绝服务)攻击的应对策略。这类攻击通常在几分钟内就能造成重大影响,因此需要迅速识别和缓解。

01379268610108fab9793989daadbc9.png

在第一个 syn 就可以丢弃包

23e4c83038a36c791e46aaca986a111.png

仅有 4% 的开销

00221c2e262029e18f8956c8da1c369.png

eBPF 文档:ebpfdocumentary.com

1a16a66bcd2bcbbd85713af6c4bf01d.png

IoT 业务场景从 DPDK 切换到 ebpf 从而获得更高的灵活性(k8s)

d114be3dc9fff62fc5955ea721b03d2.png

基于 ebpf 实现 gtp 协议转化为 gre 协议

d114be3dc9fff62fc5955ea721b03d2.png

45331f9586baf24858f43e297e0bcfa.png

2832f7c4c5f758fc03e856282c1ba90.png

7f0c826a1e72b78d428d5204df3e692.png

7f0c826a1e72b78d428d5204df3e692.png

使用 go 控制 ebpf (xdp 和 tc),基于 k8s 管理集群

7f0c826a1e72b78d428d5204df3e692.png

对比 dpdk 和 ebpf

7f0c826a1e72b78d428d5204df3e692.png

5c8bec99c8e54ea0c4dd5c54f6bb7c3.png

k8s 没有使用 xdp 的场景

5c8bec99c8e54ea0c4dd5c54f6bb7c3.png

7984cea35bf0e63c7e680ea16ed1181.png

e92769af7615e39e1cec20f2b30719f.png

e92769af7615e39e1cec20f2b30719f.png

端到端基于eBPF 实现 SCTP Multihome LB

0a0405bb2a6f88ad8e2e41019874b65.png

Multihoming技术在网络中是指一个设备或系统通过多个网络连接来实现冗余和负载均衡。它的应用场景和原理如下:

使用场景

  1. 提高可靠性

    • Multihoming能够确保在一个连接失效时,流量可以自动切换到其他可用的连接,从而提高网络的可靠性。例如,企业可以通过多条ISP(互联网服务提供商)线路连接互联网,以防止单一线路故障导致的服务中断。
  2. 负载均衡

    • 通过多个连接,网络流量可以在不同的路径之间分配,从而优化带宽使用和减少延迟。这在数据中心和云计算环境中尤为重要,能够提升用户体验和系统性能。
  3. 灵活性与扩展性

    • Multihoming支持动态添加或移除连接,而不影响整体服务的可用性。这使得企业能够根据需求调整其网络架构,例如在业务增长时增加带宽。
  4. 多ISP连接

    • 企业可以选择多个ISP来确保更好的服务质量和更低的延迟。例如,在电商平台中,使用多条线路可以提高访问速度,减少用户等待时间。

原理

  1. IP地址绑定

    • 在Multihoming中,一个设备可以绑定多个IP地址。每个IP地址可能对应不同的物理接口或网络连接。这种设置允许设备同时通过多个路径进行通信。
  2. 路由协议支持

    • 常见的路由协议如BGP(边界网关协议)支持Multihoming,通过动态路由选择最优路径。BGP能够根据网络条件实时调整路由,从而实现高效的数据传输[1][2]。
  3. 心跳机制

    • 在SCTP(流控制传输协议)等协议中,使用心跳机制定期检查各个IP地址的可达性。如果某个路径不可达,SCTP会自动切换到备用路径,确保数据传输的连续性[3]。
  4. 冗余与故障转移

    • Multihoming技术允许设置冗余连接,一旦主连接发生故障,系统会自动切换到备份连接。这种机制通常结合负载均衡技术使用,以提高整体性能和可靠性。

通过以上原理,Multihoming不仅增强了网络的冗余性,还提升了数据传输的灵活性与效率,是现代网络架构中不可或缺的一部分。

0ae0e086ebe3d550205623cdf40dd85.png

c9a18c1dad3a1dfca16163a1afb8040.png

96064165865254ca2e40bdf4e729712.png

81c10ef1c30a69631a60d13cfc178de.png

d2d0f28790a50e9a817fb95ddf3aeed.png

fb61fb3313e915ab0ba104c95c79f90.png

a1b69c4af0d577981096a5dddf3d167.png

08f8463e12bfb61e45d9663bf4e8f49.png

f8e3c4a5a604c8cf4ccfabbfc9b8007.png

netkit

和 veth-pair 类似,一种新的(虚拟)网络设备

cea251160095447e3f1b8ab898e3859.png

99137247223a75a0821d7438ab19a13.png

ca7b036f049578f42be6e1742b4aded.png

需要使用内核 6.8 以上 或者 回合

70b9cdb286980c4b2b82587f9fda86a.png

d8b586e073a094944622cb4b3ec2ef4.png

e68e55a85d3d1623a1e68fc0a56097d.png

cc6bd2218c36f89d315231dee797703.png

cb15de52628fae7f4c52d839bc39b61.png

2f5d9aad4bc5a404ca68eaebcdb740a.png

bc5aec705a31a351f3ad8532bb55481.png

ce2bbd11126eb0b0131b03c2b098d54.png

b8235eb4f68ce7a5b3e52ab8e03444a.png

1c655f338b0f51112740377961e334e.png

87677cf01dce4a2bf9df9463a935a57.png

cilium net QoS

6126337102d2d2bd5d5b4221e122440.png

d3d7b1cf4b560b0d7ace3de1ed542a3.png

70d94e2804bdff12c8cdb50c9690139.png

f39d76c8137bf06133fc2f8ea956b47.png

466ada243def86b16320bceee8f9abb.png

c7de214cb484aaa377e649de266c1a8.png

c7de214cb484aaa377e649de266c1a8.png

597394f2ebf35ccb993be36c5a8f152.png

ae90dc19f3729fb8090327e67483c1f.png

b6b8afc9fe76180d0e3dd32ef5a1f73.png

4f5c11119c176ed674be374a71339dc.png

a199b8a049e7ed52785454b7f0840e8.png

e97e644d7868d5a1d6506c1dcad32b9.png

e3d4ffca3e451c1f7e70da5a880b5fa.png

Adaptive Routing with eBPF

自适应路由是指根据当前网络状况动态调整路由路径。这可以通过优化数据流和减少延迟来提高网络性能。传统的路由协议可能无法快速响应变化的条件,从而导致效率低下。

eBPF 在自适应路由中的应用

  1. 实时数据处理

    • eBPF 允许对网络流量和系统事件进行实时分析,使得路由器能够根据当前网络状态做出明智的决策。例如,如果某条路径变得拥堵,eBPF 可以帮助动态地将数据包重新路由到较少繁忙的路径。
  2. 事件驱动编程

    • 借助 eBPF 的事件驱动模型,路由决策可以基于网络中的特定触发器或事件做出,例如带宽可用性变化或数据包丢失率。这确保了路由能够快速适应网络性能的波动。
  3. 增强可观察性

    • eBPF 提供了对网络行为的详细洞察,能够在细粒度上监控数据包流和系统调用。通过识别瓶颈或故障,网络管理员可以相应地调整路由策略。
  4. 安全集成

    • 使用 eBPF 的自适应路由还可以集成安全措施,通过过滤恶意流量或根据观察到的行为执行策略,从而同时维护性能和安全性。
  5. 可扩展性

    • 随着网络复杂性的增加,eBPF 的轻量级特性使其能够有效扩展,而不会造成显著的开销,这使其适合现代云原生和微服务架构,在这些架构中,自适应路由至关重要。

总之,“Adaptive Routing with eBPF”利用 eBPF 的能力,通过实时数据和系统洞察来创建更具响应性和高效性的网络环境,从而实现动态路由调整。这种集成增强了复杂网络基础设施中的性能和安全性。

724cc8e9acf2fa70a7c19c69b290247.png

481f5457d56aa71ab86788a473190bc.png

d394376f70788ab1488fafc5ec10372.png

1c1fd7450c84b323c5c8e30735e4fc5.png

ca5e8fddf001d4123882c34af9fa862.png

b5ba0e4ce83affe65844335e3bbc5cf.png

7c11709b4f1a315402bdd9984e6c099.png

613c246ec6bbbfc4f0e4085c248b94e.png

613c246ec6bbbfc4f0e4085c248b94e.png

b42763410c7665b08650970490b7347.png

e995d55799212a5cb0f9218c1bef052.png

0x.tools/

该项目已经有 1.5k star,提供了几个工具,便于提供内核和用户态的进程调用

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

Open Telemetry 持续集成 profiling

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

提升效率和可观察性

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

用于网络以及可观察性的用户态 eBPF 运行时

github.com/eunomia-bpf…

image.png

image.png

用户态跟踪: 更快也更灵活

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

汽车领域(边缘计算):嵌入式平台使用eBPF增强容器安全

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png