面向交换机验证测试的流量生成器研究与实现
2015-12-16赵晓辉李昀义王晓婷郭华俭王忆文
赵晓辉,李昀义,王晓婷,郭华俭,王忆文
(1.成都华微电子科技有限公司,成都610041;2.电子科技大学微电子与固体电子学院,成都610054)
面向交换机验证测试的流量生成器研究与实现
赵晓辉1,李昀义2,王晓婷2,郭华俭2,王忆文2
(1.成都华微电子科技有限公司,成都610041;2.电子科技大学微电子与固体电子学院,成都610054)
流量生成器是交换机验证与测试平台的核心组成部分,它可以模拟网络流量行为,根据网络协议生成测试数据包,对交换机进行功能验证和性能测试。基于SoC架构的流量生成器,利用软件的灵活性来生成复杂的流量模型,利用硬件生成符合协议的数据包,能够模拟现代网络中高负载、高速率、环境复杂的网络流量。基于Xilinx Virtex-5系列FPGA开发板,实现了一种流量生成器,具备单端口速率Gbps量级的均匀、Poisson和MMPP三种流量模型,并通过测试平台对流量生成模型进行了验证。
交换机;流量生成器;流量模型;片上系统;现场可编程逻辑阵列;验证
1 引 言
交换机作为现代大型网络系统的基础,在信息交换、数据传输领域有着非常重要的作用,其性能决定着网络系统的性能和稳定性。所以,交换机的验证测试也成为了交换机研究的一个重要方向。现行交换机的网络流量线速率已达到Gbps量级,而且在实际的网络环境中负载流量可能出现各种不同的复杂情况。普通的功能测试和压力测试,已经不能判断所设计的交换机是否适应现代网络需求。这对交换机测试设备提出了更高要求。
流量生成器,就是模拟网络流量行为,产生符合网络协议测试数据包的测试设备。搭载流量生成器的测试平台,可以模拟真实网络流量行为,完成对网络设备的功能验证和性能测试,帮助其在设计阶段实现功能验证和错误定位,也可在应用阶段完成性能测试和改良升级。
目前,常见流量生成器有基于PC的软件实现和基于专用测试设备的硬件实现两种方式。软件实现方案[1],由软件程序产生数据包发送至线卡,该方案可实现多种流量模型,修改灵活、价格低廉,但随着端口数量的增减,传输速率受限于软硬件接口的带宽。硬件实现方案[2-3],则采用多硬件系统并行运行产生数据包,以解决软硬件接口的瓶颈,但一般价格高昂、流量模型稀少。通过SoC架构实现流量生成器[4-5],既可以利用软件的灵活性生成各种复杂的流量模型,也可以发挥硬件高速并行的优势,生成高速、高负载、多端口的网络流量。
针对航空领域广泛使用的FC-AE交换机,以SoC架构方案为模板,在基于Xilinx Virtex-5系列开发板搭建的SoC平台上,实现了单端口速率达到Gbps量级,支持均匀、Poisson和MMPP三种流量模型的流量生成器。
2 网络流量模型
为了精准地测试和评估交换机的性能,流量模型的研究变得尤为重要。基于SoC架构的流量生成器,根据现代网络特性以及测试需求,选取了均匀、Poisson和MMPP三种典型的流量模型。均匀流量模型根据固定负载,产生恒定速率的流量,用于测试交换机端口间数据传输功能验证。Poisson和MMPP两种流量模型在网络流量行为建模中应用广泛,可分别适用于交换机的低负载、低突发性能测试以及高负载、高突发性能测试。
2.1 Poisson模型
在网络流量建模发展的初期,便使用Poisson模型来研究网络流量。Poisson模型即指在时间序列t内,包到达的数量n(t)符合参数为λt的Poisson分布,如公式所示[6]。
其相应的包到达时间间隔序列T呈负指数分布,即F(t)=1-e-λt。其中,Poisson过程的强度表示单位时间间隔内出现包数量的期望值,即包到达的平均速率,其值为1/E(t)。
Poisson模型假设网络事件(如数据包到达)是独立分布的,并且只与一个单一的速率参数λ有关。Poisson模型较好地满足了网络的建模需求,在低负载、低突发性的小型网络设计、维护、管理和性能分析等方面发挥了很大作用。
2.2 Markov模型
对于一个给定的状态空间S={S1,S2,…,Sm},Xn表示在n时刻状态的随机变量,如果Xn+1=Sj的概率只依赖于当前的状态,{Xn}就形成了一个Markov链。Markov模型是利用某一变量的现在状态和动向去预测该变量未来的状态和动向的一种分析方法。其在随机过程中引入相关性,在一定程度上描述了网络流量行为的突发性[6]。
Markov调制的Poisson过程(MMPP)便是常见的Markov模型中的一种,它是一种双随机过程,可理解为参数为λ的Poisson过程和一个参数为υ的更新过程的叠加[7-8]。MMPP由于相关性和突发性的特点,在高负载、高突发性、多业务类型的主干网络建模中应用广泛。
3 流量生成器的设计与实现
采用基于SoC架构的流量生成器,具有成本低、配置灵活、端口易扩展的特点。加之IP化的设计方式,使得其可适用于不同网络协议交换机或其它网络设备的测试。
该流量生成器在基于Xilinx Virtex-5系列的FPGA开发板搭建的以Power PC 440为硬核微处理器的SoC平台上实现。针对选取的均匀、Poisson和MMPP三种流量分布,经过合理的软硬件划分,将灵活多变的流量模型交由软件完成,而要求快速响应的数据包产生、发送过程交由硬件完成。如图1所示,软件部分为微处理器,硬件部分包括数据包生成模块、网络接口模块。
图1 基于SoC架构的流量生成器
流量生成过程由Power PC上运行的流量产生程序根据用户的配置信息转化为流量模型的配置信息和数据包生成参数,由软硬件接口将配置信息和生成参数传递至数据包生成模块,数据包生成模块便可在指定时刻产生相应的数据包,网络接口模块将数据包转换为相关的网络协议发送至网络设备。
3.1 软硬件接口
软硬件接口,即微处理器上运行的流量产生程序通过PLB总线与数据包生成模块交互的数据格式。主要包括两大类型:一种为配置信息,包括网络协议类型(数据包帧格式)、端口信息(源/目地址)等,该部分在系统上电后只进行初始化配置,不随程序的运行而更改;另一种为数据包生成参数,主要为数据包时间间隔(前后两个数据包之间的延时间隔)和数据包帧长,该部分在测试设备运行中由程序根据用户配置的流量模型而生成,每个生成参数都可以使数据包生成模块产生一个独一无二的数据包,并控制其在指定时刻发送。
3.2 软件部分
软件部分的主要功能为SoC平台的初始化和流量模型的产生。流量模型的产生,就是将设计的均匀流量模型、Poisson模型和MMPP模型,根据用户配置参数转化为硬件能够识别的配置信息和数据包生成参数,并发送至软硬件接口。其工作流程如图2所示,具体步骤如下:
(1)PowerPC在系统上电后,通过PLB总线对SoC硬件模块进行初始化;
(2)读取用户配置信息,并转化为硬件可识别的配置信息,对数据包生成模块进行初始化配置;
(3)流量产生程序根据用户配置信息,产生数据包生成参数并传输至数据包生成模块;
(4)读取数据包生成模块状态,若数据包生成模块未读取数据包生成参数,则等待;若数据包生成模块已读取数据包生成参数,则进入步骤3。
3.3 硬件部分
硬件部分的主要功能是根据软件传输至软硬件接口的数据包生成参数,产生符合网络协议的数据包格式,并在流量模型的要求时刻发送至传输端口。
该部分采用Verilog HDL编制,利用FPGA的可编程逻辑实现,并作为定制IP挂载在SoC总线上,其架构如图3所示。数据包生成模块包括:用户配置控制器、数据包封装器、数据包发送时序产生器和数据包发送控制器。用户配置控制器,负责将初始化配置信息和数据包生成参数写入对应单元;数据包封装器,根据配置的协议类型信息、端口信息、数据包帧长信息,生成符合要求的数据包,并写入数据包缓存;数据包发送时序产生器,根据数据包时间间隔和数据包帧长信息,对数据包时间间隔进行修正,并写入发送时序缓存;数据包发送控制器,根据修正后的数据包时间间隔信息,将数据包缓存单元的数据包发送到网络接口模块。网络接口模块与网卡功能类似,将流量生成器产生的数据包通过物理层转化传输到网络设备,该模块可根据不同的网络协议进行设计,以扩展流量生成器的适用范围。
图2 流量生成器软件流程
图3 流量生成器硬件架构
4 流量模型验证
该流量生成器在支持FC-AE协议的交换机测试中,进行了应用。在真实的测试实验中,搭建了如图4所示的测试环境。FC交换机为被测设备,其余部分均为测试平台。
图4 FC交换机测试平台
为验证设计的流量生成器是否符合理论流量模型,在测试初期,去除了上述环境中的FC交换机,将流量生成器接口直接搭载在监测器上。
图5给出了流量模型验证中的部分测试结果。对三种不同的流量模型,设置相同的测试参数进行对比,其中,负载率为0.8、数据包帧长为1000bytes、测试长度为10ms。左图的每一个柱形图表示0.1ms内产生的数据包个数,右图为0.8ms内产生的数据包个数。由图5可知,均匀模型可以以恒定速率产生并发送测试数据包。Poisson模型在短时间刻度的情况下很好的体现了网络行为的突发性,但在长时间刻度的情况下趋于平滑。Markov模型无论是短时间刻度和长时间刻度都很好的体现了网络突发性。这与实际的流量模型情况一致。
图5 流量生成器验证结果
5 结束语
在FC-AE协议环境中,对所实现的流量模型进行了设计、验证与应用。基于SoC架构的软硬件协同设计方案,使得该流量生成器可根据用户的配置信息,灵活配置为多种预设的流量模型和负载条件,精确、迅速地产生数据包,极大地缓解了软硬件接口带宽对端口速率的影响,单端口数据流线速率可达Gbps量级。通过更改网络端口模块,还可以广泛地适用于多种网络协议。该设计既能解决软件实现方案中高速交换机验证测试的困难,又能解决专用测试设备成本高的问题,为交换机验证与测试提供了一种有效解决方案。
[1] Avallone S,Guadagno S,Emma D,et al.D-ITG Distributed Internet Traffic Generator[C]./QEST 2004 Proceedings.First International Conference on the IEEE:Quantitative Evaluation of Systems,2004.
[2] Sanl M,Schmidt E G,Güran H C.FPGEN:A fast,scalable and programmable traffic generator for the performance evaluation of high-speed computer networks[J].Performance Evaluation,2011,68(12):1276-1290.
[3] Spirent.Hypermetrics fibre channel test module[EB/ OL].2009 http://www.spirent.cn/~/media/Datasheets/Broadband/PAB/SpirentTestCenter/STC_HyperMetrics_FC-Module_datasheet.pdf.
[4] Covington G A,Gibb G,Lockwood J W,et al.A Packet Generator on the NetFPGA Platform[C]./Annual IEEE Symposium on.IEEE:Field-Programmable Custom Computing Machines,2009.
[5] Tagami A,Hasegawa T,Hasegawa T,et al.OC-48c traffic tester for generating and analyzing long-range dependence traffic[J].Transactions of the Institute of Electronics Information&Communication Engineers B,2002,85:975.
[6] 张宾,杨家海,吴建平.Internet流量模型分析与评述[J].软件学,2011,22(1):115-131.ZHANG B,YANG J,WU J.Analysis and Commentary of Internet Traffic Models[J].Journal of Software,2011,22(1):115-131.
[7] 逯昭义.通信业务量理论与应用[M].北京:电子工业出版社,2011.LUZ.TheoryandApplicationsofCommunication Business Volume[M].Beijing:ElectronicsIndustry Press,2011.
[8] Shah-Heydari S,Le-Ngoc T.MMPP Modeling of Aggregated ATM Traffic[J].Canadian Conference on Electrical&Computer Engineering,1998,1:129-132.
Research and Implementation of Traffic Generator for Switch
Zhao Xiaohui1,Li Yunyi2,Wang Xiaoting2,Guo Huajian2,Wang Yiwen2
(1.Chengdu Sino Microelectronics Technology Co.,Ltd.,Chengdu 610041,China;2.School of Microelectronics and Solid-State Electronics,University of Electronic Science and Technology,Chengdu 610054,China)
The traffic generator,as the key component of the platform for verifying and testing switch,can generate data packets for different network protocol by simulating network traffic.The SoC-based traffic generators,using software to generate the complex traffic types and hardware to generate data packets,can meet the requirements of the network in high-speed,high-load and complex environment.A traffic generator is realized based on Xilinx Virtex-5 FPGA development board with the models of uniform,Poisson and MMPP traffic at Gbps line rates,and verified on the test platform.
Switch;Traffic generator;Traffic model;SoC;FPGA;Verification
10.3969/j.issn.1002-2279.2015.04.006
TN919.6
A
1002-2279(2015)04-0020-04
赵晓辉(1975-),男,辽宁省昌图县人,高级工程师,主研方向:大规模集成电路设计及应用,数据传输与处理。
2015-06-03