CN114172830B - 网络时延检测方法、装置以及系统 - Google Patents
网络时延检测方法、装置以及系统 Download PDFInfo
- Publication number
- CN114172830B CN114172830B CN202111267025.4A CN202111267025A CN114172830B CN 114172830 B CN114172830 B CN 114172830B CN 202111267025 A CN202111267025 A CN 202111267025A CN 114172830 B CN114172830 B CN 114172830B
- Authority
- CN
- China
- Prior art keywords
- detection
- echo message
- detection information
- message
- response
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 1031
- 230000004044 response Effects 0.000 claims abstract description 322
- 238000000034 method Methods 0.000 claims abstract description 174
- 230000008569 process Effects 0.000 claims abstract description 155
- 230000005540 biological transmission Effects 0.000 claims description 184
- 239000000523 sample Substances 0.000 claims description 46
- 238000001914 filtration Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 abstract description 40
- 238000003745 diagnosis Methods 0.000 abstract description 12
- 238000007405 data analysis Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
Abstract
本说明书实施例提供网络时延检测方法、装置以及系统,其中所述网络时延检测方法,包括:通过向接收端传输请求回显报文,以及传输请求回显报文的过程中多个探测点探测到的探测信息;然后接收由接收端回传的应答回显报文,应答回显报文携带有传输请求回显报文的过程中多个探测点探测到的探测信息和回传过程中多个探测点探测到的探测信息;并根据应答回显报文中的探测信息,确定网络时延。无需进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析,部署灵活,数据分析去中心化,不需要上传数据到中心节点,不依赖复杂的分析系统。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种网络时延检测方法。
背景技术
随着计算机技术的快速发展,网络得到了广泛应用。对网络的性能进行衡量和评估是网络运营和维护中重要的组成部分,其中对网络进行延迟分析最为关键。然而,网络的链路复杂度高,在云上环境中,一个报文的传输会经历各种复杂的传输路径和中间节点;网络的延迟抖动问题难以定位,定位时间长,在复杂的传输路径中,任何一点微小的因素都可能导致报文的传输延迟出现抖动。这些问题导致网络延迟的定界非常困难,无法做到对网络延迟的细粒度定界,且通常需要依赖于时间同步、中心化数据收集分析系统等机制。因此,亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本说明书施例提供了一种网络时延检测方法。本说明书一个或者多个实施例同时涉及一种网络时延检测装置,一种网络时延检测系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种网络时延检测方法,应用于发送端,包括:
向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;
接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息;
根据所述应答回显报文中的探测信息,确定网络时延。
可选地,所述向接收端传输请求回显报文之前,还包括:
获取初始请求回显报文;
根据预设协议,设置所述初始请求回显报文的信息域,生成请求回显报文。
可选地,所述根据预设协议,设置所述初始请求回显报文的信息域,包括:
根据所述预设协议,在所述初始请求回显报文的信息域中设置携带有元数据信息的协议头和数据区,所述数据区用于存储探测信息。
可选地,所述探测信息包含探测点类型和时间戳,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述根据所述应答回显报文中的探测信息,确定网络时延,包括:
在所述应答回显报文中相邻的两个探测信息包含的探测点类型相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延,所述探测点类型包括发送端和接收端;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
可选地,所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点;
所述向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,包括:
将所述请求回显报文传输至所述至少一个传输节点,以使所述至少一个传输节点将所述请求回显报文和传输所述请求回显报文的过程中多个探测点探测到的探测信息转发至所述接收端。
可选地,所述探测信息包含探测点归属节点标识和时间戳,所述探测点归属节点标识包括发送端标识、接收端标识和指定传输节点标识,所述指定传输节点标识是指所述至少一个传输节点中任意一个传输节点的标识,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述根据所述应答回显报文中的探测信息,确定网络时延,包括:
在所述应答回显报文中相邻的两个探测信息包含的探测点归属节点标识相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
根据本说明书实施例的第二方面,提供了一种网络时延检测方法,应用于接收端,包括:
接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;
向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。
可选地,所述向所述发送端回传应答回显报文之前,还包括:
提取所述请求回显报文中的信息域;
将所述信息域添加至初始应答回显报文中,生成应答回显报文。
可选地,所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点;
所述向所述发送端回传应答回显报文,包括:
将所述应答回显报文回传至所述至少一个传输节点,以使所述至少一个传输节点将所述应答回显报文转发至所述接收端,并在转发所述应答回显报文的过程中将所述至少一个传输节点的多个探测点探测到的探测信息添加至所述应答回显报文。
根据本说明书实施例的第三方面,提供了一种网络时延检测方法,应用于探测点,所述探测点位于发送端、接收端和传输节点中的至少一个,包括:
响应于发送端向接收端传输请求回显报文,探测得到传输所述请求回显报文过程中的探测信息;
响应于接收端向发送端回传应答回显报文,探测得到回传所述应答回显报文过程中的探测信息;
为所述应答回显报文提供探测信息,使所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传所述应答回显报文的过程中所述多个探测点探测到的探测信息,其中,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。
根据本说明书实施例的第四方面,提供了一种网络时延检测装置,应用于发送端,包括:
传输模块,被配置为向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;
第一接收模块,被配置为接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息;
确定模块,被配置为根据所述应答回显报文中的探测信息,确定网络时延。
可选地,所述装置还包括第一生成模块,被配置为:
获取初始请求回显报文;
根据预设协议,设置所述初始请求回显报文的信息域,生成请求回显报文。
可选地,所述第一生成模块,还被配置为:
根据所述预设协议,在所述初始请求回显报文的信息域中设置携带有元数据信息的协议头和数据区,所述数据区用于存储探测信息。
可选地,所述探测信息包含探测点类型和时间戳,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述确定模块,还被配置为:
在所述应答回显报文中相邻的两个探测信息包含的探测点类型相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延,所述探测点类型包括发送端和接收端;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
可选地,所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点;
所述传输模块,还被配置为:
将所述请求回显报文传输至所述至少一个传输节点,以使所述至少一个传输节点将所述请求回显报文和传输所述请求回显报文的过程中多个探测点探测到的探测信息转发至所述接收端。
可选地,所述探测信息包含探测点归属节点标识和时间戳,所述探测点归属节点标识包括发送端标识、接收端标识和指定传输节点标识,所述指定传输节点标识是指所述至少一个传输节点中任意一个传输节点的标识,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述确定模块,还被配置为:
在所述应答回显报文中相邻的两个探测信息包含的探测点归属节点标识相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
根据本说明书实施例的第五方面,提供了一种网络时延检测装置,应用于接收端,包括:
第二接收模块,被配置为接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;
回传模块,被配置为向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。
可选地,所述装置还包括第二生成模块,被配置为:
提取所述请求回显报文中的信息域;
将所述信息域添加至初始应答回显报文中,生成应答回显报文。
可选地,所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点;
所述回传模块,还被配置为:
将所述应答回显报文回传至所述至少一个传输节点,以使所述至少一个传输节点将所述应答回显报文转发至所述接收端,并在转发所述应答回显报文的过程中将所述至少一个传输节点的多个探测点探测到的探测信息添加至所述应答回显报文。
根据本说明书实施例的第六方面,提供了一种探测点,所述探测点位于发送端、接收端和传输节点中的至少一个,包括:
第一响应模块,用于响应于发送端向接收端传输请求回显报文,探测得到传输所述请求回显报文过程中的探测信息;
第二响应模块,用于响应于接收端向发送端回传应答回显报文,探测得到回传所述应答回显报文过程中的探测信息;
提供模块,用于为所述应答回显报文提供探测信息,使所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传所述应答回显报文的过程中所述多个探测点探测到的探测信息,其中,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。
根据本说明书实施例的第七方面,提供了一种网络时延检测系统,包括:
发送端和接收端,所述发送端和/或所述接收端分别配置有至少一个探测点;
所述发送端,用于向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息;
所述接收端,用于接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息;向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息;
所述发送端,还用于接收所述接收端回传的应答回显报文;根据所述应答回显报文中的探测信息,确定网络时延。
可选地,所述发送端,还用于获取初始请求回显报文;根据预设协议,设置所述初始请求回显报文的信息域,生成请求回显报文。
可选地,所述发送端,还用于根据所述预设协议,在所述初始请求回显报文的信息域中设置携带有元数据信息的协议头和数据区,所述数据区用于存储探测信息。
可选地,所述探测信息包含探测点类型和时间戳,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述发送端,还用于在所述应答回显报文中相邻的两个探测信息包含的探测点类型相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延,所述探测点类型包括发送端和接收端;在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
可选地,所述接收端,还用于提取所述请求回显报文中的信息域;将所述信息域添加至初始应答回显报文中,生成应答回显报文。
可选地,所述系统还包括:
至少一个传输节点,所述至少一个传输节点分别配置有至少一个探测点;
所述接收端和所述发送端通过至少一个传输节点连接;
所述至少一个传输节点,用于将所述请求回显报文和传输所述请求回显报文的过程中多个探测点探测到的探测信息转发至所述接收端;将所述应答回显报文转发至所述接收端,并在转发所述应答回显报文的过程中将所述至少一个传输节点的多个探测点探测到的探测信息添加至所述应答回显报。
可选地,所述探测信息包含探测点归属节点标识和时间戳,所述探测点归属节点标识包括发送端标识、接收端标识和指定传输节点标识,所述指定传输节点标识是指所述至少一个传输节点中任意一个传输节点的标识,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述发送端,还用于在所述应答回显报文中相邻的两个探测信息包含的探测点归属节点标识相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延;在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
根据本说明书实施例的第八方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机指令时实现所述网络时延检测方法的步骤
根据本说明书实施例的第九方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述网络时延检测方法的步骤。
根据本说明书实施例的第十方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述网络时延检测方法的步骤。
本说明书一个实施例提供的网络时延检测方法,通过向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;然后接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息;并根据所述应答回显报文中的探测信息,确定网络时延。在发送端和/或接收端分别配置有至少一个探测点,用于获取探测信息,无需对网络传输链路上的各节点进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;根据各探测点的探测信息,确定网络时延,能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析。部署灵活,数据分析去中心化,不需要上传数据到中心节点,也不依赖复杂的分析系统。并且,在中间传输节点和对端节点都不支持该协议时,仍旧能够对发送端的相关延迟进行分析。
附图说明
图1是本说明书一个实施例提供的一种网络时延检测方法的流程图;
图2A是本说明书一个实施例提供的一种探测点布局的示意图;
图2B是本说明书一个实施例提供的一种请求回显报文的示意图;
图2C是本说明书一个实施例提供的另一种请求回显报文的示意图;
图2D是本说明书一个实施例提供的另一种探测点布局的示意图;
图3是本说明书一个实施例提供的另一种网络时延检测方法的流程图;
图4是本说明书一个实施例提供的再一种网络时延检测方法的流程图;
图5是本说明书一个实施例提供的一种网络时延检测装置的结构示意图;
图6是本说明书一个实施例提供的另一种网络时延检测装置的结构示意图;
图7是本说明书一个实施例提供的一种探测点的结构示意图;
图8A是本说明书一个实施例提供的一种网络时延检测系统的结构示意图;
图8B是本说明书一个实施例提供的另一种网络时延检测系统的结构示意图;
图9是本说明书一个实施例提供的一种网络时延检测方法的处理过程流程图;
图10是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
回显报文:即ICMP(Internet Control Message Protocol)报文,分为请求回显报文和应答回显报文两种报文类型。发送端在请求回显报文中加入某些数据然后发送给接收端,接收端在收到请求回显报文后会将这些数据原封不动拷贝,生成应答回显报文并回复给发送端,如因特网包探索器(ping,Packet Internet Groper)。
网络时延:一般指使用ping程序测量的、从发送请求回显报文到收到应答回显报文请求时的总时间,该时间测量的是包往返的总时间,用于衡量主机对之间包括网络跳跃的网络延迟。
接着,对本实施例提供的网络时延检测方法的基本构思进行简述:
网络链路复杂,在云上环境中,一个报文的传输会经历各种复杂的传输路径和中间节点。比如,两个运行在云上的主机在使用ICMP协议进行网络延迟测试时,可能会经过以下路径:用户态构造回显报文,通过系统调用陷入到内核并准备发送回显报文;报文进入协议栈,经过管理机制,如网络过滤器(netfilter)、路由查找等机制后到达排队队列之后,从网卡发出;之后回显报文进入云厂商虚拟机(VPC, Virtual Private Cloud)网络;回显报文通过物理网络交换机、路由器等层层转发至对端主机,接着对端网络触发硬中断和软中断,进行收包;回显报文经过协议栈后被内核识别并解析,然后回复回显报文;报文再次经过VPC网络,到达发送端主机后经过中断、netfilter等机制后,被提交给用户态进程进行解析。除了上述路径外,回显报文还可能会经过容器网络(bridge,网桥),网络地址转换、虚拟专用网络(VPN,Virtual Private Network)网关、防火墙,虚拟服务器(lvs,Linux VirtualServer)负载均衡等等各种组件,进一步增加网络传输路径的复杂性。
此外,网络时延抖动问题难以定位,且定位时间长。在上述复杂的传输路径中,任何一点微小的因素都可能导致回显报文的传输延迟出现抖动,例如:用户态进程受到调度延迟的影响,被唤醒收包的时间被推迟;排队队列配置不合理,导致发包出现延迟;路由表查找速度慢;长时间软、硬中断关闭,导致收包不及时等等。以上任何一种因素,最终呈现出来的现象都是回显报文传输延迟抖动,而定位问题发生的边界和根因确定困难,花费较长。
ICMP协议的时间戳消息类型,是一种主要用于端到端时间同步的机制。发送端发送一个时间戳请求报文,并添上自己在发送时的时间戳。接收端在接收到该消息后,回复一个时间戳应答报文,并填上接收到时间戳请求报文和发送时间戳应答报文时的时间戳信息。此方法可以用于时间同步,也可以通过多次发送报文的方式,来测量从发送端到接收端的传输延迟是否出现大的波动。但是它无法定界出复杂网络链路中各部分的延迟信息。
pingmesh是一个用于数据中心的,大规模的网络延迟诊断分析系统,它使用传输控制协议(TCP,Transmission Control Protocol)或超文本传输协议(HTTP,HyperTextTransfer Protocol)中的ping,在同一个机架内部、机架与机架之间、数据中心与数据中心之间等几个拓扑层级,分别选取若干服务端,在服务端与服务端之间长时间地、周期性地互相发送ping报文,以检测网络的连接状况,是基于大量不间断的数据报文实现网络诊断的,但其只能定位数据中心、骨干交换机、机架等大范围,不能帮助进一步定位是哪一小环节出现了问题,且需要长时间、大规模地部署,并将这些信息汇集分析才能得出相关结论。
带内网络功能遥测(INT,In-band Network Telemetry)是一个在数据面收集和报告网络状态的框架,它设计了一种可以用传输控制协议、用户数据报协议(UDP,UserDatagram Protocol)或者虚拟扩展本地局域网(VxLAN,Virtual eXtensible Local AreaNetwork)等协议承载的协议格式,报文传输路径上的交换机等设备在识别出该报文后,可以将收发该报文时的时间戳加入到该报文中,以此实现逐跳(hop-by-hop)的延迟检测。但其只能记录报文在进出设备时的时间戳,无法对报文的延迟情况做进一步的细分,在进行延迟分析时,需要服务器和交换机等设备进行时间同步,若接收端不支持该协议,则无法获取到相应的数据。
zoonet是虚拟网络端到端主动探测系统,它的实现原理是构造一个特殊报文,报文经过的节点主动向源端汇报时间戳等信息给发送端,从而完成对报文延迟的诊断。该方案具有hop-by-hop检测的能力,但无法对主机内核部分的延迟进行进一步的细化分析。此外,它是通过中间结点主动汇报的多个报文来收集诊断的,而非通过单独的一个回显报文来实现的。
因此,我们设计了一种网络时延检测,用来加速解决网络问题的定界和定位问题。
在本说明书中,提供了一种网络时延检测方法,本说明书同时涉及一种网络时延检测装置,一种网络时延检测系统,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种网络时延检测方法的流程图,应用于发送端,具体包括以下步骤:
步骤102:向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端。
具体的,请求回显报文是指通过发送端通过网络控制报文协议向接收端发送的回显报文;探测点用于实现回显报文过滤和数据记录,发送端和/或接收端上的探测点数量不限,且可以动态增减,探测点可以添加在发送端或接收端在进入或发出回显报文的位置上,还可以根据需要在如软中断、排队规则(qdisc,queueing discipline)、进程唤醒等位置动态添加,也即探测点用于实现回显报文过滤和数据记录,实现方法可灵活选择,如通过扩展伯克利包过滤器(eBPF,extended Berkeley Packet Filter)、内核模块(kernel module)或内核预先定义的静态探测点(tracepoint)等方式实现。
实际应用中,为了准确定界出复杂网络链路中的网络时延,可以在发送端和/或接收端分别配置至少一个探测点:发送端的探测点中的每个探测点可以全部用于传输请求回显报文,也可以部分探测点用于传输请求回显报文,部分探测点用于接收应答回显报文。发送端在生成请求回显报文之后,将该请求回显报文传输至接收端,并在传输请求回显报文的过程中,在探测点检测到该请求回显报文形成对应的探测信息,同时将各探测点对应的探测信息也一并传输至接收端。
需要说明的是,在传输请求回显报文和多个探测点探测到的探测信息时,可以在探测点检测到该请求回显报文时,将该探测点探测到的探测信息添加至该请求回显报文,然后向接收端传输,如利用内核模块(kernel module)技术,将探测点的探测信息添加至请求应答报文;还可以将多个探测点的探测信息和请求回显报文一起传输给接收端,如利用扩展伯克利包过滤器,将探测点的探测信息暂存到扩展伯克利包过滤器的数据存储区,并发送给接收端。
如图2A所示,图2A示出了本说明书一个实施例提供的一种探测点布局的示意图:图2A中发送端配置了6个探测点,接收端配置了3个探测点。接收端将请求回显报文传输至接收端,并在传输请求回显报文的过程中,发送端的第一个探测点先探测到请求回显报文,将第一个探测点探测到的探测信息添加至该请求回显报文;然后发送端的第二个探测点先探测到请求回显报文,将第二个探测点探测到的探测信息添加至该请求回显报文;接着发送端的第三个探测点先探测到请求回显报文,将第三个探测点探测到的探测信息添加至该请求回显报文。也即,接收端接收到的请求回显报文中携带有发送端的三个探测点探测到的探测信息。
此外,为了保证检测的效率,可以基于预设协议生成请求回显报文,也即所述向接收端传输请求回显报文之前,还包括:
获取初始请求回显报文;
根据预设协议,设置所述初始请求回显报文的信息域,生成请求回显报文。
具体的,初始请求回显报文是指没有任何设置的回显报文,例如初始回显报文;预设协议是指预先设置的发送端与接收端进行数据传输的协议。
实际应用中,可以先获取初始请求回显报文,然后根据预设协议对初始请求回显报文进行设置,主要设置回显报文的信息域。设置完成之后生成请求回显报文。
可选地,所述根据预设协议,设置所述初始请求回显报文的信息域,包括:
根据所述预设协议,在所述初始请求回显报文的信息域中设置携带有元数据信息的协议头和数据区,所述数据区用于存储探测信息。
具体的,元数据信息又称中介数据信息、中继数据信息,为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
实际应用中,预设协议对初始请求回显报文的信息域进行设置,也即对初始请求回显报文的有效负载(payload)进行设置,设置后的信息域包含有协议头和数据区:其中协议头中存储有元数据信息,如协议版本号、序列号、id和标志位等信息;数据区用于存储探测信息,数据区是可以是一个数组,数组的大小由发送端在构造报文时确定。
参见图2B所示,图2B示出本说明书一个实施例提供的一种请求回显报文的示意图:设置好的请求回显报文包括两大部分:请求回显报文头和信息域,信息域中包括协议头数据区。
此外,探测点检测到该请求回显报文时,将该探测点探测到的探测信息添加至该请求回显报文,然后向接收端传输。此时,参见图2C,图2C是本说明书一个实施例提供的另一种请求回显报文的示意图,在图2B所述的请求回显报文的基础上,数据区被分为了多个子数据区和预留空间,每各子数据区用于记录请求回显报文经过一个探测点时探测到的探测信息,包括该探测点所在节点的标识(id)、该探测点在该节点上的编号以及请求回显报文经过该探测时的时间戳等信息,在请求回显报文经过某个探测点后,将该探测点探测到的探测信息按序填写到该数组中;预留空间可以用于在新增探测点后、按照顺序存储探测信息。如将探测点1的探测信息添加至数据区的第一个子数据区,将探测点n的探测信息添加至数据区的第n个子数据区。
发送端除了可以与接收端之间相连外,网络链路较长时,发送端还可以通过传输节点与接收端进行连接,传输节点的数量不限,为了准确定界出复杂网络链路中的网络时延,传输节点上也配置有至少一个探测点,也即发送端通过传输节点向接收端传输请求回显报文,也即在所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点的情况下,所述向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息的具体实现过程可以如下:
将所述请求回显报文传输至所述至少一个传输节点,以使所述至少一个传输节点将所述请求回显报文和传输所述请求回显报文的过程中多个探测点探测到的探测信息转发至所述接收端。
实际应用中,大多数发送端与接收端通过传输节点连接,除了发送端和/或接收端分别配置多个探测点外,每个传输节点上也配置有至少一个探测点。在向接收端传输请求回显报文的过程中,发送端会先将请求回显报文传输至第一个传输节点,然后由第一个传输节点将请求回显报文传输给下一个传输节点,以此类推,直至将请求回显报文传输至接收端。此外,传输节点上的探测点在检测到该请求回显报文时也会形成对应的探测信息,也即将请求回显报文传输至接收端的同时,还传输有发送端以及传输节点上各探测点探测到的探测信息。
优选地,传输节点可以分为上行传输节点和下行传输节点,其中上行传输节点用于将发送端的请求回显报文传输至接收端,下行传输节点用于将接收端的应答回显报文传输至发送端。需要说明的是,在传输请求回显报文和多个探测点探测到的探测信息时,传输节点上的探测点检测到该请求回显报文时,同样可以将该探测点探测到的探测信息添加至该请求回显报文,然后向接收端传输,还可以将多个探测点的探测信息和请求回显报文一起传输给接收端。
如图2D所示,图2D示出了本说明书一个实施例提供的一种探测点布局的示意图:图2D中发送端与接收端之间有5个传输节点,其中传输节点1和传输节点2用于发送端向接收端的传输,传输节点3、传输节点4和传输节点5用于发送端向接收端的传输。当发送端向接收端传输请求回显报文时,请求回显报文依次经过发送端的三个探测点、传输节点1的三个探测点、传输节点2的三个探测点,然后到达接收端。接收端接收的请求回显报文中依次携带有发送端的三个探测点的探测信息、传输节点1的三个探测点探测到的探测信息以及传输节点2的三个探测点探测到的探测信息。
步骤104:接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息。
在接收端接收到发送端传输的请求回显报文,以及传输请求回显报文的过程中多个探测点探测到的探测信息的基础上,进一步,接收端生成应答回显报文,并回传给发送端。
具体的,应答回显报文是指通过接收端通过网络控制报文协议向发送端发送的回显报文,用于响应请求回显报文。
实际应用中,接收端在收到请求回显报文和传输请求回显报文的过程中多个探测点探测到的探测信息后,会立即生成响应请求回显报文的应答回显报文:接收端收到请求回显报文后,基于预设协议,如网络控制报文协议(ICMP协议),将请求回显报文的信息域原样拷贝到应答回显报文中。然后接收端将应答回显报文回传给发送端,并将传输请求回显报文的过程中多个探测点探测到的探测信息和回传应答请求的过程中将多个探测点探测到的探测信息添加至所述应答回显报文,即接收端接收到携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息的应答回显报文。
需要注意的是,若传输请求回显报文中多个探测点探测的探测信息添加在请求回显报文包中,接收端生成应答回显报文时,只需将请求回显报文的信息域原样拷贝到应答回显报文中即可;若多个探测点的探测信息和请求回显报文是分开发送给接收端的,则接收端生成应答回显报文时,不仅需要将请求回显报文的信息域原样拷贝到应答回显报文中,还需要将接收的多个探测点的探测信息添加至应答回显报文中,例如利用扩展伯克利包过滤器,将探测点的探测信息暂存到扩展伯克利包过滤器的数据存储区,并发送给接收端之后,接收端将请求回显报文的信息域原样拷贝到应答回显报文之后,再将扩展伯克利包过滤器的数据存储区中的所有探测信息添加至应答回显报文中。
此外,在接收端生成应答回显报文后,还可以对应答回显报文中的信息域做适当修改,如添加标志位、写入时间戳等信息。
在发送端至少一个传输节点与接收端进行连接,且各传输节点上配置有至少一个探测点的基础上,接收端向发送端回传应答回显报文时,接收端会先将应答回显报文传输至回传路径上的第一个传输节点,然后由第一个传输节点将应答回显报文传输给下一个传输节点,以此类推,直至将应答回显报文回传给发送端。此外,在传输节点向发送端回传应答回显报文中的过程中,传输节点上的探测点在检测到该请求回显报文时也会形成对应的探测信息,也即将传输节点上的探测点对应的探测信息添加至应答回显报文中,也即发送端接收的应答回显报文携带回传过程中多个探测点探测到的探测信息,包含传输节点上的探测点探测到的探测信息。
如图2D所示,图2D中发送端与接收端之间有5个传输节点,其中传输节点1和传输节点2用于发送端向接收端的传输,传输节点3、传输节点4和传输节点5用于发送端向接收端的传输。当接收端向发送端回传应答回显报文时,应答回显报文依次经过接收端的三个探测点、传输节点3的一个探测点、传输节点4的两个探测点、传输节点5的两个探测点以及发送端的另三个探测点,至此发送端接收端应答回显报文。接收端接收的请求回显报文中依次携带有发送端的三个探测点的探测信息、传输节点1的三个探测点探测到的探测信息、传输节点2的三个探测点探测到的探测信息、接收端的三个探测点探测到的探测信息、传输节点3的一个探测点探测到的探测信息、传输节点4的两个探测点探测到的探测信息、传输节点5的两个探测点探测到的探测信息以及发送端的另三个探测点探测到的探测信息。
此外,各探测点探测到的探测信息,接收端可以通过一个应答回显报文回传给发送端,也可以通过多个应答回显报文回传给发送端:例如,接收端需要将应答回显报文出网卡时的探测信息加入到应答回显报文中,但是如果采取eBPF实现,由于技术限制,无法在这个探测点探测到探测信息后,直接将探测信息写入到应答回显报文中,因此需要先回传一个尚未添加探测信息的应答回显报文,并在探测点处暂存这个应答回显报文经过时的探测信息,然后再行构造一个应答回复报文,将记录下来的探测信息追加到这个新的应答回显复报文中后再次回传到发送端。如此,探测信息将被拆散到了两个应答回复报文中,由发送端接收并解析。
探测信息通常按照探测顺序添加到应答回显报文中,还可以按照其他预设顺序、预留好数据区的预留空间,然后探测点在检测到对应的回显报文后,按照约定直接将探测信息写入到该预留空间中,适用于硬件实现报文检测和数据添加。此外,还可以使用头插法将探测信息添加至回显报文中,也即在构造回显报文时,不为数据区预留任何空间,只存放一个协议头,在经过相关探测点时,将探测信息直接插入到协议头之后,其他探测信息之前,适用于交换机等在回显报文进入、送出时由硬件完成对探测信息的添加。
步骤106:根据所述应答回显报文中的探测信息,确定网络时延。
在接收到回传的应答回显信息的基础上,进一步地,发送端根据应答回显信息中的探测信息,确定网络时延。
实际应用中,探测信息中包含有探测点探测到请求回显报文或应答回显报文的时间戳,然后根据各探测信息中的时间戳,对各时间戳进行分析,分析传输请求回显报文和回传应答回显报文各阶段的网络时延。
在本实施例一个或多个可选的实施例中,探测信息中不仅包含有时间戳,还包含有探测点类型,且各探测信息按照探测点探测的顺序添加在应答回显报文中,此时可以根据探测点类型相同且相邻的两个探测信息的时间戳,确定这两个探测点之间的网络时延;根据探测点类型不同且相邻的两个探测信息的时间戳和这两个探测点之间的基准值,确定这两个探测点之间的网络时延。也即在所述探测信息包含探测点类型和时间戳,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列的情况下,所述根据所述应答回显报文中的探测信息,确定网络时延,包括:
在所述应答回显报文中相邻的两个探测信息包含的探测点类型相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延,所述探测点类型包括发送端和接收端;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
具体的,探测点类型是指该探测点部署的位置,如该探测点在接收端上,则该探测点的类型为接收端,若探测点在发送端上,则该探测点的类型为发送端。时间戳是指探测点探测到请求回显报文或应答回显报文的时间。
实际应用中,如果相邻的两个探测点部署位置相同,即应答回显报文中相邻的两个探测信息包含的探测点类型相同,则可以将这两个探测信息中的时间戳直接相减,计算出这两个时间戳对应的两个探测点之间的网络时延。如果相邻的两个探测点部署位置不相同,即应答回显报文中相邻的两个探测信息包含的探测点类型不同,由于发送端与接收端的时间不同步,将这两个探测信息中的时间戳直接相减的结果不能反映两个探测信息对应的探测点之间的传输延迟,因此需要进行修正:获取多个历史应答回显报文中这两个探测点对应的历史时间戳之间相减的结果;然后选取多个结果中的最小值、平均值或中位数作为两个探测点之间的网络时延的基准值;接着将应答回显报文中这两个探测信息中的时间戳直接相减的结果再减去基准值,则得到,这两个探测点之间的网络延时。如此,可得到更为精确的网络时延结果,并能通过该网络时延结果定界和分析网络时延的问题,网络时延粒度更小。
例如,应答回显报文中依次携带有探测信息a1、探测信息a2和探测信息a3,其中探测信息a1和探测信息a2包含的探测点类型均为发送端、探测信息a3包含的探测点类型相同为接收端,则探测信息a1对应的探测点A1和探测信息a2对应的探测点A2的网络时延为:探测信息a2中的时间戳减去探测信息a1中的时间戳;探测信息a2对应的探测点A2和探测信息a3对应的探测点A3的网络时延为:探测信息a3中的时间戳减去探测信息a2中的时间戳、再减去探测点A2与探测点A3网络时延的基准值。
在发送端至少一个传输节点与接收端进行连接,且各传输节点上配置有至少一个探测点的基础上,探测信息中不仅包含有时间戳,还包含有探测点归属节点标识,且各探测信息按照探测点探测的顺序添加在应答回显报文中,此时可以根据探测点归属节点标识相同且相邻的两个探测信息的时间戳,确定这两个探测点之间的网络时延;根据探测点归属节点标识不同且相邻的两个探测信息的时间戳和这两个探测点之间的基准值,确定这两个探测点之间的网络时延。也即所述探测信息包含探测点归属节点标识和时间戳,所述探测点归属节点标识包括发送端标识、接收端标识和指定传输节点标识,所述指定传输节点标识是指所述至少一个传输节点中任意一个传输节点的标识,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列的情况下;所述根据所述应答回显报文中的探测信息,确定网络时延,具体实现过程如下:
在所述应答回显报文中相邻的两个探测信息包含的探测点归属节点标识相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
具体的,探测点归属节点标识是指该探测点部署的位置的标识,如该探测点在接收端上,则该探测点归属节点标识为接收端,若探测点在发送端上,则该探测点归属节点标识为发送端,若探测点在传输节点N上,N为正整数,则该探测点归属节点标识为传输节点N。时间戳是指探测点探测到请求回显报文或应答回显报文的时间。
实际应用中,如果相邻的两个探测点部署位置相同,即应答回显报文中相邻的两个探测信息包含的探测点归属节点标识相同,则可以将这两个探测信息中的时间戳直接相减,计算出这两个时间戳对应的两个探测点之间的网络时延。如果相邻的两个探测点部署位置不相同,即应答回显报文中相邻的两个探测信息包含的探测点归属节点标识不同,由于发送端、各传输节点、接收端的时间不同步,将这两个探测信息中的时间戳直接相减的结果不能反映两个探测信息对应的探测点之间的传输延迟,因此需要进行修正:获取多个历史应答回显报文中这两个探测点对应的历史时间戳之间相减的结果;然后选取多个结果中的最小值、平均值或中位数作为两个探测点之间的网络时延的基准值;接着将应答回显报文中这两个探测信息中的时间戳直接相减的结果再减去基准值,则得到,这两个探测点之间的网络延时。如此,可得到更为精确的网络时延结果,并能通过该网络时延结果定界和分析网络时延的问题,网络时延粒度更小。
此外,在应答回显报文中的探测信息未根据各探测点探测的先后顺序排列的情况下,探测信息包含探测点编号和时间戳,以及探测点类型(无传输节点)和探测点归属节点标识(有传输节点)两种中的一个,在所述应答回显报文中两个探测信息包含的探测点编号相邻,且探测点类型或探测点归属节点标识相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延;在所述应答回显报文中两个探测信息包含的探测点编号相邻,且探测点类型或探测点归属节点标识不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
本说明书一个实施例提供的网络时延检测方法,通过向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;然后接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息;并根据所述应答回显报文中的探测信息,确定网络时延。在发送端和/或接收端分别配置有多个探测点,用于获取探测信息,无需对网络传输链路上的各节点进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;根据各探测点的探测信息,确定网络时延,能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析。部署灵活,数据分析去中心化,不需要上传数据到中心节点,也不依赖复杂的分析系统。并且,在中间传输节点和对端节点都不支持该协议时,仍旧能够对发送端的相关延迟进行分析。
图3示出了根据本说明书一个实施例提供的另一种网络时延检测方法的流程图,应用于接收端,具体包括以下步骤:
步骤302:接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端。
实际应用中,为了准确定界出复杂网络链路中的网络时延,可以在发送端和/或接收端分别配置至少一个探测点。发送端在生成请求回显报文之后,将该请求回显报文传输至接收端,并在传输请求回显报文的过程中,在探测点检测到该请求回显报文形成对应的探测信息,同时将各探测点对应的探测信息也一并传输至接收端,也即接收端接收发送端传输的请求回显报文和传输请求回显报文的过程中多个探测点探测到的探测信息。
步骤304:向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。
在接收发送端传输的请求回显报文和传输请求回显报文的过程中多个探测点探测到的探测信息之后,进一步地,向发送端回传携带有所述传输所述请求回显报文的过程中多个探测点的探测信息的应答回显报文。
实际应用中,接收端在收到请求回显报文和传输请求回显报文的过程中多个探测点探测到的探测信息后,会立即生成响应请求回显报文的应答回显报文,然后将应答回显报文回传给接收端,该发送端在接收到携带有传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息的应答回显信息的基础上,进一步地,发送端根据应答回显信息中的探测信息,确定网络时延。
优选地,所述向所述发送端回传应答回显报文之前,接收端还需要生成应答回显报文,具体实现过程可以如下:
提取所述请求回显报文中的信息域;
将所述信息域添加至初始应答回显报文中,生成应答回显报文。
具体的,信息域是指回显报文中的存储关键信息的部分,如payload。
实际应用中,接收端收到请求回显报文后,基于预设协议,如网络控制报文协议(ICMP协议),将请求回显报文的信息域原样拷贝到应答回显报文中:先提取请求回显报文的信息域,然后将请求回显报文的信息域添加至初始应答回显报文中,覆盖初始应答回显报文的信息域,即生成应答回显报文。如此,有利于保证应答回显报文中探测信息的全面性,以提高网络时延的精准度。
发送端除了可以与接收端之间相连外,网络链路较长时,发送端还可以通过传输节点与接收端进行连接,传输节点的数量不限,为了准确定界出复杂网络链路中的网络时延,传输节点上也配置有至少一个探测点,接收端通过传输节点向发送端回传应答请求报文,也即在所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点的情况下,所述向所述发送端回传应答回显报文,具体实现过程可以如下:
将所述应答回显报文回传至所述至少一个传输节点,以使所述至少一个传输节点将所述应答回显报文转发至所述接收端,并在转发所述应答回显报文的过程中将所述至少一个传输节点的多个探测点探测到的探测信息添加至所述应答回显报文。
实际应用中,在发送端至少一个传输节点与接收端进行连接,且各传输节点上配置有至少一个探测点的基础上,接收端向发送端回传应答回显报文时,接收端会先将应答回显报文传输至回传路径上的第一个传输节点,然后由第一个传输节点将应答回显报文传输给下一个传输节点,以此类推,直至将应答回显报文回传给发送端。此外,在传输节点向发送端回传应答回显报文中的过程中,传输节点上的探测点在检测到该请求回显报文时也会形成对应的探测信息,也即将传输节点上的探测点对应的探测信息添加至应答回显报文中,也即发送端接收的应答回显报文携带回传过程中多个探测点探测到的探测信息,包含传输节点上的探测点探测到的探测信息。如此,可以保证网络链路覆盖的全面性,以提高网络时延的广泛度。
本说明书一个实施例提供的网络时延检测方法,通过接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;然后向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。在发送端和/或接收端分别配置有至少一个探测点,用于获取探测信息,无需对网络传输链路上的各节点进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;根据各探测点的探测信息,确定网络时延,能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析。部署灵活,数据分析去中心化,不需要上传数据到中心节点,也不依赖复杂的分析系统。并且,在中间传输节点和对端节点都不支持该协议时,仍旧能够对发送端的相关延迟进行分析。
上述为本实施例的一种应用于接收端的网络时延检测方法的示意性方案。需要说明的是,该网络时延检测方法的技术方案与上述的应用于发送端的网络时延检测方法的技术方案属于同一构思,应用于接收端的网络时延检测方法的技术方案未详细描述的细节内容,均可以参见上述应用于发送端的网络时延检测方法的技术方案的描述。
图4示出了根据本说明书一个实施例提供的再一种网络时延检测方法的流程图,应用于探测点,所述探测点位于发送端、接收端和传输节点中的至少一个,具体包括以下步骤:
步骤402:响应于发送端向接收端传输请求回显报文,探测得到传输所述请求回显报文过程中的探测信息。
具体的,探测点用于实现回显报文过滤和数据记录,发送端和/或接收端上的探测点数量不限,可以添加在发送端或接收端或任意传输节点在进入或发出回显报文的位置上,还可以根据需要在如软中断、排队规则(qdisc,queueing discipline)、进程唤醒等位置动态添加,也即探测点用于实现回显报文过滤和数据记录,实现方法可灵活选择,如通过扩展伯克利包过滤器(eBPF,extended Berkeley Packet Filter)、内核模块(kernelmodule)或内核预先定义的静态探测点(tracepoint)等方式实现。
实际应用中,为了准确定界出复杂网络链路中的网络时延,可以在发送端或接收端或任意传输节点上分别配置至少一个探测点:在请求回显报文经过探测点时,该探测点响应于请求回显报文,进行探测得到探测信息。可以将该探测信息添加至请求回显报文中,然后发送至接收端,也可以暂存该探测节点,利用扩展伯克利包过滤器,将探测点的探测信息暂存到扩展伯克利包过滤器的数据存储区,并发送给接收端。
步骤404:响应于接收端向发送端回传应答回显报文,探测得到回传所述应答回显报文过程中的探测信息。
实际应用中,在应答回显报文经过探测点时,该探测点响应于请求回显报文,进行探测得到探测信息。可以将该探测信息添加至应答回显报文中。
步骤406:为所述应答回显报文提供探测信息,使所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传所述应答回显报文过程中所述多个探测点探测到的探测信息,其中,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。
具体的,所述提供包括主动将探测信息添加至回显报文(请求回显报文和应答回显报文)和暂存探测信息后由接收端将探测信息添加至应答回显报文两种提供方式。
实际应用中,探测点探测到的探测信息,不论是传输请求回显报文的过程中多个探测点探测到的探测信息,还是回传应答回显报文过程中多个探测点探测到的探测信息,均需要添加至应答回显报文中,以便于发送端在接收到应答回显报文后,基于应答回显报文中的探测信息,确定网络时延。
本说明书一个实施例提供的网络时延检测方法,通过先响应于发送端向接收端传输请求回显报文,探测得到传输所述请求回显报文过程中的探测信息;然后响应于接收端向发送端回传应答回显报文,探测得到回传所述应答回显报文过程中的探测信息;接着为所述应答回显报文提供探测信息,使所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传所述应答回显报文的过程中所述多个探测点探测到的探测信息,其中,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。在发送端、接收端、传输节点分别配置有至少一个探测点,用于获取探测信息,无需对网络传输链路上的各节点进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;根据各探测点的探测信息,确定网络时延,能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析。部署灵活,数据分析去中心化,不需要上传数据到中心节点,也不依赖复杂的分析系统。并且,在中间传输节点和对端节点都不支持该协议时,仍旧能够对发送端的相关延迟进行分析。
上述为本实施例的一种应用于探测的网络时延检测方法的示意性方案。需要说明的是,该网络时延检测方法的技术方案与上述的应用于发送端和/或接收端的网络时延检测方法的技术方案属于同一构思,应用于探测点的网络时延检测方法的技术方案未详细描述的细节内容,均可以参见上述应用于发送端和/或接收端的网络时延检测方法的技术方案的描述。
与上述应用于发送端的网络时延检测方法实施例相对应,本说明书还提供了网络时延检测装置实施例,图5示出了本说明书一个实施例提供的一种网络时延检测装置的结构示意图。如图5所示,应用于发送端,该装置包括:
传输模块502,被配置为向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;
第一接收模块504,被配置为接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息;
确定模块506,被配置为根据所述应答回显报文中的探测信息,确定网络时延。
可选地,所述装置还包括第一生成模块,被配置为:
获取初始请求回显报文;
根据预设协议,设置所述初始请求回显报文的信息域,生成请求回显报文。
可选地,所述第一生成模块,还被配置为:
根据所述预设协议,在所述初始请求回显报文的信息域中设置携带有元数据信息的协议头和数据区,所述数据区用于存储探测信息。
可选地,所述探测信息包含探测点类型和时间戳,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述确定模块506,还被配置为:
在所述应答回显报文中相邻的两个探测信息包含的探测点类型相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延,所述探测点类型包括发送端和接收端;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
可选地,所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点;
所述传输模块502,还被配置为:
将所述请求回显报文传输至所述至少一个传输节点,以使所述至少一个传输节点将所述请求回显报文和传输所述请求回显报文的过程中多个探测点探测到的探测信息转发至所述接收端。
可选地,所述探测信息包含探测点归属节点标识和时间戳,所述探测点归属节点标识包括发送端标识、接收端标识和指定传输节点标识,所述指定传输节点标识是指所述至少一个传输节点中任意一个传输节点的标识,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述确定模块506,还被配置为:
在所述应答回显报文中相邻的两个探测信息包含的探测点归属节点标识相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
本说明书一个实施例提供的网络时延检测装置,通过向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;然后接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息;并根据所述应答回显报文中的探测信息,确定网络时延。在发送端和/或接收端分别配置有至少一个探测点,用于获取探测信息,无需对网络传输链路上的各节点进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;根据各探测点的探测信息,确定网络时延,能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析。部署灵活,数据分析去中心化,不需要上传数据到中心节点,也不依赖复杂的分析系统。并且,在中间传输节点和对端节点都不支持该协议时,仍旧能够对发送端的相关延迟进行分析。
上述为本实施例的一种网络时延检测装置的示意性方案。需要说明的是,该网络时延检测装置的技术方案与上述的应用于发送端的网络时延检测方法的技术方案属于同一构思,网络时延检测装置的技术方案未详细描述的细节内容,均可以参见上述应用于发送端的网络时延检测方法的技术方案的描述。
与上述应用于接收端的网络时延检测方法实施例相对应,本说明书还提供了网络时延检测装置实施例,图6示出了本说明书一个实施例提供的另一种网络时延检测装置的结构示意图。如图6所示,应用于接收端,该装置包括:
第二接收模块602,被配置为接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端;
回传模块604,被配置为向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。
可选地,所述装置还包括第二生成模块,被配置为:
提取所述请求回显报文中的信息域;
将所述信息域添加至初始应答回显报文中,生成应答回显报文。
可选地,所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点;
所述回传模块604,还被配置为:
将所述应答回显报文回传至所述至少一个传输节点,以使所述至少一个传输节点将所述应答回显报文转发至所述接收端,并在转发所述应答回显报文的过程中将所述至少一个传输节点的多个探测点探测到的探测信息添加至所述应答回显报文。
本说明书一个实施例提供的网络时延检测装置,通过接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,所述发送端和/或所述接收端分别配置有多个探测点;然后向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。在发送端和/或接收端分别配置有至少一个探测点,用于获取探测信息,无需对网络传输链路上的各节点进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;根据各探测点的探测信息,确定网络时延,能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析。部署灵活,数据分析去中心化,不需要上传数据到中心节点,也不依赖复杂的分析系统。并且,在中间传输节点和对端节点都不支持该协议时,仍旧能够对发送端的相关延迟进行分析。
上述为本实施例的另一种网络时延检测装置的示意性方案。需要说明的是,该网络时延检测装置的技术方案与上述的应用于接收端的网络时延检测方法的技术方案属于同一构思,网络时延检测装置的技术方案未详细描述的细节内容,均可以参见上述应用于接收端的网络时延检测方法的技术方案的描述。
与上述应用于探测点的网络时延检测方法实施例相对应,本说明书还提供了探测点实施例,图7示出了本说明书一个实施例提供的一种探测点的结构示意图。如图7所示,所述探测点位于发送端、接收端和传输节点中的至少一个,该探测点包括:
第一响应模块702,用于响应于发送端向接收端传输请求回显报文,探测得到传输所述请求回显报文过程中的探测信息;
第二响应模块704,用于响应于接收端向发送端回传应答回显报文,探测得到回传所述应答回显报文过程中的探测信息;
提供模块706,用于为所述应答回显报文提供探测信息,使所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传所述应答回显报文的过程中所述多个探测点探测到的探测信息,其中,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。
本说明书一个实施例提供的探测点,通过先响应于发送端向接收端传输请求回显报文,探测得到传输所述请求回显报文过程中的探测信息;然后响应于接收端向发送端回传应答回显报文,探测得到回传所述应答回显报文过程中的探测信息;接着为所述应答回显报文提供探测信息,使所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传所述应答回显报文的过程中所述多个探测点探测到的探测信息,其中,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延。在发送端、接收端、传输节点分别配置有至少一个探测点,用于获取探测信息,无需对网络传输链路上的各节点进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;根据各探测点的探测信息,确定网络时延,能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析。部署灵活,数据分析去中心化,不需要上传数据到中心节点,也不依赖复杂的分析系统。并且,在中间传输节点和对端节点都不支持该协议时,仍旧能够对发送端的相关延迟进行分析。
上述为本实施例的一种探测点的示意性方案。需要说明的是,该探测点的技术方案与上述的应用于探测点的网络时延检测方法的技术方案属于同一构思,探测点的技术方案未详细描述的细节内容,均可以参见上述应用于探测点的网络时延检测方法的技术方案的描述。
与上述网络时延检测方法实施例相对应,本说明书还提供了网络时延检测系统实施例,图8A示出了本说明书一个实施例提供的一种网络时延检测系统的结构示意图。如图8A所示,该系统包括:
发送端802和接收端804,所述发送端802和所述接收端804分别配置有至少一个探测点;
所述发送端802,用于向接收端804传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息;
所述接收端804,用于接收发送端802传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息;向所述发送端802回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息;
所述发送端802,还用于接收所述接收端804回传的应答回显报文;根据所述应答回显报文中的探测信息,确定网络时延。
可选地,所述发送端802,还用于获取初始请求回显报文;根据预设协议,设置所述初始请求回显报文的信息域,生成请求回显报文。
可选地,所述发送端802,还用于根据所述预设协议,在所述初始请求回显报文的信息域中设置携带有元数据信息的协议头和数据区,所述数据区用于存储探测信息。
可选地,所述探测信息包含探测点类型和时间戳,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述发送端802,还用于在所述应答回显报文中相邻的两个探测信息包含的探测点类型相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延,所述探测点类型包括发送端和接收端;在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
可选地,所述接收端804,还用于提取所述请求回显报文中的信息域;将所述信息域添加至初始应答回显报文中,生成应答回显报文。
参见图8B,图8B示出了本说明书一个实施例提供的另一种网络时延检测系统的结构示意图:在图8A所示的网络时延检测系统的基础上,可选地,所述系统还包括:
至少一个传输节点806,所述至少一个传输节点806分别配置有至少一个探测点;
所述接收端804和所述发送端802通过至少一个传输节点806连接;
所述至少一个传输节点806,用于将所述请求回显报文和传输所述请求回显报文的过程中多个探测点探测到的探测信息转发至所述接收端804;将所述应答回显报文转发至所述接收端804,并在转发所述应答回显报文的过程中将所述至少一个传输节点806的多个探测点探测到的探测信息添加至所述应答回显报。
可选地,所述探测信息包含探测点归属节点标识和时间戳,所述探测点归属节点标识包括发送端标识、接收端标识和指定传输节点标识,所述指定传输节点标识是指所述至少一个传输节点中任意一个传输节点的标识,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述发送端802,还用于在所述应答回显报文中相邻的两个探测信息包含的探测点归属节点标识相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延;在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
下述结合附图9,对所述网络时延检测系统进行进一步说明。其中,图9示出了本说明书一个实施例提供的一种网络时延检测方法的处理过程流程图:先对发送端、传输节点和接收端上分别设置探测点,其中发送端上的探测点1和探测点2、传输节点上的探测点3以及接收端上的探测点4和探测点5用于传输请求回显报文,接收端上的探测点6、传输节点上的探测点7和探测点8、以及发送端上的探测点9和探测点10用于回传应答回显报文;然后发送端根据预设协议生成请求回显报文,然后传输请求回显报文,请求回显报文先经过探测点1,探测点1将对应的探测信息添加至请求回显报文;请求回显报文接着经过探测点2,探测点2将对应的探测信息添加至请求回显报文。此时发送端传输请求回显报文至传输节点,请求回显报文经过探测点3,探测点3将对应的探测信息添加至请求回显报文,之后传输节点传输请求回显报文至接收端,请求回显报文经过先经过探测点4,探测点4将对应的探测信息添加至请求回显报文;请求回显报文接着经过探测点5,探测点5将对应的探测信息添加至请求回显报文,此时接收端完成对请求回显报文的接收,根据请求回显报文生成应答回显报文,应答回显报文先经过探测点6,探测点6将对应的探测信息添加至应答回显报文。此时接收端回传应答回显报文至传输节点,应答回显报文接着经过探测点7,探测点7将对应的探测信息添加至应答回显报文,然后应答回显报文经过探测点8,探测点8将对应的探测信息添加至应答回显报文。此时传输节点回传应答回显报文至发送端,应答回显报文先经过探测点9,探测点9将对应的探测信息添加至应答回显报文,然后应答回显报文经过探测点10,探测点10将对应的探测信息添加至应答回显报文,至此发送端完成对应答请求报文的接收,然后解析应答报文获取探测信息,确定网络时延。
本说明书一个实施例提供的网络时延检测系统,通过发送端向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息;然后接收端,用于接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息;向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息;接着发送端,还用于接收所述接收端回传的应答回显报文;根据所述应答回显报文中的探测信息,确定网络时延。在发送端和/或接收端分别配置有至少一个探测点,用于获取探测信息,无需对网络传输链路上的各节点进行时间同步,支持灵活地添加和删除各种探测点,以实现对网络时延的灵活诊断;根据各探测点的探测信息,确定网络时延,能够做到细粒度分析延迟问题,特别是对于发送端和/或接收端的细粒度分析。部署灵活,数据分析去中心化,不需要上传数据到中心节点,也不依赖复杂的分析系统。并且,在中间传输节点和对端节点都不支持该协议时,仍旧能够对发送端的相关延迟进行分析。
上述为本实施例的一种网络时延检测系统的示意性方案。需要说明的是,该网络时延检测系统的技术方案与上述的网络时延检测方法的技术方案属于同一构思,网络时延检测系统的技术方案未详细描述的细节内容,均可以参见上述网络时延检测方法的技术方案的描述。
图10示出了根据本说明书一个实施例提供的一种计算设备1000的结构框图。该计算设备1000的部件包括但不限于存储器1010和处理器1020。处理器1020与存储器1010通过总线1030相连接,数据库1050用于保存数据。
计算设备1000还包括接入设备1040,接入设备1040使得计算设备1000能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备1040可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本说明书的一个实施例中,计算设备1000的上述部件以及图10中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图10所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1000可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备1000还可以是移动式或静止式的服务器。
其中,处理器1020用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述网络时延检测方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的网络时延检测方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述网络时延检测方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,,该计算机可执行指令被处理器执行时实现上述网络时延检测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的网络时延检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述网络时延检测方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述网络时延检测方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的网络时延检测方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述网络时延检测方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种网络时延检测方法,应用于发送端,包括:
向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端,且所述探测点用于实现回显报文过滤和数据记录;
接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息;
根据所述应答回显报文中的探测信息,确定网络时延,其中,所述应答回显报文中的探测信息包括所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和/或所述回传过程中所述多个探测点探测到的探测信息,所述应答回显报文中的探测信息包含探测点类型和时间戳。
2.根据权利要求1所述的方法,所述向接收端传输请求回显报文之前,还包括:
获取初始请求回显报文;
根据预设协议,设置所述初始请求回显报文的信息域,生成请求回显报文。
3.根据权利要求2所述的方法,所述根据预设协议,设置所述初始请求回显报文的信息域,包括:
根据所述预设协议,在所述初始请求回显报文的信息域中设置携带有元数据信息的协议头和数据区,所述数据区用于存储探测信息。
4.根据权利要求1所述的方法,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述根据所述应答回显报文中的探测信息,确定网络时延,包括:
在所述应答回显报文中相邻的两个探测信息包含的探测点类型相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延,所述探测点类型包括发送端和接收端;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
5.根据权利要求1所述的方法,所述接收端和所述发送端通过至少一个传输节点连接,所述至少一个传输节点分别配置有至少一个探测点;
所述向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,包括:
将所述请求回显报文传输至所述至少一个传输节点,以使所述至少一个传输节点将所述请求回显报文和传输所述请求回显报文的过程中多个探测点探测到的探测信息转发至所述接收端。
6.根据权利要求5所述的方法,所述应答回显报文中的探测信息还包含探测点归属节点标识,所述探测点归属节点标识包括发送端标识、接收端标识和指定传输节点标识,所述指定传输节点标识是指所述至少一个传输节点中任意一个传输节点的标识,所述应答回显报文中的探测信息根据各探测点探测的先后顺序排列;
所述根据所述应答回显报文中的探测信息,确定网络时延,包括:
在所述应答回显报文中相邻的两个探测信息包含的探测点归属节点标识相同的情况下,将该相邻的两个探测信息中的时间戳相减,得到该相邻的两个探测信息对应的探测点之间的网络时延;
在所述应答回显报文中相邻的两个探测信息包含的探测点类型不同的情况下,获取该相邻的两个探测信息对应的探测点之间的网络时延的基准值,将该相邻的两个探测信息中的时间戳的差值减去所述基准值,得到该相邻的两个探测信息对应的探测点之间的网络时延。
7.一种网络时延检测方法,应用于接收端,包括:
接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端,且所述探测点用于实现回显报文过滤和数据记录;
向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延,其中,所述应答回显报文中的探测信息包括所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和/或所述回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文中的探测信息包含探测点类型和时间戳。
8.一种网络时延检测方法,应用于探测点,所述探测点位于发送端、接收端和传输节点中的至少一个,且所述探测点用于实现回显报文过滤和数据记录,包括:
响应于发送端向接收端传输请求回显报文,探测得到传输所述请求回显报文过程中的探测信息;
响应于接收端向发送端回传应答回显报文,探测得到回传所述应答回显报文过程中的探测信息;
为所述应答回显报文提供探测信息,使所述应答回显报文携带有传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传所述应答回显报文的过程中所述多个探测点探测到的探测信息,其中,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延,其中,所述应答回显报文中的探测信息包括所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和/或所述回传所述应答回显报文的过程中所述多个探测点探测到的探测信息,所述应答回显报文中的探测信息包含探测点类型和时间戳。
9.一种网络时延检测装置,应用于发送端,包括:
传输模块,被配置为向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端,且所述探测点用于实现回显报文过滤和数据记录;
第一接收模块,被配置为接收所述接收端回传的应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和回传过程中所述多个探测点探测到的探测信息;
确定模块,被配置为根据所述应答回显报文中的探测信息,确定网络时延,其中,所述应答回显报文中的探测信息包括所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和/或所述回传过程中所述多个探测点探测到的探测信息,所述应答回显报文中的探测信息包含探测点类型和时间戳。
10.一种网络时延检测装置,应用于接收端,包括:
第二接收模块,被配置为接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息,其中,所述多个探测点中的一个或多个分别位于所述发送端和/或所述接收端,且所述探测点用于实现回显报文过滤和数据记录;
回传模块,被配置为向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文用于使所述发送端根据所述应答回显报文中的探测信息,确定网络时延,其中,所述应答回显报文中的探测信息包括所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和/或所述回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文中的探测信息包含探测点类型和时间戳。
11.一种网络时延检测系统,包括:
发送端和接收端,所述发送端和/或所述接收端分别配置有至少一个探测点,且所述探测点用于实现回显报文过滤和数据记录;
所述发送端,用于向接收端传输请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息;
所述接收端,用于接收发送端传输的请求回显报文,以及传输所述请求回显报文的过程中多个探测点探测到的探测信息;向所述发送端回传应答回显报文,所述应答回显报文携带有所述传输所述请求回显报文的过程中多个探测点的探测信息,以及回传所述应答回显报文的过程中多个探测点探测到的探测信息;
所述发送端,还用于接收所述接收端回传的应答回显报文;根据所述应答回显报文中的探测信息,确定网络时延,其中,所述应答回显报文中的探测信息包括所述传输所述请求回显报文的过程中多个探测点探测到的探测信息和/或所述回传所述应答回显报文的过程中多个探测点探测到的探测信息,所述应答回显报文中的探测信息包含探测点类型和时间戳。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-6、7或8任意一项所述网络时延检测方法的步骤。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-6、7或8任意一项所述网络时延检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267025.4A CN114172830B (zh) | 2021-10-28 | 2021-10-28 | 网络时延检测方法、装置以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267025.4A CN114172830B (zh) | 2021-10-28 | 2021-10-28 | 网络时延检测方法、装置以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114172830A CN114172830A (zh) | 2022-03-11 |
CN114172830B true CN114172830B (zh) | 2023-12-12 |
Family
ID=80477675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111267025.4A Active CN114172830B (zh) | 2021-10-28 | 2021-10-28 | 网络时延检测方法、装置以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172830B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866414A (zh) * | 2022-03-24 | 2022-08-05 | 阿里巴巴(中国)有限公司 | 虚拟网络状态确定方法、装置及设备 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1127437A1 (en) * | 1998-10-27 | 2001-08-29 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | Determination of the propagation delay in a packet switched network |
EP1206067A1 (en) * | 2000-11-06 | 2002-05-15 | Agilent Technologies, Inc. (a Delaware corporation) | Method of and apparatus for network measurement |
CN101051959A (zh) * | 2007-05-11 | 2007-10-10 | 北京邮电大学 | 基于逐跳时间戳标签的网络链路带宽的测量方法 |
CN101478459A (zh) * | 2009-02-16 | 2009-07-08 | 北京星网锐捷网络技术有限公司 | 探测网络延时的方法及网络节点设备 |
CN101534222A (zh) * | 2008-03-10 | 2009-09-16 | 中国移动通信集团公司 | 端到端网络时延抖动测量方法、装置及系统 |
CN101945018A (zh) * | 2010-08-30 | 2011-01-12 | 北京星网锐捷网络技术有限公司 | 节点探测方法、装置和网络中心节点 |
CN101997774A (zh) * | 2010-11-03 | 2011-03-30 | 华为数字技术有限公司 | 一种转发时延的记录方法及路由器 |
CN102843276A (zh) * | 2011-10-18 | 2012-12-26 | 国网电力科学研究院 | 一种分布式部署的网络时延采集方法 |
CN103051709A (zh) * | 2012-12-20 | 2013-04-17 | 新浪网技术(中国)有限公司 | 数据传输路径确定方法、网络节点及内容分发网络系统 |
CN103634157A (zh) * | 2013-12-18 | 2014-03-12 | 东南大学 | 并行报文路由探测方法 |
WO2015180292A1 (zh) * | 2014-05-27 | 2015-12-03 | 中兴通讯股份有限公司 | 检测虚拟专用网络的用户网络侧接口连通性的方法及装置 |
WO2019153337A1 (zh) * | 2018-02-12 | 2019-08-15 | 深圳前海达闼云端智能科技有限公司 | 网络质量评估方法、装置、网络检测设备及可读存储介质 |
CN110519127A (zh) * | 2019-09-19 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 网络延时的探测方法、装置和存储介质 |
CN110677319A (zh) * | 2019-08-23 | 2020-01-10 | 北京邮电大学 | 端到端时延测量方法和装置 |
CN111769998A (zh) * | 2019-08-13 | 2020-10-13 | 北京京东尚科信息技术有限公司 | 一种网络时延状态的探测方法及装置 |
CN112311614A (zh) * | 2019-07-30 | 2021-02-02 | 华为技术有限公司 | 评估网络节点相关传输性能的系统、方法以及相关设备 |
WO2021135275A1 (zh) * | 2019-12-31 | 2021-07-08 | 华为技术有限公司 | 时延确定方法及装置、网络传输系统 |
CN113507396A (zh) * | 2021-06-30 | 2021-10-15 | 新华三信息安全技术有限公司 | 一种网络状态分析方法、装置、设备及机器可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7154858B1 (en) * | 1999-06-30 | 2006-12-26 | Cisco Technology, Inc. | System and method for measuring latency of a selected path of a computer network |
JP2009159499A (ja) * | 2007-12-27 | 2009-07-16 | Nec Corp | ネットワークにおけるエコー要求/応答の遅延時間測定方法、システム及びステーション |
US10250474B2 (en) * | 2014-03-31 | 2019-04-02 | Cisco Technology, Inc. | Calculating latency in computer networks |
US10892967B2 (en) * | 2018-12-21 | 2021-01-12 | Cisco Technology, Inc. | End-to-end path delay measurements in a network |
-
2021
- 2021-10-28 CN CN202111267025.4A patent/CN114172830B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1127437A1 (en) * | 1998-10-27 | 2001-08-29 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | Determination of the propagation delay in a packet switched network |
EP1206067A1 (en) * | 2000-11-06 | 2002-05-15 | Agilent Technologies, Inc. (a Delaware corporation) | Method of and apparatus for network measurement |
CN101051959A (zh) * | 2007-05-11 | 2007-10-10 | 北京邮电大学 | 基于逐跳时间戳标签的网络链路带宽的测量方法 |
CN101534222A (zh) * | 2008-03-10 | 2009-09-16 | 中国移动通信集团公司 | 端到端网络时延抖动测量方法、装置及系统 |
CN101478459A (zh) * | 2009-02-16 | 2009-07-08 | 北京星网锐捷网络技术有限公司 | 探测网络延时的方法及网络节点设备 |
CN101945018A (zh) * | 2010-08-30 | 2011-01-12 | 北京星网锐捷网络技术有限公司 | 节点探测方法、装置和网络中心节点 |
CN101997774A (zh) * | 2010-11-03 | 2011-03-30 | 华为数字技术有限公司 | 一种转发时延的记录方法及路由器 |
CN102843276A (zh) * | 2011-10-18 | 2012-12-26 | 国网电力科学研究院 | 一种分布式部署的网络时延采集方法 |
CN103051709A (zh) * | 2012-12-20 | 2013-04-17 | 新浪网技术(中国)有限公司 | 数据传输路径确定方法、网络节点及内容分发网络系统 |
CN103634157A (zh) * | 2013-12-18 | 2014-03-12 | 东南大学 | 并行报文路由探测方法 |
WO2015180292A1 (zh) * | 2014-05-27 | 2015-12-03 | 中兴通讯股份有限公司 | 检测虚拟专用网络的用户网络侧接口连通性的方法及装置 |
WO2019153337A1 (zh) * | 2018-02-12 | 2019-08-15 | 深圳前海达闼云端智能科技有限公司 | 网络质量评估方法、装置、网络检测设备及可读存储介质 |
CN112311614A (zh) * | 2019-07-30 | 2021-02-02 | 华为技术有限公司 | 评估网络节点相关传输性能的系统、方法以及相关设备 |
CN111769998A (zh) * | 2019-08-13 | 2020-10-13 | 北京京东尚科信息技术有限公司 | 一种网络时延状态的探测方法及装置 |
CN110677319A (zh) * | 2019-08-23 | 2020-01-10 | 北京邮电大学 | 端到端时延测量方法和装置 |
CN110519127A (zh) * | 2019-09-19 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 网络延时的探测方法、装置和存储介质 |
WO2021135275A1 (zh) * | 2019-12-31 | 2021-07-08 | 华为技术有限公司 | 时延确定方法及装置、网络传输系统 |
CN113507396A (zh) * | 2021-06-30 | 2021-10-15 | 新华三信息安全技术有限公司 | 一种网络状态分析方法、装置、设备及机器可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114172830A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Municio et al. | Simulating 6TiSCH networks | |
Keränen et al. | Simulating Mobility and DTNs with the ONE | |
US7523198B2 (en) | Integrated testing approach for publish/subscribe network systems | |
WO2015113450A1 (zh) | 一种可视化网络运维方法和装置 | |
CN102891779B (zh) | 用于ip网络的大规模网络性能测量系统的测量方法 | |
CN104702462A (zh) | 网络测试系统 | |
CN111327478A (zh) | 网络测量方法和装置、设备及存储介质 | |
US20200195534A1 (en) | Network device measurements employing white boxes | |
CN114172830B (zh) | 网络时延检测方法、装置以及系统 | |
Novotny et al. | Discovering service dependencies in mobile ad hoc networks | |
KR20230009960A (ko) | 네트워크 성능 측정 방법, 장치, 디바이스, 및 시스템, 및 저장 매체 | |
Esteban et al. | Simulating 6TiSCH networks | |
CN114390578A (zh) | 一种网络性能的测试方法、装置、电子设备及介质 | |
CN114553867A (zh) | 一种云原生的跨云网络监控方法、装置及存储介质 | |
Nath | A TOSSIM based implementation and analysis of collection tree protocol in wireless sensor networks | |
US11677651B2 (en) | UDPING—continuous one-way monitoring of multiple network links | |
Rege et al. | Crowdmeter: An emulation platform for performance evaluation of crowd-sensing applications | |
CN105763347A (zh) | 用于获取参数的方法、网络设备及系统 | |
CN115297054A (zh) | 一种信息传输方法、装置、终端及存储介质 | |
CN112134750A (zh) | 网络时间协议压力测试方法和装置 | |
CN105516010B (zh) | 一种信息处理方法和电子设备 | |
WO2023093702A1 (zh) | 一种网络测量方法以及相关装置 | |
Arbiv et al. | Data collection and analysis framework for mobile ad hoc network research | |
Abdelrahman et al. | Stochastic Characterization-Based Performance Analysis of an Emulated Communication Network for Cyber-Physical Shipboard Power Systems | |
Claffy | The 7th workshop on active internet measurements (AIMS7) report |
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 |