一种基于汇聚过程的流量生成器的制作方法

文档序号:12278292阅读:1003来源:国知局
一种基于汇聚过程的流量生成器的制作方法与工艺

本发明属于通信领域,应用于网络设备测试,指能够向网络设备端口施加测试流量的测试设备。



背景技术:

随着互联网的快速发展、网络应用的多样化以及新型网络应用的快速部署,网络系统的规模、速度、复杂性日益提高。作为现代大型网络系统基础的网络设备,应具有良好的性能和稳定性。所以,网络设备的测试技术成为了网络系统研究的一个重要方向。流量生成,是一种向网络设备施加近似于真实网络流量行为的测试方法,对网络设备的业务能力分析有着重要的作用。

目前,网络流量行为已有诸多阶段性的研究成果,但缺少较统一的、应用于测试的流量生成方法。已有的流量生成方法,主要有软件、FPGA以及专用测试仪三类。软件实现方案由计算机软件程序模拟流量行为,产生数据包并发送至端口输出缓存,具有灵活多样、简单低廉的优势。但端口线速率受限于软硬件接口带宽,不适用于现代高速网络测试。FPGA实现方案能显著降低接口带宽的限制。一是软硬件协同设计方案,软硬件接口采用数据生成参数,FPGA根据数据生成参数控制数据包的产生与发送。方案保留了软件灵活多样的优点,但并没有完全解除接口带宽的限制。基于FPGA的硬件实现方案能完全回避接口带宽的问题,通过硬件描述语言实现流量行为的数学模型,并完成数据包的产生与发送过程,端口线速率只与硬件运行速度有关。然而,不同的流量行为通常具有不同的数学模型,采用不同的流量行为或是参数对网络设备进行测试需重新综合下载。专用测试仪能有效地完成网络设备测试,支持丰富的网络协议,能产生复杂、高速的测试流量。但多用于成品测试,很难在网络设备的开发阶段对未完成的设计或是单独的模块进行评估。



技术实现要素:

本发明的流量生成器可灵活配置为多种预定负载和流量模型,可根据网络协议配置发送数据包格式,单端口数据流线速率可达Gbps量级。在测试应用时直接与网络设备连接,通过测试使能既能向被测设备施加能够模拟实际网络流量环境的测试数据包。

本发明在传统的FPGA实现方案之上,对软硬件功能重新划分,提出并实现了基于汇聚过程的一种流量生成器。其特点如下:

1)由硬件描述语言实现流量行为,解除了软硬件接口带宽的限制,端口线速率只与硬件运行速度有关;

2)通过物理建模的方法,设计了基于汇聚过程的流量生成器结构,能对具有典型网络特性的泊松、自相似流量模型进行刻画;

3)流量生成器作为定制模块搭载至测试系统上,提升流量生成器的数据源选择、数据源参数配置、数据包封装格式作为软硬件接口,支持软件实时地修改测试流量;

4)基于FPGA实现的流量生成器,可通过修改施加到被测模块端口的测试流量时序,有效地应用于开发阶段测试。

附图说明

图1为流量生成器结构图。

图2为流量生成器伯努利源结构图。

图3为流量生成器ON/OFF源结构图。。

图4为流量生成器应用环境图。

图5为流量生成器使用流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明采用基于汇聚过程的物理建模方法将数据包到达设备端口的过程划分为数据产生、排队等候、数据到达三个部分,分别对应实际网络中用户流量行为产生、链路汇聚、达到网络设备端口的过程。三个部分完整地刻画了网络系统中数据包产生与传输的过程,在设备端口产生复杂的流量行为。如图1所示为流量生成器结构和每部分对应的硬件设计。

本发明设置了20个独立的数据源G11产生数据生成请求以模拟数据包的产生过程。数据源在每个时钟周期依概率产生一个1位的生成请求,每个请求能使能封装产生一个数据包。通过对软硬件接口寄存器的值进行修改,数据源可在伯努利和ON/OFF模式中实时地切换。基于汇聚过程,伯努利源和重尾分布的ON/OFF源能分别有效地近似于泊松流量和自相似流量。

仲裁设计G12为锁存器和状态机的组合,请求队列G13为先入先出队列。在某一时钟周期有任意数量的生成请求到达共享的请求队列时,仲裁将各个生成请求依次压入宽度为1位、深度为1024的请求队列中,展示了汇聚模型中排队等候的过程。

封装G14属于数据达到过程。测试系统与流量生成器之间设有多个接口寄存器,作为软硬件接口用于封装中数据包格式、目的地址、数据包大小的设置,以支持不同的网络协议。封装在请求队列不空且自身没有服务运行时,从请求队列弹出一个生成请求,封装数据包发送至端口缓存。

本发明的流量生成器可通过软件设置数据源为伯努利模式或ON/OFF模式,通过相互独立的二十个数据源汇聚产生服从泊松分布或是自相似模型的流量行为。

伯努利源结构如图2所示,设计为一个32位M序列的线性反馈移位寄存器LFSR[10]和两个20位数值,分别称为随机值rand和参考值ref。rand为32位LFSR中的低20位,每个时钟周期随LFSR的改变而发生改变。rand和ref共同决定伯努利源产生一个生成请求的概率p。当rand≤ref时,伯努利源产生一个业务请求。ref=p/(20×len)×220,可通过软件进行设置,式中20、len、220分别表示伯努利源个数、数据包长和rand能产生的最大值。

ON/OFF源定义了两个周期交替的ON状态和OFF状态:ON状态,数据源以连续的速率发送数据包;OFF状态,数据源不发送任何数据包。ON状态和OFF状态的时长独立地服从与不同参数下的重尾分布。ON/OFF源结构如图3所示,设有1个14位的随机值rand和19个相同位数的边界值bound对帕累托分布进行拟合。第x个bound定义为ON或OFF的时长为2x的累积概率。ON/OFF源的rand设为32位M序列LFSR的低14位。当boundx-1<randx≤boundx时,当前ON或OFF的时长对应于时长2x。boundx=F(2x)×214,可通过软件进行设置以适用于不同参数的ON/OFF源,式中214表示rand能产生的最大值。计时器用于与ON或OFF的时长进行比对,一个生成器用于产生恒定速率的生成请求。ON状态,生成器每隔len个周期产生一个生成请求,计时器与拟合器0产生的随机时长进行比对,达到后切换至OFF状态,反之亦然。

本发明应用的测试环境如图4所示。在本发明实例中,流量生成器基于PowerPC和FPGA软硬件协同实现,采用C语言编写模块化代码,对PowerPC的软件模块进行设计,采用Verilog HDL编写模块化RTL级代码,对FPGA的硬件模块进行设计。用户可通过配置流量生成器,产生网络设备工作环境中对应的测试流量,通过物理链路与被测交换机相连,为被测交换机的验证测试提供测试数据流输入。

搭配微处理器工作,本发明工作时的流程图如图5所示,包括以下步骤:

S51,Power PC在系统上电后,通过PLB总线对SoC硬件模块进行初始化;

S52,读取用户配置信息,并转化为硬件识别的配置信息,对数据包生成模块进行初始化配置;

S53,流量产生程序根据用户配置信息,产生数据包生成参数并传输至流量生成器交互模块;

S54,使能数据包生成,收集监测器捕获的测试信息。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1