一种测试网络延时的方法及装置与流程

文档序号:11234484阅读:457来源:国知局
一种测试网络延时的方法及装置与流程

本发明涉及测试领域,更具体地说,涉及一种测试网络延时的方法和装置。



背景技术:

随着网络的发展,网络传输速率越来越快,对网络性能要求也越来越高。其中,网络延时是评价网络性能的基本指标,也是测试延时抖动、网络宽带性能指标的基础。网络延时测试在网络性能检测、网络行为分析、网络应用设计等领域有着广泛的应用。

网络延时测试是通过测试数据包从源端开始进入网络到它开始离开网络进入目的端之间的时间得出网络延时结果。网络延时测试通常是测试往返延时,在现有技术中,测试以下三个部分:

报文从源端到目的端的传输时间;

目的端设备对数据包处理时间,即包处理时间;

目的端到源端的包传输时间。

其中,目的端设备对数据包处理的时间,是根据目的端的硬件条件决定,不能体现网络的性能。

现有技术中采用icmp协议构造数据包或udp协议构造数据包作为测试数据包进行测试,但是目的端或传输路径中的一些节点会将icmp数据包过滤掉,导致不能进行测试,即使可以进行测试但是测试结果也会有不够精确的问题。udp数据包虽然可以不被过滤,但测试结果通常也会存在较大误差。随着网络速率的提升,网络延时测试的精度要求越来越高,但是使用上述方法都不能精准的测试出网络延时。

因此,如何提高测试精度,准确测试网络延时是领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种测试网络延时的方法,以提高测试精度,准确测试网络延时。

为实现上述目的,本发明实施例提供了如下技术方案:

一种测试网络延时的方法,包括:

将数据包a从源端发送至目的端,并确定所述源端发送所述数据包a的第一时间信息,以及所述目的端接收所述数据包a的第二时间信息;

将所述目的端构造的数据包b发送至所述源端,并确定所述目的端发送所述数据包b的第三时间信息,以及所述源端接收所述数据包b的第四时间信息;

根据所述第一时间信息、所述第二时间信息、所述第三时间信息以及所述第四时间信息确定所述数据包a和所述数据包b的传输总时间,将所述传输总时间作为网络延时时间。

优选地,所述将数据包a从源端发送至目的端,并确定所述源端发送所述数据包a的第一时间信息,以及所述目的端接收所述数据包a的第二时间信息,包括:

将数据包a通过udp协议从源端发送至目的端,并确定所述源端发送所述数据包a的第一时间信息,以及所述目的端接收所述数据包a的第二时间信息。

优选地,所述将所述目的端构造的数据包b发送至所述源端,并确定所述目的端发送所述数据包b的第三时间信息,以及所述源端接收所述数据包b的第四时间信息,包括:

将所述目的端构造的数据包b通过udp协议发送至所述源端,并确定所述目的端发送所述数据包b的第三时间信息,以及所述源端接收所述数据包b的第四时间信息。

优选地,所述根据所述第一时间信息、所述第二时间信息、所述第三时间信息以及所述第四时间信息确定所述数据包a和所述数据包b的传输总时间,将所述传输总时间作为网络延时时间,包括:

所述目的端将所述第二时间信息和第三时间信息发送至所述源端;

所述源端利用以下规则确定所述数据包a和所述数据包b的传输总时间:

rtt=(t2-t1)+(t4-t3);

其中,rtt为所述网络延时时间,t1为所述第一时间信息,t2为所述第二时间信息,t3为所述第三时间信息,t4为所述第四时间信息;

将所述传输总时间作为网络延时时间。

优选地,所述目的端将所述第二时间信息和第三时间信息发送至源端,包括:

所述目的端将所述第二时间信息和第三时间信息通过tcp协议发送至所述源端。

优选地,所述根据所述第一时间信息、所述第二时间信息、所述第三时间信息以及所述第四时间信息确定所述数据包a和所述数据包b的传输总时间,将所述传输总时间作为网络延时时间,包括:

所述目的端计算所述第二时间信息与第三时间信息的差值,将所述差值发送至所述源端;

所述源端利用以下规则确定所述数据包a和所述数据包b的传输总时间:

rtt=(t4-t1)-(t3-t2);

其中,rtt为所述网络延时时间,t1为所述第一时间信息,t2为所述第二时间信息,t3为所述第三时间信息,t4为所述第四时间信息,(t3-t2)为所述差值。

优选地,所述目的端计算所述第二时间信息与第三时间信息的差值,将所述差值发送至源端,包括:

目的端计算所述第二时间信息与第三时间信息的差值,将所述差值通过tcp协议发送至源端。

优选地,所述第一时间信息、第四时间信息在源端物理层记录,所述第二时间信息、第三时间信息在目的端物理层记录。

一种测试网络延时的装置,包括:

第一发送模块,用于将数据包a从源端发送至目的端,并确定所述源端发送所述数据包a的第一时间信息,以及所述目的端接收所述数据包a的第二时间信息;

第二发送模块,用于将所述目的端构造的数据包b发送至所述源端,并确定所述目的端发送所述数据包b的第三时间信息,以及所述源端接收所述数据包b的第四时间信息;

计算模块,用于根据所述第一时间信息、所述第二时间信息、所述第三时间信息以及所述第四时间信息确定所述数据包a和所述数据包b的传输总时间,将所述传输总时间作为网络延时时间。

优选地,所述第一时间信息、第四时间信息在源端物理层记录,所述第二时间信息、第三时间信息在目的端物理层记录。

本发明提供的一种测试网络延时的方法,将数据包a从源端发送至目的端,并确定所述源端发送所述数据包a的第一时间信息,以及所述目的端接收所述数据包a的第二时间信息;将所述目的端构造的数据包b发送至所述源端,并确定所述目的端发送所述数据包b的第三时间信息,以及所述源端接收所述数据包b的第四时间信息;根据所述第一时间信息、所述第二时间信息、所述第三时间信息以及所述第四时间信息确定所述数据包a和所述数据包b的传输总时间,将所述传输总时间作为网络延时时间。

可见,在本方案中,通过对第一时间信息、第二时间信息、第三时间信息、第四时间信息的计算,可以只计算所述数据包a和所述数据包b的传输总时间,省略目的端设备对数据包的处理时间,也就是忽略了目的端硬件的影响,因此可以大大的提高网络延时测试的精度。

附图说明

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

图1为本发明实施例公开的一种测试网络延时的方法流程图;

图2为本发明实施例公开的一种具体的测试网络延时的方法流程图;

图3为本发明实施例公开的一种测试网络延时的装置结构示意图;

图4为本发明实施例公开的一具体的第一发送模块结构示意图;

图5为本发明实施例公开的一具体的第二发送模块示结构意图;

图6为本发明实施例公开的一具体的计算模块结构示意图。

具体实施方式

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

本发明实施例公开了本发明提供的一种测试网络延时的方法,以实现提高测试精度,准确测试网络延时。

参见图1,本发明实施例提供的一种测试网络延时的方法,包括:

s101,将数据包a从源端发送至目的端,并确定所述源端发送所述数据包a的第一时间信息,以及所述目的端接收所述数据包a的第二时间信息。

具体地,源端构造数据包a作为测试数据包,并将数据包a通过一种网络协议发送至目的端,同时,源端记录发送数据包a的第一时间信息,即记录数据包a离开源端的时间戳。当数据包a到达目的端时,目的端记录接收数据包a的第二时间信息,即记录数据包a到达目的端的时间戳。

s102,将所述目的端构造的数据包b发送至所述源端,并确定所述目的端发送所述数据包b的第三时间信息,以及所述源端接收所述数据包b的第四时间信息。

可以理解的是,目的端在收到数据包a后构造新的数据包b,并将数据包b发送到源端。目的端记录发送数据包b的第三时间信息,即记录数据包b离开目的端的时间戳。当源端收到数据包b时,记录源端接收数据包b的第四时间信息,即记录数据包b到达源端的时间戳。

s103,根据所述第一时间信息、所述第二时间信息、所述第三时间信息以及所述第四时间信息确定所述数据包a和所述数据包b的传输总时间,将所述传输总时间作为网络延时时间。

具体地,目的端将第二时间信息和第三时间信息,或第二时间信息与第三时间信息的差值发送至源端,源端利用四个时间信息计算出数据包a与数据包b的传输总时间,也就是说,此传输总时间中不包括目的端对数据包的处理时间。

因此,通过对第一时间信息、第二时间信息、第三时间信息、第四时间信息的计算,可以只计算所述数据包a和所述数据包b的传输总时间,省略目的端设备对数据包的处理时间,也就是避免了目的端硬件的影响,因此可以大大的提高网络延时测试的精度。

本发明实施例公开了一种具体地网络延时方法,区别于上一实施例,本实施例对上一实施例中的确定所述数据包a和所述数据包b的传输总时间做了具体的限定,其他步骤内容与上一实施例大致相同,详细内容可以参见上一实施例相对应的部分,此处不再赘述。具体的:

源端利用以下规则确定所述数据包a和所述数据包b的传输总时间:

rtt=(t2-t1)+(t4-t3);

其中,rtt为所述网络延时时间,t1为所述第一时间信息,t2为所述第二时间信息,t3为所述第三时间信息,t4为所述第四时间信息;

将所述传输总时间作为网络延时时间。

可以理解的,t2-t1为数据包a的传输时间,t4-t3为数据包b的传输时间。因此,传输总时间就是数据包a的传输时间与数据包b的传输时间之和。

需要说明的是,在rtt=(t2-t1)+(t4-t3)=(t4-t1)-(t3-t2)的公式中,t4与t1为源端记录的时间信息,t3、t2为目的端记录的时间信息,因此在目的端向源端发送时间信息之前,可以将t3与t2做差,将差值一个数据发送至源端,使用rtt=(t4-t1)-(t3-t2)计算延时时间。因此,源端向目的端只传输一个数据时,可以降低传输后数据不准确性的可能。

通过本实施例介绍的方法确定所述数据包a和所述数据包b的传输总时间即网络延时时间,就是数据包a的传输时间与数据包b的传输时间之和。可以将目的端对数据包处理的时间省略,因此避免了目的端硬件环境的影响,增加了网络延时测试的精度。

本发明实施例公开了一种具体地网络延时方法,相对于上一实施例,本实施例对技术方案做了进一步的说明和优化。参见图2,本发明实施例提供的一种测试网络延时的方法,包括:

s201,将数据包a通过udp协议从源端发送至目的端,并确定所述源端发送所述数据包a的第一时间信息,以及所述目的端接收所述数据包a的第二时间信息。

需要说明的是,用于测试的数据包a是通过udp协议构造的数据包,并通过udp协议传输到目的端。因为udp协议是一个无状态的传输协议,所以它在传递数据时非常快,因此用于传输测试包也就更快,测试延时更准确。可以传输测试包的传输协议还有icmp,但是目的端或者传输路径中的一些节点会过滤icmp数据包,因此使用udp协议也可以避免此问题。

s202,将所述目的端构造的数据包b通过udp协议发送至所述源端,并确定所述目的端发送所述数据包b的第三时间信息,以及所述源端接收所述数据包b的第四时间信息。

可以理解的是,当目的端向源端传输用于测试的数据包b也可以选择udp协议进行传输,满足了数据包不被过滤以及传输速度快的条件。

s203,所述目的端将所述第二时间信息和第三时间信息通过tcp协议发送至所述源端。

具体地,所述目的端将第二时间信息和第三时间信息作为数据包,发送至源端。对于时间信息的传输要求是可靠的传输,保证到达源端的时间信息是准确的。但是udp协议是面向无连接的协议,如果网络质量不好,就很容易丢包,数据容易丢失,因此不能保证传输到源端的时间信息是准确的。而传输协议中的tcp协议,具有面向可靠连接的机制,虽然传输速率较低但传输数据可靠。因此当传输时间信息时,不要求传输速度但要求传输的准确性,选择tcp协议作为传输协议,将包括第二时间信息和第三时间信息的数据包传输到源端,保证了源端接收到的时间信息为准确的。

s204,根据所述第一时间信息、所述第二时间信息、所述第三时间信息以及所述第四时间信息确定所述数据包a和所述数据包b的传输总时间,将所述传输总时间作为网络延时时间。

具体的,源端利用以下规则确定所述数据包a和所述数据包b的传输总时间:

rtt=(t2-t1)+(t4-t3);

其中,rtt为所述网络延时时间,t1为所述第一时间信息,t2为所述第二时间信息,t3为所述第三时间信息,t4为所述第四时间信息;

将所述传输总时间作为网络延时时间。

可以理解的,t2-t1为数据包a的传输时间,t4-t3为数据包b的传输时间。因此,传输总时间就是数据包a的传输时间与数据包b的传输时间之和。

需要说明的是,在rtt=(t2-t1)+(t4-t3)=(t4-t1)-(t3-t2)的公式中,t4与t1为源端记录的时间信息,t3、t2为目的端记录的时间信息,因此在目的端向源端发送时间信息之前,可以将t3与t2做差,将差值一个数据发送至源端,使用rtt=(t4-t1)-(t3-t2)计算延时时间。

因此,通过采用udp协议发送测试包可以提高测试包传输的速率并且避免了被目的端以及其他节点过滤掉,同时采用tcp协议传输时间信息的数据包,可以保证时间信息的准确,再通过对第一时间信息、第二时间信息、第三时间信息、第四时间信息的计算,可以只计算所述数据包a和所述数据包b的传输总时间,省略目的端设备对数据包的处理时间,也就是忽略了目的端硬件的影响,因此可以大大的提高网络延时测试的精度。

本发明实施例公开了一种具体地网络延时方法,区别于上一实施例,本实施例对上一实施例中的时间信息记录位置做了具体的限定,其他步骤内容与上一实施例大致相同详细内容可以参见上一实施例相对应的部分,此处不再赘述。具体的:

将第一时间信息、第四时间信息记录在源端的物理层记录,第二时间信息、第三时间信息在目的端的物理层记录。

具体的,当数据包a离开源端网卡时,记录第一时间信息,当数据包到达目的端网卡时,记录第二时间信息;当数据包b离开目的端网卡时,记录第三时间信息,当数据包b到达源端网卡时,记录第四时间信息。

本发明实施例中,由于时间信息的数据包与测试包是分开发送到源端的,可以不用在数据包构造之前确定时间信息,因此可以将时间信息移到物理层记录,更准确的记录数据包离开的时间。也就是说,如果时间信息是放到测试包中进行传输的,比如将数据包b离开目的端的第三时间信息放到数据包b中传输到源端,此时第三时间信息就是数据包b构造之前的时间,而不是真正的离开目的端的时间,这个时间距离真正发送数据包的时间还远,会导致测量误差,但是在物理层网卡位置记录第三时间信息,就是数据包b离开目的端那一时刻的时间信息。

因此,将时间信息与测试数据包分开发送之后,可以将时间信息记录到网卡,也就是说将时间信息记录到离开目的端的位置,可以减少时间信息记录的误差。

下面对本发明实施例提供的一种网络延时测试装置进行介绍,下文描述的一种网络延时测试装置与上文描述的一种网络延时测试方法可以相互参照。

参见图3,本发明实施例提供的一种网络延时测试装置,包括第一发送模块301,第二发送模块302,计算模块303。

第一发送模块301,用于将数据包a从源端发送至目的端,并确定所述源端发送所述数据包a的第一时间信息,以及所述目的端接收所述数据包a的第二时间信息。

第二发送模块302,用于将所述目的端构造的数据包b发送至所述源端,并确定所述目的端发送所述数据包b的第三时间信息,以及所述源端接收所述数据包b的第四时间信息。

计算模块303,用于根据所述第一时间信息、所述第二时间信息、所述第三时间信息以及所述第四时间信息确定所述数据包a和所述数据包b的传输总时间,将所述传输总时间作为网络延时时间。

因此,计算模块303通过对第一发送模块301确定的第一时间信息、第二时间信息,以及第二发送模块302确定的第三时间信息、第四时间信息的计算,可以只计算所述数据包a和所述数据包b的传输总时间,省略目的端设备对数据包的处理时间,也就是避免了目的端硬件的影响,因此可以大大的提高网络延时测试的精度。

参见图4,上述实施例中的第一发送模块301具体包括:

发送单元301a,用于源端通过udp协议构造数据包a,并通过udp协议发送至目的端。

确定单元301b,用于在源端网卡确定数据包a离开源端的第一时间信息。

接收单元301c,用于在目的端网卡确定数据包a到达目的端的第二时间信息。

参见图5,上述实施例中的第二发送模块302具体包括:

第一发送单元302a,用于在目的端通过udp协议构造数据包b,并通过udp协议发送到源端。

第一确定单元302b,用于在目的端确定数据包b离开目的端的第三时间。

第二确定单元302c,用于在目的端确定数据包b离开目的端第三时间信息与数据包b到达目的端的第二时间信息的差值。

接收单元302d:用于在源端网卡位置记录数据包b到达源端的第四时间信息。

第二发送单元302e,用于在目的端通过tcp协议发送第三时间信息和第二时间信息,或第二确定单元302c确定的差值。

参见图6,上述实施例中的计算模块303具体包括:

第一计算单元303a,用于在源端接收到第二时间信息和第三时间信息时,通过规则rtt=(t2-t1)+(t4-t3)计算数据包a和所述数据包b的传输总时间。

第二计算单元303b,用于在源端接收到数据包b离开目的端第三时间信息与数据包b到达目的端的第二时间信息的差值时,通过规则rtt=(t4-t1)-(t3-t2)计算数据包a和所述数据包b的传输总时间。

根据上述一种具体地网络延时测试装置,可以具体地应用到以下具体实施例中,具体的:

s301,第一发送模块301的发送单元301a按照udp协议构造测试数据包a,然后将数据包a发送给目的端。

s302,第一发送模块301的确定单元301b在源端网卡确定数据包a离开源端网卡的第一时间信息,例如时间戳t1。并将时间戳t1存放到源端物理层的延时计算模块303中。

s303,第一发送模块301的接收单元301c在目的端网卡确定数据包a到达目的端的第二时间信息,例如时间戳t2。并将时间戳t2存放到目的端物理层的通信模块中。

s304,目的端对数据包a进行响应,第二发送模块302的第一发送单元302a在目的端通过udp协议构造数据包b,并通过udp协议发送到源端。

s305,第二发送模块302的第一确定单元302b在目的端确定数据包b离开目的端的第三时间,例如时间戳t3,并将时间戳t3存放到目的端物理层的通信模块中。

s306,第二发送模块302的接收单元302d在源端网卡位置记录数据包b到达源端的第四时间信息,例如时间戳t4,并将时间戳t4传递到源端物理层的延时计算模块303。

s307,第二发送模块302的第二发送单元302e在目的端通过tcp协议发送第三时间信息即时间戳t3和第二时间信息即时间戳t2。

s308,计算模块303的第一计算单元303a在源端接收到第二时间信息和第三时间信息时,通过规则rtt=(t2-t1)+(t4-t3)计算数据包a和所述数据包b的传输总时间。

因此,第一发送模块301的第一发送单元301a通过采用udp协议发送测试包可以提高测试包传输的速率并且避免了被目的端以及其他节点过滤掉,同时第二发送模块302的第二发送单元302e采用tcp协议传输时间信息的数据包,可以保证时间信息的准确,计算模块303再通过对第一时间信息、第二时间信息、第三时间信息、第四时间信息的计算,可以只计算所述数据包a和所述数据包b的传输总时间,省略目的端设备对数据包的处理时间,也就是忽略了目的端硬件的影响,因此可以大大的提高网络延时测试的精度。

本发明实施例公开了一种具体地网络延时方法,区别于上一实施例,本实施例对上一实施例中第二发送模块302的第一确定单元302b改为第二确定单元302c,其他步骤内容与上一实施例大致相同,详细内容可以参见上一实施例相对应的部分,此处不再赘述。具体的:

第二发送模块302的第二确定单元302c在目的端确定数据包b离开目的端第三时间信息与数据包b到达目的端的第二时间信息的差值。相应地,第二发送模块302的第二发送单元302e在目的端通过tcp协议发送第二确定单元302c确定的差值,计算模块303第二计算单元303b在源端接收到数据包b离开目的端第三时间信息与数据包b到达目的端的第二时间信息的差值时,通过规则rtt=(t4-t1)-(t3-t2)计算数据包a和所述数据包b的传输总时间。

因此,发送第二确定单元302c确定的差值,就是只向源端发送一个数据,更有效地提高了时间信息的准确发送,以便提高传输总时间的准确度即网络延时测试的精度。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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