CN109218122A - 一种实现传输性能检测的方法、装置和系统 - Google Patents
一种实现传输性能检测的方法、装置和系统 Download PDFInfo
- Publication number
- CN109218122A CN109218122A CN201710546444.9A CN201710546444A CN109218122A CN 109218122 A CN109218122 A CN 109218122A CN 201710546444 A CN201710546444 A CN 201710546444A CN 109218122 A CN109218122 A CN 109218122A
- Authority
- CN
- China
- Prior art keywords
- message
- detection
- detection device
- receiving
- transmission
- 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.)
- Granted
Links
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/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0841—Round trip packet loss
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- 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/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- 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
-
- 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/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- 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/0858—One way 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/0864—Round trip delays
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种实现传输性能检测的方法、装置和系统。所述方法包括:检测装置在相继接收到发送设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;在接收到序列号为N2的数据报文后接收到序列号为M1的数据报文,并当确定M1大于N1且小于N2且确定T2‑T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述检测装置接收序列号为N2的数据报文的时间,T2为所述检测装置接收序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延。由于检测装置自身即可对丢包进行检测,实现简单,效率较高。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种传输性能检测的方法、装置和系统。
背景技术
可靠传输协议是网络(如互联网)中广泛使用的传输协议,如传输控制协议(Transmission Control Protocol,TCP)、流控制传输协议(Stream ControlTransmission Protocol,SCTP)等协议。目前互联网中80%以上的业务的流量是基于TCP协议传输的,如视频业务、下载业务等业务的流量。当网络中出现较严重的传输性能问题时,如,出现较严重的丢包或时延时,会导致业务质量的下降,因此,网络性能检测对业务质量的评估非常重要。
在现有技术中,通常是由各网络设备将接收的报文的采集信息(如接收报文的时间或已接收的报文的数量)上报给评估设备,由该评估设备根据各网络设备上传的采集信息确定丢包或时延等网络性能指标,如,根据两个网络设备上传的接收同一报文的时间确定这两个网络设备之间的时延。
根据该现有技术进行网络性能检测,需要各网络设备各自将自己获取的采集信息上报给评估设备,实现复杂,检测效率较低。
发明内容
本发明实施例提供一种实现传输性能检测的方法、装置和系统,用于解决现有技术中存在的传输性能检测的效率较低的问题。
第一方面,提供了一种实现传输性能检测的方法,所述方法包括:检测装置在相继接收到发送设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;在接收到序列号为N2的数据报文后接收到序列号为M1的数据报文,并当确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述检测装置接收序列号为N2的数据报文的时间,T2为所述检测装置接收序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述检测装置之间发生的丢包。
根据本发明第一方面提供的方法,检测装置通过识别接收的数据报文的序列号以及时间,自身即可对丢包进行检测,实现简单,效率较高。
当M1大于N1且小于N2时,可能是对应上游丢包的重传报文,也可能是乱序报文。相应地,在具体实现时,所述方法还可以包括,当所述检测装置确定M1大于N1且小于N2且确定T2-T1小于RTT时,确定序列号为M1的数据报文为乱序报文。
通过该实现方式,可以识别出乱序报文,从而一方面可以排除丢包误检的情况,进而可以更准确地实现丢包检测,另一方面可以检测出乱序的情况,进而可以更全面准确地实现传输性能的检测。
在第一方面的一种实现方式中,序列号为N3的数据报文和序列号为M1的数据报文为所述检测装置先后相继接收到的两个数据报文,其中N3大于或等于N2,所述方法还可以包括:当所述检测装置确定M1小于N3且不属于所述序列号为M1的数据报文之前的任意一个序列号黑洞时,确定序列号为M1的数据报文为对应下游丢包的数据报文,其中,所述序列号黑洞为以一对相继顺序接收但序列号不连续的数据报文的序列号为边界的序列号范围。
通过该实现方式,通过检测装置通过识别接收的数据报文的序列号,自身还可以方便地实现下游丢包的检测,从而可以全面高效地实现传输性能检测。
所述检测装置还可以在一个检测时段结束后根据在所述检测时段内检测到的上游丢包数量确定所述检测时段内的上游丢包率,其中,所述上游丢包数量为在所述发送设备和所述检测装置之间发生了丢包的数据报文的数量。通过该实现方式,可以为传输性能的评估提供精准直观的检测数据。
第二方面,提供了一种实现传输性能检测的方法,所述方法应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备传输;所述方法包括:
所述传输设备在相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;
所述传输设备在接收到序列号为N2的数据报文后接收到序列号为M1的数据报文;
当所述传输设备确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述传输设备接收或发送序列号为N2的数据报文的时间,T2为所述传输设备接收或发送序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述传输设备之间发生的丢包。
在具体实现时,通常T1为所述通信单元接收序列号为N2的数据报文的时间,且T2为所述通信单元接收序列号为M1的数据报文的时间;或者T1为所述通信单元发送序列号为N2的数据报文的时间,且T2为所述通信单元710B发送序列号为M1的数据报文的时间。
在第二方面的第一种可能的实现方式中,所述方法还可以包括,当所述传输设备确定M1大于N1且确定T2-T1小于RTT时,确定序列号为M1的数据报文为乱序报文。
基于第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,序列号为N3的数据报文和序列号为M1的数据报文为先后相继接收到的两个数据报文,其中N3大于或等于N2。所述方法还包括:当所述传输设备确定M1小于N3且不属于所述序列号为M1的数据报文之前的任意一个序列号黑洞时,确定序列号为M1的数据报文为对应下游丢包的数据报文,其中,所述序列号黑洞为以一对相继顺序接收但序列号不连续的数据报文的序列号为边界的序列号范围。
第三方面,提供了一种实现传输性能检测的方法,所述方法包括:检测装置获取接收发送设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接发送的序列号为K1的数据报文的时间T3,在确定接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述检测装置接收所述目标确认报文的时间T4,并根据T3、T4计算所述检测装置和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述检测装置接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。如,当所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP时,所述目标确认报文具体可以为所述检测装置接收到的第一个包括的确认号字段或选择性确认SACK字段的最新右边界字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
根据本发明第三方面提供的方法,检测装置根据发送数据报文的时间和接收目标确认报文的时间计算时延,因此自身即可对时延进行检测,实现简单,效率较高。
第四方面,提供了一种实现传输性能检测的方法,所述方法应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备传输。所述方法包括:所述传输设备获取接收或发送所述发送设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接发送的序列号为K1的数据报文的时间T3,在确定接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述传输设备接收或发送所述目标确认报文的时间T4,并根据T3、T4计算所述传输设备和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述传输设备接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。如,当所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP时,所述目标确认报文具体可以为所述传输设备接收到的第一个包括的确认号字段或选择性确认SACK字段的最新右边界字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
当T3为所述传输设备接收序列号为K1的数据报文的时间时,通常T4为所述传输设备发送所述目标确认报文的时间。当T3为所述传输设备发送序列号为K1的数据报文的时间时,通常T4为所述传输设备接收所述目标确认报文的时间。
在第四方面的一种可能的实现方式中,当所述接收设备为客户端设备、所述发送设备为服务器时,在建立所述连接时,所述接收设备向所述发送设备发送用于请求建立所述连接的请求消息,所述发送设备向所述接收设备发送所述请求消息的响应消息。相应地,所述传输设备接收所述接收设备在建立所述连接时向所述发送设备发送的所述请求消息,并接收所述发送设备发送的所述响应消息,并将接收或发送所述请求消息的时间和接收或发送所述响应消息的时间的差值确定为所述发送设备和所述传输设备之间的双向时延URTT。
具体可以将接收所述请求消息的时间和发送所述响应消息的时间的差值确定为URTT,也可以将发送所述请求消息的时间和接收所述响应消息的时间的差值确定为URTT。
第五方面,提供了一种实现传输性能检测的方法,所述检测方法由通信系统中的检测设备执行,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个;
所述方法包括:所述检测设备生成检测报文,并通过所述连接发送所述检测报文,所述检测报文负载为空,且包括在当前检测周期内已通过所述通信单元发送的被统计报文的数量Num1,Num1用于判断所述检测设备和所述检测设备的下游设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
根据本发明第五方面提供的方法,在对丢包进行检测时各设备无需各自上报已传输的数据报文的数量,实现简单,效率较高。
第六方面,提供了一种实现传输性能检测的方法,所述检测方法由通信系统中的检测设备执行。
所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述接收设备或为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备。所述检测报文的负载为空,可以包括生成所述检测报文的设备添加的在当前检测周期内已通过所述连接发送的被统计报文的数量Num1。
所述方法包括:所述检测设备在接收到所述检测报文后,确定在所述当前检测周期内已通过所述连接接收的被统计报文的数量Num2,Num2用于判断所述检测设备和所述检测设备的上游设备或下游设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。当所述检测报文包括Num1时,所述检测设备还可以根据Num1和Num2判断生成所述检测报文的设备和所述检测设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
根据本发明第六方面提供的方法,在对丢包进行检测时各设备无需各自上报已传输的被统计报文的数量,实现简单,效率较高。
第七方面,提供了一种实现传输性能检测的方法,所述检测方法由通信系统中的检测设备执行,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个;
所述方法包括:所述检测设备生成检测报文,并通过所述连接发送所述检测报文,所述检测报文负载为空,且包括所述第一检测设备生成所述检测报文的时间T1,T1用于计算所述检测设备和所述检测设备的下游设备之间的单向时延。
根据本发明第七方面提供的方法,在对时延进行检测时各设备无需各自上报用于计算时延的时间信息,实现简单,效率较高。
第八方面,提供了一种实现传输性能检测的方法,所述检测方法由通信系统中的检测设备执行。
所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述接收设备或为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备。所述检测报文的负载为空,可以包括生成所述检测报文的设备添加的生成所述检测报文的时间T1。
所述方法包括:所述检测设备在接收到所述检测报文后,获取接收所述检测报文的时间T2,T2用于计算所述检测设备和所述检测设备的上游设备或下游设备之间的单向时延。当所述检测报文包括T1时,所述检测设备还可以根据T1和T2计算所述第一检测设备和所述第二检测设备之间的单向时延。
根据本发明第八方面提供的方法,在对时延进行检测时各设备无需各自上报用于计算时延的时间信息,实现简单,效率较高。
第九方面,提供了一种实现传输性能检测的方法,所述检测方法由通信系统中的检测设备执行,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个;
所述方法包括:所述检测设备生成检测报文,并通过所述连接发送所述检测报文,所述检测报文负载为空,且包括所述第一检测设备的标识,所述第一检测设备的标识用于确定所述检测报文所经过的传输路径。
根据本发明第九方面提供的方法,可以方便地确定所述检测报文所经过的传输路径,可以为传输性能的评估提供有效的参考信息。
第十方面,提供了一种实现传输性能检测的方法,所述检测方法由通信系统中的检测设备执行。
所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备。所述检测报文的负载为空,且所述检测报文可以包括所述用于生成所述检测报文的设备添加的所述用于生成所述检测报文的设备的标识,所述用于生成所述检测报文的设备的标识用于确定所述检测报文所经过的传输路径。
所述方法包括:所述检测设备在接收到所述检测报文后,将所述检测设备的标识添加到所述检测报文中,并发送所述检测报文。所述检测设备的标识用于确定所述检测报文所经过的传输路径。
根据本发明第十方面提供的方法,可以方便地确定所述检测报文所经过的传输路径,可以为传输性能的评估提供有效的参考信息。
第十一方面,提供了一种实现传输性能检测的通信系统。所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输。
所述通信系统中的第一检测设备,用于生成检测报文,并通过所述连接发送所述检测报文,所述检测报文负载为空且包括在当前检测周期内所述第一检测设备已通过所述连接发送的被统计报文的数量Num1,所述第一检测设备为所述发送设备或所述至少一个传输设备中的一个。
所述通信系统中的第二检测设备,用于在接收所述检测报文后,确定在所述当前检测周期内所述第二检测设备已通过所述连接接收的被统计报文的数量Num2,所述Num1和Num2用于判断所述第一检测设备和所述第二检测设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包,所述第二检测设备为所述接收设备或为所述至少一个传输设备中位于所述第一检测设备和所述接收设备之间的传输设备。在具体实现时,所述第二检测设备还可以用于根据Num1和Num2判断所述第一检测设备和所述第二检测设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包,还可以用于根据Num1和Num2计算所述第一检测设备与所述第二检测设备之间在所述当前检测周期内丢失的被统计报文的数量、以及所述第一检测设备与所述第二检测设备之间的丢包率,其中,Num1大于Num2。
根据本发明第十一方面提供的通信系统,在对丢包进行检测时各设备无需各自上报已传输的数据报文的数量,实现简单,效率较高。
第十二方面,提供了一种实现传输性能检测的通信系统。所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输。
所述通信系统中的第一检测设备,用于生成检测报文,并通过所述连接发送所述检测报文,所述检测报文负载为空且包括所述第一检测设备生成所述检测报文的时间T1,所述第一检测设备为所述发送设备或所述至少一个传输设备中的一个。
所述通信系统中的第二检测设备,用于在接收所述检测报文后,获取接收所述检测报文的时间T2,T1和T2用于计算所述第一检测设备和所述第二检测设备之间的单向时延,所述第二检测设备为所述接收设备或为所述至少一个传输设备中位于所述第一检测设备和所述接收设备之间的传输设备。
根据本发明第十二方面提供的通信系统,在对时延进行检测时各设备无需各自上报用于计算时延的时间信息,实现简单,效率较高。
第十三方面,提供了一种实现传输性能检测的通信系统。所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输。
所述通信系统中的第一检测设备,用于生成检测报文,并通过所述连接发送所述检测报文,所述检测报文负载为空且包括所述第一检测设备的标识,所述第一检测设备为所述发送设备或所述至少一个传输设备中的一个。
所述通信系统中的第二检测设备,用于在接收所述检测报文后,将所述第二检测设备的标识添加到所述检测报文中,并发送所述检测报文,所述第二检测设备为所述至少一个传输设备中位于所述第一检测设备和所述接收设备之间的传输设备;
所述第一检测设备的标识和所述第二检测设备的标识用于确定所述检测报文所经过的传输路径。
根据本发明第十三方面提供的通信系统,可以方便地确定所述检测报文所经过的传输路径,可以为传输性能的评估提供有效的参考信息。
第十四方面提供了一种检测装置,所述检测装置包括接收单元和处理单元。
所述接收单元,用于接收发送设备和接收设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接相互传输的报文。
所述处理单元,用于在所述接收单元相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;还用于在所述接收单元先后接收到序列号为N2的数据报文和序列号为M1的数据报文后,当确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述接收单元接收序列号为N2的数据报文的时间,T2为所述接收单元接收序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述检测装置之间发生的丢包。
第十五方面提供了一种检测装置,所述检测装置包括接收单元和处理单元。
所述接收单元,用于接收发送设备和接收设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接相互传输的报文,所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP。
所述处理单元,用于获取所述接收单元接收发送设备通过所述连接发送的序列号为K1的数据报文的时间T3;并用于在确定所述接收单元接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述接收单元接收所述目标确认报文的时间T4,并根据T3、T4计算所述检测装置和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述接收单元接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。如,所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP,相应地,所述目标确认报文具体可以为所述接收单元接收到的第一个包括的确认号字段或选择性确认SACK字段的最新右边界字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
第十六方面提供了一种传输设备,所述传输设备包括通信单元和如第十三方面所述的检测装置。所述通信单元,用于传输所述发送设备和所述接收设备之间相互传输的信息,并将所述信息发送给所述检测装置,所述信息包括通过所述连接传输的报文和/或用于建立所述连接的消息。
第十七方面提供了一种传输设备,所述传输设备应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备传输;
所述传输设备包括通信单元和处理单元;
所述通信单元,用于传输发送设备和接收设备通过所述连接相互传输的报文;
所述处理单元,用于在所述通信单元相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;还用于在所述通信单元先后接收到序列号为N2的数据报文和序列号为M1的数据报文后,当确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述通信单元接收或发送序列号为N2的数据报文的时间,T2为所述通信单元接收或发送序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述传输设备之间发生的丢包。
在第十七方面的第一种可能的实现方式中,所述处理单元还用于,当确定M1大于N1且确定T2-T1小于RTT时,确定序列号为M1的数据报文为乱序报文。
基于第十七方面或第十七方面的第一种可能的实现方式,在第十七方面的第二种可能的实现方式中,序列号为N3的数据报文和序列号为M1的数据报文为先后相继接收到的两个数据报文,其中N3大于或等于N2。所述处理单元还用于:当确定M1小于N3且不属于所述序列号为M1的数据报文之前的任意一个序列号黑洞时,确定序列号为M1的数据报文为对应下游丢包的数据报文,其中,所述序列号黑洞为以一对相继顺序接收但序列号不连续的数据报文的序列号为边界的序列号范围。
第十八方面提供了一种传输设备,所述传输设备应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备传输;
所述传输设备包括通信单元和处理单元;
所述通信单元,用于传输发送设备和接收设备通过所述连接相互传输的报文;
所述处理单元,用于获取所述通信单元接收或发送所述发送设备通过所述连接发送的序列号为K1的数据报文的时间T3;并用于在确定所述通信单元接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述通信单元接收或发送所述目标确认报文的时间T4,并根据T3、T4计算所述检测装置和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述通信单元接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。如,当所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP时,所述目标确认报文具体可以为所述传输设备接收到的第一个包括的确认号字段或选择性确认SACK字段的最新右边界字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
在第十八方面的一种可能的实现方式中,当所述接收设备为客户端设备、所述发送设备为服务器时,在建立所述连接时,所述接收设备向所述发送设备发送用于请求建立所述连接的请求消息,所述发送设备向所述接收设备发送所述请求消息的响应消息。相应地,所述通信单元还用于接收所述接收设备在建立所述连接时向所述发送设备发送的用于请求建立所述连接的请求消息,以及所述发送设备向所述接收设备发送的所述请求消息的响应消息;所述处理单元,还用于将所述通信单元接收或发送所述请求消息的时间和接收或发送所述响应消息的时间的差值确定为所述发送设备和所述传输设备之间的双向时延URTT。
在具体实现时,所述处理单元可以将所述通信单元接收所述请求消息的时间和发送所述响应消息的时间的差值确定为URTT,可以将所述通信单元发送所述请求消息的时间和接收所述响应消息的时间的差值确定为URTT。
第十九方面提供了一种检测设备,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个。
所述检测设备包括通信单元和处理单元。所述通信单元用于通过所述连接传输报文。所述处理单元,用于生成检测报文并通过所述通信单元发送所述检测报文,所述检测报文负载为空,且包括在当前检测周期内已通过所述通信单元发送的被统计报文的数量Num1,Num1用于判断所述检测设备和所述检测设备的下游设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
第二十方面提供了一种检测设备,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述接收设备或为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备,所述检测报文的负载为空;
所述检测设备包括通信单元和处理单元;
所述通信单元用于通过所述连接传输报文;
所述处理单元,用于在接收到所述检测报文后,确定所述通信单元在所述当前检测周期内已通过所述连接接收的被统计报文的数量Num2,Num2用于判断所述检测设备和所述检测设备的上游设备或下游设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
第二十一方面提供了一种检测设备,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个;
所述检测设备包括通信单元和处理单元。所述通信单元用于通过所述连接传输报文。所述处理单元,用于生成检测报文并通过所述通信单元发送所述检测报文,所述检测报文负载为空,且包括所述第一检测设备生成所述检测报文的时间T1,T1用于计算所述检测设备和所述检测设备的下游设备之间的单向时延。
第二十二方面提供了一种检测设备,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述接收设备或为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备。所述检测报文的负载为空,可以包括生成所述检测报文的设备添加的生成所述检测报文的时间T1。
所述检测设备包括通信单元和处理单元。所述通信单元用于通过所述连接传输报文。所述处理单元,用于在接收到所述检测报文后,获取接收所述检测报文的时间T2,T2用于计算所述检测设备和所述检测设备的上游设备或下游设备之间的单向时延。当所述检测报文包括T1时,所述检测设备还可以根据T1和T2计算所述第一检测设备和所述第二检测设备之间的单向时延。
第二十三方面提供了一种检测设备,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个;
所述检测设备包括通信单元和处理单元。所述通信单元用于通过所述连接传输报文。所述处理单元,用于生成检测报文并通过所述通信单元发送所述检测报文,所述检测报文负载为空,且包括所述第一检测设备的标识,所述第一检测设备的标识用于确定所述检测报文所经过的传输路径。
第二十四方面提供了一种检测设备,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备。所述检测报文的负载为空,且所述检测报文可以包括所述用于生成所述检测报文的设备添加的所述用于生成所述检测报文的设备的标识,所述用于生成所述检测报文的设备的标识用于确定所述检测报文所经过的传输路径。
所述检测设备包括通信单元和处理单元。所述通信单元用于通过所述连接传输报文。所述处理单元,用于在接收到所述检测报文后,将所述检测设备的标识添加到所述检测报文中,并发送所述检测报文。
第二十五方面,提供了一种检测装置,所述检测装置包括收发器、处理器和存储器。
所述收发器,用于接收发送设备和接收设备之间相互传输的信息,并将所述信息传输给所述处理器,所述信息包括通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接传输的报文,和/或用于建立所述连接的消息。所述收发器具体可以是网卡。
所述存储器,用于存放计算机操作指令。
所述处理器,用于执行所述存储器中存放的计算机操作指令使得所述检测装置执行本发明第一方面或第二方面提供的方法。
第二十六方面,提供了一种传输设备,所述传输设备包括收发器、处理器和如本发明第二十一方面提供的检测装置。
所述收发器,用于接收发送设备和接收设备之间相互传输的信息,并将所述信息传输给所述处理器,所述信息包括通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接传输的报文,和/或用于建立所述连接的消息。所述收发器具体可以是网卡。
所述处理器,用于将所述信息传输给所述检测装置。
第二十七方面,提供了一种传输设备,所述传输设备包括收发器、处理器和存储器。
所述收发器,用于接收发送设备和接收设备之间相互传输的信息,并将所述信息传输给所述处理器,所述信息包括通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接传输的报文,和/或用于建立所述连接的消息。所述收发器具体可以是网卡。
所述存储器,用于存放计算机操作指令。
所述处理器,用于执行所述存储器中存放的计算机操作指令使得所述传输设备执行本发明第一方面或第二方面提供的方法。
第二十八方面,提供了一种检测设备,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个。
所述检测设备包括收发器、处理器和存储器。
所述存储器,用于存放计算机操作指令。
所述处理器,用于执行所述存储器中存放的计算机操作指令使得所述传输设备执行本发明第三方面、第五方面和第七方面中任一方面提供的方法,其中,所述处理器具体通过所述收发器接收和发送所述报文。
第二十九方面,提供了一种检测设备,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述接收设备或为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备,所述检测报文的负载为空。
所述检测设备包括收发器、处理器和存储器。
所述存储器,用于存放计算机操作指令。
所述处理器,用于执行所述存储器中存放的计算机操作指令使得所述传输设备执行本发明第四方面、第六方面和第八方面中任一方面提供的方法,其中,所述处理器具体通过所述收发器接收和发送所述报文。
第三十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第三十一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1A和1B为本发明实施例提供的通信系统100的组网结构示意图;
图2A和2B为本发明实施例1提供的方法的流程示意图;
图3A和3B为本发明实施例2提供的方法的流程示意图;
图4为本发明实施例3提供的方法的流程示意图;
图5、6、7A、7B、7C、8-14为本发明实施例提供的装置结构示意图;
具体实施方式
下面结合附图,对本发明的实施例进行描述。
图1A为本发明实施例提供的一种通信系统100的组网结构示意图,通信系统100包括第一通信设备110、至少一个传输设备120和第二通信设备130。第一通信设备110和第二通信设备130之间可以建立基于可靠传输协议的连接,并通过该连接传输报文,并且通过该连接传输的报文经所述至少一个传输设备120传输。所述可靠传输协议具体可以是TCP、SCTP等。
所述报文包括数据报文和用于对数据报文进行确认的确认报文,如ACK报文。所述数据报文通常为携带通信数据的报文。需要说明的是,第一通信设备110和第二通信设备130中的一个通信设备(后续称为通信设备A)通过所述连接向另一个通信设备(后续称为通信设备B)发送的确认报文也可能携带数据,则该确认报文即作为通信设备A向通信设备B发送的确认报文又作为通信设备B向通信设备A发送的数据报文。对于通信设备A向通信设备B发送的任一数据报文,通信设备B通常会通过确认报文通知通信设备A是否已接收到该数据报文,如果该数据报文丢了,通信设备A通常会重传该数据报文。
通信设备A通过所述连接向通信设备B发送的数据报文的序列号符合一定的规则,如,当所述可靠传输协议为TCP或SCTP时,对于任意两个相邻的数据报文中,后一数据报文的序列号等于前一数据报文的序列号加上前一数据报文的负载长度。
需要说明的是,通信设备A还可能通过所述连接向通信设备B发送不携带通信数据的报文,不携带通信数据的报文的负载长度为0。当所述可靠传输协议为TCP或SCTP时,对于任意两个报文,后一报文(可能是数据报文,也可能是不携带通信数据的报文)的序列号等于前一报文(可能是数据报文,也可能是不携带通信数据的报文)的序列号加上前一报文的负载长度。由于不携带通信数据的报文的负载长度为0,因此,当通信设备A通过所述连接向通信设备B既发送数据报文又发送不携带通信数据的报文时,任意相邻的两个数据报文也符合后一数据报文的序列号等于前一数据报文的序列号加上前一数据报文的负载长度的规则。
对于通信设备A向通信设备B发送的任一不携带通信数据的报文,通信设备B通常不会通过确认报文通知通信设备A是否已接收到该报文,如果该报文丢了,通信设备A通常也不会重传该报文。
第一通信设备110和第二通信设备130均可以为终端或服务器。如,第一通信设备为视频终端,如机顶盒(Set Top Box,STB),第二通信设备为视频服务器,如网络协议电视(Internet Protocol Television,IPTV)头端。又如,第一通信设备和第二通信设备均为通话终端。
传输设备120具体可以包括家庭网关、核心路由器(Core Router,CR)、宽带网络网关(Broadband Network Gateway,BNG)、光线路终端(Optical Line Terminal,OLT)、宽带远程接入服务器(Broadband Remote Access Server,BRAS)等设备。
第一通信设备110和第二通信设备130中的一方(后续称为发送设备)发送的数据报文(如封装了视频数据的报文)经由所述传输设备120传输给对方(后续称为接收设备),所述接收设备发送的用于确认已接收的数据报文的确认报文经由所述传输设备120传输给第一通信设备110。
在具体实现时,通信系统100具体可以是如图1B所示的IPTV系统。在该IPTV系统中,所述发送设备(如第一通信设备110)具体为IPTV头端,所述接收设备具体为机顶盒。
下面分别结合图2A/2B和3A/3B和4介绍本发明实施例1-3。本发明实施例1-3的方法可以应用于如图1A、1B所示的通信系统100。
在本发明实施例1-3中,第一通信设备和第二通信设备之间基于可靠传输协议(如TCP)建立连接,并通过所述连接传输报文。
在具体实现时,可能是所述第一通信设备和所述第二通信设备中的其中一个通信设备向另一通信设备发送数据报文,也可能是所述第一通信设备和所述第二通信设备均向对方发送数据报文。
后续将所述第一通信设备和所述第二通信设备中发送数据报文的通信设备称为发送设备,将另一通信设备称为接收设备。
如,第一通信设备为STB,第二通信设备为IPTV头端,IPTV头端向STB发送视频流,将IPTV头端称为发送设备,将STB称为接收设备。
又如,第一通信设备和第二通信设备均为通话设备,均可以向对方发送数据报文。当基于第一通信设备向第二通信设备发送的数据报文进行传输性能检测时,将第一通信设备称为发送设备,将第二通信设备称为接收设备。当基于第二通信设备向第一通信设备发送的数据报文进行传输性能检测时,将第二通信设备称为发送设备,将第一通信设备称为接收设备。
在本发明实施例1和2中,可以在通信系统中部署用于实现传输性能检测的检测装置,所述检测装置可以通过软件、硬件、固件或者其任意组合来实现。
该检测装置可以内置在通信系统中的传输设备上,相应地,所述检测装置通过所述检测装置所在传输设备接收报文。如果所述检测装置采用硬件实现,所述检测装置所在设备的处理器可以通过镜像的方式将接收的报文发送给所述检测装置。
所述检测装置也可以旁挂到通信系统的任一设备上并通过镜像的方式获取所述检测装置所旁挂的设备上传输的报文。
所述检测装置可以通过上述方式获取所述第一通信设备和所述第二通信设备之间通过所述连接传输的报文,并根据获取的所述报文进行传输性能检测。
需要说明的是,本发明实施例1和2中,所述发送设备和所述检测装置之间发生丢包可以用于表示所述发送设备和所述检测装置所在的设备或所旁挂的设备之间发生丢包,本发明实施例1和2中所说的所述发送设备和所述检测装置之间的时延可以用于表示所述发送设备和所述检测装置所在的设备或所旁挂的设备之间的时延。类似地,本发明实施例1和2中,所述检测装置和所述接收设备之间发生丢包可以用于表示所述检测装置所在的设备或所旁挂的设备和所述接收设备之间发生丢包,本发明实施例中所说的所述检测装置和所述接收设备之间的时延可以用于表示所述检测装置所在的设备或所旁挂的设备和所述接收设备之间的时延。
此外,下述实施例3、7-8以及12-13中所描述的检测设备可以是通信系统中的任一设备,如发送设备、传输设备或接收设备。
为了后续便于说明,在对本发明实施例进行详细的解释说明之前,先对本发明实施例中涉及的名词进行解释。
上游丢包:在发送设备和检测装置之间发生的丢包,具体可以用于表示在发送设备和检测装置所在的设备之间发生的丢包,或发送设备和检测装置所旁挂的设备之间发生的丢包。
下游丢包:在检测装置和接收设备之间发生的丢包,具体可以用于表示在检测装置所在的设备和接收设备之间发生的丢包,或检测装置所旁挂的设备和接收设备之间发生的丢包。
图2A和2B是本发明实施例1提供的方法流程示意图,可以实现丢包检测。在本发明实施例1中,检测装置可以内置或旁挂在如通信系统100中的任一传输设备上。如图2A和2B所示,本发明实施例1提供的方法包括如下步骤。
需要说明的是,在图2A中仅以检测装置旁挂在传输设备上为例进行示意,而且,所述检测装置所旁挂的传输设备将接收的报文镜像给所述检测装置的步骤和发送给所述接收设备的步骤之间可以没有特定的先后顺序。
步骤201:检测装置在相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续。
在本发明实施例中,如果N1和N2是两个相邻数据报文的序列号,则认为N1和N2是连续的,否则,认为N1和N2是不连续的。
如果所述可靠传输协议为TCP或SCTP,当N1和N2连续时,N2等于N1+LenN1,其中,LenN1为序列号为N1的数据报文的负载长度。相应地,如果N2大于N1+LenN1,则认为N1和N2不连续,即序列号为N1和N2的数据报文不是相邻数据报文。
需要说明的是,所述发送设备还可能通过所述连接发送不携带通信数据的报文,如控制报文,在本发明实施例1和2中,所述检测装置还可以识别出数据报文。当所述可靠传输协议为TCP或SCTP时,不携带通信数据的报文的负载长度为0,所述检测装置具体可以根据所接收的报文的负载长度识别出数据报文。
为方便描述起见,在结合示例描述时假定每个数据报文的负载长度均为1000。
如,所述检测装置先接收到序列号为2001、负载长度为1000的数据报文,当前期望接收的下一个数据报文的序列号为3001(即2001+1000),如果当前接收到序列号为5001的数据报文,即在接收到序列号为5001的数据报文前没有接收到序列号为3001的数据报文和序列号为4001的数据报文。这种相继顺序收到的两个数据报文的序列号不连续的情况,如连续收到的两个数据报文分别为2001和5001,可以称为序列号黑洞现象。后续将以一对相继顺序接收但序列号不连续的数据报文的序列号为边界的序列号范围称为序列号黑洞,如以2001和5001为边界的序列号范围为(2001,5001),其中,该序列号范围为开区间,不包括边界值。相应地,序列号位于这两个相继顺序接收到的数据报文之间的数据报文,如序列号为3001和4001的数据报文,可以称为黑洞报文。黑洞报文有可能是乱序报文,也可能是重传报文。
通过步骤201,所述检测装置检测到了一个位于序列号N1和序列号N2之间的序列号黑洞(即以N1和N2为边界的序列号黑洞)。
步骤202:所述检测装置在接收到序列号为N2的数据报文后接收到序列号为M1的数据报文,并判断M1是否大于N1且小于N2,即判断M1是否属于以N1和N2为边界的序列号黑洞。
如果确定M1大于N1且小于N2,即确定序列号为M1的数据报文为以N1和N2为边界的序列号黑洞中的数据报文,则序列号为M1的数据报文可能是乱序报文,也可能是对应上游丢包的重传报文。
如,在步骤201中连续收到的两个数据报文分别为2001和5001(即N1为2001、N2为5001),在步骤202中收到序列号为3001的数据报文(即M1为3001),则序列号为3001的数据报文为以2001和5001为边界的序列号黑洞中的数据报文。
假定在收到序列号为M1的数据报文前最新收到的数据报文的序列号为N3,即序列号为N3的数据报文和序列号为M1的数据报文是先后相继接收到的,其中N3大于或等于N2。如果M1小于N3,则可以初步确定该序列号为M1的数据报文为乱序报文或者重传报文。
进一步地,如果确定M1大于N1且小于N2,即确定序列号为M1的数据报文为以N1和N2为边界的序列号黑洞中的数据报文,可能为乱序报文或对应上游丢包的重传报文。如果M1不属于所述序列号为M1的数据报文之前的任意一个序列号黑洞,即M1不在N1和N2之间,且没有落在其它序列号黑洞中,则可以确定序列号为M1的数据报文为对应下游丢包的重传报文,即所述发送设备之前发送的序列号为M1的数据报文在所述检测装置与所述接收设备之间发生了丢包,当前接收的序列号为M1的数据报文是重传报文。在确定序列号为M1的数据报文为对应下游丢包的重传报文时,可以将下游丢包数量加一,还可以将总体丢包数量加一。
需要说明的是,N3可能等于N2,则图2A中可以没有关于序号为N3的数据报文的传输过程。
如果确定M1大于N1且小于N2,则下面通过步骤203判断序列号为M1的数据报文是乱序报文还是对应上游丢包的重传报文。
步骤203:所述检测装置判断T2-T1是否大于等于RTT,如果T2-T1大于或等于RTT,则确定序列号为M1的数据报文为对应上游丢包的重传报文,即所述发送设备之前发送的序列号为M1的数据报文在所述发送设备和所述检测装置之间发生了丢包,当前接收的序列号为M1的数据报文是重传报文。其中,T1为所述检测装置接收序列号为N2的数据报文的时间,T2为所述检测装置接收序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延。该RTT的具体确定方式可以参考下面实施例2中的具体实施例。
在确定序列号为M1的数据报文为对应上游丢包的重传报文时,可以将上游丢包数量加一,还可以将总体丢包数量加一。另外,如果T2-T1小于RTT,则确定序列号为M1的数据报文为乱序报文。由于可以识别出乱序报文,从而一方面可以排除丢包误检的情况,进而可以更准确地实现丢包检测,另一方面可以检测出乱序的情况,进而可以更全面准确地实现传输性能的检测。
另外,同一序列号黑洞中可能不止一个数据报文,在收到序列号为M1的数据报文后还可能又收到其它位于同一序列号黑洞中的数据报文(假定序列号为M2,通常M2大于M1)。在第一种实现方式中,在确定序列号为M1的数据报文为对应上游丢包的重传报文的情况下可以直接确定序列号为M2的数据报文也为对应上游丢包的重传报文;在确定序列号为M1的数据报文为乱序报文后,将所述检测装置接收序列号为M2的数据报文的时间作为T2通过步骤203判断序列号为M2的数据报文是乱序报文还是对应上游丢包的重传报文。在第二种实现方式中,可以对于每个落到上述序列号黑洞中的数据报文(假定序列号为W)都将所述检测装置接收序列号为W的数据报文的时间作为T2通过步骤203判断序列号为W的数据报文是乱序报文还是对应上游丢包的重传报文。
进一步地,所述方法还可以包括步骤204。
步骤204:所述检测装置在一个检测时段结束后统计所述检测时段内的丢包指标。
在步骤204中可以统计上游丢包率UPLR、下游丢包率DPLR和总体丢包率TPLR中的一种或多种。
可以根据所述检测时段内的上游丢包数量ULNum确定所述检测时段内的上游丢包率UPLR,其中,所述上游丢包数量ULNum为在所述发送设备和所述检测装置之间发生了丢包的数据报文的数量。具体可以通过如下公式计算所述上游丢包率UPLR:UPLR=ULNum/TNum,其中,TNum为所述检测时段内接收的所述发送设备通过所述连接发送的所有数据报文的数量。
可以根据所述检测时段内的总体丢包数量TLNum确定所述检测时段内的总体丢包率TPLR,其中,所述总体丢包数量为在所述发送设备和所述接收设备之间发生了丢包的数据报文的数量。具体可以通过如下公式计算总体丢包率TPLR:TRLR=TLnum/TNum。
具体还可以在一个检测时段结束后根据所述检测时段内的下游丢包数量DLNum确定所述检测时段内的下游丢包率DPLR,其中,所述下游丢包数量为在所述检测装置和所述接收设备之间发生了丢包的数据报文的数量。具体可以根据如下公式计算下游丢包率DPLR:DPLR=DLNum/TNum。如果在步骤202-步骤203中只统计了上游丢包数量和总体丢包数量,则可以根据ULNum和TLNum计算下游丢包数量DLNum。根据本发明实施例1,检测装置通过识别接收的数据报文的序列号以及时间,自身即可对丢包进行检测,实现简单,效率较高。
图3A和3B是本发明实施例2提供的方法流程示意图,可以实现时延检测。在本发明实施例2中,检测装置可以内置或旁挂在如通信系统100中的任一传输设备上。如图3A和3B所示,本发明实施例2提供的方法包括如下步骤。
需要说明的是,在图3A中仅以检测装置旁挂在传输设备上为例进行示意,而且,所述检测装置所旁挂的传输设备将接收的报文镜像给所述检测装置的步骤和发送给所述接收设备的步骤之间可以没有特定的先后顺序。
步骤301:检测装置获取接收发送设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接发送的序列号为K1的数据报文的时间T3;
所述检测装置可以每隔一个预设时长获取接收当前数据报文的时间,如,每隔10秒获取接收当前数据报文的时间。所述检测装置也可以在某个指定的时间或收到检测指令时获取接收当前数据报文的时间。
如,当前接收到序列号为2001的数据报文,获取接收该数据报文的时间T3。
步骤302:所述检测装置在确定接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述检测装置接收所述目标确认报文的时间T4,并根据T3、T4计算所述检测装置和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述检测装置接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。
当所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP时,所述目标确认报文具体可以为所述检测装置接收到的第一个包括的确认号字段或选择性确认(Selective Acknowledgment,SACK)字段的最新右边界(right edge)字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
所述确认号为通过所述确认报文的Acknowledgment Number字段携带的。
如果序列号为K1的数据报文和序列号为K1的数据报文之前的数据报文都被所述接收设备成功接收到,所述目标确认报文通常为所述检测装置接收到的第一个包括的确认号字段的值大于或等于K1+LenK1的确认报文。
如果序列号为K1的数据报文被所述接收设备成功接收到但一个或多个序列号小于K1的数据报文丢失了,所述目标确认报文通常为所述检测装置接收到的第一个包括的SACK字段的最新右边界字段的值等于K1+LenK1的确认报文,也可能为所述检测装置接收到的第一个包括的SACK字段的最新右边界字段的值大于K1+LenK1的确认报文。
如果序列号为K1的数据报文丢失了,所述目标确认报文通常为所述检测装置接收到的第一个包括的SACK字段的最新右边界字段的值大于K1+LenK1的确认报文。
假定序列号K1之前的相邻数据报文为序列号为K2、负载长度为LenK2的数据报文。用于确认所述序列号为K1的数据报文之前的数据报文K2的确认报文携带的确认号具体可以是K1(即K1等于K2+LenK2)。所述接收设备向所述发送设备发送的携带的确认号为K1的确认报文用于表明已接收到序列号为K2的数据报文。如果所述接收设备在预定时间内没有收到序列号为K1的数据报文,则再次发送确认号为K1的确认报文(后续称为重复确认报文),直至收到序列号为K1的数据报文。
需要说明的是,如果在发送重复确认报文之前还接收到了序列号大于K1的数据报文,则可以通过重复确认报文的SACK字段携带用于指示已接收的序列号大于K1的数据报文的信息。如,接收设备相继接收到序列号为1001、3001、4001、5001、7001和8001的数据报文,在接收到序列号为8001的数据报文前还没有接收到序列号为2001的数据报文,则发送的重复确认报文的确认号为2001,用于确认序列号为1001的数据报文已接收到,该重复确认报文的SACK字段包括[8001 9001]和[4001 6001],其中,左边界为8001右边界为9001的[80019001]用于确认序列号为7001和8001的数据报文已接收到,左边界为4001右边界为6001的[4001 6001]用于确认序列号为3001、4001和5001的数据报文已接收到,其中9001为最新右边界字段的值。
相应地,对于序列号小于或等于K1的数据报文丢失的情况,所述检测装置在每次接收到重复确认报文后,均检测该重复确认报文中的SACK字段的最新右边界字段的值,一旦检测到携带的最新右边界字段的值大于或等于K1+LenK1的确认报文,则可以根据接收序列号为K1的数据报文的时间和接收该检测到的重复确认报文的时间计算所述检测装置和所述接收设备之间的双向时延DRTT。
步骤303:根据T3和T4计算所述检测装置和所述接收设备之间的双向时延DRTT。
所述检测装置和所述接收设备之间的双向时延通常称为下游双向时延。
所述检测装置可以直接根据一次检测过程中的T3和T4在步骤303中计算DRTT,具体可以将T3和T4的差值作为DRTT;也可以在一个统计时间段内多次根据步骤303之前的步骤获取多组T3和T4,如对于每个检测周期获取一组T3和T4,并在步骤303中根据多组T3和T4计算DRTT,具体可以是将各组的T3和T4的差值的平均值作为DRTT。
另外,在本发明实施例2中,还可以通过如下方式计算所述发送设备和所述检测设备之间的双向时延URTT(通常称为上游双向时延)。
具体地,在步骤301之前在所述发送设备和所述接收设备之间建立所述基于可靠传输协议的连接的过程中,其中一个设备作为客户端向另一个设备发送用于请求建立所述连接的请求消息,另一个设备作为服务器向所述客户端回复所述请求消息的响应消息。所述请求消息具体可以为SYN消息,相应地,所述响应消息可以为SYN ACK消息。
在所述发送设备和所述接收设备建立所述连接的过程中,所述检测装置可以接收到用于建立所述连接的请求消息和响应消息,并可以根据接收所述请求消息的时间T5和接收所述响应消息的时间T6计算所述服务器和所述检测装置之间的时延,具体可以将T5和T6的差值确定为所述服务器和所述检测装置之间的时延。如果作为所述服务器的为所述发送设备,则确定的所述服务器和所述检测装置之间的时延即为URTT。
进一步地,还可以利用RTT=URTT+DRTT计算所述发送设备和所述接收设备之间的双向时延。
根据本发明实施例2,检测装置根据发送数据报文的时间和接收目标确认报文的时间计算时延,因此自身即可对时延进行检测,实现简单,效率较高。
在具体实现时,可以将上述实施例1和实施例2结合实施。如,实施例1的步骤203的RTT具体可以是根据实施例2的实现方式计算出来的。
需要说明的是,当检测装置内置在传输设备上时,对于本发明实施例1和2中所说的检测装置所接收的所述发送设备和所述接收设备之间相互传输的信息(如数据报文、确认报文、请求消息、响应消息,后续称为信息A),本发明实施例1和2中所说的检测装置接收信息A的时间具体可以为所述检测装置所在的传输设备接收或发送信息A的时间。
如果检测装置内置在所在设备用于接收信息A的端口处,本发明实施例1和2中所说的检测装置接收信息A的时间通常为所述检测装置所在设备接收信息A的时间。相应地,所述检测装置可以将信息A到达所述检测装置的时间作为所述检测装置接收信息A的时间,也可以将所述检测装置所在的传输设备接收到信息A的时间作为所述检测装置接收信息A的时间。
如果检测装置内置在所在设备用于发送信息A的端口处,本发明实施例1和2中所说的检测装置接收信息A的时间通常为所述检测装置所在设备发送信息A的时间。相应地,所述检测装置可以将信息A到达所述检测装置的时间作为所述检测装置接收信息A的时间,也可以将所述检测装置所在的传输设备发送信息A的时间作为所述检测装置接收信息A的时间。
图4是本发明实施例3提供的方法流程示意图,可以实现丢包检测和时延检测。所述检测方法应用于通信系统,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输。如图4所示,本发明实施例3提供的方法包括如下步骤。
步骤401:第一检测设备生成检测报文,并通过所述连接发送所述检测报文,所述检测报文负载为空,且所述检测报文包括在当前检测周期内第一检测设备已通过所述连接发送的被统计报文的数量Num1。
所述第一检测设备具体可以是所述发送设备;也可以是所述发送设备和所述接收设备之间的任一传输设备,如CR。如果所述第一检测设备为传输设备,则Num1具体为所述第一检测设备在所述当前检测周期内已通过所述连接传输的被统计报文的数量。
在具体实现时,所述第一检测设备可以周期性地生成检测报文,所述当前检测周期可以是上一检测报文和当前检测报文之间的时间。如果根据检测周期确定在发送序列号为J1的报文后要生成所述检测报文,则生成的所述检测报文的序列号可以为J1+LenJ1,并可以在发送序列号为J1的报文之后发送所述检测报文。
所述被统计报文可以是所述第一检测设备通过所述连接向所述接收设备发送的所有报文或部分报文。在具体实现时,所述第一检测设备向所述接收设备发送的报文包括数据报文,还可能包括不携带通信数据的报文,如控制报文。所述第一检测设备可以统计在当前检测周期内已通过所述连接向所述接收设备发送的所有报文的数量,即所述被统计报文包括所有类型的报文,所述第一检测设备在对发送的报文的数量进行统计时对报文的类型不做区分。所述第一检测设备也可以统计在当前检测周期内已通过所述连接向所述接收设备发送的预设类型的报文(如数据报文)的数量,即所述被统计报文为预设类型的报文。
步骤402:第二检测设备接收所述检测报文,确定在所述当前检测周期内已通过所述连接接收的被统计报文的数量Num2,Num1和Num2用于判断所述第一检测设备和所述第二检测设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
所述第二检测设备具体可以为所述接收设备或所述第一检测设备和所述接收设备之间的任一传输设备,如OLT。当所述第二检测设备为位于所述第一检测设备和所述接收设备之间的传输设备时,Num2具体为所述第二检测设备在所述当前检测周期内已通过所述连接传输的被统计报文的数量。
根据一种实现方式,在步骤401中所述第一检测设备统计的是在当前检测周期内已通过所述连接向所述接收设备发送的所有报文的数量,相应地,在步骤402中所述第二检测设备统计的是在所述当前检测周期内已通过所述连接接收的所有报文的数量,即所述第二检测设备在对接收的报文的数量进行统计时对报文的类型不做区分。
根据另一种实现方式,在步骤401中所述第一检测设备统计的是在当前检测周期内已通过所述连接向所述接收设备发送的预设类型的报文的数量,相应地,在步骤402中所述第二检测设备统计的是在所述当前检测周期内已通过所述连接接收的所述预设类型的报文的数量。
所述第二检测设备确定Num2后,可以执行步骤403根据Num1和Num2判断所述第一检测设备和所述第二检测设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。进一步地,还可以根据Num1和Num2计算所述第一检测设备与所述第二检测设备之间在所述当前检测周期内的丢包数量LNum,其中,Num1大于Num2,具体可以将Num1和Num2的差值作为LNum。另外,还可以根据Num1和Num2计算所述第一检测设备和所述第二检测设备之间的丢包率,如将LNum和Num1的比值作为所述第一检测设备和所述第二检测设备之间的丢包率。
所述第二检测设备为位于所述第一检测设备和所述接收设备之间的传输设备时,在确定Num2后,还可以执行步骤404将Num2添加到所述检测报文中,并发送所述检测报文,即发送的检测报文中包括Num2。
步骤403和步骤404可以都执行,也可以只执行其中一个步骤。当都执行时,步骤403和步骤404之间可以没有特定的先后顺序。如果不执行步骤404,当所述第二检测设备为位于所述第一检测设备和所述接收设备之间的传输设备时,可以将接收的所述检测报文直接发送出去。
需要说明的是,在本发明实施例3中,第一检测设备指的是生成检测报文的设备,第二检测设备指的接收检测报文并向检测报文中添加检测数据(如Num2)的设备。在具体实现时,第二检测设备可以有一个或多个,当有多个第二检测设备时,各第二检测设备在接收到所述检测报文时分别执行步骤402。
根据本发明实施例3,在对丢包进行检测时各设备无需各自上报已传输的被统计报文的数量,实现简单,效率较高。
在步骤401中,所述第一检测设备还可以将所述第一检测设备生成所述检测报文的时间T1添加到所述检测报文中。相应地,在步骤402中,所述第二检测设备还可以在收到所述检测报文后,获取接收所述检测报文的时间T2,T1和T2用于计算所述第一检测设备和所述第二检测设备之间的单向时延。所述第二检测设备获取T2后可以根据T1和T2计算所述第一检测设备和所述第二检测设备之间的单向时延,具体可以将T1和T2的差值作为所述单向时延。所述第二传输设备为位于所述第一检测设备和所述接收设备之间的传输设备时,还可以在发送所述检测报文之前将T2添加到所述检测报文中。
通过本发明实施例3在对时延进行检测时,各设备无需各自上报时间戳,实现简单,效率较高。
在步骤401中,所述第一检测设备还可以将所述第一检测设备的标识Id1添加到所述检测报文中。相应地,在步骤402中,所述第二检测设备为位于所述第一检测设备和所述接收设备之间的传输设备时,还可以在发送所述检测报文之前将所述第二检测设备的标识Id2添加到所述检测报文中。所述第一检测设备的标识和所述第二检测设备的标识可以用于确定所述检测报文所经过的传输路径。进一步地,所述第一检测设备和所述第二检测设备还可以将本设备的标识在所述检测报文中的标识列表中的序号加入到所述检测报文中,如,第一检测设备将本设备的序号01加入到所述检测报文中,第一个第二检测设备(即第一个收到所述检测报文的第二检测设备)将本设备的序号02加入到所述检测报文中,第二个第二检测设备(即第二个收到所述检测报文的第二检测设备)将本设备的序号03加入到所述检测报文中,依此类推。
通过上述实现方法,还可以确定所述检测报文所经过的路径,从而可以更全面准确地评估传输性能。
在本发明实施例3中,当所述可靠传输协议为TCP协议时,具体可以通过在检测报文中扩展TCP选项(Option)字段携带上述数量、时间、标识等信息。所述检测报文到达某个第二检测设备时,如果所述检测报文的TCP Option的长度已经超过TCP Option的限制,则可以再生成一个具有相同序列号且负载为空的检测报文并将本设备获取的数量、时间、标识等信息加入到新生成的检测报文中。
在具体实现时,所述第一检测设备和所述第二检测设备可以将在当前检测周期内各自已接收或发送的被统计报文的数量、各自生成或接收检测报文的时间和本设备的标识中的一个或多个的任意组合添加到所述检测报文中。
如,CR生成检测报文并将当前检测周期内已传输的报文的数量添加到所述检测报文中,BRAS和OLT分别在收到所述检测报文后将当前检测周期内已传输的报文的数量添加到所述检测报文中。则其它设备或所述接收设备可以利用CR、BRAS和OLT分别加入的报文的数量判断CR、BRAS和OLT中任意两个设备之间是否发生丢包、以及丢失了多少报文。BRAS和OLT中的任一设备(如OLT)也可以计算某一上游设备(如CR或BRAS)和本设备之间是否发生丢包、以及丢失了多少报文。
又如,CR生成检测报文并将生成检测报文的时间添加到所述检测报文中,BRAS和OLT分别在收到所述检测报文后将接收所述检测报文的时间添加到所述检测报文中。则其它设备或所述接收设备可以利用CR、BRAS和OLT分别加入的时间计算CR、BRAS和OLT中任意两个设备之间的时延。BRAS和OLT中的任一设备(如OLT)也可以计算某一上游设备(如CR或BRAS)和本设备之间的时延。
再如,CR生成检测报文并将本设备的标识添加到所述检测报文中,BRAS和OLT分别在收到所述检测报文后将本设备的标识添加到所述检测报文中。则其它设备或所述接收设备可以利用所述检测报文携带的标识列表确定所述检测报文所经过的传输路径。BRAS和OLT中的任一设备(如OLT)也可以确定所述检测报文在到达本设备之前已经过的传输路径。
在具体实现时,可以将所述发送设备作为所述第二检测设备,将所述发送设备和所述接收设备之间的所有设备均作为所述第二检测设备,进一步还可以将所述接收设备也作为所述第二检测设备。
假设所述发送设备和所述接收设备之间的TCP连接经过三个检测点,依次为CR、Bras和OLT,这三个检测点对所述发送设备通过所述TCP连接发送的数据流进行检测。CR按照预设的时间间隔在传输的报文之间插入检测报文,如在序列号为3001的报文之后插入序列号为4001且负载长度为0的检测报文,所述检测报文的TCP Option的字段包括CR的设备序号0(标识是第一个检测点)、设备标识CR1、生成所述检测报文时的本地时间2345678、以及在从生成上一检测报文的时间到当前时间之间已经传输的该数据流的报文的数量3。所述检测报文依次经过检测点Bras和OLT。每个检测点都会对检测报文进行修改,假设Bras向所述检测报文的TCP Option字段添加了Bras的设备序号1(标识是第二个检测点)、设备标识Bras1、接收所述检测报文时的本地时间7645678、以及从接收上一检测报文到接收当前检测报文之间已经传输的该数据流的报文的数量2,假设OLT向所述检测报文的TCP Option字段添加了OLT的设备序号2(标识是第三个检测点)、设备标识OLT1、接收所述检测报文时的本地时间8895678、以及从接收上一检测报文到接收当前检测报文之间已经传输的该数据流的报文的数量2。则在OLT上可以得到:在当前检测周期内,CR1向Bras1总共发了3个报文,丢了1个报文,相应地,丢包率就是1/3;从CR1到Bras1的单向时延是7645678–2345678;Bras1向OLT1总共发了2个报文,丢了0个报文,相应地,丢包率为0,从Bras1到OLT1的单向时延是8895678–7645678。
如果各个检测点之间没有做时间同步,通过本发明实施例3计算出的单向时延为相对单向时延,相对单向时延的意义在于观察其变化量,也就是比较前后多次检测的单向时延的变化量,观察时延是变大了还是变小了,为传输质量评估提供参考。
基于本发明实施例1-3中的方案进一步可以实现故障定界,即确定故障发生的具体位置。以采用本发明实施例1-2中的方案为例进行举例如下。如,当某个用户的业务质量不好的时候,控制中心可以向该用户的家庭网关下发控制命令以指示该家庭网关启动传输性能检测,如检测该家庭网关的上下游的丢包率和/或时延,然后该家庭网关可以将检测的上下游的丢包率和/或时延上报到控制中心,控制中心进行分析。如果通过比较发现下游丢包率和/或下游时延较大,则可判断网络故障发生在用户的家庭内,如果检测到的上游丢包率和/或上游时延较大,即可判断网络故障发生在互联网服务供应商(InternetServiceProvider,ISP)的网络中。又如,当某个用户的业务质量不好的时候,控制中心可以向靠近接收设备的传输设备A(如家庭网关)和靠近发送设备的传输设备B下发控制命令以指示传输设备A和传输设备B启动传输性能检测,检测到A设备的下游丢包率为1%、上游丢包率为0.1%,B设备的下游丢包率为1%、上游丢包率为0.1%,那么根据这个结果可以判断,A设备的下游丢包率为1%,即丢包主要发生在A设备的下游(如用户家庭网络内部),A设备和B设备之间没有丢包,B的上游丢包率为0.1%。
根据本发明实施例1,本发明实施例4提出了一种检测装置500,如图5所示,检测装置500包括:接收单元510和处理单元520。
所述接收单元510,用于接收发送设备和接收设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接相互传输的报文。
所述处理单元520,用于在所述接收单元510相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1+LenN1,其中,LenN1为序列号为N1的数据报文的负载长度;还用于在所述接收单元510接收到序列号为M1的数据报文后,确定序列号为M1的数据报文的接收时间晚于序列号为N2的数据报文的接收时间,且确定M1大于N1且小于N2;并用于在确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述接收单元510接收序列号为N2的数据报文的时间,T2为所述接收单元510接收序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述检测装置之间发生的丢包。
本发明实施例4中描述的功能单元可以用来实施上述实施例1所述的方法中的检测装置执行的操作。具体实施方式可以参考上述实施例1中的描述,此处不再赘述。
根据本发明实施例2,本发明实施例5提出了一种检测装置600,如图6所示,检测装置600包括:接收单元610和处理单元620。
所述接收单元610,用于接收发送设备和接收设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接相互传输的报文,所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP。
所述处理单元620,用于获取所述接收单元610接收发送设备通过所述连接发送的序列号为K1的数据报文的时间T3;并用于在所述接收单元610接收到接收到第一个包括的选择性确认SACK字段的最新右边界字段的值大于K1+LenK1且用于确认所述序列号为K1的数据报文之前的数据报文的确认报文时,根据T3、T4计算所述检测装置和所述接收设备之间的双向时延,其中,T4为所述接收单元610接收所述确认报文的时间,LenK1为序列号为K1的数据报文的负载长度。
本发明实施例5中描述的功能单元可以用来实施上述实施例2所述的方法中的检测装置执行的操作,具体实施方式可以参考上述实施例2中的描述,此处不再赘述。
根据本发明实施例2和3,本发明实施例6A提出了一种传输设备700A,如图7A所示,传输设备700A包括:通信单元710A和检测装置720A。
所述通信单元710A,用于传输发送设备和接收设备之间相互传输的信息,并将所述信息发送给所述检测装置720A,所述信息包括通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接传输的报文,和/或用于建立所述连接的消息。
所述检测装置720A,具体可以为如本发明实施例4所述的检测装置500,相应地,所述通信单元710A具体将所述信息发送给所述检测装置720A的接收单元510。所述检测装置720A,还可以具体为如本发明实施例5所述的检测装置600,相应地,所述通信单元710A具体将所述信息发送给所述检测装置720A的接收单元610。具体实施方式可以参考上述实施例1和2中的描述,此处不再赘述。
根据本发明实施例2和3,本发明实施例6B提出了一种传输设备700B,所述传输设备700B应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备700B,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备700B传输。
如图7B所示,传输设备700B包括:通信单元710B和处理单元720B。
所述通信单元710B,用于传输发送设备和接收设备通过所述连接相互传输的报文;
所述处理单元720B,用于在所述通信单元710B相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;还用于在所述通信单元710B先后接收到序列号为N2的数据报文和序列号为M1的数据报文后,当确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述通信单元710B接收或发送序列号为N2的数据报文的时间,T2为所述通信单元710B接收或发送序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述传输设备700B之间发生的丢包。
在具体实现时,通常T1为所述通信单元710B接收序列号为N2的数据报文的时间,且T2为所述通信单元710B接收序列号为M1的数据报文的时间;或者T1为所述通信单元710B发送序列号为N2的数据报文的时间,且T2为所述通信单元710B发送序列号为M1的数据报文的时间。
本发明实施例6B所提供的传输设备的700B的功能单元可以用来实施上述实施例1所述的方法中的检测装置执行的操作。具体实施方式可以参考上述实施例1中的描述,此处不再赘述。
根据本发明实施例2和3,本发明实施例6C提出了一种传输设备700C,所述传输设备应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备传输。
如图7C所示,传输设备700C包括:通信单元710C和处理单元720C。
所述通信单元710C,用于传输发送设备和接收设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接相互传输的报文。
所述处理单元720C,用于获取所述通信单元710C接收或发送所述发送设备通过所述连接发送的序列号为K1的数据报文的时间T3;并用于在确定所述通信单元710C接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述通信单元710C接收或发送所述目标确认报文的时间T4,并根据T3、T4计算所述检测装置和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述通信单元710C接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。
当T3为所述通信单元710C接收序列号为K1的数据报文的时间时,通常T4为所述通信单元710C发送所述目标确认报文的时间。当T3为所述通信单元710C发送序列号为K1的数据报文的时间时,通常T4为所述通信单元710C接收所述目标确认报文的时间。
本发明实施例6C所提供的传输设备的700C的功能单元可以用来实施上述实施例1所述的方法中的检测装置执行的操作。具体实施方式可以参考上述实施例1中的描述,此处不再赘述。
根据本发明实施例3,本发明实施例7提出了一种检测设备800,所述检测设备800应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,如图1A、1B所述的通信系统100所示,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个。
如图8所示,检测设备800包括通信单元810和处理单元820。
所述通信单元810,用于通过所述连接传输报文;
所述处理单元820,用于生成检测报文并通过所述通信单元820发送所述检测报文,所述检测报文负载为空,且包括在当前检测周期内已通过所述通信单元发送的被统计报文的数量Num1,Num1用于判断所述检测设备和所述检测设备的下游设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
本发明实施例7中描述的功能单元可以用来实施上述实施例3所述的方法中的第一检测设备执行的操作,具体实施方式可以参考上述实施例3中的描述,此处不再赘述。
根据本发明实施例3,本发明实施例8提出了一种检测设备900,所述检测设备900应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,如图1A、1B所述的通信系统100所示,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输。所述检测设备为所述接收设备或为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备。
如图9所示,检测设备900包括通信单元910和处理单元920。
所述通信单元810,用于通过所述连接传输报文;
所述处理单元820,用于在接收到所述检测报文后,确定所述通信单元在所述当前检测周期内已通过所述连接接收的被统计报文的数量Num2,Num2用于判断所述检测设备和所述检测设备的上游设备或下游设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
本发明实施例8中描述的功能单元可以用来实施上述实施例3所述的方法中的第二检测设备执行的操作,具体实施方式可以参考上述实施例3中的描述,此处不再赘述。
根据本发明实施例1和2,本发明实施例9提供了一种检测装置1000,如图10所示,检测装置1000包括通信接口1010、处理器1020和存储器1030,其中,通信接口1010、处理器1020和存储器1030之间通过总线完成相互间的通信。
通信接口1010,用于接收发送设备和接收设备之间相互传输的信息,所述信息包括通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接传输的报文,和/或用于建立所述连接的消息。通信接口1010具体可以是网卡。
存储器1030,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory)。
处理器1020,用于执行存储器1030中存放的计算机操作指令。处理器1020具体可以是中央处理器(central processing unit,CPU),或者是特定集成电路(ApplicationSpecific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器1020执行所述计算机操作指令使得检测装置1000执行上述实施例1或2所述的方法中的检测装置所执行的操作,具体实施方式可以参考上述实施例1或实施例2中的描述,此处不再赘述。
根据本发明实施例1和2,本发明实施例10提供了一种传输设备2000,如图11所示,传输设备2000包括收发器2010、处理器2020和存储器2030,其中,收发器2010、处理器2020和存储器2030之间通过总线完成相互间的通信。
收发器2010,用于接收发送设备和接收设备之间相互传输的信息,并将所述信息传输给所述处理器2020,所述信息包括通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接传输的报文,和/或用于建立所述连接的消息。收发器2010具体可以是网卡。
存储器2030,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器。
处理器2020,用于执行存储器2030中存放的计算机操作指令。处理器2020具体可以是CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器2020执行所述计算机操作指令使得传输设备2000执行上述实施例1或2所述的方法中的检测装置所执行的操作,具体实施方式可以参考上述实施例1或实施例2中的描述,此处不再赘述。
根据本发明实施例1和2,本发明实施例11提出了一种传输设备3000,如图12所示,传输设备3000包括:收发器3010、处理器3020和检测装置3030。
所述收发器3010,用于接收发送设备和接收设备之间相互传输的信息,并将所述信息发送给所述处理器3020,所述信息包括通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接传输的报文,和/或用于建立所述连接的消息。收发器3010具体可以是网卡。
所述处理器3020,用于将所述信息传输给所述检测装置。处理器3020具体可以是CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
所述检测装置3030,具体可以为如本发明实施例9所述的检测装置1000,相应地,所述处理器3020具体将所述信息发送给所述检测装置3030的通信接口1010。
根据本发明实施例3,本发明实施例12提供了一种检测设备4000,所述检测设备4000应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,如图1A、1B所述的通信系统100所示,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个。
如图13所示,检测设备4000包括收发器4010、处理器4020和存储器4030,其中,收发器4010、处理器4020和存储器4030之间通过总线完成相互间的通信。
收发器4010具体可以是网卡。
存储器4030,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器。
处理器4020,用于执行存储器4030中存放的计算机操作指令。处理器4020具体可以是CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器4020执行所述计算机操作指令使得检测装置4000执行上述实施例3所述的方法中的第一检测设备所执行的操作,其中,所述处理器4020具体通过所述收发器接收和发送所述报文。
根据本发明实施例3,本发明实施例13提供了一种检测设备5000,所述检测设备5000应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,如图1A、1B所述的通信系统100所示。所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输。所述检测设备为所述接收设备或为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备。
如图14所示,检测设备5000包括收发器5010、处理器5020和存储器5030,其中,收发器5010、处理器5020和存储器5030之间通过总线完成相互间的通信。
收发器5010具体可以是网卡。
存储器5030,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器。
处理器5020,用于执行存储器5030中存放的计算机操作指令。处理器5020具体可以是CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器5020执行所述计算机操作指令使得检测装置5000执行上述实施例3所述的方法中的第二检测设备所执行的操作,其中,所述处理器具体通过所述收发器接收和发送所述报文。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (39)
1.一种实现传输性能检测的方法,其特征在于,所述方法包括:
检测装置在相继接收到发送设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;
所述检测装置在接收到序列号为N2的数据报文后接收到序列号为M1的数据报文;
当所述检测装置确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述检测装置接收序列号为N2的数据报文的时间,T2为所述检测装置接收序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述检测装置之间发生的丢包。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述检测装置确定M1大于N1且确定T2-T1小于RTT时,确定序列号为M1的数据报文为乱序报文。
3.如权利要求1或2所述的方法,其特征在于,序列号为N3的数据报文和序列号为M1的数据报文为所述检测装置先后相继接收到的两个数据报文,其中N3大于或等于N2;
所述方法还包括:当所述检测装置确定M1小于N3且不属于所述序列号为M1的数据报文之前的任意一个序列号黑洞时,确定序列号为M1的数据报文为对应下游丢包的数据报文,其中,所述序列号黑洞为以一对相继顺序接收但序列号不连续的数据报文的序列号为边界的序列号范围。
4.如权利要求1-3任一所述的方法,其特征在于,所述确定序列号为M1的数据报文为对应上游丢包的重传报文之前还包括:
所述检测装置确定所述发送设备和所述检测装置之间的双向时延URTT;
所述检测装置确定所述检测装置和所述接收设备之间的双向时延DRTT;
所述检测装置根据RTT=URTT+DRTT计算所述RTT;
所述确定DRTT具体包括:
所述检测装置获取接收所述发送设备通过所述连接发送的序列号为K1的数据报文的时间T3;
所述检测装置在确定接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述检测装置接收所述目标确认报文的时间T4,并根据T3、T4计算DRTT,其中,所述目标确认报文为所述检测装置接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。
5.如权利要求4所述的方法,其特征在于,所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP;
所述目标确认报文具体为所述检测装置接收到的第一个包括的确认号字段或选择性确认SACK字段的最新右边界字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
6.如权利要求4或5所述的方法,其特征在于,
所述确定URTT具体包括:
当所述接收设备为客户端设备、所述发送设备为服务器时,所述检测装置接收所述接收设备在建立所述连接时向所述发送设备发送的用于请求建立所述连接的请求消息,并接收所述发送设备向所述接收设备发送的所述请求消息的响应消息;
所述检测装置将接收所述请求消息的时间和接收所述响应消息的时间的差值确定为URTT。
7.一种实现传输性能检测的方法,其特征在于,所述方法应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备传输;所述方法包括:
所述传输设备在相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;
所述传输设备在接收到序列号为N2的数据报文后接收到序列号为M1的数据报文;
当所述传输设备确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述传输设备接收或发送序列号为N2的数据报文的时间,T2为所述传输设备接收或发送序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述传输设备之间发生的丢包。
8.一种实现传输性能检测的方法,其特征在于,所述方法包括:
检测装置获取接收发送设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接发送的序列号为K1的数据报文的时间T3;
所述检测装置在确定接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述检测装置接收所述目标确认报文的时间T4,并根据T3、T4计算所述检测装置和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述检测装置接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。
9.如权利要求8所述的方法,其特征在于,所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP;
所述目标确认报文具体为所述检测装置接收到的第一个包括的确认号字段或选择性确认SACK字段的最新右边界字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
10.如权利要求8或9所述的方法,其特征在于,所述方法还包括:
当所述接收设备为客户端设备、所述发送设备为服务器时,所述检测装置接收所述接收设备在建立所述连接时向所述发送设备发送的用于请求建立所述连接的请求消息,并接收所述发送设备发送的所述请求消息的响应消息;
所述检测装置将接收所述请求消息的时间和接收所述响应消息的时间的差值确定为所述发送设备和所述检测装置之间的双向时延URTT。
11.一种实现传输性能检测的通信系统,其特征在于,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输;
所述通信系统中的第一检测设备,用于生成检测报文,并通过所述连接发送所述检测报文,所述检测报文负载为空且包括在当前检测周期内所述第一检测设备已通过所述连接发送的被统计报文的数量Num1,所述第一检测设备为所述发送设备或所述至少一个传输设备中的一个;
所述通信系统中的第二检测设备,用于在接收所述检测报文后,确定在所述当前检测周期内所述第二检测设备已通过所述连接接收的被统计报文的数量Num2,所述Num1和Num2用于判断所述第一检测设备和所述第二检测设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包,所述第二检测设备为所述接收设备或为所述至少一个传输设备中位于所述第一检测设备和所述接收设备之间的传输设备。
12.如权利要求11所述的通信系统,其特征在于,所述第二检测设备还用于根据Num1和Num2判断所述第一检测设备和所述第二检测设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
13.如权利要求11或12所述的通信系统,所述第二检测设备为所述至少一个传输设备中位于所述第一检测设备和所述接收设备之间的传输设备时,还用于将Num2添加到所述检测报文中,并发送所述检测报文。
14.如权利要求11-13任一所述的通信系统,其特征在于,
所述第一检测设备,还用于将所述第一检测设备生成所述检测报文的时间T1添加到所述检测报文中;
所述第二检测设备,还用于在收到所述检测报文后,获取接收所述检测报文的时间T2,T1和T2用于计算所述第一检测设备和所述第二检测设备之间的单向时延。
15.如权利要求14所述的通信系统,其特征在于,所述第二检测设备还用于根据T1和T2计算所述第一检测设备和所述第二检测设备之间的单向时延。
16.如权利要求14或15所述的通信系统,其特征在于,所述第二检测设备为所述至少一个传输设备中位于所述第一检测设备和所述接收设备之间的传输设备时,还用于在发送所述检测报文之前将T2添加到所述检测报文中。
17.如权利要求11-12任一所述的通信系统,其特征在于,
所述第一检测设备,还用于将所述第一检测设备的标识添加到所述检测报文中;
所述第二检测设备为所述至少一个传输设备中位于所述第一检测设备和所述接收设备之间的传输设备时,还用于在发送所述检测报文之前将所述第二检测设备的标识添加到所述检测报文中;
所述第一检测设备的标识和所述第二检测设备的标识用于确定所述检测报文所经过的传输路径。
18.一种检测装置,其特征在于,所述检测装置包括接收单元和处理单元;
所述接收单元,用于接收发送设备和接收设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接相互传输的报文;
所述处理单元,用于在所述接收单元相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;还用于在所述接收单元先后接收到序列号为N2的数据报文和序列号为M1的数据报文后,当确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述接收单元接收序列号为N2的数据报文的时间,T2为所述接收单元接收序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述检测装置之间发生的丢包。
19.如权利要求18所述的检测装置,其特征在于,所述处理单元还用于,当确定M1大于N1且确定T2-T1小于RTT时,确定序列号为M1的数据报文为乱序报文。
20.如权利要求18或19所述的检测装置,其特征在于,序列号为N3的数据报文和序列号为M1的数据报文为所述接收单元先后相继接收到的两个数据报文,其中N3大于或等于N2;
所述处理单元还用于,当确定M1小于N3且不属于所述序列号为M1的数据报文之前的任意一个序列号黑洞时,确定序列号为M1的数据报文为对应下游丢包的数据报文,其中,所述序列号黑洞为以一对相继顺序接收但序列号不连续的数据报文的序列号为边界的序列号范围。
21.如权利要求18-20任一所述的检测装置,其特征在于,
所述处理单元,还用于确定所述发送设备和所述检测装置之间的双向时延URTT,确定所述检测装置和所述接收设备之间的双向时延DRTT,并根据RTT=URTT+DRTT计算所述RTT;
所述处理单元在确定DRTT时,具体用于:
获取所述接收单元接收所述发送设备通过所述连接发送的序列号为K1的数据报文的时间T3;
在确定所述接收单元接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述接收单元接收所述目标确认报文的时间T4,并根据T3、T4计算DRTT,其中,所述目标确认报文为所述接收单元接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。
22.如权利要求21所述的检测装置,其特征在于,所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP;
所述目标确认报文具体为所述接收单元接收到的第一个包括的确认号字段或选择性确认SACK字段的最新右边界字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
23.如权利要求21或22所述的检测装置,其特征在于,
当所述接收设备为客户端设备、所述发送设备为服务器时,所述接收单元还用于接收所述接收设备在建立所述连接时向所述发送设备发送的用于请求建立所述连接的请求消息,以及所述发送设备向所述接收设备发送的所述请求消息的响应消息;
所述处理单元在确定URTT时具体用于:将所述接收单元接收所述请求消息的时间和接收所述响应消息的时间的差值确定为URTT。
24.一种检测装置,其特征在于,所述检测装置包括接收单元和处理单元;
所述接收单元,用于接收发送设备和接收设备通过所述发送设备和接收设备之间建立的基于可靠传输协议的连接相互传输的报文;
所述处理单元,用于获取所述接收单元接收发送设备通过所述连接发送的序列号为K1的数据报文的时间T3;并用于在确定所述接收单元接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述接收单元接收所述目标确认报文的时间T4,并根据T3、T4计算所述检测装置和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述接收单元接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。
25.如权利要求24所述的检测装置,其特征在于,所述可靠传输协议为传输控制协议TCP或流控制传输协议SCTP;
所述目标确认报文具体为所述接收单元接收到的第一个包括的确认号字段或选择性确认SACK字段的最新右边界字段的值大于或等于K1+LenK1的确认报文,其中,LenK1为序列号为K1的数据报文的负载长度。
26.如权利要求24或25所述的检测装置,其特征在于,
当所述接收设备为客户端设备、所述发送设备为服务器时,所述接收单元还用于接收所述接收设备在建立所述连接时向所述发送设备发送的用于请求建立所述连接的请求消息,以及所述发送设备向所述接收设备发送的所述请求消息的响应消息;
所述处理单元,还用于将所述接收单元接收所述请求消息的时间和接收所述响应消息的时间的差值确定为所述发送设备和所述检测装置之间的双向时延URTT。
27.一种传输设备,其特征在于,所述传输设备包括通信单元和如权利要求15-20所述的检测装置;
所述通信单元,用于传输所述发送设备和所述接收设备之间相互传输的信息,并将所述信息发送给所述检测装置,所述信息包括通过所述连接传输的报文和/或用于建立所述连接的消息。
28.一种传输设备,其特征在于,所述传输设备应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备传输;
所述传输设备包括通信单元和处理单元;
所述通信单元,用于传输发送设备和接收设备通过所述连接相互传输的报文;
所述处理单元,用于在所述通信单元相继接收到发送设备通过所述连接发送的序列号为N1和N2的数据报文后,确定N2大于N1且和N1不连续;还用于在所述通信单元先后接收到序列号为N2的数据报文和序列号为M1的数据报文后,当确定M1大于N1且小于N2且确定T2-T1大于或等于RTT时,确定序列号为M1的数据报文为对应上游丢包的重传报文,其中,T1为所述通信单元接收或发送序列号为N2的数据报文的时间,T2为所述通信单元接收或发送序列号为M1的数据报文的时间,RTT为所述发送设备和所述接收设备之间的双向时延,所述上游丢包指的是在所述发送设备和所述传输设备之间发生的丢包。
29.一种传输设备,其特征在于,所述传输设备应用于通信系统中,所述通信系统包括发送设备、接收设备和所述传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述传输设备传输;
所述传输设备包括通信单元和处理单元;
所述通信单元,用于传输发送设备和接收设备通过所述连接相互传输的报文;
所述处理单元,用于获取所述通信单元接收或发送所述发送设备通过所述连接发送的序列号为K1的数据报文的时间T3;并用于在确定所述通信单元接收到所述接收设备通过所述连接发送的目标确认报文时,获取所述通信单元接收或发送所述目标确认报文的时间T4,并根据T3、T4计算所述检测装置和所述接收设备之间的双向时延DRTT,其中,所述目标确认报文为所述通信单元接收到的第一个用于表明所述接收设备已接收所述序列号为K1的数据报文或所述序列号为K1的数据报文之后的数据报文的确认报文。
30.一种检测设备,其特征在于,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述发送设备或所述至少一个传输设备中的一个;
所述检测设备包括通信单元和处理单元;
所述通信单元用于通过所述连接传输报文;
所述处理单元,用于生成检测报文并通过所述通信单元发送所述检测报文,所述检测报文负载为空,且包括在当前检测周期内已通过所述通信单元发送的被统计报文的数量Num1,Num1用于判断所述检测设备和所述检测设备的下游设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
31.如权利要求30所述的检测设备,其特征在于,
所述处理单元,还用于将所述第一检测设备生成所述检测报文的时间T1添加到所述检测报文中,T1用于计算所述检测设备和所述检测设备的下游设备之间的单向时延。
32.如权利要求30或31所述的检测设备,其特征在于,
所述检测设备,还用于将所述检测设备的标识添加到所述检测报文中,所述检测设备的标识用于确定所述检测报文所经过的传输路径。
33.一种检测设备,其特征在于,所述检测设备应用于通信系统中,所述通信系统包括发送设备、接收设备和至少一个传输设备,所述发送设备和所述接收设备通过所述发送设备和所述接收设备之间建立的基于可靠传输协议的连接传输报文,所述报文经所述至少一个传输设备传输,所述检测设备为所述接收设备或为所述至少一个传输设备中位于用于生成检测报文的设备和所述接收设备之间的传输设备,所述检测报文的负载为空;
所述检测设备包括通信单元和处理单元;
所述通信单元用于通过所述连接传输报文;
所述处理单元,用于在接收到所述检测报文后,确定所述通信单元在所述当前检测周期内已通过所述连接接收的被统计报文的数量Num2,Num2用于判断所述检测设备和所述检测设备的上游设备或下游设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
34.如权利要求33所述的检测设备,其特征在于,所述通信单元接收的所述检测报文包括生成所述检测报文的设备添加的在当前检测周期内已通过所述连接发送的被统计报文的数量Num1;所述处理单元还用于根据Num1和Num2判断生成所述检测报文的设备和所述检测设备之间在所述当前检测周期内传输的被统计报文是否发生了丢包。
35.如权利要求33或34所述的检测设备,所述检测设备为所述至少一个传输设备中位于生成所述检测报文的设备和所述检测设备之间的传输设备时,所述处理单元还用于将Num2添加到所述检测报文中,并通过所述通信单元发送所述检测报文。
36.如权利要求33-35任一所述的检测设备,其特征在于,
所述检测设备为所述至少一个传输设备中位于生成所述检测报文的设备和所述检测设备之间的传输设备时,所述处理单元还用于在所述通信单元收到所述检测报文后,获取所述通信单元接收所述检测报文的时间T2,T2用于计算所述检测设备和所述检测设备的上游设备或下游设备之间的单向时延。
37.如权利要求36所述的检测设备,其特征在于,所述通信单元接收的所述检测报文还包括所述检测报文的生成时间T1,所述检测设备还用于根据T1和T2计算所述第一检测设备和所述第二检测设备之间的单向时延。
38.如权利要求36或37所述的检测设备,其特征在于,所述检测设备为所述至少一个传输设备中位于生成所述检测报文的设备和所述检测设备之间的传输设备时,所述处理单元还用于在通过所述通信单元发送所述检测报文之前将T2添加到所述检测报文中。
39.如权利要求33-38任一所述的检测设备,其特征在于,
所述检测设备为所述至少一个传输设备中位于生成所述检测报文的设备和所述检测设备之间的传输设备时,所述处理单元还用于在通过所述通信单元发送所述检测报文之前将所述检测设备的标识添加到所述检测报文中,所述第二检测设备的标识用于确定所述检测报文所经过的传输路径。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610194.7A CN113472604B (zh) | 2017-06-30 | 2017-07-06 | 一种实现传输性能检测的方法、装置和系统 |
EP18822759.9A EP3637692A4 (en) | 2017-06-30 | 2018-04-27 | TRANSMISSION PERFORMANCE MEASUREMENT METHOD, APPARATUS, AND SYSTEM |
PCT/CN2018/084961 WO2019001129A1 (zh) | 2017-06-30 | 2018-04-27 | 一种实现传输性能检测的方法、装置和系统 |
US16/730,465 US12101238B2 (en) | 2017-06-30 | 2019-12-30 | Data transmission performance detection |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2017105260085 | 2017-06-30 | ||
CN201710526008 | 2017-06-30 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110610194.7A Division CN113472604B (zh) | 2017-06-30 | 2017-07-06 | 一种实现传输性能检测的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109218122A true CN109218122A (zh) | 2019-01-15 |
CN109218122B CN109218122B (zh) | 2022-04-29 |
Family
ID=64993685
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710546444.9A Active CN109218122B (zh) | 2017-06-30 | 2017-07-06 | 一种实现传输性能检测的方法、装置和系统 |
CN202110610194.7A Active CN113472604B (zh) | 2017-06-30 | 2017-07-06 | 一种实现传输性能检测的方法、装置和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110610194.7A Active CN113472604B (zh) | 2017-06-30 | 2017-07-06 | 一种实现传输性能检测的方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3637692A4 (zh) |
CN (2) | CN109218122B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054940A (zh) * | 2020-09-02 | 2020-12-08 | 黑龙江省电工仪器仪表工程技术研究中心有限公司 | 一种异构网络融合网关的便携式检测装置及其检测方法 |
CN112398699A (zh) * | 2020-12-01 | 2021-02-23 | 杭州迪普科技股份有限公司 | 一种网络流量抓包方法、装置及设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023164194A1 (en) * | 2022-02-27 | 2023-08-31 | Arris Enterprises Llc | Quadrant-based latency and jitter measurement |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050213586A1 (en) * | 2004-02-05 | 2005-09-29 | David Cyganski | System and method to increase network throughput |
CN1842033A (zh) * | 2005-03-30 | 2006-10-04 | 华为技术有限公司 | 在多协议标签交换网络中监测丢包率的方法 |
CN101321092A (zh) * | 2008-07-07 | 2008-12-10 | 上海华为技术有限公司 | 一种测量互联网协议传输网服务质量的方法和装置 |
US20090310500A1 (en) * | 2008-06-17 | 2009-12-17 | Fujitsu Limited | Delay time measuring apparatus, computer readable record medium on which delay time measuring program is recorded, and delay time measuring method |
WO2012062102A1 (zh) * | 2010-11-12 | 2012-05-18 | 中兴通讯股份有限公司 | 一种检测组播转发树上两点间连通性的方法、系统和装置 |
CN103152223A (zh) * | 2013-03-15 | 2013-06-12 | 华为技术有限公司 | 网络性能监测方法及装置 |
EP2922241A2 (en) * | 2014-03-18 | 2015-09-23 | Fluke Corporation | Methods and apparatus to determine network delay with location independence from retransmission delay and application response time |
CN106506124A (zh) * | 2015-09-07 | 2017-03-15 | 中国移动通信集团公司 | 重传报文确定方法及装置 |
CN106656642A (zh) * | 2015-10-28 | 2017-05-10 | 华为技术有限公司 | 一种往返时延的测量方法、装置及系统 |
-
2017
- 2017-07-06 CN CN201710546444.9A patent/CN109218122B/zh active Active
- 2017-07-06 CN CN202110610194.7A patent/CN113472604B/zh active Active
-
2018
- 2018-04-27 EP EP18822759.9A patent/EP3637692A4/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050213586A1 (en) * | 2004-02-05 | 2005-09-29 | David Cyganski | System and method to increase network throughput |
CN1842033A (zh) * | 2005-03-30 | 2006-10-04 | 华为技术有限公司 | 在多协议标签交换网络中监测丢包率的方法 |
EP1865646A1 (en) * | 2005-03-30 | 2007-12-12 | Huawei Technologies Co., Ltd. | A method for monitoring the packet loss rate |
US20090310500A1 (en) * | 2008-06-17 | 2009-12-17 | Fujitsu Limited | Delay time measuring apparatus, computer readable record medium on which delay time measuring program is recorded, and delay time measuring method |
CN101321092A (zh) * | 2008-07-07 | 2008-12-10 | 上海华为技术有限公司 | 一种测量互联网协议传输网服务质量的方法和装置 |
WO2012062102A1 (zh) * | 2010-11-12 | 2012-05-18 | 中兴通讯股份有限公司 | 一种检测组播转发树上两点间连通性的方法、系统和装置 |
CN103152223A (zh) * | 2013-03-15 | 2013-06-12 | 华为技术有限公司 | 网络性能监测方法及装置 |
EP2922241A2 (en) * | 2014-03-18 | 2015-09-23 | Fluke Corporation | Methods and apparatus to determine network delay with location independence from retransmission delay and application response time |
CN106506124A (zh) * | 2015-09-07 | 2017-03-15 | 中国移动通信集团公司 | 重传报文确定方法及装置 |
CN106656642A (zh) * | 2015-10-28 | 2017-05-10 | 华为技术有限公司 | 一种往返时延的测量方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
ERICSSON: "R4-060436", 《3GPP》 * |
SHARAD JAISWAL 等: "Measurement and classification of out-of-sequence packets in a tier-1 IP backbone", 《3GPP》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054940A (zh) * | 2020-09-02 | 2020-12-08 | 黑龙江省电工仪器仪表工程技术研究中心有限公司 | 一种异构网络融合网关的便携式检测装置及其检测方法 |
CN112398699A (zh) * | 2020-12-01 | 2021-02-23 | 杭州迪普科技股份有限公司 | 一种网络流量抓包方法、装置及设备 |
CN112398699B (zh) * | 2020-12-01 | 2022-11-25 | 杭州迪普科技股份有限公司 | 一种网络流量抓包方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113472604A (zh) | 2021-10-01 |
CN113472604B (zh) | 2022-11-11 |
EP3637692A1 (en) | 2020-04-15 |
EP3637692A4 (en) | 2020-08-26 |
CN109218122B (zh) | 2022-04-29 |
US20200136944A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8391163B2 (en) | Operating MPLS label switched paths and MPLS pseudowire in loopback mode | |
CN105634836B (zh) | 信息处理方法及装置 | |
Garetto et al. | Modeling, simulation and measurements of queuing delay under long-tail internet traffic | |
CN105591843B (zh) | Tcp传输流中基于接收端的网络性能检测方法及系统 | |
Goga et al. | Speed measurements of residential internet access | |
EP3295612B1 (en) | Uplink performance management | |
WO2017133014A1 (zh) | Tcp传输流中基于接收端的网络性能检测方法及系统 | |
CN109218122A (zh) | 一种实现传输性能检测的方法、装置和系统 | |
CN101572634A (zh) | 一种利用互相关函数被动测量tcp连接往返时延的方法 | |
CN108322836A (zh) | 一种数据传输的方法及装置 | |
EP1746769A1 (en) | Measurement system and method of measuring a transit metric | |
EP2922241B1 (en) | Methods and apparatus to determine network delay with location independence from retransmission delay and application response time | |
WO2014095927A1 (en) | Probing a network | |
CN105611406B (zh) | 一种接入网服务商监测用户到视频服务器延迟特性方法 | |
WO2019001129A1 (zh) | 一种实现传输性能检测的方法、装置和系统 | |
JP2015195511A (ja) | パケット解析プログラム、パケット解析装置およびパケット解析方法 | |
EP3100413B1 (en) | Reliable network probing session | |
JP6200870B2 (ja) | データ転送制御装置、方法及びプログラム | |
US12101238B2 (en) | Data transmission performance detection | |
EP3085021A1 (en) | Probing a network | |
JP5537692B1 (ja) | 品質劣化原因推定装置、品質劣化原因推定方法、品質劣化原因推定プログラム | |
Shin et al. | Online Loss Differentiation Algorithm with One-Way Delay for TCP Performance Enhancement | |
Liu et al. | Improving tcp performance over mobile data networks with opportunistic retransmission | |
Antonyuk | Performance Evaluation of Computer Campus Network Segments | |
Hurtig et al. | Emulation Support for Advanced Packet Reordering Models |
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 |