例如笔者所在网络是通过网通服务提供商接入的,所以直接到网通服务器上下载相应的文件,为了保证测量的准确性,我们一般选择单个大容量文件下载测试,通过观察其下载平均值了解当前网络带宽情况。(如图1)
文件下载法是最简单的不借助任何工具即可完成的网络传输速度测量方法,不过这个方法也存在着比较大的误差,我们的测量结果也会随着选择服务器的网络状况变化而改变,特别是当选择了电信服务器时下载速度将没有任何说服力。而且服务器选择也比较麻烦,不能被限制速度也不能够被限制会话连接数。
小结——下载法测量网络传输速度只能够简单测量,得出的数值仅仅是参考,没有任何说服力,在速度结果方面也存在着很大的不确定性。
小提示:
如果找不到这样的FTP服务器的话,我们也可以下载一个热门的BT文件,往往也可以通过BT下载峰值而了解自己的网络最大带宽。
二,网站自动测量带宽速度法:
当然很多网站也会为各位用户提供带宽速度测量服务,例如笔者经常去的http://www.linkwan.com就是他们中的佼佼者。
第一步:在本机操作测量时先关闭所有占用带宽的软件,停止所有下载任务。
第二步:打开IE浏览器访问http://www.linkwan.com这个地址。
第三步:在首页右面区域我们会看到让我们选择的区域范围,由于笔者是在北京所以直接选择针对北京服务器进行测量即可。
第四步:之后会进一步选择测量目标是在北京的哪台服务器。
第五步:选择完毕后站点会自动测试本机到网站的传输速度,经过下载测试与上传测试两个步骤完成测量工作,之后我们会看到测量结果。(如图2)
网站自动测量带宽速度法的准确性还是有保证的,不过他也存在一个缺点,那就是通过他只能够测试到达外网的传输速度,对于内网来说不能够通过此方法测试两个结点之间的传输带宽。这时就要靠本文的主角IPERF来实现了。
三,IPERF出手轻轻松松测量内网带宽:
Iperf是一个TCP/IP和UDP/IP的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。我们可以通过访问http://www.noc.ucf.edu/tools/iperf/获得此工具,直接选择windows版本的iperf.exe下载即可。(如图3)
用iperf.exe来测量网络两个结点的网络带宽非常简单,不过需要我们针对服务端与客户端进行设置。
第一步:例如我们要测试内网结点A与B两台计算机之间的传输带宽,那么我们需要复制iperf.exe到这两台计算机硬盘中。
第二步:随意选择结点A作为服务端,而B作为客户端,在A上进入命令提示窗口运行iperf -s命令,这样iperf将以服务端方式启动,并且通过TCP的5001端口监听数据。(如图4)
第三步:接下来我们返回到B结点进入命令提示窗口,然后运行iperf -c 192.168.0.199 -t 60,这个命令是将B结点以客户端的方式运行,并且连接IP地址为192.168.0.199的服务端,监视测量数据时间是60秒。(如图5)
第四步:运行完毕客户端将自动开启1903端口连接服务端的5001端口,通过发送与接收数据包来实现测量带宽的目的。
第五步:与此同时我们在服务端上也可以看到有客户端连接5001端口的提示,这表明两个结点已经建立了相应的连接,数据通讯正常。(如图6)
第六步:由于我们之前是设置了测量时间间隔为60秒,所以在60秒过后客户端结点上就会显示出测量的具体数据,从A到B发送接收数据的速度为177Mbits/sec,由于以太网数据传输是双向双工的,所以百M网线理想状态传输速度应该是200Mbits/sec。(如图7)
通过简单的设置和简单的指令我们轻松实现了针对内网两个结点之间带宽传输速度的测量,当然iperf程序还支持很多参数,具体设置我们可以参考其帮助信息,比较常用的有-l 缓冲区大小,-m 显示tcp最大mtu值,-p 指定服务器端使用的端口或客户端所连接的端口,-u 使用udp协议,-w 指定TCP窗口大小,默认是8KB,-M 设定TCP数据包的最大mtu值等。另外在客户端上可以通过-n 指定传输的字节数,-r 单独进行双向传输测试,在服务端则可以通过-D参数以服务方式运行ipserf,以-R来停止iperf服务。
四,总结:
虽然IPERF现在有java的图形化界面,但是对于这个命令行小工具来说使用还是非常方便的,结果也很直观,现在他已经成为笔者判断网络是否拥堵,链路状态是否正常的好帮手。在实际使用和维护网络过程中屡建奇功。