当前位置: 首页 > 工具软件 > Iperf > 使用案例 >

Iperf软件介绍及命令详解

弘思聪
2023-12-01

Iperf软件介绍及命令详解

本文主要介绍Iperf软件的介绍及命令详解,列举了几个常用的命令


在文章末尾提供了永久的下载方式。


一、Iperf介绍

是一款网络性能测试工具,在网络中单向传输数据流,根据需要调整传输速率和数据流大小,也可以根据需要报告带宽、延迟抖动和数据包丢失。

二、Iperf命令介绍

选项全写描述
–:–:客户端与服务器共用选项
-f-format [kmKM]format to report :kbits,Mbits,KBytes,MBytes
报告格式有:k,m,K,M
单位换算:
8 bit=1 Byte
1024 Byte=1 KB
1024 KB=1 MB
1024 MB=1 GB
-i–interval #seconds between periodic bandwidth reports
定期带宽报告之间的秒数
设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零。
-I–len #[KM]length of buffer to read or write(default 8 KB)
读取或写入缓冲区的长度(默认8KB)
设置读写缓冲区的长度。TCP方式默认为8KB,UDP方式默认为1470B(字节)
- m– print_mssPrint TCP maximum segment size (MTU–TCP/IP header)
打印TCP最大段大小(MTU–TCP / IP标头)
输出TCP MSS值(通过TCP_MAXSEG支持)。MSS值一般比MTU值小40字节。通常情况
-o- output Output the report or error message to this specified file
将报告或错误消息输出到此指定文件
-p- port #server port to listen on/connect to
侦听/连接到的服务器端口
设置端口,与服务器端的监听端口一致。默认是5001端口,与tcp的一样。
-u- udpuse UDP rather than TCP
使用UDP而不是TCP
-w- window #[KMG]set window size / socket buffer size
设置窗口大小/套接字缓冲区大小
设置套接字缓冲区为指定大小。对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接UDP数据包的缓冲区大小,限制可以接受数据包的最大值
-B- bind bind to a specific interface
绑定到特定接口
绑定到主机的多个地址中的一个。对于客户端来说,这个参数设置了出栈接口。对于服务器端来说,这个参数设置入栈接口。这个参数只用于具有多网络接口的主机。在Iperf的UDP模式下,此参数用于绑定和加入一个多播组。使用范围在224.0.0.0至239.255.255.255的多播地址。
-C- compatibility 兼容性For use with older versions does not sent extra messages
与旧版本一起使用不会发送额外的消息
与低版本的Iperf使用时,可以使用兼容模式。不需要两端同时使用兼容模式,但是强烈推荐两端同时使用兼容模式。某些情况下,使用某些数据流可以引起1.7版本的服务器端崩溃或引起非预期的连接尝试。
-M- set-mss #set TCP/SCTP maximum segment size (MTU - 40 bytes)
设置TCP / SCTP最大段大小(MTU-40字节)
通过TCP_MAXSEG选项尝试设置TCP最大信息段的值。MSS值的大小通常是TCP/ip头减去40字节。在以太网中,MSS值 为1460字节(MTU1500字节)。许多操作系统不支持此选项。
-N- no-delayset TCP/SCTP no delay, disabling Nagle’s Algorithm
设置TCP / SCTP无延迟,禁用Nagle算法
设置TCP无延迟选项,禁用Nagle’s运算法则。通常情况此选项对于交互程序,例如telnet,是禁用的。
-V- IPv6 VersionSet the domain to IPv6
将域设置为IPv6
--Server specific特用于服务器
-s- serverrun in server mode
在服务器模式下运行
-U- single_udpRun in single threaded UDP mode
在单线程UDP模式下运行
-D- daemonrun the server as a daemon
运行服务器作为后台进程
--Client specific特用于客户端
-b–bandwidth #[KM]target bandwidth in bits/sec (0 for unlimited)
目标带宽(以位/秒为单位)(0表示无限制)
UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。
-c- client run in client mode, connecting to
在客户端模式下运行,连接到
如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式。
-d- dualtestDo a bidirectional test simultaneously
同时进行双向测试
运行双测试模式。这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数。
-n- bytes #[KMG]number of bytes to transmit (instead of -t)
要传输的字节数(而不是-t)
传送的缓冲器数量。通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。参考-l与-t选项。
-r- tradeoff往复测试模式Do a bidirectional test individually
分别进行双向测试
当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。
-t- time #time in seconds to transmit for (default 10 secs)
传输时间(以秒为单位)(默认为10秒)
设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。参考-l与-n选项。
-F- fileinputInput the date to be transmitted from a file
输入要从文件发送的日期
-I- stdinInput the date to be transmitted from stdin
输入要从标准输入发送的日期
-L- listenport #Port to receive bidirectional tests back on
重新接收双向测试的端口
指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口。
-P- parallel #number of parallel client streams to run
要运行的并行客户端流的数量
服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接。客户端专用选项
-T- tt1 #time-to-live,for multicast(default 1)
生存时间,用于多播(默认1)
出栈多播数据包的TTL值。这本质上就是数据通过路由器的跳数。默认是1,链接本地
-Z- linux-congestionSet TCP congestion control algorithm(linux only)
设置TCP拥塞控制算法(仅Linux)
--Miscellaneous杂项
-x- reportexclude(CDMSV)Exclude C(connection)D(date)M(multicast)S(settings)V(server)reports
排除C(连接)D(日期)M(多播)S(设置)V(服务器)报告
-y- reportstyle CReport as a Comma-Separated Values
报告为逗号分隔的值
-h- helpShow help message and quit
显示帮助消息并退出
-v-versionshow version information and quit
显示版本信息并退出

三、 Iperf动调时使用的命令

使用udp协议,非面向对象连接传输协议,因此udp协议的关注点不是数据传输有多快,而是它的丢包率和延时指标。要了解更详细的UDP丢包和延时信息,可以在iperf服务端查看,因为在客户端执行传输测试的同时,服务端也会同时显示传输状态,最好查看服务器端的传输状态。

客户端:

iperf.exe -c 192.168.1.100 -u -i1 -p10000 -b500k -t100

-:c运行Iperf的客户端模式,连接到指定的Iperf服务器端,服务器端的IP为1192.168.1.100
-u指定udp协议
-i设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零
-p设置端口,与服务器端的监听端口一致。默认是5001端口,与tcp的一样
-bUDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec
-t设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒

服务器

iperf.exe -s -u -p8000 >D.txt

-sIperf服务器模式
-u使用UDP方式而不是TCP方式
-P服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接
>D.txt保存文件名为D.txt,位置在iperf根目录下

四、iperf下载

链接:https://pan.baidu.com/s/1g6mmhFmnw15zBF0FcNIp1A
提取码:757h

下一章介绍iperf3软件介绍,3.0版本是iperf的升级,内部命令也有一些更新。

 类似资料: