Iperf使用教程.docx

上传人:b****5 文档编号:6208282 上传时间:2023-01-04 格式:DOCX 页数:13 大小:273.88KB
下载 相关 举报
Iperf使用教程.docx_第1页
第1页 / 共13页
Iperf使用教程.docx_第2页
第2页 / 共13页
Iperf使用教程.docx_第3页
第3页 / 共13页
Iperf使用教程.docx_第4页
第4页 / 共13页
Iperf使用教程.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Iperf使用教程.docx

《Iperf使用教程.docx》由会员分享,可在线阅读,更多相关《Iperf使用教程.docx(13页珍藏版)》请在冰豆网上搜索。

Iperf使用教程.docx

Iperf使用教程

Iperf使用教程

Iperf是一个TCP/IP和UDP/IP的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。

参数说明

-s以server模式启动,eg:

iperf–s

-chost以client模式启动,host是server端地址,eg:

iperf-c222.35.11.23

通用参数

-f[k|m|K|M]分别表示以Kbits,Mbits,KBytes,MBytes显示报告,默认以Mbits为单位,eg:

iperf-c222.35.11.23-fK

-isec以秒为单位显示报告间隔,eg:

iperf-c222.35.11.23–I2

-l缓冲区大小,默认是8KB,eg:

iperf-c222.35.11.23-l16

-m显示tcp最大mtu值

-o将报告和错误信息输出到文件eg:

iperf-c222.35.11.23-oc:

\iperflog.txt

-p指定服务器端使用的端口或客户端所连接的端口eg:

iperf-s-p9999;iperf-c222.35.11.23-p9999

-u使用udp协议

-w指定TCP窗口大小,默认是8KB

-B绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

-C兼容旧版本(当server端和client端版本不一样时使用)

-M设定TCP数据包的最大mtu值

-N设定TCP不延时

-V传输ipv6数据包

server专用参数

-D以服务方式运行ipserf,eg:

iperf-s–D

-R停止iperf服务,针对-D,eg:

iperf-s–R

client端专用参数

-d同时进行双向传输测试

-n指定传输的字节数,eg:

iperf-c222.35.11.23-n100000

-r单独进行双向传输测试

-t测试时间,默认10秒,eg:

iperf-c222.35.11.23-t5

-F指定需要传输的文件

-T指定ttl值

Iperf使用方法与参数说明

Iperf是一个网络性能测试工具。

可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。

Iperf在linux和windows平台均有二进制版本供自由使用。

IperfwasdevelopedbyNLANRDASTasamodernalternativeformeasuringmaximumTCPandUDPbandwidthperformance.IperfallowsthetuningofvariousparametersandUDPcharacteristics.Iperfreportsbandwidth,delayjitter,datagramloss. 

Iperf的是由NLANRDAST开发作为一个现代的替代测量最大TCP和UDP带宽性能。

iperf的可以调整各种参数和UDP特性。

iperf的报告带宽,时延抖动,数据包丢失。

Iperf使用方法与参数说明

参数说明

-s以server模式启动,eg:

iperf-s

-chost以client模式启动,host是server端地址,eg:

iperf-c222.35.11.23

通用参数

-f[kmKM]分别表示以Kbits,Mbits,KBytes,MBytes显示报告,默认以Mbits为单位,eg:

iperf-c222.35.11.23-fK

-isec以秒为单位显示报告间隔,eg:

iperf-c222.35.11.23-i2

-l缓冲区大小,默认是8KB,eg:

iperf-c222.35.11.23-l16

-m显示tcp最大mtu值

-o将报告和错误信息输出到文件eg:

iperf-c222.35.11.23-ociperflog.txt

-p指定服务器端使用的端口或客户端所连接的端口eg:

iperf-s-p9999;iperf-c222.35.11.23-p9999

-u使用udp协议

-w指定TCP窗口大小,默认是8KB

-B绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

-C兼容旧版本(当server端和client端版本不一样时使用)

-M设定TCP数据包的最大mtu值

-N设定TCP不延时

-V传输ipv6数据包

server专用参数

-D以服务方式运行iperf,eg:

iperf-s-D

-R停止iperf服务,针对-D,eg:

iperf–s-R

client端专用参数

-d同时进行双向传输测试

-n指定传输的字节数,eg:

iperf-c222.35.11.23-n100000

-r单独进行双向传输测试

-t测试时间,默认10秒,eg:

iperf-c222.35.11.23-t5

-F指定需要传输的文件

-T指定ttl值

应用实例

使用iperf-s命令将Iperf启动为server模式,在客户机上使用iperf-c启动client模式。

iperf–s

------------------------------------------------------------

ServerlisteningonTCPport5001

TCPwindowsize:

8.00KByte(default)

------------------------------------------------------------

iperf-c59.128.103.56

上面使用服务端和客户端的默认设置进行测试

iperf–s-w300K

------------------------------------------------------------

ServerlisteningonTCPport5001

TCPwindowsize:

 300KByte

------------------------------------------------------------

iperf-c59.128.103.56-fK-i2-w300K

      设定报告间隔为2秒,服务器端和客户端的TCP窗口都开到300KB

iperf-c59.128.103.56-fK-I2-w300K–n1000000

测试传输约1MB数据

Iperf-c59.128.103.56-fK-I2-w300K–t36

测试持续36秒

iperf-c59.128.103.56-fK-I2-w300K-n10400000–d

测试双向的传输

iperf-c59.128.103.56-fK-I2-w300K–u

UDP测试

其中-i参数的含义是周期性报告的时间间隔(interval),单位为秒;在上面的例子中,表示每隔2秒报告一次带宽等信息。

启动一个iperf服务器进程

  首先要介绍的命令用来启动iperf服务器监听进程以便监听客户端连接的。

命令如下:

  iperf.exe-s-P2-i5-p5999-fk

  这个命令会启动iperf,后续参数用来设定监听5999端口(默认端口是5001),限定iperf只允许两个连接,每5秒汇报一次连接情况。

连接限制参数(-P参数)非常重要,当两个连接建立后,服务器进程就会退出。

如果这个参数设定为0,那么iperf进程将持续监听端口,并且不限制连接数量。

在Windows主机上键入该命令,会显示出如图A所示界面

  图A

  启动一个iperf客户端连接

  iperf的另一半就是客户端,用来连接到服务器监听端口。

比如我们要连接到一台叫做s-network1.amcs.tld的服务器,端口为5999,连接60秒并且每5秒显示一次状态,命令行如下:

  iperf.exe-cs-network1.amcs.tld-P1-i5-p5999-fB-t60-T1

  命令启动后,s-network1主机被用来进行网络性能检测。

与JperfGUI界面提供的漂亮图形不同,iperf只会根据测量参数简单的报告网络带宽状况,在本例中是以比特为单位(-f参数)进行带宽表示的。

图B显示了远程客户端与s-network1主机间的带宽性能。

  图B

  为了应对日常便捷应用的需求,我们可以建立一个.bat批处理文件,届时填入服务器名称即可实现快速检测。

以下为实际使用的拷屏:

C:

\jperf\jperf\bin>iperf

Usage:

iperf[-s|-chost][options]

Try`iperf--help'formoreinformation.

C:

\jperf\jperf\bin>iperf–help

Usage:

iperf[-s|-chost][options]

      iperf[-h|--help][-v|--version]

Client/Server:

 -f,--format   [kmKM]  formattoreport:

Kbits,Mbits,KBytes,Mbytes

 -i,--interval #       secondsbetweenperiodicbandwidthreports

 -l,--len      #[KM]   lengthofbuffertoreadorwrite(default8KB)

 -m,--print_mss         printTCPmaximumsegmentsize(MTU-TCP/IPheader)

 -o,--output   outputthereportorerrormessagetothisspecifiedfile

 -p,--port     #  serverporttolistenon/connectto

 -u,--udp               useUDPratherthanTCP

 -w,--window   #[KM]   TCPwindowsize(socketbuffersize)

 -B,--bind       bindto,aninterfaceormulticastaddress

 -C,--compatibility     forusewitholderversionsdoesnotsentextramsgs

 -M,--mss      #       setTCPmaximumsegmentsize(MTU-40bytes)

 -N,--nodelay           setTCPnodelay,disablingNagle'sAlgorithm

 -V,--IPv6Version       SetthedomaintoIPv6

Serverspecific:

 -s,--server            runinservermode

 -D,--daemon            runtheserverasadaemon

 -R,--remove            removeserviceinwin32

Clientspecific:

 -b,--bandwidth#[KM]   forUDP,bandwidthtosendatinbits/sec

         (default1Mbit/sec,implies-u)

 -c,--client     runinclientmode,connectingto

 -d,--dualtest          Doabidirectionaltestsimultaneously

 -n,--num      #[KM]   numberofbytestotransmit(insteadof-t)

 -r,--tradeoff          Doabidirectionaltestindividually

 -t,--time     #       timeinsecondstotransmitfor(default10secs)

 -F,--fileinput  inputthedatatobetransmittedfromafile

 -I,--stdin             inputthedatatobetransmittedfromstdin

 -L,--listenport#      porttorecievebidirectionaltestsbackon

 -P,--parallel #       numberofparallelclientthreadstorun

 -T,--ttl      #       time-to-live,formulticast(default1)

Miscellaneous:

 -h,--help              printthismessageandquit

 -v,--version           printversioninformationandquit

[KM]IndicatesoptionsthatsupportaKorMsuffixforkilo-ormega-

TheTCPwindowsizeoptioncanbesetbytheenvironmentvariable

TCP_WINDOW_SIZE.Mostotheroptionscanbesetbyanenvironmentvariable

IPERF_,suchasIPERF_BANDWIDTH.

使用测试工具iPerf监控无线网络性能

很多公司都在将自己的无线网络升级到802.11n,以实现更大的吞吐量、更广的覆盖范围和更高的可靠性,然而保证无线LAN(WLAN)的性能对于确保足够的网络容量和覆盖率尤为重要。

下面,我们将探讨如何通过iPerf来测定网络性能,这是一个简单易用测量TCP/UDP的吞吐量、损耗和延迟的工具。

   应用前的准备

   iPerf是专门用于简化TCP性能优化的工具,使用它可以很容易地测量吞吐量和带宽的最大值。

当与UDP一起使用时,iPerf还可以测量数据丢失和延迟(抖动)。

iPerf可以在任何IP网络上运行,包括本地以太网,因特网接入连接和Wi-Fi网络。

   使用iPerf之前,必须安装两个组件:

iPerf服务器(用于监听到达的测试请求)和iPerf客户端(用于发起测试会话)。

iPerf可通过开放源代码或可执行二进制方式获取,它支持许多操作系统平台,包括Win32、Linux、FreeBSD、MacOSX、OpenBSD和Solaris。

你可以在NLANR上下载iPerf的Win32安装程序,而JavaGUI版本(JPerf)则可以从SourceForge下载。

   为了测量Wi-Fi性能,你可能需要在所测试的接入点(AP)的以太网主机上游位置上安装iPerf——这个也就是你的测试服务器。

接着,在一个或更多的Wi-Fi笔记本上安装iPerf——这些将是你的测试客户端。

这个就是典型的Wi-Fi客户端与有线服务器之间的应用网络。

如果你的目的是测量AP性能,那么可以把iPerf服务器与AP放置在相同LAN上,并通过高速或超高速以太网连接。

如果你的目的是清除瓶颈问题,那么可以将iPerf服务器要与实际的应用服务器放置在相同位置,这样就会有一个可比较的网络通道。

   另外,iPerf服务器和客户端可以同时安装在Wi-Fi笔记本上的。

当你要在无线客户端上支持视频或语音通信,那么这对于测量客户端到客户端性能是有帮助的。

同样,要确保iPerf流量能够穿越你要测试的整个网络通道。

比如,如果你要在相邻位置的Wi-Fi客户端上测量性能的最佳值,你必须把你的iPerf客户端和服务器接入到相同的AP上。

如果你想要观察穿越上流交换机或WAN的路由是如何影响网络性能的,那么可以把你的iPerf服务器接入到一个中央AP上,并且将iPerf客户端与在不同的地点的AP连接。

使用测试工具iPerf监控无线网络性能:

运行iPerf

   运行iPerf

   在默认的情况下,iPerf客户端与指定的监听5001端口的iPerf服务器建立一个TCP会话。

比如,在命令提示符上执行命令:

iperf–s,打开iPerf服务器;然后打开另一个窗口来启动你的iPerf客户端:

   上面命令是你可以用来测量通过某个计算机回环地址(127.0.0.1)吞吐量。

如果执行失败,那么这就表示你没有正确的安装iPerf。

默认的情况下,iPerf运行一个10秒钟的测试,测量所传输的字节总数(如270兆字节)和相应的带宽使用估计(如226兆比特每秒)。

测试长度可以通过指定时间参数(-tseconds)或缓冲参数(-nbuffers)控制。

而且,你还可以在指定时间间隔(-iseconds)中看到测试的结果。

   如果要长时间地运行多个的测试,你应该更愿意将iPerf服务器作为后台程序运行,并将服务器输出写入一个日志文件中。

在Win32平台上,它可以通过把iPerf作为服务(iPerf--s--D--ologfile.txt)安装来实现。

如果你测试的流量将要通过网络防火墙,那么要确保打开端口5001或指定iPerf使用已经开放的端口(如,iPerf--c--p80)。

如果你的iPerf服务器处于NAT防火墙之后,那么你可能需要配置一个端口转发规则来进行连接(这种情况在服务器到客户端流量的双向测试中也一样适用)。

最后,要禁用你的iPerf客户端和服务器上的任何个人防火墙。

当客户端能够到达服务器时,你就可以开始测量网络性能了。

测量TCP吞吐量

   为了确定最大TCP吞吐量,iPerf尝试从客户端尽可能快地向服务器上发送数据。

默认时数据是以8KB大小缓冲发送的,这也是通过操作系统的默认的TCP窗口大小值。

为了模拟特定TCP应用,你可以指定你的iPerf客户端从一个特定的文件(-F文件名)或交互式输入(-I)来发送数据。

比如:

   如果你没有指定发送方式,iPerf客户端只会使用一个单一的线程。

而你可以修改为使用多个并行线程(-P数目)来发送数据。

在测试Wi-Fi时,在同一台笔记本上的多线程可能会略微增加整体的吞吐量。

nasinglelaptoparestillsharingtimeononeWi-Fiadapter.

   但是,有时你将需要使用多台拥有各自Wi-Fi适配器的笔记本来模拟几个不同位置用户体验的性能。

这是因为在同一个笔记本上运行的多线程仍然共享同一个Wi-Fi适配器上的占用时间。

   另外一方面,如果你的笔记本上拥有多个激活的适配器,你可以使用IP地址(-BIPAddress)将iPerf客户端绑定到一个适配器上。

这个对于同时连接到Ethernet和Wi-Fi(3G、Wi-Fi)的多连接笔记本来说是相当重要的。

   iPerf原先是开发用来辅助TCP参数优化的,但在此我们不想深入研究TCP窗户尺度和最大段长度,因为这不是我们目前讨论的重点。

然而,在测试高吞吐量AP时,你可能发现有必要对TCP参数进行调优,以便在每个iPerf客户端上获得更大吞吐量——详细请阅读DrTCP。

使用测试工具iPerf监控无线网络性能:

测量UDP丢包和延迟

   iPerf同样也可以用于测量UDP数据包吞吐量、丢包和延迟指标。

与TCP测试不同的是,UDP测试不采取尽可能快地发送流量的方式。

与之相对的是,iPerf尝试发送1Mbps的流量,这个流量是打包在1470字节的UDP数据包中(成为以太网的一帧)。

我们可以通过指定一个目标带宽参数来增加数据量,单位可以是Kbps或Mbps(-b#K或--b#M)。

举例如下:

   然而,上面的例子只说明了iPerf客户端能够以多快的速度传输数据。

为了得到更多关于UDP发送的数据,我们必须查看服务器上的结果:

   这样,我们就可以看到吞吐量(间隔1秒测量的),以及丢包数(丢失的数据屯接收到的数据对比)和延迟(如jitter——在连续传输中的平滑平均值差)。

延迟和丢失可以通过应用的改变而被兼容。

比如,视频流媒体通过缓冲输入而能够容忍更多的延迟,而语音通讯则随着延迟增长性能下降明显。

   UDP测试可以通过改变报文缓冲长度进行优化,长度单位为Kbytes或Mbytes(-l#Kor#M)。

与以太网帧的1500比特的MTU(最大转换单位)不同的是,802.11数据帧可以达到2304比特(在加密之前)。

   但是,如果你正在测试的路径中包括Ethernet和802.11,那么要控制你的测试数据包长度,使它在一个Ethernet帧以内,以避免分片。

   另一个有趣的iPerfUDP测试选项是服务类型(TypeofService,ToS),它的大小范围从0x10(最小延迟)到0x2(最少费用)。

在使用802.11e来控制服务质量的WLAN中,ToS是映射在Wi-Fi多媒体(WMM)存取范畴的。

   对比两种方式

   在802.11a/b/g网络中,无线电的传输性能变化在在两个方向上都很相似。

比如,当距离导致数据传输率下降或干扰造成重要数据包丢失时,发送和接收的应用吞吐量都受到影响。

   在802.11n网络中,MIMO天线和多维空间流使问题又有所不同。

从笔记本发送到AP上的数据帧可能(有意地)使用一个完全与从AP发送到笔记本上帧时不同的空间路径。

这样的结果是,现在对两个方向的测试都很重要的。

幸运的是,iPerf本身就已经拥有这个功能,这是由两个选项所控制的:

    --d选项是用于告诉iPerf服务器马上连接回iPerf客户端的由--L所指定端口,以支持同时测试两个方向的传输。

    --r选项虽

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1