CN111541583B - 一种分片报文缓存测试系统、方法及装置 - Google Patents
一种分片报文缓存测试系统、方法及装置 Download PDFInfo
- Publication number
- CN111541583B CN111541583B CN202010311452.7A CN202010311452A CN111541583B CN 111541583 B CN111541583 B CN 111541583B CN 202010311452 A CN202010311452 A CN 202010311452A CN 111541583 B CN111541583 B CN 111541583B
- Authority
- CN
- China
- Prior art keywords
- message
- test
- fragment
- messages
- platform
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书公开了一种分片报文缓存测试系统、方法以及装置,系统中报文处理设备根据测试配置文件初始化后,针对在现有技术中达到缓存时间需要丢弃的报文或者分片报文,进行透传处理,并且对于命中检测策略的分片报文不再通过交换芯片进行转发,而是直接透传至测试平台,最大限度避免了分片转发导致的延时时间。使得测试确定的缓存参数更加准确,避免了报文处理设备中其他部件对缓存参数的影响。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种分片报文缓存测试系统、方法以及装置。
背景技术
报文(message)是网络中进行数据传输时交换与传输的数据单元。设备在接收到报文后,为了保证网络安全或者系统安全,通常需要对报文进行检测。当检测出报文中存在敏感内容或者病毒特征时,可以对报文进行删除、丢弃等处理。当报文的数据包大小大于网络链路最大传输单元时,需要对报文进行划分,得到若干分片报文并进行传输。
目前,随着技术的发展,高传输速度的网络环境对报文检测的提出了更高的要求,报文处理,尤其是分片报文处理的压力越来越大。于是,实际应用中企业单位等需要根据报文处理设备的性能以及对分片报文处理的需求,选择合适的报文处理设备进行网络架设。但是,报文处理设备的性能可能与标称的性能存在一定误差,因此对于要求较高的企业单位来说,需要对报文处理设备的缓存性能进行测试,以确定如何架设网络。
现有对报文处理设备的缓存测试,主要针对报文处理设备对分片报文的缓存数量以及存储时间两项进行测试。其中,缓存数量是指报文处理设备中最大的分片报文存储数量,数量越多则可处理的报文数量越大,网络带宽可以更高。缓存时间是指分片报文存储在缓存中的老化时间,当一个分片报文存储时间达到老化时间时,确认丢弃报文,缓存时间的合理设置可以有效提高报文处理效率。
但是,现有对分片报文的缓存数量测试和缓存时间的测试均是基于全量的分片报文进行测试的。以测试缓存时间为例,测试平台需要预先配置4组流量,分别为:非分片流量、首分片流量、中分片流量以及末分片流量。测试时,同时向报文处理设备发送非分片流量、中分片流量以及末分片流量,在经过报文处理设备设置的缓存时间后,再发送首分片流量,通过报文处理设备端口输出的非分片流量时间戳和分片流量的时间戳,确定实际缓存时间。但是,若在测试是首分片流量在报文处理设备内部出现了转发延时,则测试结果实际为缓存时间+延时时间,并非准确的缓存时间,而测试平台也无法确定是否出现转发延时。同理,对缓存数量的测试也存在类似问题,导致目前测试方法得到的测试结果不够准确。
发明内容
本说明书实施例提供的一种分片报文缓存测试系统、方法及装置,用于部分解决现有技术中存在的问题。
本说明书实施例采用下述技术方案:
本说明书提供的分片报文缓存测试系统,所述系统包括:测试平台以及报文处理设备,其中:
所述报文处理设备,接收测试配置文件,并根据所述测试配置文件进行测试初始化;
所述测试平台,在确定所述报文处理设备初始化后,将测试报文集中的测试报文依次发送至所述报文处理设备;
所述报文处理设备,根据测试初始化后的配置,针对接收到每个测试报文,当该测试报文为非分片报文时,判断该测试报文是否命中检测策略,若是则将该测试报文通过自身对应的接口发送至所述测试平台,若否则将该测试报文透传至所述测试平台;当该测试报文为分片报文,且先处理的是该测试报文的非首分片报文时,判断是否可进行缓存,若是,则缓存该测试报文的非首分片报文存储,并当存储时间达到缓存时间后透传至所述测试平台,若否,则该测试报文的非首分片报文透传至所述测试平台;
所述测试平台,根据接收到的测试报文以及发送的测试报文,确定所述报文处理设备的测试结果。
可选地,所述测试平台,在测试缓存数量时,从所述测试报文集中选择分片报文,作为测试报文;
所述报文处理设备,对接收到的测试报文进行分片,并针对每个分片报文,判断该分片报文是否为首分片报文,若是,则根据该首分片报文的四元组确定该首分片报文对应的接口,通过所述接口发送至所述测试平台,以及存储所述四元组与接口的对应关系,若否,当可进行缓存时,缓存该分片报文,当不可进行缓存时则透传该分片报文;
其中,所述四元组为:报文源地址、报文目的地址、协议号以及报文标识。
可选地,所述报文处理设备,针对每个非首分片报文,确定该非首分片报文的四元组,判断是否存储有与确定出的四元组对应的接口,若是,则通过所述接口将该非首分片报文发送至所述测试平台,若否,则当缓存数量未达到上限时,缓存该非首分片报文,当缓存数量达到上限时,透传该非首分片报文。
可选地,所述报文处理设备在进行缓存数量测试时,不配置缓存时间;
所述测试平台,在接收到透传的非首分片报文时,根据发送的测试报文数量以及接收到的各分片报文,确定报文处理设备的缓存数量。
可选地,所述测试平台,在测试缓存时间时,将非分片报文以及分片报文中的非首分片报文,作为一组测试报文,依次向所述报文处理设备发送各组测试报文;
所述报文处理设备,针对对接收到的每组测试报文,判断该组测试报文中的非分片报文是否命中检测策略,若是则将该非分片报文通过自身对应的接口发送至所述测试平台,若否则将该非分片报文透传至所述测试平台;对该组测试报文中的非首分片报文进行缓存,并在到达缓存时间后透传至所述测试平台。
可选地,针对每组测试报文,设置全局唯一的测试标识,所述测试平台,对接收到的所述报文处理设备发送的报文进行解包,确定接收到的报文的测试标识,以及确定所述报文处理设备发送所述报文的时间戳,当确定接收到测试标识相同的两个报文时,根据所述报文处理设备分别发送所述两个报文的时间戳,确定所述报文处理设备的缓存时间。
可选地,针对每组测试报文,设置全局唯一的测试标识,所述测试平台,确定接收到报文的时间戳,当确定接收到测试标识相同的两个报文时,根据接收所述两个报文的时间戳,确定所述报文处理设备的缓存时间。
本说明书提供的分片报文缓存测试方法,包括:
通过报文处理设备接收测试平台发送测试报文;
当该测试报文为非分片报文时,所述报文处理设备判断该测试报文是否命中检测策略,若是则将该测试报文通过所述报文处理设备自身对应的接口发送至所述测试平台,若否则将该测试报文透传至所述测试平台;
当该测试报文为分片报文,且先处理的是该测试报文的非首分片报文时,所述报文处理设备判断是否可进行缓存,若是,则缓存该测试报文的非首分片报文存储,并当存储时间达到缓存时间后透传至所述测试平台,若否,则该测试报文的非首分片报文透传至所述测试平台;
根据所述测试平台接收到的测试报文以及所述测试平台发送的测试报文,确定所述报文处理设备的测试结果。
本说明书提供的分片报文缓存测试装置,包括:
接收模块,接收测试平台发送的测试报文;
处理模块,当该测试报文为非分片报文时,判断该测试报文是否命中检测策略,若是则将该测试报文通过自身对应的接口发送至所述测试平台,若否则将该测试报文透传至所述测试平台;当该测试报文为分片报文,且先处理的是该测试报文的非首分片报文时,判断是否可进行缓存,若是,则缓存该测试报文的非首分片报文存储,并当存储时间达到缓存时间后透传至所述测试平台,若否,则该测试报文的非首分片报文透传至所述测试平台;
确定模块,根据所述测试平台接收到的测试报文以及所述测试平台发送的测试报文,确定测试结果。
本说明书提供的计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
系统中报文处理设备根据测试配置文件初始化后,针对在现有技术中达到缓存时间需要丢弃的报文或者分片报文,进行透传处理,并且对于命中检测策略的分片报文不再通过交换芯片进行转发,而是直接透传至测试平台,最大限度避免了分片转发导致的延时时间。使得测试确定的缓存参数更加准确,避免了报文处理设备中其他部件对缓存参数的影响。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的分片报文缓存测试系统结构示意图;
图2为本说明书实施例提供的分片报文缓存测试流程示意图;
图3为本说明书实施例提供的分片报文缓存测试流程示意图;
图4为本说明书实施例提供的报文检测装置的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例提供的分片报文缓存测试系统示意图,该系统包括:测试平台100以及报文处理设备102,其中,测试平台100的设备数据接收口(Receive,RX)与报文处理设备102的设备数据传输口(Transmit,TX)连接,报文处理设备102的设备数据接收口(Receive,RX)与测试平台100的设备数据传输口(Transmit,TX)连接。也可认为该报文处理设备102是运行在测试平台100提供的测试环境中的设备。并且,在本说明书中,该报文处理设备102即可接收报文又可发送报文,报文在该报文处理设备可以双向传输报文,因此测试平台100同时作为向该报文处理设备102发送报文以及接收报文的设备。在本说明书中,可视该测试平台100执行步骤的内容,将该测试平台100视为是该报文处理设备102的“前端”,或视为是该报文处理设备102的“后端”。
具体的,在对该报文处理设备102进行测试时,为了减少转换芯片等部件的影响,该测试平台100可向该报文处理设备102发送测试配置文件。该测试配置文件用于使报文处理设备102在接收到报文后不再进行常规的报文处理,而是进行缓存参数测试的报文处理流程。
于是,该报文处理设备102在接收到测试配置文件后,可根据该测试配置文件进行测试初始化。
而该测试平台100在确定该报文处理设备102测试初始化完成后,从测试报文集中,确定用于测试缓存参数的测试报文,并依次发送至报文处理设备102。一般来说,进行缓存时间测试和进行缓存数量测试时,采用的测试报文和测试流程均有差异,同理在本说明提供的系统进行缓存时间测试和进行缓存数量测试时也存在上述差异,为方便理解,下面分别以进行缓存时间测试和进行缓存数量测试的过程进行说明。
在本说明书中,该测试平台100在测试缓存数量时,可从测试报文集中选择分片报文,作为测试报文。依次将测试报文通过自身的TX接口传输到报文处理设备102的RX接口。
其中,该测试报文集中按照需求包含有分片报文以及非分片报文。分片报文为需要进行分片处理才能继续传输的报文。类似的,非分片报文为大小小于网络链路最大传输单元的报文,也就是无需进行分片的报文。首分片报文是指为对报文分片后携带有完整的报文头的分片,非首分片报文是指分片后仅携带部分报文头的分片,具体可为中间分片报文和末分片报文。
报文处理设备102,再通过RX口接收到测试报文后,由于测试报文均为分片报文,因此可先对测试报文进行分片处理。之后针对该分片报文的每个分片,判断该分片是否为首分片报文,若是,则根据该首分片报文的四元组确定该首分片报文对应的TX接口,通过TX接口发送至测试平台100,以及存储所述四元组与TX接口的对应关系,若否,当可进行缓存时缓存该分片报文,当不可进行缓存时则透传该分片报文至测试平台100。
其中,该四元组为报文源地址、报文目的地址、协议号以及报文标识。另外,首分片报文对应的TX接口与透传的TX接口可以不是同一个接口,具体可根据业务逻辑的需要进行设置,当然,无论接口是否一致该报文处理设备102发送的报文均会被测试平台100接收,因此在测试环境下从哪个接口发送并不影响测试。当然,对于测试平台100来说,可以确定RX接口是从报文处理设备102的哪种TX接口接收到数据的。
另外,在该报文处理设备102中,当分片不是首分片报文时,可确定该非首分片报文的四元组,判断报文处理设备102中是否存储有与确定出的四元组对应的TX接口,若是,则说明该非首分片报文对应的首分片报文已经经过检测策略的检测,并已经发送至测试平台100,于是该非首分片报文作为后续的分片可通过相同的TX接口发送至测试平台100,若否,则该报文处理设备102可进一步判断自身缓存器的缓存数量是否达到了上限,若是则透传该非首分片报文至测试平台100,若否则缓存该非首分片报文。
并且,在本说明书中,为了快速准确的确定缓存数量,该报文处理设备102的缓存时间属于干扰项,因此报文处理设备102在在进行缓存数量测试时,可不配置缓存时间,也就说缓存中存储的数据无论多久都不会“老化”,并一直存储在报文处理设备102的缓存器中。当然,这也是通过测试平台100发送的测试配置文件,进行测试初始化配置的设备参数。
则该测试平台100可在家接收到透传的非首分片报文时,停止向报文处理设备102发送测试报文,并根据发送的测试报文数量以及接收到的各测试报文数量,确定报文处理设备102的缓存数量。由于报文处理设备102没有缓存时间的“老化”,因此只要是存储到缓存中的分片会一直存储在报文处理设备102中,对于各测试报文,若该测试报文是首片报文先处理,则该测试报文的所有分片都会通过首片报文对应的接口发送至测试平台100,而对于非首片报文先处理的情况来说,会按照逻辑先将该非首片报文缓存,因此测试平台100直到报文处理设备102的缓存器存储的分片数量达到缓存数量上限之前,不会接收到透传至测试平台100的非首片报文。
因此,对于测试平台100来说当接收到透传的非首分片报文时,说明缓存数量达到上限,可根据发送的测试报文数量以及接收到的各测试报文数量之差,确定未能完整接收到的报文数量,并根据分片规则,确定报文处理设备102的缓存器实际存储的分片数量。
进一步地,在本说明书中,该测试平台100在测试缓存时间时,可将非分片报文以及分片报文中的非首分片报文,作为一组测试报文,也就是说一组测试报文中包含了一个非分片报文,以及一个分片报文中的非首分片报文。测试平台100在测试时,按组依次发送各组测试报文。
则该报文处理设备102,对于接收到的每组测试报文,需要同时进行报文处理。其中,对于非分片报文,报文处理设备102可判断该非分片报文是否命中检测策略,若是则将该非分片报文通过自身对应的TX接口发送至该测试平台100,若否,则将该非分片报文透传至测试平台100。而对于非首分片报文,则由于没有存储四元组与接口的对应关系,因此对该非首分片报文进行缓存处理,并在到达缓存时间后透传至测试平台100。
测试平台100,可对该报文处理设备102发送的报文进行解包,确定接收到的报文的测试标识,以及确定报文处理设备102发送该报文的时间戳,当确定接收到该报文处理设备102发送的测试标识相同的两个报文时,根据测试标识相同的两个报文的时间戳,确定该报文处理设备102发送这两个报文的时间差,将时间差作为报文处理设备102的缓存时间。
具体的,以一组测试报文为例,其中非分片报文无论是否命中检测策略,都会发送至测试平台100,此时测试平台100可对该非分片报文进行解包,确定该非分片报文的内容,具体可确定该非分片报文的测试标识以及报文处理设备102发送该非分片报文的时间戳。同时该组测试报文中的非首分片报文,存储至缓存中并等待到达缓存时间,也就是等待“老化”,当到达缓存时间后,透传至测试平台100,此时测试平台100对该非首分片报文进行解包,确定该非首分片报文的测试标识以及报文处理设备102发送该非首分片报文的时间戳。并且,该测试平台100还可在对非首分片报文解包后,判断是否已经接收到了携带有相同测试标识的非分片报文,若是,则根据携带有相同测试标识非分片报文的时间戳,以及非首分片报文时间戳,确定这两个时间戳之差,作为该报文处理设备102的实际缓存时间。
当然,由于对于每组测试报文来说,该组测试报文中的非分片报文无论是否命中检测策略,都会发送至测试平台100,因此测试平台100如接收到任何一组测试报文中的非首分片报文时,都应该已经接收到了该组测试报文中的非分片报文。于是,在本说明书中,该测试平台100可以根据首次接收到非首分片报文,确定报文处理设备102的实际缓存时间。或者,该测试平台100也可根据接收到的多组测试报文确定出的缓存时间,确定该报文处理设备102的实际缓存时间。例如,将100组测试报文确定出的缓存时间的平均值,作为报文处理设备102的实际缓存时间。当然,如何根据多组数据统计得到相对更加准确的测试结果,现有技术中已经存在多种成熟的方法,本说明书对此不做进一步讨论。具体采用何种方式确定实际缓存时间,可以根据需要设置。
需要说明的是,对于报文处理设备102来说缓存时间是可实时配置的参数,因此可以灵活根据需要改变,并且通常报文处理设备102直接提供了相应的接口,用于改变该缓存时间配置。该报文处理设备102在测试不同缓存参数时操作不同,只是因为发送的测试报文存在区别导致的,当然现有技术中测试缓存数量与测试缓存时间所采用的测试报文也是不同的。主要通过改变报文处理设备102对丢弃报文操作的,将丢弃操作变为透传操作,使得测试效率可以大幅提高,同理将转换芯片的功能也用透传操作代替,减少了转换芯片带来的延时时间。
基于图1所示的分片报文缓存测试系统,系统中报文处理设备根据测试配置文件初始化后,针对在现有技术中达到缓存时间需要丢弃的报文或者分片报文,进行透传处理,并且对于命中检测策略的分片报文不再通过交换芯片进行转发,而是直接透传至测试平台,最大限度避免了分片转发导致的延时时间。使得测试确定的缓存参数更加准确,避免了报文处理设备中其他部件对缓存参数的影响。
另外,上述报文处理设备102判断是否命中检测策略的过程,可以是对敏感词检测的过程,或者是对是访问控制列表(Acess Control List,ACL)策略的匹配等等其他报文检测过程,本说明书对此不做限制,只要检测过程不影响测试即可。
进一步地,在本说明书中该报文处理设备102中可至少包括:处理芯片以及缓存器,其中处理芯片可以是现场可编程门阵列(Field Programmable Gate Array,FPGA),该缓存器可以是先进先出存储器(First Input First Output,FIFO)。
更进一步的,在本说明书中,在对报文处理设备102的缓存时间进行测试时,前述是以报文处理设备102将向该测试平台100发送报文时的时间戳携带在报文中发送为例进行说明的。当然,该报文处理设备102也可不将时间戳携带在报文中,而由该测试平台100在接收报文时记录接收报文的时间戳。则在确定该报文处理设备102的缓存时间时,测试平台100当确定接收到报文处理设备102发送的测试标识相同的两个报文时,确定接收该两个报文的时间戳之差,作为报文处理设备102的实际缓存时间。
基于图1所示的分片报文缓存测试系统,本说明书实施例还对应提供分片报文缓存测试的流程示意图,如图2所示。
图2为本说明书实施例提供的分片报文缓存测试流程示意图,具体可包括以下步骤:
S200:通过报文处理设备接收测试平台发送的测试报文。
S202:当该测试报文为非分片报文时,所述报文处理设备判断该测试报文是否命中检测策略,若是则将该测试报文通过自身对应的接口发送至所述测试平台,若否则将该测试报文透传至所述测试平台。
S204:当该测试报文为分片报文,且先处理的是该测试报文的非首分片报文时,所述报文处理设备判断是否可进行缓存,若是,则缓存该测试报文的非首分片报文存储,并当存储时间达到缓存时间后透传至所述测试平台,若否,则该测试报文的非首分片报文透传至所述测试平台。
S206:根据所述测试平台接收到的测试报文以及所述测试平台发送的测试报文,确定所述报文处理设备的测试结果。
其中,步骤S202和步骤S204可以是并行执行的两个步骤,也就是执行不分先后顺序。需要说明的是,步骤S200~S204可为测试系统中的报文处理设备执行的步骤,而步骤S206具体可由测试系统中的该测试平台执行。当然,该报文处理设备和测试平台均为测试系统中的设备,因此该测试过程是测试系统执行的测试过程。
在本说明书中,该测试过程具体可参考本说明书提供的分片报文缓存测试系统进行测试过程的描述,由于分片报文缓存测试过程已经在前文进行过详细描述,因此可参考前文本文不再重复说明。
另外,本说明书对于该报文处理设备在测试过程中的测试流程,还提供另一种详细流程示意图,如图3所示的,具体包括以下步骤:
S300:报文处理设备接收测试平台依次发送的测试报文。
S301:针对每个测试报文,判断该测试是否为报文的分片,若是则执行步骤S302,否则执行步骤S303;
S302:判断该分片是否为首分片报文,若是则执行步骤S304,否则执行步骤S305;
S303:根据检测策略,判断该报文是否命中检测策略,若是则执行步骤S304,否则执行步骤S306;
S304:根据四元组算法确定接口,并将报文或首分片报文通过所述接口转发至测试平台;
S305:根据缓存器的参数以及当前缓存情况,判断是否可以进行缓存,若是执行步骤S307,否则执行步骤S306;
S306:将报文或非首分片报文透传至所述测试平台;
S307:对非首分片报文进行缓存,并根据缓存器的参数,在到达缓存时间后将该非首分片报文透传至所述测试平台
S308:根据接收到的测试报文以及发送的测试报文,确定测试结果。
无论该报文处理设备是进行哪种测试,均可以按照该详细流程,将接收到的测试平台发送的测试报文进行处理后,再发送至该测试平台,使测试平台确定测试结果。
基于图2所示的分片报文缓存测试过程,本说明书实施例还对应提供分片报文缓存测试装置的结构示意图,如图4所示。
图4为本说明书实施例提供的分片报文缓存测试装置的结构示意图,所述装置包括:
接收模块400,接收测试平台发送的测试报文;
第一处理模块402,当该测试报文为非分片报文时,判断该测试报文是否命中检测策略,若是则将该测试报文通过自身对应的接口发送至所述测试平台,若否则将该测试报文透传至所述测试平台;
第二处理模块404,当该测试报文为分片报文,且先处理的是该测试报文的非首分片报文时,判断是否可进行缓存,若是,则缓存该测试报文的非首分片报文存储,并当存储时间达到缓存时间后透传至所述测试平台,若否,则该测试报文的非首分片报文透传至所述测试平台;
确定模块406,根据所述测试平台接收到的测试报文以及所述测试平台发送的测试报文,确定测试结果。
具体的,该分片报文缓存测试装置可以设置在报文处理设备中,根据测试平台发送的报文,确定该报文处理设备的缓存数量以及缓存时间。由于该测试过程与报文处理设备日常工作状态不同,即与实际接收报文后进行处理的流程不完全一致,因此该分片报文缓存测试装置也可视为是报文处理设备中的一种测试模式,在需要对报文处理设备进行测试时,设置于报文处理设备中进行测试。
可选地,所述测试平台,在测试缓存数量时,从所述测试报文集中选择分片报文,作为测试报文;
所述接收模块400,对接收到的测试报文进行分片,并针对每个分片,判断该分片是否为首分片报文,若是,则根据该首分片报文的四元组确定该首分片报文对应的接口,通过所述接口发送至所述测试平台,以及存储所述四元组与接口的对应关系,若否,当可进行缓存时,缓存该分片报文,当不可进行缓存时则透传该分片报,其中,所述四元组为:报文源地址、报文目的地址、协议号以及报文标识。
可选地,所述第二处理模块404,针对每个非首分片报文,确定该非首分片报文的四元组,判断是否存储有与确定出的四元组对应的接口,若是,则通过所述接口将该非首分片报文发送至所述测试平台,若否,则当缓存数量未达到上限时,缓存该非首分片报文,当缓存数量达到上限时,透传该非首分片报文。
可选地,在进行缓存数量测试时,不配置缓存时间,确定模块406,在接收到透传的非首分片报文时,根据发送的测试报文数量以及接收到的各测试报文数量,确定报文处理设备的缓存数量。
可选地,在测试缓存时间时,将非分片报文以及分片报文中的非首分片报文,作为一组测试报文,依次向所述报文处理设备发送各组测试报文;
所述第二处理模块404,针对对接收到的每组测试报文,判断该组测试报文中的非分片报文是否命中检测策略,若是则将该非分片报文通过自身对应的接口发送至所述测试平台,若否则将该非分片报文透传至所述测试平台;对该组测试报文中的非首分片报文进行缓存,并在到达缓存时间后透传至所述测试平台。
可选地,针对每组测试报文,设置全局唯一的测试标识;
所述确定模块406,对接收到的所述报文处理设备发送的报文进行解包,确定接收到的报文的测试标识,以及确定所述报文处理设备发送所述报文的时间戳,当确定接收到测试标识相同的两个报文时,根据所述报文处理设备分别发送所述两个报文的时间戳,确定所述报文处理设备的缓存时间。
可选地,所述确定模块406,确定接收到报文的时间戳,当确定接收到测试标识相同的两个报文时,根据接收所述两个报文的时间戳,确定所述报文处理设备的缓存时间。
本说明书实施例还提供了计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述缓存测试方法中的任一个。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (10)
1.一种分片报文缓存测试系统,其特征在于,所述系统包括:测试平台以及报文处理设备,其中:
所述报文处理设备,接收测试配置文件,并根据所述测试配置文件进行测试初始化;
所述测试平台,在确定所述报文处理设备初始化后,将测试报文集中的测试报文依次发送至所述报文处理设备;
所述报文处理设备,根据测试初始化后的配置,针对接收到每个测试报文,当该测试报文为非分片报文时,判断该测试报文是否命中检测策略,若是则将该测试报文通过自身对应的接口发送至所述测试平台,若否则将该测试报文透传至所述测试平台;当该测试报文为分片报文,且先处理的是该测试报文的非首分片报文时,判断是否可进行缓存,若是,则缓存该测试报文的非首分片报文,并当存储时间达到缓存时间后透传至所述测试平台,若否,则该测试报文的非首分片报文透传至所述测试平台;
所述测试平台,在进行缓存数量测试时,根据接收到的测试报文与发送的测试报文的数量差异,确定所述报文处理设备的测试结果。
2.如权利要求1所述的系统,其特征在于,所述测试平台,在测试缓存数量时,从所述测试报文集中选择分片报文,作为测试报文;
所述报文处理设备,对接收到的测试报文进行分片,并针对每个分片,判断该分片是否为首分片报文,若是,则根据该首分片报文的四元组确定该首分片报文对应的接口,通过所述接口发送至所述测试平台,以及存储所述四元组与接口的对应关系,若否,当可进行缓存时,缓存该分片报文,当不可进行缓存时则透传该分片报文;
其中,所述四元组为:报文源地址、报文目的地址、协议号以及报文标识。
3.如权利要求2所述的系统,其特征在于,所述报文处理设备,针对每个非首分片报文,确定该非首分片报文的四元组,判断是否存储有与确定出的四元组对应的接口,若是,则通过所述接口将该非首分片报文发送至所述测试平台,若否,则当缓存数量未达到上限时,缓存该非首分片报文,当缓存数量达到上限时,透传该非首分片报文。
4.如权利要求3所述的系统,其特征在于,所述报文处理设备在进行缓存数量测试时,不配置缓存时间;
所述测试平台,在接收到透传的非首分片报文时,根据发送的测试报文数量以及接收到的各测试报文数量,确定报文处理设备的缓存数量。
5.如权利要求1所述的系统,其特征在于,所述测试平台,在测试缓存时间时,将非分片报文以及分片报文中的非首分片报文,作为一组测试报文,依次向所述报文处理设备发送各组测试报文;
所述报文处理设备,针对接收到的每组测试报文,判断该组测试报文中的非分片报文是否命中检测策略,若是则将该非分片报文通过自身对应的接口发送至所述测试平台,若否则将该非分片报文透传至所述测试平台;对该组测试报文中的非首分片报文进行缓存,并在到达缓存时间后透传至所述测试平台。
6.如权利要求5所述的系统,其特征在于,针对每组测试报文,设置全局唯一的测试标识;
所述测试平台,对接收到的所述报文处理设备发送的报文进行解包,确定接收到的报文的测试标识,以及确定所述报文处理设备发送所述报文的时间戳,当确定接收到测试标识相同的两个报文时,根据所述报文处理设备分别发送所述两个报文的时间戳,确定所述报文处理设备的缓存时间。
7.如权利要求5所述的系统,其特征在于,针对每组测试报文,设置全局唯一的测试标识;
所述测试平台,确定接收到报文的时间戳,当确定接收到测试标识相同的两个报文时,根据接收所述两个报文的时间戳,确定所述报文处理设备的缓存时间。
8.一种分片报文缓存测试方法,其特征在于,包括:
通过报文处理设备接收测试平台发送测试报文;
当该测试报文为非分片报文时,所述报文处理设备判断该测试报文是否命中检测策略,若是则将该测试报文通过所述报文处理设备自身对应的接口发送至所述测试平台,若否则将该测试报文透传至所述测试平台;
当该测试报文为分片报文,且先处理的是该测试报文的非首分片报文时,所述报文处理设备判断是否可进行缓存,若是,则缓存该测试报文的非首分片报文,并当存储时间达到缓存时间后透传至所述测试平台,若否,则该测试报文的非首分片报文透传至所述测试平台;
在进行缓存数量测试时,根据所述测试平台接收到的测试报文与所述测试平台发送的测试报文的数量差异,确定所述报文处理设备的测试结果。
9.一种分片报文缓存测试装置,其特征在于,包括:
接收模块,接收测试平台发送的测试报文;
第一处理模块,当该测试报文为非分片报文时,判断该测试报文是否命中检测策略,若是则将该测试报文通过自身对应的接口发送至所述测试平台,若否则将该测试报文透传至所述测试平台;
第二处理模块,当该测试报文为分片报文,且先处理的是该测试报文的非首分片报文时,判断是否可进行缓存,若是,则缓存该测试报文的非首分片报文,并当存储时间达到缓存时间后透传至所述测试平台,若否,则该测试报文的非首分片报文透传至所述测试平台;
确定模块,在进行缓存数量测试时,根据所述测试平台接收到的测试报文与所述测试平台发送的测试报文的数量差异,确定测试结果。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010311452.7A CN111541583B (zh) | 2020-04-20 | 2020-04-20 | 一种分片报文缓存测试系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010311452.7A CN111541583B (zh) | 2020-04-20 | 2020-04-20 | 一种分片报文缓存测试系统、方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541583A CN111541583A (zh) | 2020-08-14 |
CN111541583B true CN111541583B (zh) | 2022-01-04 |
Family
ID=71978816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010311452.7A Active CN111541583B (zh) | 2020-04-20 | 2020-04-20 | 一种分片报文缓存测试系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541583B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112378420A (zh) * | 2020-10-30 | 2021-02-19 | 北斗星通智联科技有限责任公司 | 用于汽车导航测试的信号模拟方法、系统及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780123A (zh) * | 2015-04-28 | 2015-07-15 | 福州瑞芯微电子有限公司 | 一种网络包收发处理装置及其设计方法 |
CN106130821A (zh) * | 2016-07-14 | 2016-11-16 | 杭州华三通信技术有限公司 | 一种检测报文的发送方法及装置 |
CN110380927A (zh) * | 2019-07-08 | 2019-10-25 | 东软集团股份有限公司 | 一种报文延迟测试方法、设备及存储设备、程序产品 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420341B (zh) * | 2008-12-08 | 2011-01-05 | 福建星网锐捷网络有限公司 | 嵌入式系统的处理器性能测试方法和装置 |
US10298508B2 (en) * | 2014-05-14 | 2019-05-21 | Nec Corporation | Communication system, receiving-side apparatus and transmission-side apparatus |
CN106301994B (zh) * | 2015-06-24 | 2023-11-03 | 北京京东尚科信息技术有限公司 | 一种网络通信异常测试方法和装置 |
CN105162726B (zh) * | 2015-09-02 | 2018-05-29 | 南京磐能电力科技股份有限公司 | 基于e1链路的远程sv数据传输和延时补偿方法 |
CN106921531A (zh) * | 2015-12-25 | 2017-07-04 | 中国电信股份有限公司 | 用于网络时延测试的方法、传输综合网管和系统 |
CN106452964A (zh) * | 2016-10-31 | 2017-02-22 | 成都广达新网科技股份有限公司 | 一种网络设备接口缓存测试系统及其测试方法 |
CN107222274B (zh) * | 2017-07-11 | 2020-07-07 | 成都德芯数字科技股份有限公司 | 延时检测方法及系统 |
US10302699B1 (en) * | 2018-02-27 | 2019-05-28 | Amazon Technologies, Inc. | Precise transmission medium delay measurement |
US10979164B2 (en) * | 2018-07-16 | 2021-04-13 | Khalifa University of Science and Technology | Peer-to-peer transparent clocks and methods of estimating skew in peer-to-peer transparent clocks |
CN110784337B (zh) * | 2019-09-26 | 2023-08-22 | 平安科技(深圳)有限公司 | 一种云服务质量监控方法及相关产品 |
-
2020
- 2020-04-20 CN CN202010311452.7A patent/CN111541583B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780123A (zh) * | 2015-04-28 | 2015-07-15 | 福州瑞芯微电子有限公司 | 一种网络包收发处理装置及其设计方法 |
CN106130821A (zh) * | 2016-07-14 | 2016-11-16 | 杭州华三通信技术有限公司 | 一种检测报文的发送方法及装置 |
CN110380927A (zh) * | 2019-07-08 | 2019-10-25 | 东软集团股份有限公司 | 一种报文延迟测试方法、设备及存储设备、程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111541583A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9444737B2 (en) | Packet data processor in a communications processor architecture | |
KR102499335B1 (ko) | 신경망 데이터 처리 장치, 방법 및 전자 장비 | |
CN108600053B (zh) | 一种基于零拷贝技术的无线网络数据包捕获方法 | |
US11836385B2 (en) | High speed data packet flow processing | |
US9569366B2 (en) | System and method to provide non-coherent access to a coherent memory system | |
US9465662B2 (en) | Processor with efficient work queuing | |
US10693787B2 (en) | Throttling for bandwidth imbalanced data transfers | |
US20160350225A1 (en) | Speculative pre-fetch of translations for a memory management unit (mmu) | |
US10896001B1 (en) | Notifications in integrated circuits | |
CN112910802B (zh) | 一种报文处理方法及装置 | |
CN111526134B (zh) | 一种报文检测系统、方法及装置 | |
CN109412897B (zh) | 基于多核处理器及fpga的共享mac实现系统及方法 | |
US20180183733A1 (en) | Receive buffer architecture method and apparatus | |
US20230127722A1 (en) | Programmable transport protocol architecture | |
CN116501657B (zh) | 缓存数据的处理方法、设备及系统 | |
CN111541583B (zh) | 一种分片报文缓存测试系统、方法及装置 | |
CN106411778A (zh) | 数据转发的方法及装置 | |
CN113836048B (zh) | 一种基于fpga内存动态分配的数据交换方法及装置 | |
US11228668B2 (en) | Efficient packet processing for express data paths | |
US10185675B1 (en) | Device with multiple interrupt reporting modes | |
CN115996203A (zh) | 网络流量分域方法、装置、设备和存储介质 | |
CN114338529B (zh) | 五元组规则匹配方法及装置 | |
US10664407B2 (en) | Dual first and second pointer for memory mapped interface communication with lower indicating process | |
CN107707492B (zh) | 一种上报和下发报文的方法及装置 | |
Zhao et al. | High-performance implementation of dynamically configurable load balancing engine on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |