iperf 2.1.9双向测试:无法区分服务器-客户端数据流
区分iperf 2.1.9双向测试的通信流(Server-Client/Client-Server)
核心判断逻辑(基于iperf 2.x双向测试机制)
iperf 2.x使用-d参数的双向测试会建立两条独立数据流:
- Client→Server 主数据流:客户端主动发起连接到服务器默认5001端口,由客户端发送数据、服务器接收
- Server→Client 反向数据流:服务器主动发起连接到客户端5001端口,由服务器发送数据、客户端接收
服务器日志解析
从端口特征和关键字直接区分:
[ 2] local 10.233.143.159 port 5001 connected with 10.233.143.141 port 59914 Client connecting to 10.233.143.141, UDP port 5001 Sending 1470 byte datagrams... [ *1] local 10.233.143.159 port 40499 connected with 10.233.143.141 port 5001 (reverse)
- Client→Server 流:第一条
[ 2]记录,本地端口为服务器默认服务端口5001,对端是客户端随机端口(59914)——对应服务器接收客户端发送的数据 - Server→Client 流:带
(reverse)标记的[ *1]记录,本地是服务器随机端口(40499),对端是客户端5001端口——对应服务器主动向客户端发送数据的反向流
客户端日志解析
[ 1] local 10.233.143.141 port 65245 connected with 10.233.143.159 port 5001 [ 2] local 10.233.143.141 port 5001 connected with 10.233.143.159 port 34470
- Client→Server 流:
[ 1]记录,本地是客户端随机端口(65245),对端是服务器5001端口——对应客户端主动向服务器发送数据 - Server→Client 流:
[ 2]记录,本地是客户端5001端口,对端是服务器随机端口(34470)——对应客户端接收服务器发送的数据
关于-r参数的"connection reset by peer"问题
iperf 2.x中-r是单向反向测试(先测Client→Server,再测Server→Client),该错误的常见诱因:
- 服务器未正常启动
iperf -s,或服务器侧防火墙拦截了5001端口 - 客户端与服务器的iperf版本不兼容(需确保两端均为2.1.9版本)
- 客户端侧防火墙拦截了5001端口(服务器发起反向连接需访问客户端5001端口)
内容的提问来源于stack exchange,提问作者swaroop kammath
相关产品推荐
相关产品推荐

