一种测量网络时延的方法和设备的制造方法
【技术领域】
[0001]本发明涉及网络性能测试领域,特别是涉及一种测量网络时延的方法和设备。
【背景技术】
[0002]在互联网中,数据从一个网络设备端传输到另一个网络设备端之间需要一定的时间,该数据传输的时间即是该两个网络设备端之间的网络时延。网络时延能够体现网络设备端之间数据传输的性能,是网络性能的重要参考依据之一。因此,在许多实际的应用场景中需要测量网络时延,以便依据网络时延配置网络。例如,对于内容分发网络(ContentDelivery Network,简称⑶N)来说,用户端与服务器端之间的网络时延是⑶N网络性能的重要因素,因此,在因特网内容提供商(Internet Content Provider,简称ICP)选择⑶N时,需要测量各备选的CDN中用户端与服务器端之间的网络时延。
[0003]目前,已经出现了一些测量网络时延的实现方式。例如,在一种现有的网络时延测量方式中,两个网络设备端之间的网络时延可以被认为是相当于网络中分别与该两个网络设备端最近的两个域名解析服务器(Domain Name Service,简称DNS)之间的网络时延。具体地,当需要测量两个网络设备端之间的网络时延时,先利用DNS反向解析技术分别查找到服务于该两个网络设备端的DNS服务器,然后,根据IP地址前缀的匹配,从查找到的DNS服务器中确定分别与该两个网络设备端最近的两个DNS服务器,最后,通过KING的方式测量该两个DNS服务器之间的网络时延,作为前述两个网络设备端的网络时延。可以理解的是,对于具有大量网络设备端的网络来说,整个网络的网络时延统计需要测量大量的网络设备端间的网络时延,而由于大量的网络设备端间的网络时延可以被相对少量的DNS服务器间网络时延所表示,因此,对于整个网络的网络时延统计就无需在大量的网络设备端间传输大量用于测量的消息,而仅需在相对少量的DNS服务器间传输相对少量用于测量的消息,从而减少了网络时延测量占用的网络负载,使得网络时延的测量开销得以减小。
[0004]需要说明的是,以DNS服务器间的网络时延测量替代网络设备端间的网络时延测量,实际上是忽略了网络设备端与DNS服务器之间的网络时延,因此,需要找到与网络设备端最近的DNS服务器来测量网络时延。在现有技术中,与网络设备端最近的DNS服务器是根据IP地址前缀的匹配从服务于网络设备端的DNS服务器中确定的,但是,IP地址前缀往往并不能反映出DNS服务器与网络设备端之间的实际距离,有时,即使网络设备端与DNS服务器两者的IP地址前缀互相匹配,两者之间往往实际距离也是很远的,两者之间的实际网络时延往往也很大,因此,现有技术中,通过IP地址前缀的匹配难以准确地找到与网络设备端最近的DNS服务器,导致用于测量的DNS服务器与网络设备端之间的网络时延较大,从而造成网络设备端之间网络时延测量不准确。
【发明内容】
[0005]本发明所要解决的技术问题是,提供一种测量网络时延的方法和设备,以解决按照现有技术中通过IP地址前缀的匹配来确定与网络设备端最近的DNS服务器而导致的无法准确地找到与网络设备端最近的DNS服务器以及无法准确地测量网络设备端之间网络时延的技术问题。
[0006]为解决上述技术问题,本发明实施例的第一方面,提供了一种测量网络时延的方法,该方法包括:
[0007]查找网络中可用于测量网络时延的可用基础设施,并为各个可用基础设施及各个待测网络设备端构建网络坐标;
[0008]基于各个所述可用基础设施及各个所述待测网络设备端的网络坐标,确定各个所述待测网络设备端最近的可用基础设施;
[0009]对于任意两个可用基础设施,通过在两个所述可用基础设施之间传输用于测量的消息,测量两个所述可用基础设施之间的网络时延;
[0010]对于任意两个待测网络设备端,将两个所述待测网络设备端最近的可用基础设施之间的网络时延确定为两个所述待测网络设备端之间的网络时延。
[0011]可选的,所述可用基础设施包括可控的测量节点、可控的测量终端和/或支持迭代查询的开放域名解析服务器。
[0012]可选的,所述测量节点和所述测量终端通过预先保存的网络配置信息查找,所述支持迭代查询的开放域名解析服务器通过DNS反向解析技术查找。
[0013]可选的,所述基于各个所述可用基础设施及各个所述待测网络设备端的网络坐标,确定各个所述待测网络设备端最近的可用基础设施,包括:
[0014]为每个可用基础设施建立一个聚类簇;
[0015]基于各个所述可用基础设施的网络坐标及各个所述待测网络设备端的网络坐标,确定各个所述待测网络设备端最近的可用基础设施;
[0016]将各个所述待测网络设备端划分到各自最近的可用基础设施的聚类簇中。
[0017]可选的,所述对于任意两个可用基础设施,通过在两个所述可用基础设施之间传输用于测量的消息,测量两个所述可用基础设施之间的网络时延,包括:
[0018]响应于两个所述可选基础设施中存在测量节点和/或测量终端,通过PING的方式测量两个所述可选基础设施之间的网络时延;
[0019]响应于两个所述可选基础设施均为开放域名解析服务器,通过KING的方式测量两个所述可选基础设施之间的网络时延。
[0020]可选的,所述方法还包括:
[0021]响应于所述可用基础设施的前一次查找距离当前时刻达到预设的更新时间,重新查找网络中可用于测量网络时延的可用基础设施,为各个当前查找到的可用基础设施重新构建网络坐标,并对于任意两个当前查找到的可用基础设施,通过在两个当前查找到的可用基础设施之间传输用于测量的消息,重新测量两个当前查找到的可用基础设施之间的网络时延。
[0022]本发明实施例的第二方面,提供了一种测量网络时延的方法,该方法包括:
[0023]以待测网络中的各个网络设备端作为待测网络设备端,利用前述第一方面任意一种实施方式的方法测量所述待测网络中各对网络设备端之间的网络时延;
[0024]基于所述待测网络中各对网络设备端之间的网络时延,计算所述待测网络的网络时延统计值。
[0025]可选的,所述待测网络的网络时延统计值包括:所述待测网络的网络时延平均值和/或所述待测网络的网络时延排位值;其中,所述待测网络的网络时延平均值表示所述待测网络中各对网络设备端之间的网络时延的平均值,所述待测网络的网络时延排位值表示在所述待测网络各对网络设备端之间网络时延的排序中处于特定排序位置的网络时延的数值。
[0026]本发明实施例的第三方面,提供了一种测量网络时延的设备,该设备包括:
[0027]查找模块,用于查找网络中可用于测量网络时延的可用基础设施;
[0028]构建模块,用于为各个可用基础设施及各个待测网络设备端构建网络坐标;
[0029]第一确定模块,用于基于各个所述可用基础设施及各个所述待测网络设备端的网络坐标,确定各个所述待测网络设备端最近的可用基础设施;
[0030]第一测量模块,用于对于任意两个可用基础设施,通过在两个所述可用基础设施之间传输用于测量的消息,测量两个所述可用基础设施之间的网络时延;
[0031]第二确定模块,用于对于任意两个待测网络设备端,将两个所述待测网络设备端最近的可用基础设施之间的网络时延确定为两个所述待测网络设备端之间的网络时延。
[0032]可选的,所述可用基础设施包括可控的测量节点、可控的测量终端和/或支持迭代查询的开放域名解析服务器。
[0033]可选的,所述测量节点和所述测量终端通过预先保存的网络配置信息查找;所述支持迭代查询的开放域名解析服务器通过DNS反向解析技术查找。
[0034]可选的,所述第一确定模块包括:
[0035]建立子模块,用于为每个可用基础设施建立一个聚类簇;
[0036]确定子模块,用于基于各个所述可用基础设施的网络坐标及各个所述待测网络设备端的网络坐标,确定各个所述待测网络设备端最近的可用基础设施;
[0037]划分子模块,用于将各个所述待测网络设备端划分到各自最近的可用基础设施的聚类簇中。
[0038]可选的,所述第一测量模块包括:
[0039]第一发送模块,用于响应于两个所述可选基础设施中存在测量节点和/或测量终端,通过PING的方式测量两个所述可选基础设施之间的网络时延;
[0040]第二发送模块,用于响应于两个所述可选基础设施均为开放域名解析服务器,通过KING的方