网络与网间吞吐量的测试——OneTouch网络测试应用
2004-09-26    安恒公司 王志军   
打印自: 安恒公司
地址: HTTP://tcpdump.anheng.com.cn/news/article.php?articleid=393
网络与网间吞吐量的测试——OneTouch网络测试应用

[安恒原创,转载请注明] 

在互联网搜索引擎中关于网络测试最多使用的关键词就是“网速测试”,从安恒的网站日志上统计出关于这个关键词的访问量能占到网络测试技术关键词的30%。这说明人们对网络的速度测试的关注程度。本文讨论了关于测试网络和网间吞吐量的方法和应用,文章中的方法和案例是安恒网络测试服务中心测试实践总结,案例中使用了 Fluke 网络公司的OneTouch 网络测试仪器。

 

“网速测试”可以从很多的方面来解释,在互联网上网人的角度来说主要关心的是通过互联网访问网络资源的速度。为此,有很多的网站也提供了测试从访客到该站点访问速度的测试脚本和服务。这种的测试方法非常的简单,但由于受到诸多的因素影响,测试结果一般也仅作为访问这个特定网站的特定应用(如:http、ftp)的性能评估,这类的内容我们不在这里讨论。

在维护企业网络的时候,我们常常要对网络或网络间的链路进行传输能力测试,测试的方法往往根据测试目的而有多样性的选择。比如:作为网络安装和维护时的吞吐量测试就需要测试跨越主干、WAN或VPN的IP性能;对于局域网段的故障查找或协助其它网络应用分析则需要进行加压测试,这些测试的方法和需求都有所不同。负责网络安装,维护和故障诊断的网络工程师、网络管理员、提供高速光链路以太网至用户的电信部门的工程师都会在工作中使用吞吐量和加压测试来检查链路的性能。

 

吞吐量测试

这类的测试可以解决下列的问题: 

  • 测试端对端广域网/局域网的吞吐量
  • 测试跨越WAN连接的 IP性能,并用于对照服务等级协议(SLA),将目前使用的WAN链路的能力和承诺的信息速率(CIR)进行比较
  • 在安装 VPN时进行基准测试和拥塞测试
  • 测试网络设备的模式、帧大小或网络速率的对应关系,用于对调制解调器、FRADS、集线器、交换机或路由器等设备的优化与设置的评估

吞吐量的测试需要由被测试链路的双端进行端对端的测试,对于企业的网管和维护工程师来说在进行端对端的测试中是不需要了解或测试物理网络的,由于 IP是承载应用业务的网络互联平台,这样的端对端链路测试中的物理网络可以是无线网络、路由环境、透明网络甚至是非对称的网络(如 xDSL和Cable Modem)。

最简单(也是最常用和有效)的吞吐量测试方法就是将测试接入点选在链路两端的以太网网络上的测试方法,如图1。测试时在发送端在指定发送速度,在接收器上计算收到的帧的速度。吞吐量是接收器收到的好帧数量/时间,测试通过改变帧长度,重复以上测试得到不同速率下的测试结果。(注:可以反复进行测试,来确定在不同的传输速度时的吞吐量)

 


有一点需要强调的是,在维护一个运行中的网络时,吞吐量测试是必须在线进行的,即不能中断现有的网络业务和网络连接,测试过程中有其它的网络流量存在。这种情况下的测试结果对于评估现有业务上的网络能力,计划增加网络站点和扩充网络应用的评估是非常有意义的。

 

测试方法:端对端测试有很多的测试手段和方法,主要分起来有两类:一类是基于PC软件的测试,另一类是使用专门的测试仪器进行的测试手段。通常对于流量比较大的(如:大于30Mbps以上)测试主要是使用测试仪器进行的,这是因为测试仪器不象基于PC的测试软件那样要受到操作系统、网卡、设备驱动和配置等诸多方面的影响,测试仪能提供稳定、独立和可重复性的测试结果。

 

应用案例1:对企业网络的吞吐量测试,图2。

在这个测试应用中,A、B、C、D分别是可以选择进行测试的接入点,它们与集线器上接入的测试仪可以组成不同的链路,通过对这些链路的吞吐量测试可以相应的网络瓶颈和发现性能问题的网段。

 

图2. 网络吞吐量的测试接入点


测试结果的显示

  1. 部分显示了测试的设置参数:上下行测试速率、测试时间、帧长度、测试模式。这些参数是参数者预定测试的内容,在测试进行之前测试者可以根据需要调节和设定测试参数。
  2. 这部分以上、下行的方式分别显示了实际的传输速率、成功传输的百分百以及测试中丢失帧的数量,这是测试仪根据①的设置进行测试的结果。
  3. 显示的是测试链路的参数:本地以及远端IP地址、路由器
  4. 路由器hops数
  5. 显示当前以太网接入的工作模式

 

 

图3. 网络吞吐量的测试结果

 

 

应用案例2:测试xDSL链路吞吐量,图4。

 

图4. xDSL链路的测试接入点

我们对xDSL测试的应用中有这样的测试需求,一测定xDSL在特定链路上的最大传输速率;二测定某个特定速率下的最大传输距离。

针对需求一的测试要求,就需要有一个能自动递增并进行判定的测试功能,即在测试前设定测试上、下行各自的起始速率和测试最高的速率、然后定义一个自动递增的步长,开始测试后当被测试速率下的有效传输率超过95%时就继续进行更高速率的测试,直至有效传输速率低于95%为止,就可以测定该链路有效的最大传输速率。

上述对于xDSL的测试方法国外曾经有人用其对不同品牌的ADSL modem 进行过测评,方法简便实用,测评的结果很直观。

 

网络加压测试

这类的测试可以用于解决下列的问题: 

  • 在一个网段上施加预定大小的网络流量用于测试该网段的出错情况,或激活潜在的错误
  • 通过生成和发送坏帧测试网络错误的发现、统计和报告功能
  • 验证网络设备(如:路由器/交换机等设备)上的 RMON和SNMP探针的端口统计信息
  • 在局域网上模拟额外用户和应用
  • 单向的快速 Ping沿着可疑的链路进行联通性的测试,识别链路瓶颈
  • 单机测试网络的双向吞吐能力
  • 测试广域网链路的对称吞吐量

测试方法:在对网络的加压测试中可以使用基于MAC或IP的方式进行,对于基于MAC方式的测试是对以太网网段进行的数据发送,而基于 IP包的加压测试则是对指定的IP地址进行的流量发送测试它可以跨越路由器对远端的站点进行测试。

在发送的数据选择时可以选定超长/短帧进行发送,这类的以太网错误帧是不能跨越路由器的(也可能不会跨越交换机),它的使用多是用来测定在物理网络上发生帧错误时的网络管理系统、告警系统的反映,以及统计信息的准确程度。

另一个非常有效的加压测试就是快速 IP Ping的测试,通常使用的 ICMP Ping命令是需要在发送ICMP请求后等待回应的测试方法,这种方法只能验证网络的连通性,但不能验证在大流量下的网络响应情况。尽管 Ping是所有网络测试手段中使用频度最高的方法,但由于它几乎不能对网络产生流量上的压力,所以通常不能用于对网络的加压反映测试上。快速 IP Ping就是将这个遗憾弥补的有效方法,测试仪器在发送下一个 ICMP请求前并不等待当前请求的回应,而是根据测试者的设置以一个恒定的流量向被测试目标发送 ICMP请求。(这种方法听起来很象是黑客攻击?实际上我们用这个方法多次测试了被加压的站点的反映能力,所以建议测试者在使用这项测试时要谨慎!)

 

测试案例3:单向就可以完成的加压测试,图5。

 

图5看到这个测试是一个可调谐的持续性测试

  1. 显示了测试当前的速率,注意这个速率是×2的
  2. 发送出来的加压流量给网络造成的利用率的变化情况
  3. 在当前的发送中能收到的 Ping的响应数

 

从案例中可以清楚地看到,对于每个帧为512字节并以10帧/秒的速率发送的压力来说,换算的网络流量是41.6Kbps×2。此时的网络利用率是78帧/秒,Ping响应达到了10Ping/s,也就是测试没有出现数据包的丢失。

此时我们可以调节每秒种发送的帧数或发送帧的长度来测试Ping响应的情况。这种单向的快速 IP Ping测试为测试者带来了极大的能力。虽然是单端使用测试仪的工作方式,但 ICMP的数据包是双向的数据流,这种测试方式可以方便地测试出在被测试链路中的路由器间采取加密/解密通信时对网络流量性能的影响。也可以用来测试链路对数据包长度的敏感度,从而为调节网络的设置提供有力的证明。

我们上述关于网络吞吐量测试的方法是网络维护中使用最频繁的方法之一,安恒网络测试中心的工程师在实际的工作中通过合理有效的使用这些方法,发现并排除了很多的故障(尤其是与性能相关的网络故障)。在进行流量测试中还有很多其它有效和优秀的方法,比如使用协议分析仪进行数据流量再现等,在今后我们将逐渐整理出来介绍给大家。

[完]

责任编辑: admin