一种测试流控设备协议识别能力的方法及装置与流程

文档序号:19105290发布日期:2019-11-12 22:36阅读:118来源:国知局
一种测试流控设备协议识别能力的方法及装置与流程

本申请涉及通信技术领域,特别涉及测试流控设备协议识别能力的方法及装置。



背景技术:

目前,在网络出口处,存在多种网络应用争抢出口带宽的问题。因此,在网络出口处,应用层的流量控制必不可少。其中,流控设备先根据应用层协议特征的不同对流量进行精准的识别,然后再根据应用的重要性来划分可用带宽,最终在应用层实现对带宽资源的合理划分和分配,避免争抢带宽所带来的拥堵。然而,随着网络通信的飞速发展,无论局域网还是外网,其所承载的数据流量日益呈现出复杂化、多元化的趋势。数据流量日益的复杂化与多元化带来了应用层协议的复杂化与多元化。流控设备对应用层协议的识别能力决定着其流量控制的精准性。因此,在流控设备出厂前,需要使用各类现有的应用层协议对流控设备的应用层协议识别能力进行测试,验证其对各类现有的应用层协议是否识别。

现有技术中,测试流控设备对应用层协议的识别能力,首先需要采用业务模拟测试仪器,如:Avalanche,根据测试仪器预设的应用层协议模拟各种网络应用的数据报文;然后再向被测流控设备发送所模拟的数据报文,完成测试过程。可见,现有技术只能模拟测试仪器预设的应用层协议,对于测试仪器未设置的应用层协议,只能等待模拟测试仪器的版本升级后再进行测试。因此,现有的对流控设备的应用层协议识别能力的测试方法,受限于测试仪器预设的应用层协议。



技术实现要素:

本发明实施例提供测试流控设备协议识别能力的方法及装置,用于解决现有的测试方法受限于测试仪器预设的应用层协议的问题。

根据本发明实施例的第一方面,提供一种测试流控设备协议识别能力的方法,其特征在于,所述方法应用于测试客户端,所述测试客户端安装有至少一个待调用的网络应用,所述测试客户端与流控设备相连,所述流控设备部署在测试客户端所处本地网络的网络出口,所述方法包括:

接收并解析测试用例,获得待调用的目标网络应用的应用名称、对目标网络应用的操作指令以及对预期数据报文的预期识别结果,所述预期数据报文为所述目标网络应用在被调用过程中预期收发的数据报文;

按照所述操作指令,调用所述目标网络应用与外部网络进行数据交互,以使所述流控设备对所述目标网络应用收发的实际数据报文进行应用层协议识别,并记录所述实际数据报文的实际识别结果;

从所述流控设备接收所述实际识别结果;

比较所述预期识别结果与所述实际识别结果,如果所述比较的结果为相同,则判定所述实际识别结果对应的实际数据报文所使用的应用层协议被所述流控设备识别。

根据本发明实施例的第一方面,提供一种测试流控设备协议识别能力的装置,其特征在于,所述装置应用于测试客户端,所述测试客户端安装有至少一个待调用的网络应用,所述测试客户端与流控设备相连,所述流控设备部署在测试客户端所处本地网络的网络出口,所述装置包括:

第一接收单元,用于接收测试用例;

解析单元,用于解析所述测试用例,获得待调用的目标网络应用的应用名称、对目标网络应用的操作指令以及对预期数据报文的预期识别结果,所述预期数据报文为所述目标网络应用在被调用过程中预期收发的数据报文;

调用单元,用于按照所述操作指令,调用所述目标网络应用与外部网络进行数据交互,以使所述流控设备对所述目标网络应用收发的实际数据报文进行应用层协议识别,并记录所述实际数据报文的实际识别结果;

第二接收单元,用于从所述流控设备接收所述实际识别结果;

比较单元,用于比较所述预期识别结果与所述实际识别结果,如果所述比较的结果为相同,则判定所述实际识别结果对应的实际数据报文所使用的应用层协议被所述流控设备识别。

由以上技术方案可见,本发明实施例在对流控设备应用层协议的识别测试中,通过在测试客户端引入测试用例和网络应用,以及调用网络应用与流控设备所在的网络出口的外部网络进行数据交互,实现了对网络应用收发数据报文的真实模拟。由于是对网络应用收发数据报文的真实模拟,本发明实施例可选择的应用层协议范围可以通过网络应用和测试用例的添加快速拓展。可见,本发明实施例在测试时不再受限于测试仪器预设的应用层协议。

附图说明

图1为本发明实施例测试流控设备协议识别能力的方法的一个应用场景示意图;

图2为本发明测试流控设备协议识别能力的方法的一个实施例流程图;

图3为本发明测试流控设备协议识别能力的方法的另一个实施例流程图;

图4为本发明测试流控设备协议识别能力的装置所在设备的一种硬件结构图;

图5为本发明测试流控设备协议识别能力的装置的一个实施例框图。

具体实施方式

为了使本技术领域的人员更好的理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中的技术方案作进一步详细的说明。

图1为本发明实施例测试流控设备协议识别能力的方法的一个应用场景示意图。

如图1所示,在该应用场景中,所示测试客户端与流控设备相连,所示流控设备部署在测试客户端所处本地网络的网络出口并与Internet相连。所示测试客户端安装有待调用的网络应用,可以调用该网络应用通过所示流控设备与Internet进行数据交互。所示流控设备用于识别本地网络中网络应用的上网行为以及对本地网络应用的上网行为流量控制。

以对图1中所示的流控设备进行应用层协议识别能力测试为例,现有技术中,首先需要采用业务模拟测试仪器Avalanche模拟本地网络中网络应用的数据报文,然后再向被测流控设备发送所模拟的数据报文,最后统计被测流控设备对所模拟的数据报文的识别情况,完成测试。可见,现有技术只能模拟Avalanche预设的应用层协议,对于Avalanche未设置的应用层协议,只能等待Avalanche的版本升级后再进行测试。因此,现有的对流控设备的应用层协议识别能力的测试方法,受限于Avalanche预设的应用层协议。

本发明实施例在对流控设备应用层协议的识别测试中,通过在测试客户端引入测试用例和网络应用,以及调用网络应用通过流控设备与Internet进行数据交互,实现了对网络应用收发数据报文的真实模拟。由于是对网络应用收发数据报文的真实模拟,本发明实施例可选择的应用层协议范围可以通过网络应用和测试用例的添加快速拓展。可见,本发明实施例在测试时不再受限于测试仪器,例如:Avalanche,预设的应用层协议。

下面结合图1示出的应用场景,对本发明实施例进行详细说明。

参见图2,图2为本发明测试流控设备协议识别能力的方法的一个实施例流程图,该实施例应用于测试客户端,包括以下步骤:

步骤201:接收并解析测试用例,获得待调用的目标网络应用的应用名称、对目标网络应用的操作指令以及对预期数据报文的预期识别结果,所述预期数据报文为所述目标网络应用在被调用过程中预期收发的数据报文。

本步骤中,该测试用例可以按指定的模块制定,所包含的目标网络应用可以是一个,也可是多个。即,该测试用例可以调用一个目标网络应用对流控设备进行测试也可以调用多个目标网络应用对流控设备进行测试。

在一个可选的方式中,上述预期识别结果可以包括上述预期数据报文所对应的网络应用名称,上述预期数据报文在所对应的网络应用中所代表的行为;

步骤202:按照所述操作指令,调用所述目标网络应用与外部网络进行数据交互,以使所述流控设备对所述目标网络应用收发的实际数据报文进行应用层协议识别,并记录所述实际数据报文的实际识别结果。

在一个可选的方式中,上述实际识别结果可以包括上述实际数据报文所对应的网络应用名称,上述实际数据报文在所对应的网络应用中所代表的行为。

在另一个可选的方式中,上述实际识别结果可以由流控设备记录在测试日志中,在测试完成后再由测试客户端从流控设备提取该测试日志。

在另一个可选的方式中,在调用上述目标网络应用与外部网络进行数据交互时,可以保存上述目标网络应用收发的实际数据报文。

步骤203:从所述流控设备接收所述实际识别结果。

步骤204:比较所述预期识别结果与所述实际识别结果,如果所述比较的结果为相同,则判定所述实际识别结果对应的实际数据报文所使用的应用层协议被所述流控设备识别。

在一个可选的方式中,如果所述预期识别结果包括:上述预期数据报文所对应的网络应用名称,上述预期数据报文在所对应的网络应用中所代表的行为;上述实际识别结果包括:上述实际数据报文所对应的网络应用名称,上述实际数据报文在所对应的网络应用中所代表的行为。则上述预期识别结果与所述实际识别结果的比较过程包括:网络应用名称的比较以及数据报文在所对应的网络应用中所代表的行为的比较。

在另一个可选的方式中,如果上述比较的结果为不同,则判定上述实际识别结果对应的实际数据报文所使用的应用层协议未被上述流控设备识别。

在另一个可选的方式中,如果上述测试客户端在调用上述目标网络应用与外部网络进行数据交互时,保存了上述目标网络应用收发的实际数据报文。则在判定上述实际识别结果对应的实际数据报文所使用的应用层协议未被上述流控设备识别后,将上述实际识别结果对应的实际数据报文标记为未识别数据报文,并将该未识别数据报文压缩后发送至测试人员的指定邮箱。

由以上实施例可见,该实施在对流控设备应用层协议的识别测试中,通过在测试客户端引入测试用例和网络应用,以及调用网络应用与流控设备所在的网络出口的外部网络进行数据交互,实现了对网络应用收发数据报文的真实模拟。由于是对网络应用收发数据报文的真实模拟,本发明实施例可选择的应用层协议范围可以通过网络应用和测试用例的添加快速拓展。可见,本发明实施例在测试时不再受限于测试仪器预设的应用层协议。

参见图3,图3为本发明测试流控设备协议识别能力的方法的另一个实施例流程图,该实施例从测试客户端侧对流控设备协议识别能力的测试过程进行了详细描述,包括以下步骤:

步骤301:接收并解析测试用例,获得待调用的目标网络应用的应用名称、对目标网络应用的操作指令以及对预期数据报文的预期识别结果。

本步骤中的预期数据报文为上述目标网络应用在被调用过程中预期收发的数据报文。

在一个可选的方式中,上述预期识别结果包括:上述预期数据报文所对应的网络应用名称,上述预期数据报文在所对应的网络应用中所代表的行为。

步骤302:按照所述操作指令,调用所述目标网络应用与Internet进行数据交互,以使所述流控设备对所述目标网络应用收发的实际数据报文进行应用层协议识别,并在测试日志中记录所述实际数据报文的实际识别结果。

在一个可选的方式中,上述实际识别结果可以包括:上述实际数据报文所对应的网络应用名称,上述实际数据报文在所对应的网络应用中所代表的行为。

步骤303:保存上述目标网络应用收发的实际数据报文。

步骤304:上述数据交互过程完成后,从上述流控设备接收上述测试日志,该测试日志包含上述实际识别结果。

步骤305:对上述测试日志包含的实际识别结果进行遍历。

步骤306:判断当前遍历到的该实际识别结果与其所对应的预期识别结果是否相同,如果是,则执行步骤307,如果否,则执行步骤308。

在一个可选得例子中,上述比较过程可以分为两个方面:第一个方面是,预期数据报文所对应的网络应用名称与通过实际数据报文所识别的网络应用名称的比较;第二个方面是,预期数据报文在所对应的网络应用中所代表的行为与实际数据报文在所对应的网络应用中所代表的行为的比较。

在另一个可选得例子中,如果本步骤的判断为相同则判定该实际识别结果对应的实际数据报文所使用的应用层协议被所述流控设备识别;如果本步骤的判断为不同,则判定该实际识别结果对应的实际数据报文所使用的应用层协议未被所述流控设备识别。

步骤307:删除上述实际识别结果所对应的实际数据报文,执行步骤309。

步骤308:将上述实际识别结果对应的实际数据报文标记为未识别数据报文,执行步骤309。

步骤309:判断对上述测试日志包含的实际识别结果的遍历是否完成,如果是,则执行步骤310,如果否,则执行步骤305。

步骤310:将上述未识别数据报文压缩后发送至测试人员的指定邮箱。

由以上实施例可见,一方面该实施在对流控设备应用层协议的识别测试中,通过在测试客户端引入测试用例和网络应用,以及调用网络应用与流控设备所在的网络出口的外部网络进行数据交互,实现了对网络应用收发数据报文的真实模拟。由于是对网络应用收发数据报文的真实模拟,本发明实施例可选择的应用层协议范围可以通过网络应用和测试用例的添加快速拓展。可见,本发明实施例在测试时不再受限于测试仪器预设的应用层协议;另一方面,该实施例保存了上述目标网络应用收发的实际数据报文,并通过预期识别结果与实际识别结果的比较,从所保存的实际数据报文中筛选出了未识别的数据报文,实现了测试人员对流控设备未识别数据报文的快速定位。可见,本发明实施例提高了对流控设备未识别数据报文的定位效率。

下面通过一个具体的应用实例对本发明实施例进行说明,该应用实例结合图1示出的应用场景进行描述,其中,假设测试客户端上安装有即时通信软件A,通过部署在本地网络出口的流控设备,即时通信软件A可以与Internet进行数据交互。现在假设测试人员需要使用即时通信软件A的应用层协议,对图1中所示的流控设备进行应用层协议识别能力测试。测试过程如下:

测试人员向测试客户端加载测试用例_A,测试客户端解析测试用例_A后得到:

1.即时通信软件A的应用名称;

2.对即时通信软件A的操作指令:登录指令、好友查找指令、文本通信内容发送指令以及文件传输指令;

3.对即时通信软件A在执行上述操作指令过程中预期收发的数据报文的预期识别结果:上述预期数据报文所对应的即时通信软件A的应用名称,上述预期数据报文在所对应的即时通信软件A所代表的行为。

测试客户端通过上述即时通信软件A的应用名称,查找和启动即时通信软件A。按照上述操作指令,调用即时通信软件A通过流控设备与其处于Internet的服务器进行数据交互,完成登录、好友查找、文本通信以及文件传输。测试客户端保存即时通信软件A在上述数据交互过程中收发的所有实际数据报文。同时,当上述实际数据报文通过上述流控设备时,该流控设备对通过的所有实际数据报文进行应用层协议识别,并在测试日志中记录对该实际数据报文的实际识别结果:上述实际数据报文所对应的即时通信软件A的应用名称,上述实际数据报文在所对应的即时通信软件A中所代表的行为。其中,每条实际数据报文对应一个实际识别结果。

上述数据交互过程完成后,测试客户端从上述流控设备接收上述测试日志,对上述测试日志包含的实际识别结果进行遍历,判断当前遍历到的实际识别结果与其所对应的预期识别结果是否相同,并根据该判断结果标记或删除该实际识别结果所对应的数据报文。下面以即时通信软件A在文件传输时与服务器交互的登录报文为例,其实际识别结果与预期识别结果的判断过程如下:

1.当遍历到登录报文所对应的实际识别结果时,调取测试用例中该登录报文所对应的预期识别结果;

2.比较上述预期识别结果中的应用名称与上述实际识别结果中的应用名称是否一致;

3.比较上述预期识别结果中登录报文在即时通信软件A中所代表的行为与上述实际识别结果中登录报文在即时通信软件A中所代表的行为是否一致;

4.发现上述两个比较结果中的应用名称不一致,判定该登录报文未被所述流控设备识别,将该登录报文标记为未识别数据报文。

对上述测试日志包含的实际识别结果的遍历完成后,将上述遍历过程中标记的未识别数据报文压缩,并发送至测试人员的指定邮箱,完成测试过程。

与前述测试流控设备协议识别能力的方法的实施例相对应,本申请还提供了测试流控设备协议识别能力的装置的实施例。

本申请测试流控设备协议识别能力的装置的实施例可以应用在测试客户端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请测试流控设备协议识别能力的装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。

请参考图5,为本发明测试流控设备协议识别能力的装置的一个实施例框图,所述装置应用于测试客户端,所述测试客户端安装有至少一个待调用的网络应用,所述测试客户端与流控设备相连,所述流控设备部署在测试客户端所处本地网络的网络出口,所述装置包括:第一接收单元510,解析单元520,调用单元530,第二接收单元540,比较单元550。

其中,第一接收单元510,用于接收测试用例;

解析单元520,用于解析所述测试用例,获得待调用的目标网络应用的应用名称、对目标网络应用的操作指令以及对预期数据报文的预期识别结果,所述预期数据报文为所述目标网络应用在被调用过程中预期收发的数据报文;

调用单元530,用于按照所述操作指令,调用所述目标网络应用与外部网络进行数据交互,以使所述流控设备对所述目标网络应用收发的实际数据报文进行应用层协议识别,并记录所述实际数据报文的实际识别结果;

第二接收单元540,用于从所述流控设备接收所述实际识别结果;

比较单元550,用于比较所述预期识别结果与所述实际识别结果,如果所述比较的结果为相同,则判定所述实际识别结果对应的实际数据报文所使用的应用层协议被所述流控设备识别。

在一个可选的例子中,所述比较单元550还用于:

如果所述比较的结果为不同,则判定所述实际识别结果对应的实际数据报文所使用的应用层协议未被所述流控设备识别。

在另一个可选的例子中,所述预期识别结果包括:

所述预期数据报文所对应的网络应用名称,所述预期数据报文在所对应的网络应用中所代表的行为;

所述实际识别结果包括:

所述实际数据报文所对应的网络应用名称,所述实际数据报文在所对应的网络应用中所代表的行为。

在另一个可选的例子中,所述装置还包括(图5中未示出):实际数据报文保存单元,实际数据报文标记单元。

其中,实际数据报文保存单元,用于所述调用单元在调用所述目标网络应用与外部网络进行数据交互时,保存所述目标网络应用收发的实际数据报文;

实际数据报文标记单元,用于所述比较单元在判定所述实际识别结果对应的实际数据报文所使用的应用层协议未被所述流控设备识别后,将所述实际识别结果对应的实际数据报文标记为未识别数据报文。

在另一个可选的例子中,所述装置还包括(图5中未示出):未识别数据报文发送单元。

未识别数据报文发送单元,用于将所述未识别数据报文发送至测试人员的指定邮箱。

由以上实施例可见,一方面该实施在对流控设备应用层协议的识别测试中,通过在测试客户端引入测试用例和网络应用,以及调用网络应用与流控设备所在的网络出口的外部网络进行数据交互,实现了对网络应用收发数据报文的真实模拟。由于是对网络应用收发数据报文的真实模拟,本发明实施例可选择的应用层协议范围可以通过网络应用和测试用例的添加快速拓展。可见,本发明实施例在测试时不再受限于测试仪器预设的应用层协议;另一方面,该实施例保存了上述目标网络应用收发的实际数据报文,并通过预期识别结果与实际识别结果的比较,从所保存的实际数据报文中筛选出了未识别的数据报文,实现了测试人员对流控设备未识别数据报文的快速定位。可见,本发明实施例提高了对流控设备未识别数据报文的定位效率。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

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

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