网络时间协议压力测试方法和装置与流程

文档序号:23426103发布日期:2020-12-25 11:55阅读:258来源:国知局
网络时间协议压力测试方法和装置与流程

本发明涉及通信技术领域,特别涉及一种网络时间协议压力测试方法和装置。



背景技术:

网络时间协议(ntp)是目前internet上最常用的时间同步方式。ntp协议可以将计算机的时间同步到某些时间标准,适应各种规模、速度和连接通路状况的互联网环境,因此ntp协议作为时间同步工具在互联网中得到了广泛的应用。

然而,随着ntp服务需求的增加,对ntp服务器的性能提出了更高的要求,也需要对ntp服务器响应能力进行合理的评估。

目前软件模拟,以及ntp时间综合分析仪模拟ntp请求报文的方法,均不能满足ntp服务器的处理能力测试的需求。



技术实现要素:

有鉴于此,本申请提供一种网络时间协议压力测试方法和装置,能够实现高速率的ntp服务器压力测试。

为解决上述技术问题,本申请的技术方案是这样实现的:

在一个实施例中,提供了一种网络时间协议压力测试方法,所述方法包括:

获取客户端向网络时间协议ntp服务器发送的ntp请求报文;

通过控制软件根据所述ntp请求报文构建ntp模拟请求报文;

将构建的ntp模拟请求报文按照设置的报文发送速率n通过硬件方式发送给被测ntp服务器;

接收所述被测ntp服务器响应的ntp响应报文,并计算接收到的ntp响应报文的速率m;

根据n和m确定所述被测ntp服务器的响应能力。

在另一个实施例中,提供了一种网络时间协议压力测试装置,所述装置包括:配置单元、获取单元、构建单元、发送单元、接收单元、计算单元和确定单元;

所述配置单元,用于配置报文发送速率;

所述获取单元,用于获取客户端向网络时间协议ntp服务器发送的ntp请求报文;

所述构建单元,用于通过控制软件根据所述获取单元获取的ntp请求报文构建ntp模拟请求报文;

所述发送单元,用于将所述构建单元构建的ntp模拟请求报文按照所述配置单元设置的报文发送速率n通过硬件方式发送给被测ntp服务器;

所述接收单元,用于接收ntp响应报文;

所述计算单元,用于计算所述接收单元接收到的所述被测ntp服务器响应的ntp响应报文的速率m;

所述确定单元,用于根据所述配置单元配置的n和所述计算单元计算的m确定所述被测ntp服务器的响应能力。

在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述网络时间协议压力测试方法的步骤。

在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述网络时间协议压力测试方法的步骤。

由上面的技术方案可见,上述实施例中根据获取客户端向ntp服务器发送的ntp请求报文,通过控制软件重新根据ntp请求报文构建ntp模拟请求报文,将所述ntp模拟请求报文按照设置的报文发送速率通过硬件方式发送给被测ntp服务器。该方案能够实现高速率的ntp服务器压力测试。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为ntp协议同步原理示意图;

图2为本申请实施例中网络时间协议压力测试流程示意图;

图3为本申请实施例中获取ntp请求报文的系统示意图;

图4为本申请实施例中构建ntp模拟请求报文的流程示意图;

图5为ntp请求报文的结构示意图;

图6为本申请实施例中构建的ntp模拟请求报文的结构示意图;

图7为以太网分析仪自环测试拓扑示意图;

图8为基于单端口的ntp服务器响应能力测试拓扑示意图;

图9为基于多端口的ntp服务器响应能力测速拓扑示意图;

图10为本申请实施例中应用于上述技术的结构示意图;

图11为本发明实施例提供的电子设备的实体结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。

下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

本申请实施例中提供一种网络时间协议压力测试方法,应用于以太网分析仪上,根据获取客户端向ntp服务器发送的ntp请求报文,通过控制软件重新根据ntp请求报文构建ntp模拟请求报文,将所述ntp模拟请求报文按照设置的报文发送速率通过硬件方式发送给被测ntp服务器。该方案能够实现高速率的ntp服务器压力测试。

本申请实施例中具体实现时,对以太网分析仪类型不进行限制,如可以为testcenter类型的以太网分析仪。

本申请实施例中涉及到的ntp基本流程如下:

slaveclock和masterclock通过网络相连,它们都有自己独立的系统时钟,需要通过ntp实现各自系统时钟的自动同步。假设客户端slaveclock要向服务器masterclock请求时间服务,则参见图1,图1为ntp协议同步原理示意图。具体步骤如下:

1.slaveclock发送一个ntp请求报文(ntpmessage(t1))给masterclock,该报文带有它离开slaveclock时的时间戳,该时间戳为t1;

2.当此ntp请求报文到达masterclock时,masterclock记录报文到达的时间戳,该时间戳为t2;

3.masterclock收到ntp请求报文后,返回ntp响应报文(ntpmessage(t1、t2、t3)),当ntp响应报文离开masterclock时,masterclock再加上自己的时间戳,该时间戳为t3;

4.当slaveclock接收到该响应报文时,slaveclock记录报文到达的时间戳,该时间戳为t4;

5.假设网络来回时延一致的情况下,slaveclock可通过公式(1)和(2)计算出主从时钟的时间偏差δt和链路时延l:

下面给出客户端发送ntp请求,ntp服务器进行响应的步骤:

第一步、客户端连接到ntp服务器。

ntp客户端通常需要与服务器的ip端口建立地址解析协议(addressresolutionprotocol,arp)连接。

第二步、发送ntp请求报文。

通过报文解析和cpu处理,客户端向服务器发送一个请求报文,请求报文由通用帧格式、客户端标识、客户端时间信息等部分组成。

第三步、ntp服务器接收ntp请求报文并返回ntp响应报文。

服务器解析请求,定位请求资源,并将资源复本写到报文响应字段。响报文由通用帧格式、服务器标识、服务器相应时间等部分组成。

第四步、客户端解析ntp响应报文内容。

客户端处理器首先解析响应报文,查看报文中的时间信息。然后结合服务器响应报文的接收时间,根据ntp主从时间差原理,计算出主从时间差。

下面结合附图,详细说明本申请实施例中实现网络时间协议压力测试过程。

参见图2,图2为本申请实施例中网络时间协议压力测试流程示意图。具体步骤为:

步骤201,获取客户端向ntp服务器发送的ntp请求报文。

本申请实施例中获取的客户端向ntp服务器发送的ntp请求报文,即为常规的协议标准中的ntp请求报文,这里的ntp服务器可以为被测ntp服务器,也可以是其他ntp服务器,本申请实施例中不进行限制。

对获取ntp请求报文的方式也不进行限制,具体实现时,如可以使用预先存储的ntp请求报文,也可以是一个客户端正在于ntp服务器通信时,获取客户端发送给所述ntp服务器的ntp请求报文,针对这种方式可以通过但不限于下述获取方式:

参见图3,图3为本申请实施例中获取ntp请求报文的系统示意图。在ntp客户端和ntp服务器通行的以太通道之间接入路由器,用于分路出客户端发送给ntp服务器的ntp请求报文。

抓包设备使用抓包工具抓取客户端向ntp服务器发送的ntp请求报文,即抓取路由器分路出来的ntp请求报文。

本申请实施例中对抓包工具不进行限制,如可以使用wireshark等。

所述抓包设备可以为安装抓包工具的一台设备上,如服务器、pc等,也可以为安装抓包工具的以太网分析仪。

步骤202,通过控制软件根据所述ntp请求报文方式构建ntp模拟请求报文。

参见图4,图4为本申请实施例中构建ntp模拟请求报文的流程示意图。具体步骤为:

步骤401,解析ntp请求报文,获取所述ntp请求报文的帧结构。

在解析所述ntp请求报文时,具体可以包括:分析报文的字段结构,去除以太报文头,提取ntp协议内容。

步骤402,根据所述帧结构设置ntp模拟请求报文相应的字段。

步骤403,将所述ntp请求报文中与所述ntp模拟请求报文的字段对应的内容复制到所述字段生成ntp模拟请求报文。

在具体实现时通过以太网分析仪的报文构造功能构造ntp模拟请求报文的字段,并复制填充字段的具体内容。

其中,所述字段包括:以太帧类型、ip协议、udp协议和请求数据内容。

在数据请求内容中包含ntp协议版本号。

参见图5,图5为ntp请求报文的结构示意图。图5中给出了各相应字段(以太帧类型、ip协议、udp协议和请求数据内容)对应的内容。

参见图6,图6为本申请实施例中构建的ntp模拟请求报文的结构示意图。对应的字段分别为以太帧类型(ethernetii)、ip协议(ipv4)、udp协议(udp)和请求数据内容(customheader)。

在具体实现时,还需通过以太网分析仪控制软件设置物理层参数,包括传输媒介类型:铜缆/光缆,传输速率、全/半双工。

步骤203,将构建的ntp模拟请求报文按照设置的报文发送速率n通过硬件方式发送给被测ntp服务器。

本实施例中基于硬件的方式实现报文的发送,不需要像软件实现时进行缓存,因此,能够达到无时延的效果。

以太网分析仪通过其控制软件控制底层硬件,如向硬件发送指令,使硬件按照指令进行报文发送,在报文发送时,能够达到指定的报文发送速率,不受cpu多线程影响。

这里的硬件可以为可编程逻辑器件,如fpga等。

本申请实施例中设置的报文发送速率n不大于下述速率k的任意速率:

k=d/(a+b+c);

其中,d为端口带宽,a为报文长度,b为前导码长度,c为帧间隔。

本申请实施例中通过对以太网分析仪自环测试,报文发送速率完全可以达到设置的报文发送速率。

本申请实施例中不需要通过cpu调用指令进行报文发送,可以直接将构建的报文按照设置的报文发送速率从物理端口直接发送出去即可。

参见图7,图7为以太网分析仪自环测试拓扑示意图。在测试时以太网分析仪的tx/rx1口发送ntp请求报文,由tx/rx2口进行接收测量。

测试过程如下:

收发端口均选择100m速率以太模块,发送端口负载为10%,则发送端口的最大传输速率为10m。发送口发出的报文由接收口进行测量,最后通过发送端显示的帧发送率和接收端的帧接收率读取测试结果。结果表明两者数值相同,且均为10965帧/秒,同时通过接收报文解析,确认收到的报文均为ntp请求报文。

以报文长度为94byte,以太帧的前导码为8byte,最小帧间隔为12byte为例,通过计算,得到端口速率为10000080bit/s,与设置的标称速率10m一致,说明完全可以达到设置的报文发送速率,做到了零时延。

步骤204,接收所述被测ntp服务器响应的ntp响应报文,并计算接收到的ntp响应报文的速率m。

ntp服务器接收到所述ntp模拟请求报文,以同样的格式进行报文响应,响应的内容包含了上述设置的内容之外,还包含了ntp服务器的时间信息。

步骤205,根据n和m确定所述被测ntp服务器的响应能力。

在具体实现时,还可以利用以太网分析仪的端口设置功能和报文编辑功能设置报文的速率、ip地址,以及输出端口,以灵活实现各种场景的压力测试。如模拟多客户端多端口、多客户端单端口、单客户端多端口场景的ntp服务器压力测试等。

具体为:

向所述被测ntp服务器通过一个端口发送ip地址相同或不同的ntp模拟请求报文。

或,

向所述被测ntp服务器通过多个端口发送ip地址相同或不同的ntp模拟请求报文。

在每个端口发送报文的速率可以为不大于k的任意速率。

为了进一步验证该方法的实际测试效果,用以太网分析仪对ntp服务器的ntp响应能力进行了实际测量,参见图8,图8为基于单端口的ntp服务器响应能力测试拓扑示意图。测试方案如下所示,即以太网分析仪通过tx/rx口发送ntp请求报文至被测设备的rx/tx口,设备接收到ntp请求报文后,由原端口将ntp响应报文发送回以太网分析仪,以太网分析仪进行报文检测和计算。

测试过程如下:

选择100m速率以太模块,端口负载为10%,也就是最大传输速率为10m。以太网分析仪先与设备进行arp握手,然后发送ntp请求报文。测试结果显示仪表的帧发送速率为10965帧/秒,接收速率为1071帧/秒。继续调节发送的报文速率,只要大于1071帧/秒,以太网分析仪接收到的响应报文速率均为1071帧/秒,且通过报文解析,确认收到的报文均为ntp响应报文。

通过以上过程,可判断被测设备的最大ntp响应能力为1071帧/秒,说明该方法能有效测量出ntp服务器的响应能力。

为了验证该方法在不同端口速率下的报文发送能力,我们选了不同速率端口模块对另一款设备进行了压力测试。选择1000m速率以太网模块,端口负载为70%,也就是最大传输速率为700m。测试结果显示仪表帧发送速率为767544帧/秒,接收速率为531916帧/秒,容易验证仪表达到了理论的最大帧发送速率。继续调节发送的报文速率,只要大于53196帧/秒,以太网分析仪接收到的报文速率均为53196帧/秒,且通过报文解析,确认收到的报文均为ntp响应报文。

通过以上过程,说明该方法的报文发送能力和端口速率无关,不管什么速率,均能达到理论的最大速率,能满足ntp服务器的任意速率响应能力。

进一步在以太网分析仪的其他端口设置同样的报文发送流程。参见图9,图9为基于多端口的ntp服务器响应能力测速拓扑示意图。

由于一般同一设备的处理能力是由cpu决定,所以所有端口的处理能力之和等于cpu处理能力。测试结果显示以太网分析仪的两端口收到的ntp响应报文数量分别为1378帧/秒和323帧/秒,两端口的报文数量随时间会发生变化,但总和都是1701帧/秒,和单端口的总数是一样的。通过以上过程,可以验证统一cpu的处理能力和设备端口无关,以及该方法能满足多客户端多端口情况下ntp服务器的响应能力测试。对于多cpu设备,可以分模块进行类似处理。

本申请实施例中实现了将ntp请求报文速率提高到带宽允许的最大报文发送速率,可提供速率更大、更稳定的ntp服务器响应能力测试能力;并且是基于硬件的报文发送方法,相对软件模拟的方法能摆脱cpu和外围电路处理能力的限制,可达到带宽允许的最大报文发送速率,提高了报文发送的上限。同时基于硬件的报文发送方法,可以摆脱协议栈对报文处理的影响,使得报文发送速率更稳定。

实现了多ip地址多端口的ntp报文请求方法,可提供多客户端多端口的任意场景ntp服务器响应能力测试。在构造ntp请求报文后,可利用以太网分析仪的端口设置和报文编辑功能,设置报文的速率、ip地址等参数,及多端口输出,实现多ip地址多端口的ntp报文请求场景。

能有效提高测试人员的测试效率。模拟多客户端多端口的任意场景的ntp服务器响应能力测试,一次完成全场景测试,无需多次模拟不同客户端不同端口的场景。同时本申请操作简单,可一键启动和直接读取结果,不需要额外专业知识,能够让测试人员在短时间内完成ntp服务器压力测试,提高测试效率。

基于同样的发明构思,本申请实施例中还提供一种网络时间协议压力测试装置。参见图10,图10为本申请实施例中应用于上述技术的结构示意图。所述装置包括:配置单元1001、获取单元1002、构建单元1003、发送单元1004、接收单元1005、计算单元1006和确定单元1007;

配置单元1001,用于配置报文发送速率n;

获取单元1002,用于获取客户端向ntp服务器发送的ntp请求报文;

构建单元1003,用于通过控制软件根据获取单元1002获取的ntp请求报文构建ntp模拟请求报文;

发送单元1004,将构建单元1003构建的ntp模拟请求报文按照配置单元1001设置的报文发送速率n通过硬件方式发送给被测ntp服务器;

接收单元1005,用于接收ntp响应报文;

计算单元1006,用于计算接收单元1005接收到的所述被测ntp服务器响应的ntp响应报文的速率m;

确定单元1007,用于根据配置单元1001配置的n和计算单元1007计算的m确定所述被测ntp服务器的响应能力。

优选地,

获取单元1002,具体用于使用抓包工具抓取客户端向ntp服务器发送的ntp请求报文。

优选地,

构建单元1003,具体用于根据所述ntp请求报文构建ntp模拟请求报文时,包括:解析ntp请求报文,获取所述ntp请求报文的帧结构;根据所述帧结构设置ntp模拟请求报文相应的字段;其中,所述字段包括:以太帧类型、ip协议、udp协议和请求数据内容;将所述ntp请求报文中与所述ntp模拟请求报文的字段对应的内容复制到所述字段生成ntp模拟请求报文。

优选地,

配置单元1001,具体用于配置的报文发送速率n为不大于下述速率k的任意速率:

k=d/(a+b+c);

其中,d为端口带宽,a为报文长度,b为前导码长度,c为帧间隔。

优选地,

构建单元1003,进一步用于构建ip地址相同或不同的ntp模拟请求报文;

发送单元1004,进一步用于向所述被测ntp服务器通过一个端口发送ip地址相同或不同的ntp模拟请求报文。

优选地,

构建单元1003,进一步用于构建ip地址相同或不同的ntp模拟请求报文;

发送单元1004,进一步用于向所述被测ntp服务器通过多个端口发送ip地址相同或不同的ntp模拟请求报文。

上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。

在另一个实施例中,还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述网络时间协议压力测试方法的步骤。

在另一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时可实现所述网络时间协议压力测试方法中的步骤。

图11为本发明实施例提供的电子设备的实体结构示意图。如图11所示,该电子设备可以包括:处理器(processor)1110、通信接口(communicationsinterface)1120、存储器(memory)1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信。处理器1110可以调用存储器1130中的逻辑指令,以执行如下方法:

获取客户端向ntp服务器发送的ntp请求报文;

通过控制软件根据所述ntp请求报文构建ntp模拟请求报文;

将构建的ntp模拟请求报文按照设置的报文发送速率n通过硬件方式发送给被测ntp服务器;

接收所述被测ntp服务器响应的ntp响应报文,并计算接收到的ntp响应报文的速率m;

根据n和m确定所述被测ntp服务器的响应能力。

此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

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