基于RFC2544测试的网络测试仪的设计与实现

更新时间:2023-08-30 08:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于2544的网络测试实现方法

计 算 机 工 程 第 34 卷 第13期

Vol .34 No.13 Computer Engineering · 网络与通信 ·

文章编号:1000—3428(2008)13—0095—03

文献标识码:A

2008年7月

July 2008

中图分类号:TP393

基于RFC2544测试的网络测试仪的设计与实现

海 洋,寿国础,胡怡红

(北京邮电大学通信测试技术研究中心,北京 100876)

摘 要: RFC2544是当前网络互联设备性能测试普遍使用的标准。该文设计并实现了一种支持RFC2544测试的性价比较高的网络测试仪。介绍了RFC2544标准及其测试条件,通过对网络测试仪硬件结构以及软件设计的说明,阐述了该系统的工作原理,结合相关测试条件,与国外产品进行比对测试,实验结果的量化误差表明了该系统测试的精确性。 关键词:RFC2544协议;吞吐量;时延;丢包率;背靠背

Design and Implementation of Network Tester

Based on RFC2544 Test

HAI Yang, SHOU Guo-chu, HU Yi-hong

(Comtest R&D Center, Beijing University of Posts and Telecommunications, Beijing 100876)

【Abstract】RFC2544 is an international standard to test network interconnect devices. This paper describes the design and realization of abenchmark test for the network tester with the high-performance and low-price. This paper introduces the RFC2544 relevant standard and testingcondition. And the paper also describes the network tester working principle by introducing the design of the system's hardware and softwarearchitecture. With the relevant test conditions, in contrast to other network testers based on RFC2544 bidirectional test, it is confirmed to be precisefor the system based on the quantization error of the experimental results.【Key words】RFC2544; throughput; latency; frame lost rate; back-to-back

1 概述

随着Internet网络技术的飞速发展,网络规模不断扩大,用于连接网络的互联设备也得到了广泛的应用。网络互联设备是网络的核心,其性能的好坏直接影响网络规模、网络稳定性以及网络可靠性。因此,客观、准确、权威的对网络互联设备的评价标准显得尤为重要。

当前网络互联设备性能测试普遍使用的标准是Internet工程任务组(IETF)的RFC2544。在国外已经有了较成熟的产品,如SmartBits, Frame Scope以及IXIA等产品,但产品价格比较昂贵,不适宜普遍用于一般的设备生产厂商对于自己产品的性能基准测试。本文设计实现了一种价格低廉且性能可靠的网络测试仪。

2 RFC2544协议

RFC2544是RFC组织提出的用于评测网络互联设备的国际标准。主要是对RFC1242中定义的性能测试指标提出了具体测试方法,同时对测试报告的格式作了详细的规定[1]。 2.1 RFC2544测试指标与条件

RFC2544对网络互联设备性能的基本指标和测试条件,以及吞吐量(throughput)、时延(latency)、丢包率(frame loss rate)、背靠背(back-to-back frame)、系统恢复(system recovery)、重启时间(reset)等性能指标参数作了具体规定。其中通常最关心的性能指标有吞吐量、时延、丢包率和背靠背。 2.1.1 吞吐量

吞吐量是描述网络互联设备的最基本的指标参数。根据吞吐量的定义可知,吞吐量包含了2层含义:首先要保证待转发的任何一个数据帧都能够正确地转发到适当的地址,其

次要充分发挥设备的转发能力。吞吐量的度量单位可以采用3种形式:包/s(pps),位/s和线速的百分比。测试时需要考虑如下测试条件:

(1)测试时间:因为帧吞吐量测量的是恒定负载情况下设备的转发能力,如果时间太短,就不能正确反映设备的吞吐能力。目前参考RFC2544要求,一般把测试持续时间设定为20 s。

(2)测试次数:为了克服随机性的影响,每一个测试案例的测试次数一般定为20次。

(3)测试粒度:测试粒度设定为不超过理论速率的1%。在实际测试系统的设计中,可以采用变化的粒度,刚开始时采用较大的变化粒度以快速找到吞吐量的大概范围,然后选用更小粒度以精确定位,一般多用二分算法。

(4)测试帧长:参考RFC2544的要求,对以太网来说,一般测试帧长取64 B, 128 B, 256 B, 512 B, 1 024 B, 1 280 B, 1 518 B。帧长越小,对吞吐量的测试结果影响越大,反之,帧长越大,对吞吐量的测试结果影响越小。因为对于网络设备而言,在同一带宽下,帧长越小数据帧的数量就越大,那么网络设备处理这些数据帧花费的时间就会越多,反之帧长越大数据帧的数量就越大,那么网络设备处理这些数据帧花费的时间就会越少也就越容易处理。

2.1.2 时延

时延就是数据帧进入与离开网络互联设备之间的时间间

作者简介:海 洋(1979-),男,硕士研究生,主研方向:接入网技术,测试技术;寿国础,教授;胡怡红,副教授

收稿日期:2007-08-11 E-mail:haiyangreset@http://www.77cn.com.cn

—95—

基于2544的网络测试实现方法

隔。有2种定义方法:存储转发时延(Store and Forward latency, S&F)和直通交换时延(Cut Through latency, CT)。

存储转发时延是指数据帧最后一个比特到达设备输入端口的时间与该数据帧第1个比特出现在设备输出端口的时间间隔,按后进先出(LIFO)的方法计算。直通交换时延是指数据帧第1个比特到达设备输入端口的时间与该数据帧第1个比特出现在设备输出端口的时间间隔,按先进先出(FIFO)的方法计算[2]。

测试时需要考虑如下测试条件:

(1)测试持续时间。决定各种帧大小下DUT的吞吐量,以已确定的吞吐量速率通过DUT连续发送特定大小的数据帧到指定的目的地。这个发送过程至少要持续120 s。60 s后对一帧作标记,标记类型与DUT的类型有关。

(2)测试次数。参考RFC2544的要求,测试必须重复至少20次,报告结果取其平均值,同时应对不同帧长的数据帧进行测试。

(3)时间同步。由于时延测试需要比较帧接收时间和发送时间的差别,不管是存储转发还是比特转发时延的数量级都很小,测试过程对时间有非常高的要求,因此要求发送方与接收方必须有精确的时间同步。

2.1.3 丢包率

丢包率的定义为测试交换设备在不同负荷下由于缺乏资源而丢弃数据包占应转发包的比例,不同负荷通常指从吞吐量测试到线速(线路上传输包的最高速率)。丢包率的计算公式是:丢包率=[(输入帧个数-输出帧个数)×100]/输入帧个数。

测试时,网络测试仪发送测试帧的速率从传输介质的最大理论值开始,以后每次发送速率递减10%,直到2次测试没有丢帧为止。测试时需要考虑如下测试条件:

(1)测试次数。因为数据帧丢失是一个随机行为,对每一个测试案例都要重复测量多次以便获得统计数据,最后给出丢包率的平均值,测试次数可设定为20次。

(2)测试帧长。针对不同长度的帧要分别测量其丢包率。 2.1.4 背靠背

背靠背性能的定义:最大速率时,在不发生报文丢失前提下,被测设备可以接收的最大的突发报文序列(Burst)的长度。背靠背性能反映网络设备对于突发报文的容纳能力,它主要和以下一些因素有关:网络设备内部缓冲的大小;网络设备入、出端口之间的速率差;网络设备转发能力的大小;网络设备交换网络的调度算法等。

测试时需要考虑如下测试条件:

(1)测试时间。测试时间T必须足够大,保证出现丢包,对于吞吐量等于物理介质的理论速率的被测设备,该项测试没有意义,RFC1242中规定测试时间至少为2 s。

(2)重复次数。对于每一个测试案例,测试都要重复至少20次,然后求出帧突发量的平均值。

2.2 RFC2544测试结构

参照RFC2544,对于网络互联设备,可采用如下几种测试结构。

2.2.1 通用结构

通用模式分为2种:单机结构和双机结构。

单机结构是RFC2544推荐的最理想的测试结构,使用一台同时具有发送和接收端口的高性能测试设备(tester)来执行测试过程。测试过程中,测试设备将测试数据发送到被测设备(DUT)的接收端口,数据经被测设备处理,从被测设备的—96 —

发送端口回到测试设备的接收端口。测试设备根据发送和接

收的数据情况定量地评估被测设备的性能。

双机结构是将单机结构中的测试设备(tester)分成2部分:发送端(sender)和接收端(receiver),通常这种测试结构需要另一台设备(通常是计算机)来控制进程同步、时间同步等问题,实现较为复杂,因此一般多采用单机结构。 2.2.2 DUT类型不同

对于DUT连接介质不同的测试,要求测试设备(tester)必须同时支持被测设备所支持的介质类型。通过串联2个完全相同的被测设备(DUT1和DUT2),并将串联后的组合与测试设备组成环路来进行测试。

3 网络测试仪的设计与实现

设计开发的基于RFC2544测试的网络测试仪采用C/S模式,分为前台硬件数据采集系统和后台软件数据处理分析系统。

在网络测试仪前台硬件数据采集系统中,采用高性能ARM中央控制器,运行于嵌入式Linux系统,完成整个前台控制功能以及与后台软件的命令、数据内容的交互;FPGA芯片主要完成线速数据的产生与接收、定时处理和计数统计等功能。

在后台数据处理分析系统中,采用简洁、灵活的人机对话界面,支持TCP/IP协议,与前台之间采用Socket通信。网络测试仪系统如图1所示。目前已开发了10 Mb/s和100 Mb/s网络测试功能模块,正在开发用于千兆以太网性能测试的功能模块。

4、读取相关统计项

3、发送流量数据并进行相关统计

图1 网络测试仪系统

3.1 系统硬件设计

网络测试仪前台的硬件设计如图2所示,是以32位ARM9处理器为核心,控制整个前端机。FPGA模块产生高速的测试数据发送到PHY芯片,并根据用户命令产生100 Mb/s或1 000 Mb/s流量。ARM9通过MAC/PHY与后台PC建立连接,接收命令、上报数据。

图2 网络测试仪硬件设计

3.2 系统软件设计

网络测试仪软件采用C/S架构,系统软件设计如图3所

示,分为客户端和服务器端2部分。

客户端软件采用Windows

基于2544的网络测试实现方法

平台实现用户界面操作,包括配置下发模块(测试帧构建、速率控制)、统计分析、实时显示以及文件管理模块等功能;服务器端采用嵌入式Linux平台完成流量产生、数据统计、数据上报、通信处理等功能。

图3 网络测试仪软件设计

3.2.1 前台服务器端软件设计

前台软件设计如图4所示。

图4 网络测试仪服务器端软件设计结构

该软件设计分为用户空间和内核空间。用户空间负责与后台Socket通信、内核系统调用的功能。内核空间主要为上层负责提供API函数的实现功能,为上层模块提供通过SPI接口读写FPGA内部RAM的接口函数。

3.2.2 后台客户端软件设计

后台软件设计分为5大模块:通信模块负责与前台进行Socket通信,文件管理模块负责将测试数据保存至二进制数据文件,配置下发模块负责用户进行流量发生或者性能测试时进行数据模板定制并通过Socket发送至服务器端,实时显示模块负责显示当时收发数据的测试,统计分析模块负责后期用户进行详细分析。

4 测试与分析

IXIA是目前业界较认同的基于RFC2544的测试工具,其测试结果具有很强的可靠性和权威性。比对测试中选用IXIA400T流量测试仪与本文所研发的网络测试仪,对同一款三层交换机进行RFC2544的测试,比对结果见图5~图8。

120)

%100(/80量60实验系统吐吞40IXIA

200

64 128 256 512 1 024 1 280 1 518

数据包/B

图5 吞吐量测试

160.00140.00s

m120.00/延100.00时80.00实验系统60.00IXIA

40.0020.000.00

64 128 256 512 1024 1280 1518

数据包/B

图6 时延测试

10.00

8.00)

%(/6.00率实验系统包4.00IXIA

丢2.000.00

64 128 256 512 1 024 1 280 1 518

数据包/B

图7 丢包率测试

120 000数

100 000个80 000帧实验系统/60 000背IXIA

靠40 000背20 000

64 128 256 512 1024 1280 1518

数据包/B

图8 背靠背测试

从测试结果图以及表1的数据不难看出,所研发的测试仪与IXIA针对RFC2544 4个基本测试项的测试数据基本一致,从而验证了该系统的可靠性。

表1 实验系统与IXIA比对测试结果量化误差 (%)

测试项 吞吐量

时延

丢包率

背靠背

最大值 1.91 1.48 1.15 2.13 最小值 0.00 0.37 0.00 0.00 平均值

0.41 0.45 0.19 0.59

5 结束语

本文所介绍的基于RFC2544测试的网络测试仪,采用前台硬件数据采集系统和后台软件数据处理分析系统相结合,实现较为简单,且又能保证性能稳定可靠,完全可应用于实际的网络互联设备的测试中。在时延测试中,通过使用FPGA模块中的高精度计数器进行时钟同步与计数,其计时精度可达40 ns,从而大大地提高了时延测试的精度。

参考文献

[1] 徐 波, 韦 韬, 邹 维, 等. RFC2544网络设备评测协议实现

技术[J]. 计算机工程, 2003, 29(10): 140-141.

[2] 高 巍, 马军锋. 关于时延测试方法的探讨[J]. 电信网技术,

2003, (10): 64-65.

[3] Bradner S. Benchmarking Methodology for Network Interconnect

Devices[S]. RFC 2544, 1999.

[4] Bradner S. Benchmarking Terminology for Network Interconnection

Devices[S]. RFC 1242, 1991.

[5] Gray P, Betz A. Performance Evaluation of Copper-based Gigabit

Ethernet Interfaces[C]//Proc. of the 27th Annual IEEE Conference

on Local Computer Networks. Tampa, Florida, USA: [s. n], 2002: 679-690.

—97—

本文来源:https://www.bwwdw.com/article/65vi.html

Top