产生随机帧长的系统、方法、介质及电子设备与流程

文档序号:40254044发布日期:2024-12-11 12:44阅读:14来源:国知局
产生随机帧长的系统、方法、介质及电子设备与流程

本发明涉及测试仪器,具体地,涉及一种产生随机帧长的系统、方法、介质及电子设备。


背景技术:

1、不管在研发阶段还是已经量产的网络设备,都需要进行测试以检验其性能和功能是否符合相关的国际规范。网络测试仪是一种常见的对网络设备进行测试的仪器,它通过产生以太网网络流量注入到被测设备,并分析从被测设备返回的以太网网络流量来获得被测设备的信息。

2、在对网络设备进行测试的时候,需要用随机长度的网络帧来模拟真实的网络流量,由于网络帧的长度是有限制的,比如按照国际规范,常规网络帧的长度是64-1518字节,那么需要生成的随机长度网络帧满足两个条件:长度在64-1518字节区间或者其他用户预设的区间。2.从统计结果来看,在区间内的每个帧长度出现的概率是相等的。也就是说,如果收集大量的帧长采样值,它们的平均值应该收敛在最大帧长和最小帧长的平均值。

3、在数字芯片中,随机数的生成一般采用线性反馈移位寄存器(lfsr)的办法。线性反馈移位寄存器的随机数生成效果能满足大部分需要随机数的场合。但是网络帧的随机长度区间存在限制,比如,正常网络帧的长度是64字节-1518字节,jumbo帧的长度最多可以达到64k字节,短帧可以达到64字节以下,比如58字节等等,也就是说网络帧的长度不满足随机数生成器的自然区间边界。

4、举个例子来说,假定需要的随机包长的范围是64字节~1518字节,1518-64=1454。那么所需要的就是寻找一个0~1454的随机数r,如果找到,则将这个数r加上64得到当前的包长。一个16位的随机数生成器,其生成的随机数在0-(2^16-1)之间均匀分布,如果我们用11位的掩码11111111111跟这个16位的随机数相与以后,随机数的区间为0-(2^11-1),也就是说随机数的区间为0-2047,但是我们需要的区间为0-1454区间。如果生成的随机数在0-1454之间称为命中,这个时候生成的随机数可以作为网络帧的长度使用,如果生成的随机数在1455-2047之间,这个时候称为不命中,就不能作为网络帧的长度使用。上面我们已经分析过了,由于数字电路产生随机数的范围总是2的幂次方,所以不命中的概率还是不小的。比如对于64-1518区间的网络帧,其随机长度单次不命中的概率大概为(2047-1454)/2047=28.9%。

5、常规的处理不命中的情况是如果不命中,就取帧长区间的中位数作为网络帧长度。比如对于64-1518区间的网络帧,其中位数为(64+1518)/2=791为网络帧长度。这种做法的明显弊病就是由于不命中的概率较大,就会相应有比较多的平均包长791字节的网络包,不符合随机包长的原则。

6、根据上述分析,由于不命中的概率还是不小的,那么如果不命中的时候就采用区间中值作为网络帧长度,最后会发现随机长度网络帧中,中值长度的比例比较大,违背了所有长度均匀分布的原则。所以,需要一种产生随机帧长的新机制及解决不命中问题的新系统和方法。


技术实现思路

1、针对现有技术中的缺陷,本发明的目的是提供一种处理随机长度生成不命中的全新机制,具体是如果发现不命中时,在前面已经生成的随机长度中按照采样的规则取得当前帧长,满足帧长的随机特性。

2、本发明提供了一种产生随机帧长的系统,包括:随机数生成器、前值寄存器、随机长度历史值fifo模块、长度运算逻辑模块和多路选择器;

3、前值寄存器与多路选择器电连接,用于存储多路选择器的上一次输出;

4、随机长度历史值fifo模块与多路选择器电连接,用于存储多路选择器的历史输出;

5、长度运算逻辑模块同时连接前值寄存器、随机长度历史值fifo模块和多路选择器,用于根据前值寄存器和随机长度历史值fifo模块的输出计算采样值;

6、多路选择器连接长度运算逻辑模块和随机数生成器,用于通过选择不同的数据路径,输出满足随机特性的当前随机值。

7、优选地,随机数生成器采用线性反馈移位寄存器。

8、本发明还提供了一种产生随机帧长的方法,应用上述的产生随机帧长的系统,包括如下步骤:

9、步骤s1,配置随机数生成器的随机数区间和掩码,随机数区间为[lmin-lmax],其中lmax和lmin分别是随机帧长值的上限和下限;

10、步骤s2,获取随机数生成器的当前随机数r,将当前随机数r与掩码进行运算,生成新随机数r1,然后判断新随机数r1是否在随机区间[0,lmax-lmin]之内,若r1在随机区间内,则多路选择器输出(r1+lmin),进入步骤s4;若r1不在随机区间内,则进入步骤s3,

11、步骤s3,从前值寄存器和随机长度历史值fifo模块中各取一个值,通过长度运算逻辑模块进行数学运算得到采样值,多路选择器输出采样值;

12、步骤s4,将多路选择器的输出反馈到前值寄存器和随机长度历史值fifo模块。

13、优选地,步骤s1中,随机数区间为[64,1518],lmin为64,lmax为1518。

14、优选地,步骤s1中,随机数生成器采用线性反馈移位寄存器。

15、优选地,步骤s2中,将当前随机数r与掩码进行位与运算,生成新随机数r1。

16、优选地,步骤s2中,随机区间为[0,1454]。

17、优选地,步骤s3中,将前值寄存器和随机长度历史值fifo模块中取出的值求平均,得到采样值。

18、本发明提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时实现上述的产生随机帧长的方法的步骤。

19、本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现上述的产生随机帧长的方法的步骤。

20、与现有技术相比,本发明具有如下的有益效果:

21、本发明的系统包括随机数生成器、前值寄存器、随机长度历史值fifo模块、长度运算逻辑模块和多路选择器。前值寄存器与多路选择器电连接,用于存储多路选择器的上一次输出;随机长度历史值fifo模块与多路选择器电连接,用于存储多路选择器的历史输出;长度运算逻辑模块同时连接前值寄存器、随机长度历史值fifo模块和多路选择器,用于根据前值寄存器和随机长度历史值fifo模块的输出计算采样值;多路选择器连接长度运算逻辑模块和随机数生成器,用于通过选择不同的数据路径,输出满足随机特性的当前随机值。当随机数生成器生成的随机数不满足要求(不命中)时,从前值寄存器和随机长度历史值fifo模块中各取一个值,通过长度运算逻辑模块计算得到采样值,采样值作为本次的随机帧长值,满足随机特性。

22、本发明在不显著增加硬件复杂度的情况下,开创性提出了一种全新的网络随机包长的新的生成系统、方法、介质和电子设备。本发明能有效避免生成的随机值超出长度区间要求,从而无需采用中值这种折中的方式。解决办法是如果生成的随机帧长不符合预期或特定的要求时,在之前已经成功产生出来的随机帧长的数值中按照采样的规则取得当前帧长,满足帧长的随机特性。

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