使用 iperf 在同一客户端上的 2 个 NIC 之间拆分多个 tcp 流(类似于 IxChariot)

网络工程 以太网 tcp 吞吐量 iperf
2022-02-18 20:27:23

我有 2 台 PC 使用两条 1 Gbps 以太网链路相互连接,总数据带宽为 2 Gbps。在 IxChariot 中,我可以创建多个 TCP 对并将它们拆分为:

PC1_LAN1 <-> PC2_LAN1 (5 TCP pairs)
PC1_LAN2 <-> PC2_LAN2 (5 TCP pairs)

IxChariot 将这些聚合为 10 个 TCP 对并运行 2 Gbps 吞吐量测试。

我正在尝试使用 iPerf 做类似的事情。

在 iPerf 中,我可以在单个客户端上运行 2 个并行 iPerf 实例,第一个实例持有 PC2_LAN1 的 IP,第二个实例持有 PC2_LAN2 的 IP。这试图利用服务器端的 2 个以太网链接。但是我该怎么做,

第一个 iperf 实例在 PC1_LAN1 <-> PC2_LAN1(5 个 TCP 对)上发送数据包

> iperf -c PC2_LAN1 -P 5

, 和做

第二个 iperf 实例在 PC1_LAN2 <-> PC2_LAN2(5 个 TCP 对)上发送数据包。

> iperf -c PC2_LAN2 -P 5
1个回答

这很简单,我们需要做的就是将 IP 地址和/或端口“绑定”到客户端。例如,

iperf -c PC2_LAN1 -P 5 -B PC1_LAN1

iperf -c PC2_LAN2 -P 5 -B PC1_LAN2

在客户端 PC 和服务器 PC 上的两个不同 LAN 连接上拆分数据。这对于数据速率 > 1 Gbps 的 WiFi 测试非常有用。