经常听到有企业员工抱怨网络速度如何如何缓慢,也经常怀疑花费高昂金额租用来的网络链路是否真的物有所值而没有被电信部门缩水,还有时发现内网链路总是存在着这样或那样不稳定数据传输忽快忽慢的情况。这些问题都是困扰各位网络管理员的实际问题,今天笔者就从自己经验入手为各位讲解如何通过iperf让内网传输速度心知肚明。  
一,网络带宽测量工具简介:    
一般来说市面上常用的网络带宽及网络吞吐量测量工具主要有以下几种,包括iperf,netperf,chariot等专业的工具。通过他们我们可以实现测量有线网络两个结点或者无线网络任意两个结点之间的传输速度,测量的参数包括数据流方向,吞吐量以及稳定程度等。    
当然经常关注我们IT168网络频道的读者都应该对chariot工具比较了解,毕竟我们之前已经有多篇文章介绍他的使用和测量技巧了。但是 chariot在实际测量过程中操作过于复杂,很多功能对于我们这些普通用户来说都不太实际,所以在本文中笔者将为各位IT168读者介绍iperf这个工具,在操作上他比chariot更加简单更好上手,适合于初学者以及对网络带宽要求不高环境下的测量。    
d-itg 也是一个可以进行网络带宽测试的软件,也可以用专有的设备进行打流量。    
我们可以用那个打流量的软件,把这个链路给打拥塞后,我们可以做qos来保证我们想要的业务不丢包,    
“网速怎么这么慢啊?”恐怕这是网管最常听到的一句话。面对用户的投诉,如果是掉线或连接失败,我们可以通过简单的排查来解决。但对于可以连通而速度缓慢的问题则不易解决,因为这类问题的产生大多和我们享用的网络带宽或网络设备有关,这就涉及到我们对网络服务商、网络设备的选择了。那么,我们如何才能清楚明白地了解带宽的大小、设备的吞吐能力,以免被JS提供的数据误导呢?    
我们需要利用专业的工具测量网络带宽以及数据的吞吐量。通过专业评测工具CHARIOT测量网络中的任意两台计算机之间的连通带宽,该软件还可以将测量结果以图形的形式表现出来,方便我们进行比较、浏览和及时了解网络带宽。    
走近强大的CHARIOT    
运行平台:Windows 2000/XP/2003    
硬件要求:CPU为PⅢ以上,内存在128MB以上    
软件优点:通过简单的配置就可以图形化地显示两台计算机之间的网络连接速度。    
这是一款目前世界上唯一被广泛认可的应用层IP网络及网络设备的测试软件,它可提供端到端、多操作系统、多协议测试、多应用模拟测试,应用范围包括有线网、无线网、广域网及各种网络设备。可以进行网络故障定位、用户投诉分析、系统评估、网络优化等,能从用户角度测试网络或网络参数(吞吐量、反应时间、延时、抖动、丢包等)。    
CHARIOT和一般的网管系统以及一些在线监测系统有本质上的不同。网管系统及在线监测系统采取被动式监视,而CHARIOT采用主动式监视及测量;网管系统及在线监测系统提供定性的测量,而CHARIOT采取定量的测量。    
CHARIOT产生并模拟真实的流量,采用End to End的方法测试网络设备或网络系统在真实环境中的性能。能够广泛应用在交换机、路由器建立的有线网络以及无线网络,甚至是VOIP等高新技术中,测量这些网络各个方面的功能和性能。    
这款软件的基本组成包括CHARIOT控制台和Endpoint。CHARIOT控制台主要负责监视和统计工作,Endpoint负责流量测试工作,实际操作时Endpoint执行CHARIOT控制台发布的脚本命令,从而完成需要的测试(具体的工作流程图见图1)。    

图1

下载地址:http://hack.bji.cn/chariot.rar    
小试牛刀测带宽    
你想知道自己所使用的网络的带宽吗?你想了解你的网络带宽有多大的损耗吗?今天,我们通过几个实例让大家用好CHARIOT,测出自己想知道的。只有经过测量得出的网络带宽才是我们平日所享用的实际带宽,千万不能盲目相信网络服务提供商所承诺的带宽,也不能轻易赞同JS对网络产品的夸夸其谈。    
实例1:测量网络中任意两个节点间的带宽    
任务描述:局域网中经常有人反映网络速度缓慢,那么怎样确定网络中两台计算机的连接速度呢?使用SNIFFER只能抓包不能给出实际带宽,这时候就需要 CHARIOT来帮忙了。假设我们要测量网络中A计算机10.91.30.45与B计算机10.91.30.42之间的实际带宽。    
针对问题:局域网中的用户经常感到互访速度缓慢,此时我们可使用CHARIOT来查看网络连接情况。    
第一步:首先在A、B计算机上运行CHARIOT的客户端软件Endpoint。运行endpoint.exe后,任务管理器中多了一个名为endpoint的进程。    
第二步:被测量的机器已经准备好了,这时需要运行控制端CHARIOT,我们可以选择网络中的其他计算机,也可以在A或B计算机上直接运行CHARIOT(图2)。


图2

第三步:在主界面中点击“New”按钮,接着点击“ADD PAIR”。    
第四步:在“Add an Endpoint Pair”窗口中输入Pair名称,然后在Endpoint1处输入A计算机的IP地址10.91.30.45,在Endpoint2处输入B计算机的 IP地址10.91.30.42。按“select script”按钮并选择一个脚本,由于我们是在测量带宽,所以可选择软件内置的Throughput.scr脚本(图3)。


图3

提示:CHARIOT可以测量包括TCP、UDP、SPX在内的多种网络传输层协议,我们在测量带宽时选择默认的TCP即可。    
第五步:点击主菜单中的“RUN”启动测量工作。    
第六步:软件会测试100个数据包从A计算机发送到B计算机的情况。由于软件默认的传输数据包很小所以测量工作很快就结束了。在结果中点击“THROUGHPUT”可以查看具体测量的带宽大小。图4显示了A与B计算机之间的实际最大带宽为83.6Mbps。


图4 由于交换机和网线的损耗,往往真实带宽达不到100Mbps,所以本例中得到的83.6Mbps基本可以说明A、B计算机之间的最大带宽为100Mbps,去除损耗可以达到80多Mbps的传输速率。    
实例2:礼尚往来,一次性测量两个方向    
任务描述:实例1中为大家介绍了单向测量的方法,也就是只检测A到B的带宽。然而,实际工作中,网络是单工或双工工作也是影响网络速度的主要因素,因此用CHARIOT进行测量时应该尽量建立双向PAIR而不是单向的,测量结果会显示出A到B的速度以及B到A的速度。    
针对问题:A到B的传输速度很快,但B到A的速度却很慢,特别是在A、B同时从对方计算机复制文件到本机时最为明显。    
第一步:首先在A、B计算机上运行CHARIOT的客户端软件Endpoint。    
第二步:被测量的机器已经准备就绪,这时需要运行控制端CHARIOT,在A或B计算机上直接运行CHARIOT。    
提示:为保证测量成功,需要在A计算机和B计算机上关闭防火墙。    
第三步:在主界面中点击“New”按钮,接着点击“ADD PAIR”。    
第四步:在“Add an Endpoint Pair”窗口中输入Pair名称,然后在Endpoint1处输入A计算机的IP地址10.91.30.45,在Endpoint2处输入B计算机的 IP地址10.91.30.42。按“select script”按钮并选择一个脚本,由于是测量带宽所以选择软件内置的Throughput.scr脚本。    
第五步:现在,我们建立了从A到 B的单向测量。由于要求测量网络双向吞吐量,所以还要添加一个从B到A的单向测量,这样结果显示的就是双向数据了。方法与第四步相同,在 Endpoint1处输入B计算机的IP地址10.91.30.42,在Endpoint2处输入A计算机的IP地址10.91.30.45,同样选择 Throughput.scr脚本。    

图5

第六步:现在,两对PAIR已经建立起来了(图5),点击主菜单中的“RUN”启动测量工作。    

第七步:软件会将100个数据包从A计算机发送到B计算机,还会测量100个数据包从B发送到A的情况。在结果页面中点击 “THROUGHPUT”标签可以查看具体测量的带宽大小。如图6所示在下方图表中,绿色曲线表示带宽检测2的数值,而红色曲线代表的是带宽检测1的数值,从这个图中我们可以看出A到B的带宽比B到A的带宽要大。在上方的速度中也可以看出A到B的平均带宽为72Mbps,而B到A的带宽只有 42Mbps。


图 6

这说明什么呢?通过CHARIOT测量A、B之间的双向带宽可以得出以下结论:A到B的带宽是100Mbps(去除损耗真实带宽为 72Mbps),而B到A的带宽只有50Mbps。此时,我们应该检查网络连接设备,特别是网线,很可能是网线制作上出现了问题才造成B到A的速度不是 100Mbps而是50Mbps。    
小知识:什么是单工?什么是双工?    
我们一般使用的网络设备都是双工的,也就是说可以在同一时间完成A到B的传输以及B到A的传输。单工则是同一时间只能有一个方向的传输,要么是A到B,要么是B到A。因此网络处在单工状态还是双工状态,在速度上差别很大。    
实例3:科学测量减小误差    
任务描述:对于网络情况不稳定、经常出现速度波动的情况来说,在某一时刻测量速度存在一定的不确定因素,如何将误差降低到最小呢?我们可以采用科学测量法来解决这个问题,即采用平均值的方法。将所有测量值汇总在一起可以得到更接近真实数值的结果。    
针对问题:网络传输速度非常不稳定,经常一会儿十几MB/s,一会儿只有几MB/s。    
第一步:按照上面提到的方法安装CHARIOT并将客户端程序Endpoint安装在A与B计算机上。启动CHARIOT,点击“New”按钮。    
第二步:点击“ADD PAIR”按钮建立一个新的Endpoint Pair。输入PAIR名称,然后在Endpoint1处输入A计算机的IP地址10.91.30.45,在Endpoint2处输入B计算机的IP地址 10.91.30.42。按“select script”按钮选择Throughput.scr脚本。    
第三步:在Pair 1上点鼠标右键选择Copy将该测量项复制(图7),然后连续向下粘贴9个这样的测量项(图8)。


图7    

图8

第四步:点击“RUN”启动测量工作,我们在THROUGHPUT标签页中可以看出基本上每项带宽测量数值在10Mbps左右,在总和处我们可以看到最终结果是94Mbps,基本接近100Mbps的真实值。    
在现实中网络的连接速度往往存在着不稳定的因素,例如某一时间可能因为广播数据包或其他原因造成带宽异常,而另一时间速度恢复正常。对于这种带宽不稳定的情况我们就可以通过多项测量来保证在一定程度上减少误差,使我们的测量结果更加有效、更加准确。    
实例4:大包测量法    
任务描述:虽然我们可以通过科学测量法减小误差,但由于默认数据包仅为 100KB,所以总的数据检测量相对较小。对于带宽比较大的情况,例如100Mbps以上的网络或ISP提供的传输速度较快的时候,使用100KB数据包进行测量得出的结果不太准确。这时就需要通过修改默认数据包的大小以求测量结果更精确。    
针对问题:网络带宽比较大或使用CHARIOT默认设置进行测量时误差过大。    
在这个实例中,大多数步骤和上面所介绍的实例基本一致,因此此处只介绍修改数据包的方法。在我们建立测量PAIR并选择好Throughput.scr 脚本后,点击“edit this script”按钮。在弹出的窗口下方file_size处(图9),将该值修改为你希望的数值即可。这样在测量带宽时就会用你设置好大小的数据包进行传输了。根据实际环境设置数据包大小可以让我们的结果更准确。
图9

其实我们不光可以编辑发送的数据包大小还可以通过“edit this script”按钮编写自己的脚本,不过需要我们对脚本语言有一定的了解。另外该软件不仅提供了Throughput.scr一个脚本,软件内置了很多脚本,如FTP、HTTP、IPTV等,大家可根据实际测量的需要进行选择。    
实例5:无线网络的测量    
任务描述:以上四个例子都是介绍的在有线网络环境下对网络带宽进行测量,其实在实际使用中最不确定、最希望知道带宽的就要数无线网络了,毕竟数据是无线传输的,测量起来更加麻烦,令我们感到兴奋的是CHARIOT可以担当测量无线网络带宽的重任。    
针对问题:测量自己架设的无线网络的传输速度,或对不同型号、不同价位的无线设备进行性能测试。    
使用CHARIOT测量无线网络带宽的技巧和步骤与上面提到的四个例子一样,没有任何区别,很容易上手。大家可以通过CHARIOT测量无线网络中两台计算机之间的连接速度,从而了解并对比不同型号无线路由器的性能,最终可以根据测量结果选择无线路由器。当然,对于已经购买了无线路由器的读者来说,可以不定期地用CHARIOT测量自己的无线网络带宽状况,了解目前的网络状态,及时找出隐患。    
对于网络来说,带宽和速度就好比金钱,我们不能糊涂地选择网络设备,被JS的谎话所欺骗;我们也不能白白交纳费用给ISP租用网络。通过CHARIOT我们可以选择性能最佳的设备,通过 CHARIOT我们可以更清楚、更明白地使用网络,通过CHARIOT,我们可真正实现“网络宽窄我心知”。

http://blog.163.com/mail_zcw/blog/static/41260774201079062435/