CN103595632A - 一种可调速率的自定义多报文发送系统及其实现方法 - Google Patents
一种可调速率的自定义多报文发送系统及其实现方法 Download PDFInfo
- Publication number
- CN103595632A CN103595632A CN201310596789.7A CN201310596789A CN103595632A CN 103595632 A CN103595632 A CN 103595632A CN 201310596789 A CN201310596789 A CN 201310596789A CN 103595632 A CN103595632 A CN 103595632A
- Authority
- CN
- China
- Prior art keywords
- message
- register
- order digit
- user
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种可调速率的自定义多报文发送系统及其实现方法,包括:接收用户自定义的报文信息数据格式并对接收的报文进行提取的报文自定义单元;在报文中添加测试域并整合成完整的报文后发送至FIFO队列的报文初步生产单元;分析判断所述FIFO队列的状态并通过速率控制补偿算法控制报文的发送速率的速率控制单元;对所述速率控制单元发送来的报文进行帧校验计算后发送至输出接口发送出去的帧校验序列单元。本发明主要用于验证IP网络通信设备的功能、性能等测试指标,通过加设测试域,将被测设备的功能、性能、时延、丢包率等指标测试出来,可直接生成测试报告,用于评估被测设备的网络处理能力。
Description
技术领域
本发明涉及数据通信技术领域,具体的说是涉及一种可调速率的自定义多报文发送系统及其实现方法。
背景技术
随着互联网技术的蓬勃发展,依赖于互联网技术实现的各种业务类型也趋向多样性、复杂性及个性化,各种网络设备也日益丰富起来。各种设备的测试验证工作迎来巨大困难。当前测试设备大多为进口设备,进口设备有丰富的接口、带宽及报文协议,但是相对的价格昂贵;而国内却没有一款符合国内市场需求的测试设备,主要是报文发送算法、报文速率可调算法等很难突破。尽管目前国内也出现了一部分的研究方案,但其算法复杂或很难实现。本发明设计研究了一种能够有效解决超多报文的低速率可调或多报文的高速率可调技术问题的简单实现方法。
发明内容
鉴于已有技术复杂或难以实现,本发明的目的是要提供一种能够实现多协议、多报文的生成、发送等功能,同时支持可调速率的报文发送系统及其实现方法。
为了实现上述目的,本发明的技术方案:
一种可调速率的自定义多报文发送系统,包括:
报文自定义单元,用于接收用户自定义的报文信息数据格式,并按照所述数据格式对接收到的报文进行报文头部信息的提取;
报文初步生产单元,用于将提取后的报文头部信息整合成完整的报文,并在所述报文中添加测试域,随后将所述报文发送至FIFO队列;
速率控制单元,用于分析判断所述FIFO队列是否为空,若不为空,将所述FIFO队列中的报文读出,并通过速率控制补偿算法控制报文的发送速率,进而实现对当前读取的报文丢弃或通过的操作,若有报文通过,则需要将在所述报文的测试域内加入时间戳,并计算所述报文的报文校验,将所述报文校验填写到所述报文报头中;
帧校验序列单元,用于对所述速率控制单元发送来的报文进行帧校验计算,计算出帧校验序列后添加到所述报文测试域的尾部,重新计算报文尾部有效位指示后组成完整的报文发送至输出接口发送出去。
所述的报文头部信息包括用户自定义报文数据流的字节数、协议类型、报文长度、源目的IP、源目的端口以及负载类型。
所述的测试域包括:接口号、流号、时间戳以及保留位。
所述的速率控制补偿算法:包括如下步骤:
S1、将速率控制单元的寄存器清零;
S2、计算1秒内所述用户自定义报文数据流的字节数,若所述字节数出现小数,则将所述字节数取整数;并将取整后的字节数写入寄存器的高位数中,所述寄存器的低位数用于补偿;
S3、每秒内均将所述低位数与上述高位数进行相加后作为新的低位数写入寄存器;同时计算每秒内用户发送过来的报文长度,标记为L,并将报文长度L与寄存器低位数进行比较,如果L大于寄存器低位数,该报文不通过,如果L小于或等于寄存器低位数,该报文通过,同时将低位数与报文长度L相减后,将所得数据写入低位数中;重复进行S3中的计算比较操作直至用户停止发送报文;
S4、最后当用户停止发送报文时,寄存器低位数清零待用。
所述的寄存器优选64位寄存器,包括高32位数以及低32位数,其中低32位数用于补偿。
一种可调速率的自定义多报文发送实现方法,包括:
接收用户自定义的报文信息数据格式,并按照所述数据格式对接收到的报文进行报文头部信息的提取;
将提取后的报文头部信息整合成完整的报文,并在该报文中添加测试域,随后将该报文发送至FIFO队列;
分析判断所述FIFO队列是否为空,若不为空,将所述FIFO队列中的报文读出,并通过速率控制补偿算法控制报文的发送速率,进而实现对当前读取的报文丢弃或通过的操作,若有报文通过,则需要将在所述报文的测试域内加入时间戳,并计算所述报文的报文校验,将所述报文校验填写到所述报文报头中;
对所述速率控制单元发送来的报文进行帧校验计算,计算出帧校验序列后添加到所述报文的测试域的尾部,重新计算报文尾部有效位指示后,组成完整的报文发送至输出接口发送出去。
所述的报文头部信息包括用户自定义报文数据流的字节数、协议类型、报文长度、源目的IP、源目的端口以及负载类型。
所述的测试域包括:接口号、流号、时间戳以及保留位。
所述的速率控制补偿算法:包括如下步骤:
S1、进行寄存器清零处理;
S2、计算1秒内所述用户自定义报文数据流的字节数,若所述字节数出现小数,则将所述字节数取整数;并将取整后的字节数写入寄存器的高位数中,所述寄存器的低位数用于补偿;
S3、每秒内均将所述低位数与上述高位数进行相加后作为新的低位数写入寄存器;同时计算每秒内用户发送过来的报文长度,标记为L,并将报文长度L与寄存器低位数进行比较,如果L大于寄存器低位数,该报文不通过,如果L小于或等于寄存器低位数,该报文通过,同时将低位数与报文长度L相减后,将所得数据写入低位数中;重复进行S3中的计算比较操作直至用户停止发送报文;
S4、最后当用户停止发送报文时,寄存器低位数清零待用。
所述的寄存器优选64位寄存器,包括高32位数以及低32位数,中低32位数用于补偿。
与现有技术相比,本发明的有益效果:本发明主要用于验证IP网络通信设备的功能、性能等测试指标,通过加设测试域,将被测设备的功能、性能、时延、丢包率等指标测试出来,可直接生成测试报告,用于评估被测设备的网络处理能力;可再通过修改,支持更多报文,且支持多个接口,因此实现了报文数的接口独享或共享设计,用来满足个性化需求。
附图说明
图1为本发明的测试域格式结构图;
图2为本发明的报文结构示意图;
图3为本发明速度控制补偿算法流程图;
图4为实施例数据流程图。
具体实施方式
下面结合附图以及具体的实施例进一步说明本发明的技术方案:
一种可调速率的自定义多报文发送系统,包括:报文自定义单元、报文初步生产单元、速率控制单元以及帧校验序列单元。
所述报文自定义单元,用于接收用户自定义的报文信息数据格式,并按照所述数据格式对接收到的报文进行报文头部信息的提取;
所述报文初步生产单元,用于将提取后的报文头部信息整合成完整的报文,并在所述报文中添加测试域,随后将所述报文发送至速率控制单元的FIFO队列,所述的测试域包括:接口号、流号、时间戳以及保留位,如图1所示,所述测试域可采用MS计数写入,其位数可以为16bit,所述的保留位用于对上述信息的扩展;
所述速率控制单元,包括FIFO队列、寄存器以及判断器,判断器分析判断所述FIFO队列是否为空,若不为空,将所述FIFO队列中的报文读出,并通过速率控制补偿算法控制报文的发送速率,进而实现对当前读取的报文丢弃或通过的操作,若有报文通过,则需要将在所述报文的测试域内加入新的时间戳,并计算所述报文的报文校验,将所述报文校验填写到所述报文报头中;
帧校验序列单元,用于对所述速率控制单元发送来的报文进行帧校验计算,计算出帧校验序列后添加到所述报文测试域的尾部,重新计算报文尾部有效位指示后组成完整的报文发送至输出接口发送出去。
所述的报文头部信息包括用户自定义报文数据流的字节数、协议类型、报文长度、源目的IP、源目的端口以及负载类型,其中负载类型可以自定义负载背景数据,如全1、全0等。
所述的速率控制补偿算法:如图3所示,包括如下步骤:
S1、将速率控制单元的寄存器清零,所述的寄存器优选64位寄存器,包括高32位数以及低32位数,其中低32位数用于补偿;
S2、计算1秒内所述用户自定义报文数据流的字节数,若所述字节数出现小数,则将所述字节数取整数;并将取整后的字节数写入寄存器的高32位数中,所述寄存器的低32位数用于补偿;
S3、每秒内均将所述低32位数与上述高32位数进行相加后作为新的低32位数写入寄存器;同时计算每秒内用户发送过来的报文长度,标记为L,并将报文长度L与寄存器低32位数进行比较,如果L大于寄存器低32位数,该报文不通过,如果L小于或等于寄存器低32位数,该报文通过,同时将低32位数与报文长度L相减后,将所得数据写入低32位数中;重复进行S3中的计算比较操作直至用户停止发送报文;
S4、最后当用户停止发送报文时,寄存器32低位数清零待用。
通过上面的算法,可以实现准确的1Kbps到1Gbps的可调速率。每秒之间的发送报文最大差值为1个报文,主要是补偿算法的作用。
所述的可调速率的自定义多报文发送实现方法,包括:
接收用户自定义的报文信息数据格式,并按照所述数据格式对接收到的报文进行报文头部信息的提取;
将提取后的报文头部信息整合成完整的报文,并在该报文中添加测试域,随后将该报文发送至FIFO队列;
分析判断所述FIFO队列是否为空,若不为空,将所述FIFO队列中的报文读出,并通过速率控制补偿算法控制报文的发送速率,进而实现对当前读取的报文丢弃或通过的操作,若有报文通过,则需要将在所述报文的测试域内加入时间戳,并计算所述报文的报文校验,将所述报文校验填写到所述报文报头中;
对所述速率控制单元发送来的报文进行帧校验计算,计算出帧校验序列后添加到所述报文的测试域的尾部,重新计算报文尾部有效位指示后,组成完整的报文发送至输出接口发送出去。
所述的速率控制补偿算法:包括如下步骤:
S1、进行寄存器清零处理,所述的寄存器优选64位寄存器,包括高32位数以及低32位数,中低32位数用于补偿;
S2、计算1秒内所述用户自定义报文数据流的字节数,若所述字节数出现小数,则将所述字节数取整数;并将取整后的字节数写入寄存器的高32位数中,所述寄存器的低32位数用于补偿;
S3、每秒内均将所述低32位数与上述高32位数进行相加后作为新的低32位数写入寄存器;同时计算每秒内用户发送过来的报文长度,标记为L,并将报文长度L与寄存器低32位数进行比较,如果L大于寄存器低32位数,该报文不通过,如果L小于或等于寄存器低32位数,该报文通过,同时将低32位数与报文长度L相减后,将所得数据写入低32位数中;重复进行S3中的计算比较操作直至用户停止发送报文;
S4、最后当用户停止发送报文时,寄存器低位数清零待用。
经过上述过程,所述的报文其完整的报文结构如图2所示。
具体实施例:报文自定义单元接收用户自定义的报文信息数据格式,并按照所述数据格式对接收到的报文进行报文头部信息的提取,如图4所示,用户发送A、B、C三个报文,提取后分别保存到报文自定义单元(PPU单元)的RAM中;报文初步生产单元(PCU单元)从报文自定义单元中获得A报头,将提取后的A报头整合成完整的生成An报文,如此类推,分别生成Bn,Cn报文,并在上述报文中添加测试域,随后将上述报文发送至速率控制单元的FIFO队列;速率控制单元(RCU单元)的判断器分析判断所述FIFO队列是否为空,若不为空,将所述FIFO队列中的三个报文依次读出,假设Bn报文由于速率超过上限被主动丢弃。速率控制单元同时将报文An和Cn的测试域(TestBlock)的时间戳改变,加入新的时间戳,并计算所述报文的报文校验,将所述报文校验填写到所述报文报头中,生成Af和Cf,发送给帧校验序列单元(FU单元);帧校验序列单元计算出帧校验序列(FCS)后,直接添加在Af和Cf的报文尾部,重新计算报文尾部有效位指示并组成完整的报文Ap和Cp报文,发送至输出接口,再发送到被测试设备中,从而完成本时刻的报文发送。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种可调速率的自定义多报文发送系统,包括:
报文自定义单元,用于接收用户自定义的报文信息数据格式,并按照所述数据格式对接收到的报文进行报文头部信息的提取;
报文初步生产单元,用于将提取后的报文头部信息整合成完整的报文,并在所述报文中添加测试域,随后将所述报文发送至FIFO队列;
速率控制单元,用于分析判断所述FIFO队列是否为空,若不为空,将所述FIFO队列中的报文读出,并通过速率控制补偿算法控制报文的发送速率,进而实现对当前读取的报文丢弃或通过的操作,若有报文通过,则需要将在所述报文的测试域内加入时间戳,并计算所述报文的报文校验,将所述报文校验填写到所述报文报头中;
帧校验序列单元,用于对所述速率控制单元发送来的报文进行帧校验计算,计算出帧校验序列后添加到所述报文测试域的尾部,重新计算报文尾部有效位指示后组成完整的报文发送至输出接口发送出去。
2.根据权利要求1所述的可调速率的自定义多报文发送系统,其特征在于:所述的报文头部信息包括用户自定义报文数据流的字节数、协议类型、报文长度、源目的IP、源目的端口以及负载类型。
3.根据权利要求1所述的可调速率的自定义多报文发送系统,其特征在于:所述的测试域包括:接口号、流号、时间戳以及保留位。
4.根据权利要求1所述的可调速率的自定义多报文发送系统,其特征在于:所述的速率控制补偿算法:包括如下步骤:
S1、将速率控制单元的寄存器清零;
S2、计算1秒内所述用户自定义报文数据流的字节数,若所述字节数出现小数,则将所述字节数取整数;并将取整后的字节数写入寄存器的高位数中,所述寄存器的低位数用于补偿;
S3、每秒内均将所述低位数与上述高位数进行相加后作为新的低位数写入寄存器;同时计算每秒内用户发送过来的报文长度,标记为L,并将报文长度L与寄存器低位数进行比较,如果L大于寄存器低位数,该报文不通过,如果L小于或等于寄存器低位数,该报文通过,同时将低位数与报文长度L相减后,将所得数据写入低位数中;重复进行S3中的计算比较操作直至用户停止发送报文;
S4、最后当用户停止发送报文时,寄存器低位数清零待用。
5.根据权利要求4所述的可调速率的自定义多报文发送系统,其特征在于:所述的寄存器优选64位寄存器,包括高32位数以及低32位数,其中低32位数用于补偿。
6.一种根据权利要求1所述的可调速率的自定义多报文发送实现方法,其特征在于:包括:
接收用户自定义的报文信息数据格式,并按照所述数据格式对接收到的报文进行报文头部信息的提取;
将提取后的报文头部信息整合成完整的报文,并在该报文中添加测试域,随后将该报文发送至FIFO队列;
分析判断所述FIFO队列是否为空,若不为空,将所述FIFO队列中的报文读出,并通过速率控制补偿算法控制报文的发送速率,进而实现对当前读取的报文丢弃或通过的操作,若有报文通过,则需要将在所述报文的测试域内加入时间戳,并计算所述报文的报文校验,将所述报文校验填写到所述报文报头中;
对所述速率控制单元发送来的报文进行帧校验计算,计算出帧校验序列后添加到所述报文的测试域的尾部,重新计算报文尾部有效位指示后,组成完整的报文发送至输出接口发送出去。
7.根据权利要求6所述的可调速率的自定义多报文发送实现方法,其特征在于:所述的报文头部信息包括用户自定义报文数据流的字节数、协议类型、报文长度、源目的IP、源目的端口以及负载类型。
8.根据权利要求6所述的可调速率的自定义多报文发送实现方法,其特征在于:所述的测试域包括:接口号、流号、时间戳以及保留位。
9.根据权利要求6所述的可调速率的自定义多报文发送实现方法,其特征在于:所述的速率控制补偿算法:包括如下步骤:
S1、进行寄存器清零处理;
S2、计算1秒内所述用户自定义报文数据流的字节数,若所述字节数出现小数,则将所述字节数取整数;并将取整后的字节数写入寄存器的高位数中,所述寄存器的低位数用于补偿;
S3、每秒内均将所述低位数与上述高位数进行相加后作为新的低位数写入寄存器;同时计算每秒内用户发送过来的报文长度,标记为L,并将报文长度L与寄存器低位数进行比较,如果L大于寄存器低位数,该报文不通过,如果L小于或等于寄存器低位数,该报文通过,同时将低位数与报文长度L相减后,将所得数据写入低位数中;重复进行S3中的计算比较操作直至用户停止发送报文;
S4、最后当用户停止发送报文时,寄存器低位数清零待用。
10.根据权利要求6所述的可调速率的自定义多报文发送实现方法,其特征在于:所述的寄存器优选64位寄存器,包括高32位数以及低32位数,其中低32位数用于补偿。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310596789.7A CN103595632B (zh) | 2013-11-20 | 2013-11-20 | 一种可调速率的自定义多报文发送系统及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310596789.7A CN103595632B (zh) | 2013-11-20 | 2013-11-20 | 一种可调速率的自定义多报文发送系统及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103595632A true CN103595632A (zh) | 2014-02-19 |
CN103595632B CN103595632B (zh) | 2017-01-04 |
Family
ID=50085621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310596789.7A Expired - Fee Related CN103595632B (zh) | 2013-11-20 | 2013-11-20 | 一种可调速率的自定义多报文发送系统及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103595632B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113644998A (zh) * | 2021-08-23 | 2021-11-12 | 烽火通信科技股份有限公司 | 一种5g网络的ioam时延测量方法和装置 |
CN113766447A (zh) * | 2021-08-31 | 2021-12-07 | 四川华能泸定水电有限公司 | 振冲施工现场通信系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859222A (zh) * | 2005-08-09 | 2006-11-08 | 华为技术有限公司 | 报文生成方法 |
CN101247294A (zh) * | 2008-03-14 | 2008-08-20 | 北京星网锐捷网络技术有限公司 | 测试数据生成方法及装置 |
CN101478539A (zh) * | 2008-12-31 | 2009-07-08 | 华为技术有限公司 | 一种防止网络攻击的方法和网络设备 |
-
2013
- 2013-11-20 CN CN201310596789.7A patent/CN103595632B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859222A (zh) * | 2005-08-09 | 2006-11-08 | 华为技术有限公司 | 报文生成方法 |
CN101247294A (zh) * | 2008-03-14 | 2008-08-20 | 北京星网锐捷网络技术有限公司 | 测试数据生成方法及装置 |
CN101478539A (zh) * | 2008-12-31 | 2009-07-08 | 华为技术有限公司 | 一种防止网络攻击的方法和网络设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113644998A (zh) * | 2021-08-23 | 2021-11-12 | 烽火通信科技股份有限公司 | 一种5g网络的ioam时延测量方法和装置 |
CN113644998B (zh) * | 2021-08-23 | 2023-06-09 | 烽火通信科技股份有限公司 | 一种5g网络的ioam时延测量方法和装置 |
CN113766447A (zh) * | 2021-08-31 | 2021-12-07 | 四川华能泸定水电有限公司 | 振冲施工现场通信系统及方法 |
CN113766447B (zh) * | 2021-08-31 | 2023-07-21 | 四川华能泸定水电有限公司 | 振冲施工现场通信系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103595632B (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huo et al. | A SDN‐based fine‐grained measurement and modeling approach to vehicular communication network traffic | |
US9042839B2 (en) | Mobile communication terminal test system and mobile communication terminal test method | |
CN105530697B (zh) | 一种支持工业物联网业务时间同步方法 | |
CN101964727B (zh) | 一种利用混合报文测量可用带宽的方法和装置 | |
CN102045222A (zh) | 网络系统实时整体测试的方法 | |
CN103297282A (zh) | 网络时延测量装置及方法 | |
CN102611620A (zh) | 拥塞控制方法和报文处理设备 | |
CN105610641B (zh) | 一种基于半实物仿真的交换机测试系统及其测试方法 | |
CN101771585A (zh) | 一种网络延时测量设备及其方法 | |
CN102984035A (zh) | 网络数据丢包率的环回测试方法及系统 | |
CN107995130A (zh) | 一种分片报文的快转方法 | |
CN101656653A (zh) | 一种应用于多路径传输的接收缓存配置方法及装置 | |
CN105207954A (zh) | 发送数据包和吞吐量测试方法及装置 | |
CN105656708A (zh) | 单板测试方法及装置 | |
CN102201949B (zh) | 一种测试网络设备转发性能的系统及方法 | |
CN106789437B (zh) | 报文的处理方法、转发方法、相关装置及丢包率测量方法 | |
CN103326901A (zh) | 一种电力系统宽带网络性能测试方法及系统 | |
CN101674485B (zh) | 一种打包复用码流选择输出装置和方法 | |
CN103595632A (zh) | 一种可调速率的自定义多报文发送系统及其实现方法 | |
CN110248379A (zh) | 无线局域网中基站的性能测试方法及装置 | |
CN104104559A (zh) | 一种e1误码仪系统 | |
CN102056195A (zh) | 一种业务质量的确定方法和无线接入网络设备 | |
CN111935767A (zh) | 一种网络仿真系统 | |
CN106452964A (zh) | 一种网络设备接口缓存测试系统及其测试方法 | |
Panchadcharam et al. | Evaluation of throughput and latency performance for medium voltage and low voltage communication infrastructures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170104 Termination date: 20191120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |