一种软硬件协同实现用于交换机验证测试的流量生成器的制造方法

文档序号:7811928阅读:407来源:国知局
一种软硬件协同实现用于交换机验证测试的流量生成器的制造方法
【专利摘要】本发明公开了一种软硬件协同实现用于交换机验证测试的流量生成器,涉及通信系统,尤指一种软硬件协同产生数据流,用于交换机验证测试的装置,包括:软件部分的微处理器模块、硬件部分的数据包生成模块和网络接口模块,微处理器模块通过总线与数据包生成模块连接,采用C语言对软件部分进行设计,根据用户配置的流量模型产生流量模型控制信息;对硬件部分进行模块化设计,根据微处理器模块的控制信息,产生符合被测交换机协议标准和能够模拟真实网络环境的数据流,用于交换机的功能验证和性能测试。该流量生成器根据用户配置,产生符合被测交换机协议和用户配置的流量模型的数据流,具有灵活性高、成本低、数据流线速率高和可扩展性好等优点。
【专利说明】一种软硬件协同实现用于交换机验证测试的流量生成器

【技术领域】
[0001]本发明涉及通信系统,尤指一种软硬件协同产生数据流,用于交换机验证测试的
>J-U ρ?α装直。

【背景技术】
[0002]在通信系统中,设备之间交换的数据单元长度是固定的或者可变的。数据单元可被称为包、帧、信元或其他信息单元。所有这些数据单元在本发明中称为数据包。数据包由包头、载荷和包尾组成,包头包含路由信息和其他重要信息。载荷包含有效的数据或者控制信息。包尾是检错信息和结束标识。
[0003]交换机是一种通过识别MAC地址,完成数据包从输入端口转发到目的输出端口的网络设备。交换机作为现代大型网络系统的基础,在信息交换、数据传输领域有着非常重要的作用,其性能决定着网络系统的性能和稳定性。所以,交换机的验证测试也成为了交换机研究的一个重要方向。
[0004]交换机的验证测试需要模拟实际的网络流量环境。现行交换机的网络流量线速率已达到Gbps量级,而且在实际的网络环境中负载流量可能出现各种不同的复杂情况。作为交换机验证测试的关键部分,流量生成器也成为重要的研究对象。
[0005]流量生成器,用于产生给定交换机性能测试所需的数据流,以模拟实际的网络环境中的负载流量,其数据包速率和数据流量特性(如数据包发送时间间隔分布、数据包长度分布),在测试交换机系统的性能参数(如缓存和调度能力)中至关重要。为此,流量生成器需要模拟被测交换机系统所在特定网络环境的流量情况,根据不同的网络环境,生成具有不同特性的数据流。而且,单端口生成的数据流线速率必须达Gbps量级,还必须考虑流量负载条件、不同流量模型中的数据包发送时间间隔分布和数据包长度分布。
[0006]现行的交换机验证测试所需的流量生成器,大多是基于硬件的专用流量生成器或基于软件的流量生成器。
[0007]基于硬件的专用流量生成器,根据被测交换机采用的协议类型(如TCP/IP等),可以实现不同网络流量模型下的特定协议类型的数据流,但价格十分昂贵,其价格一般在几万到几十万美元。
[0008]基于软件的流量生成器,可以配置为不同协议类型,灵活配置各种网络流量模型。例如,分布式网络流量生成器(D-1TG),使用PC机来模拟实现流量生成器,根据不同协议(如TCP,UDP, DNS和VoIP等),用户可通过多种随机分布模型来建模数据包发送时间间隔和数据包长度,以产生特定流量模型的数据流。但是该流量生成器能达到的数据流线速率仅为611Mbps。因此,基于软件的流量生成器,其数据流线速率依赖于软件运行的硬件环境,扩展性差,数据包带宽有限,无法对多端口、高速率的交换机进行性能评估。


【发明内容】

[0009]针对【背景技术】中流量生成器的不足,设计一种软硬件协同实现用于交换机验证测试的流量生成器,从而达到为多种协议类型交换机提供测试数据流时灵活性高、成本低、数据流线速率高和可扩展性好的目的。
[0010]本发明的技术方案是一种软硬件协同实现用于交换机验证测试的流量生成器,该流量生成器结合了【背景技术】中硬件流量生成器和软件流量生成器的优点,可以为交换机的测试提供网络流量。该流量生成器包括:软件部分的微处理器模块和硬件部分的数据包生成模块、网络接口模块;微处理器模块通过总线与数据包生成模块连接,其特征在于微处理器模块包括:配置模块和流量模型控制模块;
[0011]其中配置模块在上电初始化后开始读取用户配置信息,读取完成后对流量模型控制模块进行配置,并通过总线对数据包生成模块进行初始化;流量模型控制模块则根据配置信息产生数据包发送时间间隔控制信息,通过总线控制数据包生成模块。
[0012]所述数据包生成模块包括:用户配置控制器、数据包封装器、数据包发送时序产生器和数据包发送控制器;
[0013]其中用户配置控制器通过总线与微处理器模块进行通信,将微处理器模块发送的各配置信息分别写入对应的配置单元;
[0014]数据包封装器,读取用户配置控制器的协议类型控制信息、数据包目的端口控制信息、数据包长度控制信息,生成符合要求的数据包,并写入数据包缓存;
[0015]数据包发送时序产生器,读取用户配置控制器的数据包发送时间间隔控制信息和数据包长度控制信息,对数据包发送时间间隔进行修正,写入发送时序缓存;
[0016]数据包发送控制器,读取数据包封装器的数据包和数据包发送时序产生器的数据包发送时间间隔控制信息,根据数据包发送时间间隔控制信息,控制发送数据包到网络接口模块。
[0017]所述用户配置控制器具体包括:协议类型配置单元、伪随机数发生单元、数据包目的端口地址配置单元、数据包长度配置单元和数据包发送时间间隔配置单元;
[0018]协议类型配置单元,通过总线与微处理器模块通信,配置数据包的协议类型;
[0019]伪随机数发生单元,产生伪随机数,用于产生均匀分布模型的控制信息;
[0020]数据包目的端口地址配置单元,通过总线与微处理器模块通信,若数据包目的端口配置为服从均匀分布模型,则读取伪随机数发生单元的数据包目的端口控制信息,并写入数据包目的端口地址配置单元的缓存;若数据包目的端口配置为固定端口,则读取微处理器模块传输的数据包目的端口控制信息,并写入数据包目的端口地址配置单元的缓存;
[0021]数据包长度配置单元,通过总线与微处理器模块通信,若数据包长度配置为服从均匀分布模型,则读取伪随机数发生单元的数据包长度控制信息,并写入数据包长度配置单元的缓存;若数据包长度配置为固定长度,则读取微处理器模块传输的数据包长度控制信息,并写入数据包长度配置单元的缓存;
[0022]数据包发送时间间隔配置单元,通过总线与微处理器模块通信,将数据包发送时间间隔控制信息写入数据包发送时间间隔配置单元的缓存。
[0023]所述数据包封装器具体包括:数据包位段填充单元和数据包缓存单元;
[0024]数据包位段填充单元,读取用户配置控制器的协议类型、数据包目的端口控制信息、数据包长度控制信息,根据读取的控制信息填充数据包的各个位段;
[0025]数据包缓存单元,将数据包位段填充单元生成的数据包,写入数据包缓存单元。
[0026]所述数据包发送时序产生器具体包括:比较单元和发送时序缓存单元;
[0027]比较单元,读取用户配置控制器的数据包长度控制信息和数据包发送时间间隔控制信息,为了保证发送完整的数据包,需要将数据包发送时间间隔进行修正,通过比较单元对数据包发送时间间隔和数据包长度进行数值比较,若数据包发送时间间隔比数据包长度小,则将数据包发送时间间隔修正为数据包长度;否则不调整;
[0028]发送时间缓存单元,将修正后的数据包发送时间间隔写入发送时序缓存单元。
[0029]所述数据包发送控制器具体包括:时间标签单元和发送控制单元;
[0030]时间标签单元,记录流量生成器的当前时间,加入数据包的时间位段,用于测试交换机的延迟性能;
[0031]发送控制单元,读取数据包发送时序产生器中的数据包发送时间间隔控制信息,根据数据包发送时间间隔控制信息,读取数据包封装器的数据包缓存单元中的数据包、时间标签单元的时间信息,将时间信息加入数据包指定时间位段;根据数据包发送时间间隔控制信息,将数据包发送到网络接口模块。
[0032]本发明的有益效果是:本发明的流量生成器可灵活配置为多种预定负载条件和流量模型,并且单端口数据流线速率可达Gbps量级,可直接和交换机相连,为被测交换机提供能够模拟实际网络流量环境的测试数据流,用于交换机的验证测试。

【专利附图】

【附图说明】
[0033]图1为流量生成器的网络连接图;
[0034]图2为流量生成器整体结构示意图;
[0035]图3为微处理器模块结构示意图;
[0036]图4为微处理器模块工作的流程图;
[0037]图5为数据包生成模块结构示意图。

【具体实施方式】
[0038]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0039]本发明一实例中流量生成器与被测交换机的网络连接图如图1所示。用户通过PC机对流量生成器进行配置,流量生成器模拟交换机工作时的网络流量环境,产生测试数据流,通过物理链路与被测交换机相连,为被测交换机的验证测试提供测试数据流输入。
[0040]具体地,在本发明一实例中,软硬件协同实现的用于交换机验证测试的流量生成器整体结构示意图如图2所示。本发明的流量生成器,可根据需要产生多种流量模型的数据流,可以为多种协议类型的交换机提供数据流输入。在本发明实例中,流量生成器基于PowerPC和FPGA软硬件协同实现,采用C语言编写模块化代码,对PowerPC的软件模块进行设计,采用Verilog HDL编写模块化RTL级代码,对FPGA的硬件模块进行设计。
[0041 ] 所述流量生成器包括一个微处理器模块1、N个数据包生成模块2和N个网络接口模块3。
[0042]微处理器模块1,用于读取用户配置,根据配置信息,产生流量模型控制信息,通过总线控制硬件模块产生验证测试交换机所需的测试数据流;
[0043]数据包生成模块2,根据微处理器模块I的控制信息,产生交换机验证测试所需的数据包;根据流量模型控制信息,产生数据包发送时序,并根据数据包发送时序控制信息,控制数据包的发送;
[0044]网络接口模块3,用于接收数据包生成模块2的数据包,并将并行数据转换为串行数据流,传输到被测交换机。
[0045]本发明的流量生成器适用于N端口交换机的功能验证和性能测试,硬件部分采用模块化设计,模块2和模块3包括N个相同的子模块,通过例化N个单端口,即可对N端口交换机进行测试数据流输入,下面针对单端口进行说明。
[0046]微处理器模块I结构示意图如图3所示。所述微处理器模块I具体包括:配置模块12和流量模型控制模块13。微处理器模块I采用POwerPC440,通过PC1-E接口读取用户配置信号11,并根据配置信息控制FPGA产生所需的网络数据流量。
[0047]所述的配置模块12,在上电初始化后开始读取用户配置信息,若未进行配置则继续循环等待,若用户配置完成,则进入下一步,根据配置信息对流量模型控制模块13进行配置,然后通过PLB总线对硬件模块进行初始化,将被测交换机类型(如TCP/IP、FC等)、数据包目的地址分布模型(如均匀分布、非均匀分布等)和数据包长度模型(如定长、均匀分布等)配置到硬件模块。
[0048]所述的流量模型控制模块13,根据配置信息,产生用户所需流量的数据包发送时间间隔控制信息,通过PLB总线控制硬件模块,使数据包的发送时间间隔服从用户配置的流量模型(如常数分布、泊松分布、马尔科夫调制的泊松分布等)。
[0049]本发明一实例中微处理器模块I (PowerPC)工作的流程图如图4所示,包括以下步骤:
[0050]S41, PowerPC在系统上电后,开始读取用户配置信息;
[0051]S42,判断是否完成配置信息读取,若用户还未对流量生成器进行配置,则继续读取用户配置信息S42,若已完成用户配置信息的读取,则进入S43 ;
[0052]S43,对流量模型控制模块13进行配置,进入S44 ;
[0053]S44,通过总线初始化硬件模块,进入S45 ;
[0054]S45,流量模型控制模块13根据配置信息,产生数据包发送时间间隔控制信息,更新流量模型控制模块13状态,进入S46 ;
[0055]S46,读取数据包生成模块2状态,若数据包生成模块2未读取数据包发送时间间隔控制信息,则进入S46,等待硬件模块读取;若数据包生成模块2已读取数据包发送时间间隔控制信息,则进入S45。
[0056]数据包生成模块2结构示意图如图5所示。该模块根据微处理器模块I的协议类型、数据包长度、数据包目的端口、数据包发送时间间隔等控制信息,产生被测交换机所需的测试数据流。所述数据包生成模块2包括用户配置控制器21、数据包封装器22、数据包发送时序产生器23和数据包发送控制器24。
[0057]所述的用户配置控制器21,通过PLB总线与PowerPC进行通信。所述用户配置控制器21具体包括协议类型配置单元211、伪随机数发生单元212、数据包目的端口地址配置单元213、数据包长度配置单元214和数据包发送时间间隔配置单元215。
[0058]协议类型配置单元211,通过PLB总线与PowerPC通信,配置数据包的协议类型寄存器;
[0059]伪随机数发生单元212,产生伪随机数,用于产生均匀分布模型(如数据包目的端口均匀分布、数据包长度均匀分布等)的控制信息;
[0060]数据包目的端口地址配置单元213,通过PLB总线与PowerPC通信,若数据包目的端口配置为服从均匀分布模型,则读取伪随机数发生单元212的数据包目的端口控制信息,并写入数据包目的端口地址配置单元213的缓存;若数据包目的端口配置为固定端口,则读取PowerPC传输的数据包目的端口控制信息,并写入数据包目的端口地址配置单元213的缓存;
[0061]数据包长度配置单元214,通过PLB总线与PowerPC通信,若数据包长度配置为服从均匀分布模型,则读取伪随机数发生单元212的数据包长度控制信息,并写入数据包长度配置单元214的缓存;若数据包长度配置为固定长度,则读取PowerPC传输的数据包长度控制信息,并写入数据包长度配置单元214的缓存;
[0062]数据包发送时间间隔配置单元215,通过PLB总线与PowerPC通信,将数据包发送时间间隔控制信息写入数据包发送时间间隔配置单元215的缓存。
[0063]所述的数据包封装器22用硬件实现,读取用户配置控制器21的数据包长度控制信息和数据包目的端口控制信息,生成符合要求的数据包。所述的数据包封装器22包括数据包位段填充单元221和数据包缓存单元222。
[0064]数据包位段填充单元221,读取用户配置控制器21的协议类型寄存器、数据包目的端口地址、数据包长度等控制信息,填充数据包的各个位段;
[0065]数据包缓存单元222,将数据包位段填充单元221生成的数据位段写入数据包缓存,组成用户所需的完整数据包。
[0066]所述的数据包发送时序产生器23,用于产生数据包发送时的控制时序信号。所述的数据包发送时序产生器23,包括一个比较单元231和一个发送时序缓存单元232。
[0067]比较单元231,读取用户配置控制器21的数据包长度控制信息和数据包发送时间间隔控制信息,为了保证发送完整的数据包,需要将数据包发送时间间隔进行修正,通过比较单元231对数据包发送时间间隔和数据包长度进行比较,若数据包发送时间间隔比数据包长度小,则将数据包发送时间间隔修正为数据包长度,否则不调整;
[0068]发送时序缓存单元232,将修正后的数据包发送时间间隔控制信息写入发送时序缓存,用于控制数据包的发送时序。
[0069]所述的数据包发送控制器24,读取发送时序缓存单元232的数据包发送时间间隔控制信息,将数据包封装器22生成的数据包发送到网络接口模块3。所述的数据包发送控制器24包括一个时间标签单元241和一个发送控制单元242。
[0070]时间标签单元241,记录流量生成器的当前时间,发送控制单元242将发送时的时间加入数据包的时间位段,用于测试交换机的延迟性能;
[0071]发送控制单元242,读取发送时序缓存单元232的数据包发送时间间隔控制信息,根据数据包发送时间间隔控制信息,读取数据包缓存单元222的数据包,读取时间标签单元241的时间信号,将时间信号加入数据包指定时间位段,根据数据包发送时间间隔控制信息,将数据包发送到网络接口模块3。
[0072]所述的网络接口模块3,接收数据包生成模块2的数据包,并将并行数据转换为交换机所需的光、电或无线信号等形式的串行数据流,传输到被测交换机。
[0073]相比与现有技术的缺点和不足,本发明有以下有益效果:
[0074](I)与基于硬件的专用流量生成器相比,如Ixia公司的Fibre Channel 2/4/8GLoad Modules,可以对8 口光纤交换机产生2G/4G/8G的网络负载流量,但是价格昂贵,需要几十万人民币。本发明的流量生成器成本低,配置灵活,可以产生多种预置负载情况和流量模型的网络流量。
[0075](2)与基于软件的流量生成器,如D-1TG,可以生成指数、泊松、常数、突发等多种流量模型的网络流量,但最高数据流线速率依赖于所运行的硬件,在PC机上运行的D-1TG流量生成器,其线速率仅为611Mbps,不能用于测试Gbps量级的高速交换机的性能,并且扩展端口时会降低单端口线速率。本发明的流量生成器单端口数据流线速率可达2Gbps,可以在保持单端口数据流线速率不变的同时,扩展至更多端口。
[0076](3)本发明采用了基于PowerPC和FPGA的系统设计方案,通用性强,可以连接多种协议类型(如TCP/IP、FC等)的交换机,硬件采用模块化容易实现,软件开发成本低、周期短、便于维护和功能变更。
[0077]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种软硬件协同实现用于交换机验证测试的流量生成器,该流量生成器包括:软件部分的微处理器模块、硬件部分的数据包生成模块和网络接口模块,微处理器模块通过总线与数据包生成模块连接,其特征在于微处理器模块包括:配置模块和流量模型控制模块; 其中配置模块在上电初始化后开始读取用户配置信息,读取完成后对流量模型控制模块进行配置,并通过总线对数据包生成模块进行初始化;流量模型控制模块则根据配置信息产生数据包发送时间间隔控制信息,通过总线控制数据包生成模块。
2.如权力要求I所述的一种软硬件协同实现用于交换机验证测试的流量生成器,其特征在于所述数据包生成模块包括:用户配置控制器、数据包封装器、数据包发送时序产生器和数据包发送控制器; 其中用户配置控制器通过总线与微处理器模块进行通信,将微处理器模块发送的各配置信息分别写入对应的配置单元; 数据包封装器,读取用户配置控制器的协议类型控制信息、数据包目的端口控制信息、数据包长度控制信息,生成符合要求的数据包,并写入数据包缓存; 数据包发送时序产生器,读取用户配置控制器的数据包发送时间间隔控制信息和数据包长度控制信息,对数据包发送时间间隔进行修正,写入发送时序缓存; 数据包发送控制器,读取数据包封装器的数据包和数据包发送时序产生器的数据包发送时间间隔控制信息,根据数据包发送时间间隔控制信息,控制发送数据包到网络接口模块。
3.如权力要求2所述的一种软硬件协同实现用于交换机验证测试的流量生成器,其特征在于所述用户配置控制器具体包括:协议类型配置单元、伪随机数发生单元、数据包目的端口地址配置单元、数据包长度配置单元和数据包发送时间间隔配置单元; 协议类型配置单元,通过总线与微处理器模块通信,配置数据包的协议类型; 伪随机数发生单元,产生伪随机数,用于产生均匀分布模型的控制信息; 数据包目的端口地址配置单元,通过总线与微处理器模块通信,若数据包目的端口配置为服从均匀分布模型,则读取伪随机数发生单元的数据包目的端口控制信息,并写入数据包目的端口地址配置单元的缓存;若数据包目的端口配置为固定端口,则读取微处理器模块传输的数据包目的端口控制信息,并写入数据包目的端口地址配置单元的缓存; 数据包长度配置单元,通过总线与微处理器模块通信,若数据包长度配置为服从均匀分布模型,则读取伪随机数发生单元的数据包长度控制信息,并写入数据包长度配置单元的缓存;若数据包长度配置为固定长度,则读取微处理器模块传输的数据包长度控制信息,并写入数据包长度配置单元的缓存; 数据包发送时间间隔配置单元,通过总线与微处理器模块通信,将数据包发送时间间隔控制信息写入数据包发送时间间隔配置单元的缓存。
4.如权力要求2所述的一种软硬件协同实现用于交换机验证测试的流量生成器,其特征在于所述数据包封装器具体包括:数据包位段填充单元和数据包缓存单元; 数据包位段填充单元,读取用户配置控制器的协议类型、数据包目的端口控制信息、数据包长度控制信息,根据读取的控制信息填充数据包的各个位段; 数据包缓存单元,将数据包位段填充单元生成的数据包,写入数据包缓存单元。
5.如权力要求2所述的一种软硬件协同实现用于交换机验证测试的流量生成器,其特征在于所述数据包发送时序产生器具体包括:比较单元和发送时序缓存单元; 比较单元,读取用户配置控制器的数据包长度控制信息和数据包发送时间间隔控制信息,为了保证发送完整的数据包,需要将数据包发送时间间隔进行修正,通过比较单元对数据包发送时间间隔和数据包长度进行数值比较,若数据包发送时间间隔比数据包长度小,则将数据包发送时间间隔修正为数据包长度;否则不调整; 发送时间缓存单元,将修正后的数据包发送时间间隔写入发送时序缓存单元。
6.如权力要求2所述的一种软硬件协同实现用于交换机验证测试的流量生成器,其特征在于所述数据包发送控制器具体包括:时间标签单元和发送控制单元; 时间标签单元,记录流量生成器的当前时间,加入数据包的时间位段,用于测试交换机的延迟性能; 发送控制单元,读取数据包发送时序产生器中的数据包发送时间间隔控制信息,根据数据包发送时间间隔控制信息,读取数据包封装器的数据包缓存单元中的数据包、时间标签单元的时间信息,将时间信息加入数据包指定时间位段;根据数据包发送时间间隔控制信息,将数据包发送到网络接口模块。
【文档编号】H04L12/26GK104168162SQ201410412512
【公开日】2014年11月26日 申请日期:2014年8月20日 优先权日:2014年8月20日
【发明者】王晓婷, 郭华俭, 张微, 彭春, 胡浩, 王忆文, 李辉 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1