一种精确按照流量模型发送随机长度报文的方法

文档序号:8265602阅读:184来源:国知局
一种精确按照流量模型发送随机长度报文的方法
【技术领域】
[0001] 本发明涉及网络通信领域,尤其涉及一种精确按照给定的流量模型发送报文,且 发送的报文长度为随机值的方法与装置。
【背景技术】
[0002] 在许多数据通信系统中,如IP交换、EPON、以太网等系统中,数据吞吐量、报文延 时等是非常重要的测试指标,这些指标的测试需要模拟实际业务的数据模型。随着三网融 合的发展,单一网络上承载的业务越来越多,在具体报文上表现为报文长度随机可变,报文 流量符合某种统计模型。因此在网络测试中,经常使用能生成随机报文长度,并且能按照特 定流量模型发送报文的装置进行测试。
[0003] 为了精确控制报文的发送速率,需要根据要求的发送速率和报文长度,计算出每 发送一个报文的时间间隔。当报文长度随机变化,同时报文的发送速率也在变化时,若采用 由软件计算出每个报文间隔的方法,因为软件计算速率较低,且实时性不好,无法实现报文 的高速发送;若采用令牌桶的方法,可以实现报文的线速发送,但无法实现对报文发送速率 足够精确的控制。

【发明内容】

[0004] 本发明的目的是解决当发送报文长度随机变化,且报文发送速率也按照给定流量 模型变化时,难以精确控制发送报文速率的问题,提出了一种利用FPGA实现符合给定流量 模型的且报文长度随机变化的以太网报文发送方法。
[0005] 本发明的技术方案为: 一种精确按照流量模型发送随机长度报文的方法,该方法包含以下步骤: 第1、在FPGA内设计一个由PRBS生成器和DSP硬核构成的随机数生成器电路,生成在 指定范围内的随机数,用该随机数作为待发送报文长度d ;具体操作步骤如下: 设置一个16bit的PRBS生成器,生成16bit的伪随机码s ;假设需产生的随机数的下 限值为a,上限值为a加上b的值,由公式(1)计算可得到待发送报文长度d的值;
【主权项】
1. 一种精确按照流量模型发送随机长度报文的方法,其特征在于,该方法包含以下步 骤: 第1、在FPGA内设计一个由PRBS生成器和DSP硬核构成的随机数生成器电路,生成在 指定范围内的随机数,用该随机数作为待发送报文长度d; 第2、在FPGA内设计一个报文速率控制FIFO,用来存储给定流量模型中各阶梯的发包 数量m与发包速率v的倒数再减1的值; 第3、在FPGA内设计一个由报文发送数量计数器、报文间隔小数位累加器和报文间隔 整数位累加器构成的报文间隔计算器,根据所述发包速率v的倒数再减1的值,以及所述待 发送报文长度d,在报文发送过程中实时计算出该报文对应的报文间隔ifg; 第4、在FPGA内设计一个报文发送控制器,当使能报文发送时,根据所述待发送报文长 度d和所述报文间隔ifg,每经过d加上ifg再加上8个时钟周期时,输出报文封装使能控 制信号,用来启动以太网报文数据的封装与发送。
2. 根据权利要求1所述的方法,其特征在于,第1步所述设计一个随机数生成器的具体 步骤如下: 首先设计一个16bit的PRBS生成器,生成16bit的伪随机码s;假设需产生的随机数 的下限值为a,上限值为a加上b的值,则由公式(1)计算可得到待发送报文长度d的值;
公式(1)中的除法运算在FPGA内米用右移16bit的方法实现,乘法运算在FPGA内米 用DSP硬核资源来实现,计算得到d的值需要根据四舍五入的原则留取其整数部分。
3. 根据权利要求1所述的方法,其特征在于,第2步所述设计一个报文速率控制FIFO 的具体步骤如下: 所述报文速率控制FIFO的宽度为72比特,其中比特19到0的值为所述发包速率v的 倒数的小数部分,比特39到20的值为所述发包速率v的倒数的整数部分再减去1的值,比 特71到40表示各流量阶梯下的发包数量m;所述报文速率控制FIFO的深度为n,表示给定 流量模型的阶梯数量; 所述报文速率控制FIFO内的值由软件在启动报文发送前计算,并写入到该FIFO中。
4. 根据权利要求1所述的方法,其特征在于,第3步所述设计一个报文间隔计算器的具 体步骤如下: 所述报文间隔计算器输出的报文间隔ifg由公式(2)计算得到,其中发包速率v的倒 数再减1的值从所述报文速率控制FIFO中读取得到,待发送报文长度d为所述随机数生成 器电路的输出;
为了在FPGA内实现公式(2)中的运算,设置一个位宽为20比特的报文间隔小数位累 加器,其初值为〇,当某一报文开始发送时,所述报文间隔小数位累加器在接下来的d加上 20个时钟周期里,连续累加上从所述报文速率控制FIFO输出数据的比特19到0的值;设 置一个位宽为32比特的报文间隔整数位累加器,当某一报文开始发送时,设置该报文间隔 整数位累加器的初值为12,在接下来的d加上20个时钟周期里连续累加上所述报文速率控 制FIFO输出数据的比特39到20的值,以及所述报文间隔小数位累加器的溢出位的值;最 后将所述报文间隔整数位累加器的值赋值给所述报文间隔ifg的值; 设置一个位宽为32bit的报文发送数量计数器,其初值为0,每发送一个报文该报文发 送计数器累加1,直到该报文发送数量计数器的值与所述报文速率控制FIFO输出的发包数 量m相等时,清零该报文发送数量计数器,同时给出一次对所述报文速率控制FIFO的读操 作。
【专利摘要】一种精确按照流量模型发送随机长度报文的方法。本方法利用通用的PRBS生成电路与FPGA内的DSP硬核资源,产生指定范围内的随机数,用该随机数作为待发送报文长度,再利用两个累加器,与预先存入报文速率控制FIFO中的报文速率的倒数值进行实时计算,得到与每个待发送报文相对应的报文间隔,最后由一个报文发送控制器,按照所述待发送报文长度和所述报文间隔的要求,输出报文封装控制使能信号,实现符合给定流量模型下随机长度报文发送速率的精确控制。应用本方法报文发送速率可精确控制到一个时钟周期的级别,且实现简单,时序易于收敛,资源使用率低。
【IPC分类】H04L12-861, H04L12-815
【公开号】CN104580005
【申请号】CN201510016664
【发明人】陶常勇
【申请人】天津市德力电子仪器有限公司
【公开日】2015年4月29日
【申请日】2015年1月13日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1