CN110677319B - 端到端时延测量方法和装置 - Google Patents

端到端时延测量方法和装置 Download PDF

Info

Publication number
CN110677319B
CN110677319B CN201910893387.0A CN201910893387A CN110677319B CN 110677319 B CN110677319 B CN 110677319B CN 201910893387 A CN201910893387 A CN 201910893387A CN 110677319 B CN110677319 B CN 110677319B
Authority
CN
China
Prior art keywords
data packet
time delay
icmp echo
router
delay
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
Application number
CN201910893387.0A
Other languages
English (en)
Other versions
CN110677319A (zh
Inventor
赵政权
陈宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Publication of CN110677319A publication Critical patent/CN110677319A/zh
Application granted granted Critical
Publication of CN110677319B publication Critical patent/CN110677319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种端到端时延测量方法和装置,通过在随机选择的发送端和接收端之间发送ICMP数据包中,添加时间戳选项,并通过路由发现,发现数据包通过的路由器,将数据包每次经过的路由器时间记录在时间戳中,从而计算每个链路上的时延。在发送端将数据包通过端到端的整个链路拆分为多条链路,以边的集合形式表示出来,通过一组边的集合,将端到端的时延拆分为各端到端节点对之间链路时延的总和。有利于从链路层解决端到端网络传输时延的精确测量问题,降低了测量误差,并且降低了测量设备的实现成本,同时,将数据包每次经过的路由器时间记录在时间戳中,使得测量网络时延时并不会增加网络传输压力。

Description

端到端时延测量方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种端到端时延测量方法和装置。
背景技术
时延是网络的固有属性之一,也是评价端到端网络传输性能的基本指标。时延测量在网络的性能检测、网络行为分析、网络应用设计等领域有着广泛的应用,同时也是测量时延抖动、网络带宽性能指标的基础。IETF组织的IP性能指标工作组(IP PerformanceMetrics)对时延定义进行了标准化,将其分为往返时延(Round-trip Delay,RFC2681)和单向时延(One-way Delay,RFC2679)。随着网络的发展,各种QoS业务也对时延的要求特别高,如VoIP实时业务对时延特别敏感。因此,如何准确的测量端到端时延,也就成为评估各种QoS业务的重要过程。目前,对端到端时延的测量包括主动测量、仿真和演算等方法。
主动测量即是类似于路由追踪(traceroute)的原理,在发送端主动发送探测数据包到接收端,同时记录发送时间,接收端收到数据包返回相应数据包给发送端,发送端在收到数据包后,记录当前时间,通过两次的时间相减,能够得到数据包的往返时延,再将往返时延除以二获得端到端的单向时延。该方法由于没有考虑数据包来回所经过的链路状态的不同,以及接收端对数据包的响应时间,导致通过往返时间减半所获得的单向时延存在相当大的误差。
仿真方法是通过应用OPNET和NS2等商用仿真软件建立端到端通信仿真平台,进而仿真出端到端的时延。该端到端仿真平台能够模拟信道、链路等对端到端时延的影响,但是需要使用商用仿真软件建立仿真平台,研究成本高。并且仿真软件是通过建立相应的仿真模型来模拟一系列真实网络场景来研究端到端时延,然而,由于真实环境的复杂性以及存在的一系列因素,仿真模型并不能适用于各种真实网络场景。
演算方法则是通过解析端到端的过程,通过数学公式计算端到端时延。演算方法虽然能够准确计算出每次数据传输的端到端时延,但是大多数演算方法计算的是链路层以上的数据传输端到端时延,忽略了信道等其他因素,计算出的端到端时延与真实生活中的网络场景相差较大。
发明内容
为了解决现有技术中对端到端网络传输时延计算方法不能够进行准确测量,尤其不能满足现实网络场景下的准确时延测量的问题,本发明实施例提供一种端到端时延测量方法和装置。
第一方面,本发明实施例提供一种端到端时延测量方法,包括:
S10、发送端向接收端发送带有时间戳和TTL为n的ICMP回显请求数据包,并记录发送时间
Figure BDA0002209476960000021
同时每一跳路由器接收到所述ICMP回显请求数据包时,对TTL进行减1并记录当前时间在所述时间戳中;其中,所述n≥1;
当TTL为0所述ICMP回显请求数据包还未到达所述接收端时,所述ICMP回显请求数据包到达的最后一个路由器将返回一个ICMP超时数据包给所述发送端,并将ICMP回显请求数据包中时间戳记录的内容存储到所述ICMP超时数据包中,当所述ICMP回显请求数据包到达所述接收端时,所述接收端返回ICMP回显应答数据包;
S20、所述发送端接收所述接收端返回的ICMP回显应答数据包,并解析获取每一跳路由器的IP地址,以及所述ICMP回显请求数据包达到每一跳路由器的时间
Figure BDA0002209476960000022
Figure BDA0002209476960000023
表示第n次发送的数据包到达第n跳时的时间;
S30、根据每一跳的IP地址生成发送端到接收端的路由路径,依次计算数据包从发送端到接收端中每一条路径的时延属性;
S40、在迭代执行步骤S10~S30直到达到最大迭代次数,计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延。
进一步地,所述根据每一跳的IP地址生成发送端到接收端的路由路径具体包括:
将所述每一跳路由器的IP地址作为拓扑节点v加到节点集V中,相邻两跳之间的链路作为一条拓扑边加到边集E中,并依据节点集V和边集E构建拓扑图,依次计算数据包从发送端到接收端中每一条边的时延属性。
进一步地,所述依次计算数据包从发送端到接收端中每一条边的时延属性具体包括:
第一条边的时延T1的计算公式为:
Figure BDA0002209476960000031
第二条边的时延T2的计算公式为:
Figure BDA0002209476960000032
第三条边的时延T3的计算公式为:
Figure BDA0002209476960000033
以此类推第n条边的时延Tn的计算公式为:
Figure BDA0002209476960000034
其中,n为TTL的值。
进一步地,所述计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据节点集V和边集E中剩下的节点和边更新拓扑图具体包括:
在任一接口(例如A接口)上对在两个相反路径(例如A接口到B接口路径和B接口到A接口路径)上距离该接口相同跳数的两个IP接口发送ICMP回显请求包,在A接口解析收到的ICMP回显应答数据包,比较到达两个IP接口的路径,当最后一个节点IP地址不同,其他节点IP都相同时,则这两个IP接口属于同一个路由器,在节点集V中合并这两个节点为所述同一个路由器,更新节点对之间的路径,同时将与这两个节点所连的边进行合并,合并之后边的时延更新为重复的边时延的平均值。
进一步地,所述根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延包括:
根据所记录的节点对之间的路径构建n×n的路由矩阵An×n,矩阵中的元素Aij表示节点i到节点j的下一跳节点;
根据路由矩阵An×n构建n×n的时延矩阵Dn×n,矩阵中的元素Dij表示节点i到节点j的端到端时延。
第二方面,本发明实施例还提供了一种端到端时延测量装置,应用于发送端,包括:
第一处理模块,用于执行步骤10,所述步骤10具体包括向接收端发送带有时间戳和TTL为n的ICMP回显请求数据包,并记录发送时间
Figure BDA0002209476960000041
同时每一跳路由器接收到所述ICMP回显请求数据包时,对TTL进行减1并记录当前时间在所述时间戳中;其中,所述n≥1;
当TTL为0所述ICMP回显请求数据包还未到达所述接收端时,所述ICMP回显请求数据包到达的最后一个路由器将返回一个ICMP超时数据包给所述发送端,并将ICMP回显请求数据包中时间戳记录的内容存储到所述ICMP超时数据包中,当所述ICMP回显请求数据包到达所述接收端时,所述接收端返回ICMP回显应答数据包;
第二处理模块,用于执行步骤20,所述步骤20具体包括接收所述接收端返回的ICMP回显应答数据包,并解析获取每一跳路由器的IP地址,以及所述ICMP回显请求数据包达到每一跳路由器的时间
Figure BDA0002209476960000042
Figure BDA0002209476960000043
表示第n次发送的数据包到达第n跳时的时间;
第三处理模块,用于执行步骤30,所述步骤30具体包括根据每一跳的IP地址生成发送端到接收端的路由路径,依次计算数据包从发送端到接收端中每一条路径的时延属性;
第四处理模块,用于在迭代执行步骤S10~S30直到达到最大迭代次数后计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延。
第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面所述的端到端时延测量方法的步骤。
第四方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述端到端时延测量方法的步骤。
本发明实施例提供的端到端时延测量方法和装置,利用基于拓扑发现的包探测原理,在ICMP数据包中添加时间戳选项,发现数据包通过的路由器,将数据包每次经过的路由器时间记录在时间戳中,用于计算每个链路上的时延。在发送端将数据包通过端到端的整个链路拆分为多条链路,以边的集合形式表示出来,通过一组边的集合,将端到端的时延拆分为各端到端节点对之间链路时延的总和,有利于从链路层解决端到端网络传输时延的精确测量问题,降低了测量误差,并且降低了测量设备的实现成本,同时,将数据包每次经过的路由器时间记录在时间戳中,使得测量网络时延时并不会增加网络传输压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的端到端时延测量方法实施方式流程图;
图2为本发明基于拓扑发现的端到端时延测量方法实施方式中所述的端到端数据包发送流程图;
图3为本发明基于拓扑发现的端到端时延测量方法实施方式中所述的IP接口别名解析实例图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明第一实施例中,提供一种端到端时延测量方法,包括:
迭代执行步骤S10~S30直到达到最大迭代次数:
S10、发送端向接收端发送带有时间戳和TTL为n的ICMP回显请求数据包,并记录发送时间
Figure BDA0002209476960000061
同时每一跳路由器接收到所述ICMP回显请求数据包时,对TTL进行减1并记录当前时间在所述时间戳中;其中,所述n≥1;
当TTL为0所述ICMP回显请求数据包还未到达所述接收端时,所述ICMP回显请求数据包到达的最后一个路由器将返回一个ICMP超时数据包给所述发送端,并将ICMP回显请求数据包中时间戳记录的内容存储到所述ICMP超时数据包中,当所述ICMP回显请求数据包到达所述接收端时,所述接收端返回ICMP回显应答数据包;
S20、所述发送端接收所述接收端返回的ICMP回显应答数据包,并解析获取每一跳路由器的IP地址,以及所述ICMP回显请求数据包达到每一跳路由器的时间
Figure BDA0002209476960000062
Figure BDA0002209476960000063
表示第n次发送的数据包到达第n跳时的时间;
S30、根据每一跳的IP地址生成发送端到接收端的路由路径,依次计算数据包从发送端到接收端中每一条路径的时延属性;
S40、在迭代执行步骤S10~S30直到达到最大迭代次数,计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延。
在该实施例中,由于实际网络传输会存在来回链路的不对称性,如链路的状态不同,在没有严格假设的条件下,通过数据包的往返时间对网络的端到端时延不能进行精确的分析,使得精确地估计端到端的时延是不可行的,因此,本发明该实施例考虑在ICMP数据包中添加时间戳选项利用基于拓扑发现的包探测原理,发现数据包通过的路由器,将数据包每次经过的路由器时间记录在时间戳中,用于计算每个链路上的时延,通过记录的端到端路径上的节点,构建网络拓扑和路由矩阵,依据路由矩阵和计算出的各链路时延,推导出端到端时延矩阵,有利于从链路层解决端到端网络传输时延的精确测量问题,降低了测量误差,并且降低了测量设备的实现成本,同时,将数据包每次经过的路由器时间记录在时间戳中,使得测量网络时延时并不会增加网络传输压力。
下面结合附图,对本发明第一实施例作进一步详细说明,形成第二实施例。
如图1所示,本发明提供的基于拓扑发现的端到端时延测量方法的步骤包括:
步骤S1,基于端到端的时延测量需要,随机选取两终端对作为发送端和接收端。
如附图2所示,发送端(IP地址为IP0)首先向接收端(IP地址为IPn)发送带有时间戳和TTL=1的ICMP回显请求(echo request)数据包并记录发送时间
Figure BDA0002209476960000071
每经过一个路由器时TTL就会被减1,同时路由器将当前时间
Figure BDA0002209476960000072
记录在时间戳中。
当TTL为0数据包还未到达接收端时,数据包到达的最后一个节点将返回一个ICMP超时数据包给发送端,并将ICMP回显请求数据包中时间戳记录的内容都放到该数据包中,当数据包到达接收端时,接收端返回ICMP回显应答(echo reply)数据包。
步骤S2,发送端收到返回的数据包后,解析该数据包,记录该数据包发送方的IP地址IPx,即数据包到达第x跳的IP地址,从时间戳中获取每个数据包到达每个路由器的时间
Figure BDA0002209476960000073
步骤S3、判断发送端收到的数据包是否为ICMP回显应答(echo reply)数据包:
若接收到的不是ICMP回显应答(echo reply)数据包,执行步骤S4;
若接收到的是ICMP回显应答(echo reply)数据包,执行步骤S5。
步骤S4,发送端继续向接收端发送ICMP回显请求(echo request)数据包,将数据包中TTL加1,记录每次的发送时间
Figure BDA0002209476960000081
执行步骤S2;
步骤S5,发送端根据已记录的数据,推导出数据包从发送端(IP0)到接收端(IPn)所经过的每一跳的IP地址(IP1、IP2、IP3…IPn),以及每个数据包到达每一跳的时间
Figure BDA0002209476960000082
Figure BDA0002209476960000083
表示第n次发送的数据包(其TTL为n)到达第n跳时的时间。
步骤S6,将上述获得的每一跳IP地址即一个网络接口作为拓扑节点v加到节点集V中,相邻两跳之间节点之间的链路作为一条拓扑边e加到边集E中,构成一条发送端IP0到接收端IPn的路由路径P0-n,依据节点集V和边集E构建接口级别拓扑图。
从记录的数据中依次计算数据包从发送端到接收端中每一条边ex的时延属性,当出现相同的边ex时,对其时延的计算取平均值。
第一条边的时延T1的计算公式为:
Figure BDA0002209476960000084
第二条边的时延T2的计算公式为:
Figure BDA0002209476960000085
第三条边的时延T3的计算公式为:
Figure BDA0002209476960000086
以此类推第n条边的时延Tn的计算公式为:
Figure BDA0002209476960000087
步骤S7、迭代步数增加1,即m=m+1,然后判断迭代步数m是否等于最大迭代步数M,若是则执行步骤S8,否则执行步骤S1。
步骤S8、对所获得的IP接口地址进行别名解析,即找出属于同一个路由器的IP接口地址。
如图3所示,对主机A和主机B两个IP接口级的节点对按照上述步骤S1到步骤S4互相发送ICMP数据包,得到两节点之间通信所通过的具体接口IP地址。主机A向主机B依次发送ICMP数据包,得到传输路径为IPA—IP1—IP2—IP3—IP4—IPB,主机B向主机A依次发送ICMP数据包,得到传输路径为IPB—IP5—IP6—IP7—IP8—IPA。在接口A上对在两个相反路径上距离A接口相同跳数的两个IP接口IP4和IP5按照上述步骤S1到步骤S4发送ICMP回显请求包,在A接口解析收到的ICMP回显应答数据包,发现A接口到接口IP4的传输路径为IPA—IP1—IP2—IP3—IP4,A接口到接口IP5的传输路径为IPA—IP1—IP2—IP3—IP5,比较到达两个IP接口的IP接口路径,除了最后一个节点IP地址不同,其他节点IP都相同,则说明这两个IP接口属于同一个路由器Rr,在节点集V中合并这两个节点v1和v2为Rr,更新节点对之间的路径(将节点v1和v2都换成Rr),在边集E中将属于同一条链路的边进行合并,合并之后的边时延更新为参与合并的边时延的平均值。
S9、根据节点集V(v1,v2,v3…vn)和边集E(e1,e2,e3…en)中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建n×n的路由矩阵An×n,矩阵中的元素Aij表示节点i到节点j的下一跳节点。其中所述剩下的节点和边为将属于同一个路由器的IP地址接口节点进行合并,以及将属于同一条链路的边进行合并后,节点集V和边集E中所剩下的节点和边。
根据路由矩阵An×n构建n×n的时延矩阵Dn×n,矩阵中的元素Dij表示节点i到节点j的端到端时延。
计算矩阵中各个元素Dij的值,查询路由矩阵An×n,得到节点i到节点j的路径中所经过的边集合(e1、e2、e3…en),获取各条边上的时延(T1、T2、T3…Tn),将各条边的时延相加即得到端到端的链路时延Dij。
另一方面,本发明实施例还提供一种端到端时延测量装置,应用于发送端,包括:
第一处理模块,用于执行步骤10,所述步骤10具体包括向接收端发送带有时间戳和TTL为n的ICMP回显请求数据包,并记录发送时间
Figure BDA0002209476960000091
同时每一跳路由器接收到所述ICMP回显请求数据包时,对TTL进行减1并记录当前时间在所述时间戳中;其中,所述n≥1;
当TTL为0所述ICMP回显请求数据包还未到达所述接收端时,所述ICMP回显请求数据包到达的最后一个路由器将返回一个ICMP超时数据包给所述发送端,并将ICMP回显请求数据包中时间戳记录的内容存储到所述ICMP超时数据包中,当所述ICMP回显请求数据包到达所述接收端时,所述接收端返回ICMP回显应答数据包;
第二处理模块,用于执行步骤20,所述步骤20具体包括接收所述接收端返回的ICMP回显应答数据包,并解析获取每一跳路由器的IP地址,以及所述ICMP回显请求数据包达到每一跳路由器的时间
Figure BDA0002209476960000101
Figure BDA0002209476960000102
表示第n次发送的数据包到达第n跳时的时间;
第三处理模块,用于执行步骤30,所述步骤30具体包括根据每一跳的IP地址生成发送端到接收端的路由路径,依次计算数据包从发送端到接收端中每一条路径的时延属性;
第四处理模块,用于在迭代执行步骤S10~S30直到达到最大迭代次数后计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延。
本发明实施例提供的装置用于执行上述各方法实施例的流程,其功能再次不再赘述。
另一方面,本发明实施例3的电子设备包括:处理器(processor)、存储器(memory)和总线;
其中,所述处理器和所述存储器通过所述总线完成相互间的通信;
所述处理器用于调用所述存储器中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:
S10、发送端向接收端发送带有时间戳和TTL为n的ICMP回显请求数据包,并记录发送时间
Figure BDA0002209476960000103
同时每一跳路由器接收到所述ICMP回显请求数据包时,对TTL进行减1并记录当前时间在所述时间戳中;其中,所述n≥1;
当TTL为0所述ICMP回显请求数据包还未到达所述接收端时,所述ICMP回显请求数据包到达的最后一个路由器将返回一个ICMP超时数据包给所述发送端,并将ICMP回显请求数据包中时间戳记录的内容存储到所述ICMP超时数据包中,当所述ICMP回显请求数据包到达所述接收端时,所述接收端返回ICMP回显应答数据包;
S20、所述发送端接收所述接收端返回的ICMP回显应答数据包,并解析获取每一跳路由器的IP地址,以及所述ICMP回显请求数据包达到每一跳路由器的时间
Figure BDA0002209476960000111
Figure BDA0002209476960000112
表示第n次发送的数据包到达第n跳时的时间;
S30、根据每一跳的IP地址生成发送端到接收端的路由路径,依次计算数据包从发送端到接收端中每一条路径的时延属性;
S40、在迭代执行步骤S10~S30直到达到最大迭代次数,计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延
需要说明的是,本实施例中的电子设备在具体实现时可以为任意网络传输设备,只要其结构中包括处理器、通信接口、存储器和通信总线24,其中处理器,通信接口,存储器通过通信总线完成相互间的通信,且处理器可以调用存储器中的逻辑指令以执行上述方法即可。
另一方面,本发明实施例4还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:
S10、发送端向接收端发送带有时间戳和TTL为n的ICMP回显请求数据包,并记录发送时间
Figure BDA0002209476960000113
同时每一跳路由器接收到所述ICMP回显请求数据包时,对TTL进行减1并记录当前时间在所述时间戳中;其中,所述n≥1;
当TTL为0所述ICMP回显请求数据包还未到达所述接收端时,所述ICMP回显请求数据包到达的最后一个路由器将返回一个ICMP超时数据包给所述发送端,并将ICMP回显请求数据包中时间戳记录的内容存储到所述ICMP超时数据包中,当所述ICMP回显请求数据包到达所述接收端时,所述接收端返回ICMP回显应答数据包;
S20、所述发送端接收所述接收端返回的ICMP回显应答数据包,并解析获取每一跳路由器的IP地址,以及所述ICMP回显请求数据包达到每一跳路由器的时间
Figure BDA0002209476960000121
Figure BDA0002209476960000122
表示第n次发送的数据包到达第n跳时的时间;
S30、根据每一跳的IP地址生成发送端到接收端的路由路径,依次计算数据包从发送端到接收端中每一条路径的时延属性;
S40、在迭代执行步骤S10~S30直到达到最大迭代次数,计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种端到端时延测量方法,其特征在于,包括:
S10、发送端向接收端发送带有时间戳和TTL为n的ICMP回显请求数据包,并记录发送时间
Figure FDA0002824896380000011
同时每一跳路由器接收到所述ICMP回显请求数据包时,对TTL进行减1并记录当前时间在所述时间戳中;其中,所述n≥1;
当TTL为0所述ICMP回显请求数据包还未到达所述接收端时,所述ICMP回显请求数据包到达的最后一个路由器将返回一个ICMP超时数据包给所述发送端,并将ICMP回显请求数据包中时间戳记录的内容存储到所述ICMP超时数据包中,当所述ICMP回显请求数据包到达所述接收端时,所述接收端返回ICMP回显应答数据包;
S20、所述发送端接收所述接收端返回的ICMP回显应答数据包,并解析获取每一跳路由器的IP地址,以及所述ICMP回显请求数据包达到每一跳路由器的时间
Figure FDA0002824896380000012
Figure FDA0002824896380000013
表示第n次发送的数据包到达第n跳时的时间;
S30、根据每一跳的IP地址生成发送端到接收端的路由路径,依次计算数据包从发送端到接收端中每一条路径的时延属性;
S40、在迭代执行步骤S10~S30直到达到最大迭代次数,计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延;
所述根据每一跳的IP地址生成发送端到接收端的路由路径具体包括:
将所述每一跳路由器的IP地址作为拓扑节点v加到节点集V中,相邻两跳之间的链路作为一条拓扑边加到边集E中,并依据节点集V和边集E构建拓扑图,依次计算数据包从发送端到接收端中每一条边的时延属性;
所述计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图具体包括:
在任一接口A上对在两个相反路径上距离A接口相同跳数的两个IP接口发送ICMP回显请求包,在A接口解析收到的ICMP回显应答数据包,比较到达两个IP接口的路径,当最后一个节点IP地址不同,其他节点IP都相同时,则这两个IP接口属于同一个路由器,在节点集V中合并这两个节点为所述同一个路由器,更新节点对之间的路径,同时将与这两个节点所连的边进行合并,合并之后边的时延更新为重复的边时延的平均值。
2.根据权利要求1所述的端到端时延测量方法,其特征在于,所述依次计算数据包从发送端到接收端中每一条边的时延属性具体包括:
第一条边的时延T1的计算公式为:
Figure FDA0002824896380000021
第二条边的时延T2的计算公式为:
Figure FDA0002824896380000022
第三条边的时延T3的计算公式为:
Figure FDA0002824896380000023
以此类推第n条边的时延Tn的计算公式为:
Figure FDA0002824896380000024
其中,n为TTL的值。
3.根据权利要求1所述的端到端时延测量方法,其特征在于,所述根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延包括:
根据所记录的节点对之间的路径构建n×n的路由矩阵An×n,矩阵中的元素Aij表示节点i到节点j的下一跳节点;
根据路由矩阵An×n构建n×n的时延矩阵Dn×n,矩阵中的元素Dij表示节点i到节点j的端到端时延。
4.一种端到端时延测量装置,应用于发送端,其特征在于,包括:
第一处理模块,用于执行步骤10,所述步骤10具体包括向接收端发送带有时间戳和TTL为n的ICMP回显请求数据包,并记录发送时间
Figure FDA0002824896380000033
同时每一跳路由器接收到所述ICMP回显请求数据包时,对TTL进行减1并记录当前时间在所述时间戳中;其中,所述n≥1;
当TTL为0所述ICMP回显请求数据包还未到达所述接收端时,所述ICMP回显请求数据包到达的最后一个路由器将返回一个ICMP超时数据包给所述发送端,并将ICMP回显请求数据包中时间戳记录的内容存储到所述ICMP超时数据包中,当所述ICMP回显请求数据包到达所述接收端时,所述接收端返回ICMP回显应答数据包;
第二处理模块,用于执行步骤20,所述步骤20具体包括接收所述接收端返回的ICMP回显应答数据包,并解析获取每一跳路由器的IP地址,以及所述ICMP回显请求数据包达到每一跳路由器的时间
Figure FDA0002824896380000031
Figure FDA0002824896380000032
表示第n次发送的数据包到达第n跳时的时间;
第三处理模块,用于执行步骤30,所述步骤30具体包括根据每一跳的IP地址生成发送端到接收端的路由路径,依次计算数据包从发送端到接收端中每一条路径的时延属性;
第四处理模块,用于在迭代执行步骤S10~S30直到达到最大迭代次数后计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图,根据所记录的节点对之间的路径构建路由矩阵,根据所述路由矩阵构建时延矩阵,计算所述时延矩阵中各个元素的值,得到端到端的链路时延;
所述根据每一跳的IP地址生成发送端到接收端的路由路径具体包括:
将所述每一跳路由器的IP地址作为拓扑节点v加到节点集V中,相邻两跳之间的链路作为一条拓扑边加到边集E中,并依据节点集V和边集E构建拓扑图,依次计算数据包从发送端到接收端中每一条边的时延属性;
所述计算属于同一个路由器的IP地址,当所述路由路径出现相同的边时,对其时延的计算取平均值,根据路由路径中剩下的节点和边更新拓扑图具体包括:
在任一接口A上对在两个相反路径上距离A接口相同跳数的两个IP接口发送ICMP回显请求包,在A接口解析收到的ICMP回显应答数据包,比较到达两个IP接口的路径,当最后一个节点IP地址不同,其他节点IP都相同时,则这两个IP接口属于同一个路由器,在节点集V中合并这两个节点为所述同一个路由器,更新节点对之间的路径,同时将与这两个节点所连的边进行合并,合并之后边的时延更新为重复的边时延的平均值。
5.一种电子设备,其特征在于,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至3任一项所述的端到端时延测量方法的步骤。
6.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述端到端时延测量端到端时延测量方法的步骤。
CN201910893387.0A 2019-08-23 2019-09-20 端到端时延测量方法和装置 Active CN110677319B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910786352 2019-08-23
CN2019107863527 2019-08-23

Publications (2)

Publication Number Publication Date
CN110677319A CN110677319A (zh) 2020-01-10
CN110677319B true CN110677319B (zh) 2021-03-23

Family

ID=69077020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910893387.0A Active CN110677319B (zh) 2019-08-23 2019-09-20 端到端时延测量方法和装置

Country Status (1)

Country Link
CN (1) CN110677319B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510344B (zh) * 2020-04-02 2021-04-02 中国信息通信研究院 一种节点的转发时延确定方法和装置
CN112600734B (zh) * 2020-12-11 2021-09-28 深圳金信诺高新技术股份有限公司 一种高精度测量无线通信系统单向时延的方法
CN112929229A (zh) * 2021-01-20 2021-06-08 北京科来数据分析有限公司 一种计算tcp数据包经过多数据采集点网络时延的方法
CN115668885A (zh) * 2021-01-29 2023-01-31 北京小米移动软件有限公司 一种数据包传输方法、数据包传输装置及存储介质
CN116746126A (zh) * 2021-03-29 2023-09-12 华为技术有限公司 测量方法及网络设备
CN113708999B (zh) * 2021-08-30 2022-11-29 国家电网有限公司 一种通信网时延监测系统及方法
CN114172830B (zh) * 2021-10-28 2023-12-12 阿里巴巴(中国)有限公司 网络时延检测方法、装置以及系统
WO2024065675A1 (en) * 2022-09-30 2024-04-04 Qualcomm Incorporated Measuring performance of end-to-end communication paths in ue-to-ue relay

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510849A (zh) * 2009-03-18 2009-08-19 中国电信股份有限公司 获取传输路径上节点传输信息的方法和设备
CN106067854A (zh) * 2016-08-16 2016-11-02 中国联合网络通信集团有限公司 一种网络质量检测方法及设备
CN106656643A (zh) * 2015-10-29 2017-05-10 国家计算机网络与信息安全管理中心 一种分段计算网络延迟的测量方法
CN107634872A (zh) * 2017-08-29 2018-01-26 深圳市米联科信息技术有限公司 一种快速精确计量网络链路质量的方法和装置
CN108667681A (zh) * 2017-03-27 2018-10-16 丛林网络公司 用于多路径路由的路由跟踪
CN108886479A (zh) * 2018-02-12 2018-11-23 深圳前海达闼云端智能科技有限公司 网络质量评估方法、装置、网络检测设备及可读存储介质
CN108924000A (zh) * 2018-06-19 2018-11-30 成都网丁科技有限公司 一种基于tcp协议实现的新型网络路径探测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070160050A1 (en) * 2006-01-09 2007-07-12 Broadcom Corporation Diagnostic mechanism for Layer 2 and Layer 3 networks
US8675502B2 (en) * 2008-01-30 2014-03-18 Cisco Technology, Inc. Relative one-way delay measurements over multiple paths between devices
US9137101B2 (en) * 2011-11-23 2015-09-15 Avaya Inc. Multi-layer network diagnostic tracing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510849A (zh) * 2009-03-18 2009-08-19 中国电信股份有限公司 获取传输路径上节点传输信息的方法和设备
CN106656643A (zh) * 2015-10-29 2017-05-10 国家计算机网络与信息安全管理中心 一种分段计算网络延迟的测量方法
CN106067854A (zh) * 2016-08-16 2016-11-02 中国联合网络通信集团有限公司 一种网络质量检测方法及设备
CN108667681A (zh) * 2017-03-27 2018-10-16 丛林网络公司 用于多路径路由的路由跟踪
CN107634872A (zh) * 2017-08-29 2018-01-26 深圳市米联科信息技术有限公司 一种快速精确计量网络链路质量的方法和装置
CN108886479A (zh) * 2018-02-12 2018-11-23 深圳前海达闼云端智能科技有限公司 网络质量评估方法、装置、网络检测设备及可读存储介质
CN108924000A (zh) * 2018-06-19 2018-11-30 成都网丁科技有限公司 一种基于tcp协议实现的新型网络路径探测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Novel Router-based Approach for Measuring Packet-based Delay in High Speed IP Networks;S.R. Kamel Tabbakh等;《2010 Second International Conference on Network Applications, Protocols and Services》;20101115;全文 *
基于ICMP协议的网络延迟测量研究;何辉;《电脑知识与技术》;20120225;全文 *

Also Published As

Publication number Publication date
CN110677319A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
CN110677319B (zh) 端到端时延测量方法和装置
Duffield et al. Multicast inference of packet delay variance at interior network links
US10606726B2 (en) Methods, systems and computer readable media for performing benchmark reference testing of data center and network equipment
JP4348124B2 (ja) QoSを推定する方法および通信装置
CN112040526B (zh) 一种通信路径选择方法、设备及通信系统
US7065584B1 (en) Method and apparatus for network mapping using end-to-end delay measurements
EP3357194B1 (en) Analysis of network performance
Kirichek et al. The home network traffic models investigation
Salehin et al. Combined methodology for measurement of available bandwidth and link capacity in wired packet networks
US7778196B2 (en) Method and apparatus for link performance measurements in a packet-switched network
Salcedo Morillo et al. Overhead in available bandwidth estimation tools: Evaluation and analysis
Johnsson et al. On measuring available bandwidth in wireless networks
Eramo et al. Design and evaluation of a new multi-path incremental routing algorithm on software routers
US8005010B2 (en) Method and apparatus for providing performance measurement for a network tunnel
Bauer et al. On the Accuracy of Active Capacity Estimation in the Internet
Igai et al. A simple estimation scheme for upper bound of link utilization based on RTT measurement
Janic et al. On properties of multicast routing trees
Vuletić et al. Self-similar cross-traffic analysis as a foundation for choosing among active available bandwidth measurement strategies
Johnsson Bandwidth measurements in wired and wireless networks
Ciaccia et al. Hire: Hidden inter-packet red-shift effect
Popescu et al. Measurement of one-way transit time in IP routers
Rhodes et al. On the empirical evaluation of multicasting with minimum delay variation
De A. Rocha et al. A non-cooperative active measurement technique for estimating the average and variance of the one-way delay
Sairam et al. Survey of Bandwidth Estimation Techniques
Rhodes et al. Empirical evaluation of designing multicasting network with minimum delay variation

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