iperf3 在底层使用什么算法来测量网络基础设施中端到端点之间的带宽和延迟?

What algorithm iperf3 use under the hood to measure the bandwidth and latency between end to end points in a network infrastructure?

我正在尝试学习一个 iperf 工具,这是一个方便的工具,可以测量网络上两个端点的带宽和延迟。

我想知道 iperf/iperf3 在后台使用哪种算法来测量延迟和带宽。我浏览了 iperf 的文档,但找不到相关信息。

有人知道吗?

iperf3 和类似的带宽测试工具的工作方式几乎相同;他们将一定数量的数据从一台主机发送到另一台主机,并测量发送该数据所花费的时间。将发送的数据量除以所花费的时间,然后(通过适当的单位转换)即为带宽。这些测量也可以在接收端针对相似(但可能不同)的数字进行。有时,端点可以调整自己的速度,人为地限制数据发送的速度。

这些工具可能在协调测试开始和结束的方式、测试参数的传达方式或步调的执行方式方面有所不同。但是基本测试 运行 是一样的。

如果您真的想详细了解特定工具的功能,您可能需要实际阅读并理解源代码。