用 Go 和 AF_XDP 打造 100 Gbps 数据包生成器

Wireblast a 100 Gbps packet generator in Go using AF_XDP

用 Go 和 AF_XDP 打造 100 Gbps 数据包生成器

如果你关注我的博客,就知道我热衷于在软件层面让数据包跑得更快。今天,我发布了一款名为 Wireblast 的新工具,它完全用 Go 语言编写,并借助 AF_XDP 技术实现了线速(Line-rate)的数据包生成能力,能够轻松达到 100 Gbps 的吞吐量。这篇文章将带你深入了解如何突破 Go 语言在网络性能上的传统限制,从基础的 net.Dial 到系统调用,再到 AF_PACKET 和闪电般快速的 AF_XDP,探索高性能网络编程的极限。

如果你关注我的博客有一段时间了,你会知道我对在软件中让数据包跑得飞快有着特殊的偏爱。
  1. mjevans

    https://toonk.io/wireblast-building-a-line-rate-packet-gener...

  2. spaceywilly

    这很有趣,感谢分享。看起来它可能成为测试高性能网络非常有用的工具。

    我在想是否可以用 TC BPF 来实现类似的功能,而不是 AF_XDP?我对 AF_XDP 唯一的顾虑是它需要特殊的网卡支持,因此对“普通用户”来说可能用处不大。我在想 TC BPF 是否也能行,因为它同样绕过了内核网络栈,我相信你可以直接将数据包放入网卡的 TX 队列进行发送。

  3. bgpdude

    视频演示也很棒

    https://www.youtube.com/watch?v=8EmxvaOR5uA

同日更多故事

2026-08-08