CN110417669B - 数据包重传控制、网络拥塞检测方法和装置 - Google Patents

数据包重传控制、网络拥塞检测方法和装置 Download PDF

Info

Publication number
CN110417669B
CN110417669B CN201810745192.7A CN201810745192A CN110417669B CN 110417669 B CN110417669 B CN 110417669B CN 201810745192 A CN201810745192 A CN 201810745192A CN 110417669 B CN110417669 B CN 110417669B
Authority
CN
China
Prior art keywords
data
packet
retransmission
request
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.)
Active
Application number
CN201810745192.7A
Other languages
English (en)
Other versions
CN110417669A (zh
Inventor
王晓海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810745192.7A priority Critical patent/CN110417669B/zh
Publication of CN110417669A publication Critical patent/CN110417669A/zh
Application granted granted Critical
Publication of CN110417669B publication Critical patent/CN110417669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

Abstract

本发明涉及一种数据包重传控制方法和装置,该方法包括:获取数据包传输监测数据;根据所述数据包传输监测数据确定数据包传输的多个传输指标值;所述传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种;当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。本申请方案通过减少自动重传数据,缓解网络拥塞,从而提高了数据传输质量。

Description

数据包重传控制、网络拥塞检测方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据包重传控制、网络拥塞检测方法和装置。
背景技术
随着网络技术的飞速发展,各种数据都需要通过网络来传输,例如各种业务数据、音频数据和视频数据等不同种类的数据,都需要通过网络来传输。而越来越多的数据都通过网络传输,难免会增加网络数据压力,容易导致网络拥塞。
然而,对于网络出现网络拥塞时,传统的网络拥塞的检测方式,对网络可用带宽进行监测来确定是否网络拥塞,在网络拥塞时,大量丢弃数据包,直至网络不再拥塞时,恢复正常的数据包传输。这样,单通过网络可用带宽来监测网络拥塞,监测准确率较低,同时大量丢弃数据包,严重降低了数据传输质量。
发明内容
基于此,有必要针对传统方法通常会造成生成三维场景图的准确率较低的问题,提供一种网络拥塞检测方法、装置、计算机设备和存储介质。
一种数据包重传控制方法,所述方法包括:
获取数据包传输监测数据;
根据所述数据包传输监测数据确定数据包传输的多个传输指标值;所述传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种;
当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;
当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
一种网络拥塞检测方法,所述方法包括:
获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;
确定所述容量差和所述网络带宽值的比值;
根据所述比值和所述传输排队延时差确定网络抖动值;
确定所述网络抖动值和预设抖动阈值的大小关系;
根据所述大小关系确定是否存在网络拥塞。
一种数据包重传控制装置,所述装置包括:
检测数据获取模块,用于获取数据包传输监测数据;
传输指标确定模块,用于根据所述数据包传输监测数据确定数据包传输的多个传输指标值;所述传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种;
自动重传控制模块,用于当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
一种网络拥塞检测装置,所述装置包括:
数据获取模块,用于获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;
比值确定模块,用于确定所述容量差和所述网络带宽值的比值;
抖动值确定模块,用于根据所述比值和所述传输排队延时差确定网络抖动值;
大小关系确定模块,用于确定所述网络抖动值和预设抖动阈值的大小关系;
网络拥塞确定模块,用于根据所述大小关系确定是否存在网络拥塞。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取数据包传输监测数据;
根据所述数据包传输监测数据确定数据包传输的多个传输指标值;所述传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种;
当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;
当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:
获取数据包传输监测数据;
根据所述数据包传输监测数据确定数据包传输的多个传输指标值;所述传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种;
当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;
当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;
确定所述容量差和所述网络带宽值的比值;
根据所述比值和所述传输排队延时差确定网络抖动值;
确定所述网络抖动值和预设抖动阈值的大小关系;
根据所述大小关系确定是否存在网络拥塞。
一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:
获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;
确定所述容量差和所述网络带宽值的比值;
根据所述比值和所述传输排队延时差确定网络抖动值;
确定所述网络抖动值和预设抖动阈值的大小关系;
根据所述大小关系确定是否存在网络拥塞。
上述数据包重传控制、网络拥塞检测方法、装置、计算机设备和存储介质,根据数据包传输监测数据确定数据包传输的多个传输指标值,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比,根据多个传输指标值确定是否出现网络拥塞,从而提高了网络拥塞的监测准确性。在监测到网络拥塞时,关闭数据包自动重传,减少了网络中的自动重传数据,避免了大量丢失数据包,在监测到网络传输正常时,重新开启自动重传,通过减少自动重传数据,缓解网络拥塞,从而提高了数据传输质量。
附图说明
图1为一个实施例中数据包重传控制方法或者网络拥塞检测方法的应用场景图;
图2为一个实施例中数据包重传控制方法的流程示意图;
图3为一个实施例中确定网络抖动值的原理示意图;
图4为一个实施例中数据包重传原理示意图;
图5为一个实施例中确定网络抖动值的步骤的流程示意图;
图6为一个实施例中滤波处理效果示意图;
图7为一个实施例中确定数据包往返延时的步骤的流程示意图;
图8为一个实施例中确定数据包重传接收比的步骤的流程示意图;
图9为一实施例中网络拥塞检测方法的流程示意图;
图10为一个实施例中检测网络拥塞的步骤的流程示意图;
图11为另一个实施例中确定数据包往返延时的步骤的流程示意图;
图12为再一个实施例中确定数据包重传接收比的步骤的流程示意图;
图13为一个实施例中数据包重传控制装置的框图;
图14为一个实施例中网络拥塞检测装置的框图;
图15为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中数据包重传控制方法或者网络拥塞检测方法的应用场景图。参照图1,该应用场景中包括服务器110和终端120。服务器110与终端120通过网络连接。终端120具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。
如图2所示,在一个实施例中,提供一种数据包重传控制方法。数据包重传控制方法可以应用于上述图1中的服务器110,也可以应用于上述图1中的终端120。服务器110和终端120,均可以作为数据传输过程中的接收端和发送端。发送端为在数据包传输过程中发送数据包的一端,接收端为在数据包传输过程中接收数据包的一端。本实施例主要以该方法应用于上述图1中的终端120来举例说明。参照图2,该数据包重传控制方法,具体包括以下步骤:
S202,获取数据包传输监测数据。
其中,数据包传输监测数据为数据包通过网络传输过程中监测到的数据。
具体地,监控服务器对数据传输过程进行监测,通过监测获得数据包传输监测数据。监控服务器将数据包传输检测数据发送至终端或者服务器。
在一个实施例中,终端或者服务器对数据传输过程进行监测,通过监测获得数据包传输监测数据。
S204,根据数据包传输监测数据确定数据包传输的多个传输指标值;传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种。
其中,传输指标值为能够反映网络传输状态的指标对应的数值。传输指标值至少包括网络抖动值、数据包往返延时和数据包重传接收比中的至少两种。
网络抖动值为数据包传输过程中,发送端发送相邻数据包的发送时间间隔与接收端接收到该相邻数据包的时间间隔的差值。
图3为一个实施例中确定网络抖动值的原理图示意图。请参照图3,发送端向接收端发送两个相邻的数据包Pk+i和Pk+i+1,发送端发送数据包Pk+i的发送时间为Tsi,发送端发送数据包Pk+i+1的发送时间为Tsi+1,接收端接收发送端发送的两个相邻的数据包Pk+i和Pk+i+1,接收端接收数据包Pk+i的接收时间为Tri,接收端接收数据包Pk+i+1的接收时间为Tri+1,jitter表示数据包Pk+i和Pk+i+1之间的网络抖动值,网络抖动值jitter可以通过以下公式计算得到:
jitter=(Tri+1-Tri)-(Tsi+1-Tsi)
基于上述公式进行公式推导,推导过程如下:
传输数据由N个数据包组成的数据时,以T表示传输数据从发送端到接收端的总耗时,则因为
Figure BDA0001724159810000061
其中,N为大于等于1的正整数;i为传输的数据包的序号;L(i)为第i个数据包的数据容量;C为网络带宽值;
Figure BDA0001724159810000062
为传输第i个数据包的排队延时;a为网络介质传输的传播延时,为一个常数;
所以,第i个数据包的从发送端到达接收端所耗费的时间Ti根据以下公式得到:
Figure BDA0001724159810000063
第i个数据包与第i-1个数据包之间的网络抖动值jitter通过以下公式得到:
Figure BDA0001724159810000064
Figure BDA0001724159810000065
其中,ΔL=L(i)-L(i-1),
Figure BDA0001724159810000066
L(i-1)为第i-1个数据包的数据容量,
Figure BDA0001724159810000067
为第i-1个数据包的传输排队延时。
数据包往返延时(RTT,Round Trip Time)为从发送端发送数据请求到接收端,接收端接收到数据请求后向发送端返回数据确认包所耗费的总时间长度。
数据包重传接收比为发送重传请求(ARQ,Automatic Repeat Request)的请求数量与通过发送重传请求获得重传数据包数量的比值。
图4为一个实施例中数据包重传示意图。请参照图4,发送端向接收端发送1-12个数据包,在数据包传输过程中,接收端未接收到数据包2和数据包6,接收端向发送端返回未接收到数据包2和数据包6的通知信息Nack,发送端在接收到未接收到数据包2和数据包6的通知信息Nack时,重新发送数据包2和数据包6。其中,数据包2重传1次,数据包6重传2次。统计发送端向接收端发送1-12个数据包过程中,发送重传请求的请求数量为3,通过发送重传请求获得重传数据包数量为2,则数据包重传接收比=3/2=150。
具体地,终端从数据包传输监测数据中提取当前时刻对应的网络抖动值、数据包往返延时和数据包重传接收比。
在一个实施例中,终端从数据包传输监测数据中提取发送端发送相邻数据包的发送时间间隔和接收端接收相邻数据包的接收时间间隔,确定接收时间间隔与发送时间间隔的差值,以确定的差值作为网络抖动值。终端从数据包传输监测数据中提取数据请求发送时间和根据数据请求返回的数据确认包的接收时间,确定数据请求的发送时间和数据确认包接收时间的差值,以差值作为数据包往返延时。终端从数据包传输监测数据中按照统计周期统计重传请求的请求数量和接收到的重传数据包数量,确定统计到的重传请求的请求数量和重传输数据包数量的比值,以确定的比值作为数据包重传接收比。
S206,当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传。
其中,拥塞判定条件为用于判定出现网络拥塞时,传输指标值需要满足的条件。拥塞判定条件可以是各传输指标值大于各自对应的预设指标阈值,也可以是各传输指标值在各自对应的预设指标值范围内。
具体地,拥塞判定条件是各传输指标值大于各自对应的预设指标阈值。终端获取各传输指标值分别对应的预设指标阈值,将每个传输指标值与相应的预设指标阈值进行比较,统计大于预设指标阈值的传输指标值数量。当统计的传输指标值数量大于等于2时,则判定出现网络拥塞,关闭数据包自动重传。
在一个实施例中,拥塞判断条件是各传输指标值在各自对应的预设指标值范围。终端获取各传输指标值分别对应的预设指标值范围,将每个传输指标值与相应的预设指标值范围进行比较,统计在预设指标值范围内的传输指标值的传输指标值数量。当统计的传输指标值数量大于等于2时,则判定出现网络拥塞,关闭数据包自动重传。
举例说明,如表1所示,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比。预设指标阈值包括预设抖动阈值、预设延时阈值和预设接收比阈值。终端将网络抖动值与预设抖动阈值比较,将数据包往返延时与预设延时阈值比较,将数据包重传接收比与预设重传接收比阈值进行比较。
当网络抖动值大于预设抖动阈值,且数据包往返延时大于预设延时阈值时,判定出现网络拥塞。
当网络抖动值大于预设抖动阈值,且数据包重传接收比大于预设重传接收比阈值时,判定出现网络拥塞。
当数据包往返延时大于预设延时阈值,且数据包重传接收比大于预设重传接收比阈值时,判定出现网络拥塞。
当网络抖动值大于预设抖动阈值,数据包往返延时大于预设阈值,且数据包重传接收比大于预设重传接收比阈值时,判定出现网络拥塞。
表1:
Figure BDA0001724159810000081
S208,当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
具体地,拥塞判定条件是各传输指标值大于各自对应的预设指标阈值。终端在关闭数据包自动重传后,按照预设周期,统计传输指标值,终端将统计到的每个传输指标值与相应的预设指标阈值进行比较,统计大于预设指标阈值的传输指标值数量。当统计的传输指标值数量小于等于1时,则判定网络恢复正常,重新开启数据包自动重传。
在一个实施例中,拥塞判断条件是各传输指标值在各自对应的预设指标值范围。终端获取各传输指标值分别对应的预设指标值范围,将每个传输指标值与相应的预设指标值范围进行比较,统计在预设指标值范围内的传输指标值的传输指标值数量。当统计的传输指标值数量大于等于1时,则判定网络恢复正常,重新开启数据包自动重传。
本实施例中,根据数据包传输监测数据确定数据包传输的多个传输指标值,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比,根据多个传输指标值确定是否出现网络拥塞,从而提高了网络拥塞的监测准确性。在监测到网络拥塞时,关闭数据包自动重传,减少了网络中的自动重传数据,避免了大量丢失数据包,在监测到网络传输正常时,重新开启自动重传,通过减少自动重传数据,缓解网络拥塞,从而提高了数据传输质量。
如图5所示,在一个实施例中,数据包重传控制方法还包括确定网络抖动值的步骤,该步骤具体包括以下内容:
S502,从数据包传输监测数据中,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差。
其中,网络带宽值为网络单位时间内网络传输的最大数据量。相邻数据包的容量差为相邻数据包之间的数据容量差值。相邻数据包的传输排队延时差为相邻数据包在传输过程中,排在传输队列中所耗费的时间的差值。
具体地,终端对数据包传输监测数据中的数据进行识别,通过识别从数据包传输监测数据中获取网络带宽值、相邻数据包的数据容量和传输排队延时,根据获取到的数据容量确定相邻数据包之间的容量差,根据获取到的传输排队延时确定相邻数据包之间的传输排队延时差。
在一个实施例中,相邻数据包的容量差根据以下公式计算得到:
ΔL=L(i)-L(i-1)
其中,ΔL为第i个数据包与第i-1个数据包的容量差,L(i)为第i个数据包的数据容量,L(i-1)为第i-1个数据包的数据容量。
在一个实施例中,相邻数据包的传输排队延时差根据以下公式计算得到:
Figure BDA0001724159810000101
其中,Δtq为第i个数据包与第i-1个数据包的传输排队延时差,
Figure BDA0001724159810000102
为第i个数据包的传输排队延时,
Figure BDA0001724159810000103
为第i-1个数据包的传输排队延时。
S504,确定容量差和网络带宽值的比值。
具体地,终端在获取相邻数据包的容量差后,将响铃数据包的容量差除以网络贷款值,得到相邻数据包的容量差和网络带宽值的比值。
S506,根据比值和传输排队延时差确定网络抖动值。
具体地,终端得到相邻数据包的容量差和网络带宽值的比值后,将得到的比值与相邻数据包的传输排队延时差相加,确定网络抖动值。
在一个实施例中,S506具体包括:将容量差和网络带宽值的比值,与传输排队延时差求和,得到网络抖动值;其中,容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
在一个实施例中,网络抖动值根据以下公式计算得到:
Figure BDA0001724159810000104
其中,jitter表示第i个数据包与第i-1个数据包之间的网络抖动值,ΔL为第i个数据包与第i-1个数据包的容量差,Δtq为第i个数据包与第i-1个数据包的传输排队延时差。
在一个实施例中,终端在获得相邻数据包之间的容量差与网络带宽值的比值和传输排队延时差后,获取比值和传输排队延时差各自对应的权重值,根据获取到的权重值对比值和传输排队延时差进行加权和,得到网络抖动值。
在一个实施例中,终端在获得相邻数据包之间的容量差与网络带宽值的比值和传输排队延时差后,获取预设纠正参数,对比值、传输排队延时差和预设纠正参数进行求和,得到网络抖动值。
在一个实施例中,终端在获得相邻数据包之间的容量差与网络带宽值的比值和传输排队延时差后,对比值和传输排队延时差求和,得到网络抖动值。
在一个实施例中,终端在获得相邻数据包之间的容量差与网络带宽值的比值和传输排队延时差后,对比值和传输排队延时差求和,对得到的和进行滤波处理,以滤波处理之后的值作为网络抖动值。
其中,滤波处理可以采用维纳滤波、最小均方滤波和卡尔曼滤波等滤波方法。
图6为一个实施例中滤波处理效果示意图。请参照图6,横坐标为监测次数,纵坐标为单向延时。图中小圆圈代表对数据包进行监测得到的监测值,深色线表示真实值,浅色线表示滤波值。经过滤波的值更加接近真实值。通过滤波处理得到的网络抖动值,更加准确。
本实施例中,从数据包传输监测数据中,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差,直接根据网络贷款值、相邻数据包的容量差和传输排队延时差计算网络抖动值,无需同时监测接收端发送数据包的数据和发送端发送数据的数据,减少了监测数据的获取,提高了网络抖动值的计算效率。
如图7所示,在一个实施例中,终端和服务器既可以作为接收端,也可以作为发送端。数据包重传控制方法还包括确定数据包往返延时的步骤,该步骤具体还包括以下内容:
S702,向发送端发送包含关键字的数据请求包。
其中,数据请求包为接收端用于向发送端请求数据的数据包。关键字具体可以是请求序列号或者同步字。
具体地,接收端获取关键字和数据标识,对关键字和数据标识进行封装,通过封装生成数据请求包。数据请求包用于接收端向发送端请求数据的数据包。
在一个实施例中,S702之后具体还包括以下内容:当在预设时间内未接收到数据确认包,则根据数据请求包生成数据重传请求包;数据重传请求包中包括请求包请求次数;将数据重传请求包发送至发送端。
其中,数据重传请求包为接收端向发送端发送请求后,为接收到发送端返回的数据时,生成的用于请求发送端重新发送数据的数据包。
具体地,接收端在发送出数据请求包后,开始计时,当所计时长达到预设时间时,未接收到与数据请求包对应的数据确认包,则接收端根据数据请求包中的关键字,重新生成数据重传请求包,并在数据重传请求包中添加请求次数。接收端将生成的数据重传请求发送至发送端。
S704,接收发送端返回的数据确认包。
其中,数据确认包为发送端接收到数据请求包,向接收端返回的数据确认包。
具体地,发送端在接收到接收端发送的数据请求包后,向接收端返回数据确认包。接收端接收发送端返回的数据确认包。
S706,当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时。
具体地,接收端接收到发送端返回的数据确认包后,对数据确认包进行解析,通过解析提取数据确认包中的关键字,将提取到的关键字与数据请求包中的关键字进行比较。若通过比较,数据确认包中的关键字与数据请求包中的关键字一致,判定数据确认包与数据请求包对应,即数据确认包是对接收到数据请求包返回的确认数据。当判定数据确认包与数据请求包对应时,接收端分别从数据请求包中提取数据请求包的发送时间,从数据确认包中提取数据请求包的接收时间,将提取到的接收时间与发送时间相减,得到数据包往返延时。
在一个实施例种,S706具体还包括以下内容:当数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数均相同时,根据数据请求包和数据确认包确定数据包往返延时。
具体地,接收端接收到发送端返回的数据确认包后,对数据确认包进行解析,通过解析提取数据确认包中的关键字和请求次数,将提取到的关键字和请求次数与数据重传请求包中的关键字和请求次数进行比较。若数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数一致,则判定数据确认包与数据重传请求对应,接收端分别提取数据重传请求的发送时间和数据确认包的接收时间,确定提取到的发送时间和接收时间的时间差,以确定的时间差作为数据包往返延时。
本实施例中,通过在数据请求包和数据确认包中添加关键字,使得通过关键字来确定与数据请求包对应的数据确认包,提高了确定与数据请求包对应的数据确认包,从而根据数据请求包和数据请求包对应的数据确认包中的时间信息得到数据包往返延时,进一步提高了数据包往返延时的准确性。
如图8所示,在一个实施例中,数据包重传控制方法还包括确定数据包重传接收比的步骤,该步骤具体包括以下内容:
S802,统计当前统计周期内的数据重传请求的请求数量,并将数据重传请求记录到请求列表。
其中,请求列表为记录接收端所发送的请求的列表,所发送的请求包括数据请求和数据重传请求。
具体地,接收端识别数据重传请求得到识别结果,根据识别结果统计当前统计周期内的数据重传请求的请求数量,并将识别到的数据重传请求记录到请求列表中。
在一个实施例中,接收端对提取数据请求中的请求次数和请求数据标识,根据提取到的请求次数和请求数据标识,检测提取到的请求次数对应的数据请求是否为数据重传请求。请求数据为对请求数据标识对应数据进行请求的次数。若请求数据标识对应的请求次数大于1,则判定数据请求为数据重传请求。
举例说明,若提取到的请求数据标识对应的请求次数为3,则判定数据请求为重传请求。
S804,通过请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量。
具体地,接收端在接收到发送端返回的数据包后,提取数据包中的关键字,在请求列表中查询与关键字对应的数据重传请求,若查询到,则判定数据包为与查询到的数据重传请求对应的重传数据包,统计当前统计周期内接收到的重传数据包数量。
在一个实施例中,接收端在接收到发送端返回的数据包后,提取数据包中的关键字和请求次数,根据提取到的关键字和请求次数在请求列表中查询与提取到的关键字和请求次数对应的数据重传请求。若查询到,则判定数据为与查询到的数据重传请求对应的重传数据包,根据判定的重传数据包的接收时间统计当前统计周期内接收到的重传数据包数量。
在一个实施例中,接收端提取发送端返回的数据包中的请求次数,根据请求次数检测数据包是否为重传数据包。若请求次数大于1,则判定发送端返回的数据包为重传数据包。
举例说明,接收端提取到数据包中的请求次数为3,则判定数据包为重传数据包。
S806,确定重传请求数量与重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
具体地,接收端在统计到当前统计周器的重传请求数量和重传数据包数量,以重传请求数量除以重传数据包数量,得到重传请求数量与重传数据包数量的比值,以得到的比值作为当前统计周期的数据包重传接收比。
本实施例中,在统计当前统计周期内的数据重传请求的请求数量后,将数据重传请求记录到请求列表,根据请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,提高了检测重传数据包的准确率,从而提高了确定数据包重传接收比的准确率。
如图9所示,在一个实施例中,提供一种网络拥塞检测方法,该方法具体包括以下步骤:
S902,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差。
其中,网络带宽值为网络单位时间内网络传输的最大数据量。相邻数据包的容量差为相邻数据包之间的数据容量差值。相邻数据包的传输排队延时差为相邻数据包在传输过程中,排在传输队列中所耗费的时间的差值。
具体地,终端对数据包传输监测数据中的数据进行识别,通过识别从数据包传输监测数据中获取网络带宽值、相邻数据包的数据容量和传输排队延时,根据获取到的数据容量确定相邻数据包之间的容量差,根据获取到的传输排队延时确定相邻数据包之间的传输排队延时差。
S904,确定容量差和网络带宽值的比值。
具体地,终端在确定相邻数据包之间的容量差后,以确定的容量差除以网络带宽值,得到容量差和网络带宽值的比值。
举例说明,以ΔL表示相邻数据包之间的容量差,以C表示网络带宽值,则相邻数据包的容量差和网络带宽值的比值可以表示为
Figure BDA0001724159810000151
S906,根据比值和传输排队延时差确定网络抖动值。
具体地,终端在获得相邻数据包之间的容量差与网络带宽值的比值和传输排队延时差后,获取比值和传输排队延时差各自对应的权重值,根据获取到的权重值对比值和传输排队延时差进行加权和,得到网络抖动值。
在一个实施例中,终端在获得相邻数据包之间的容量差与网络带宽值的比值和传输排队延时差后,获取预设纠正参数,对比值、传输排队延时差和预设纠正参数进行求和,得到网络抖动值。
在一个实施例中,终端在获得相邻数据包之间的容量差与网络带宽值的比值和传输排队延时差后,对比值和传输排队延时差求和,得到网络抖动值。
在一个实施例中,S906具体包括:将容量差和网络带宽值的比值,与传输排队延时差求和,得到网络抖动值;其中,容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
在一个实施例中,终端在获得相邻数据包之间的容量差与网络带宽值的比值和传输排队延时差后,对比值和传输排队延时差求和,对得到的和进行滤波处理,以滤波处理之后的值作为网络抖动值。
其中,滤波处理可以采用维纳滤波、最小均方滤波和卡尔曼滤波等滤波方法。
在一个实施例中,网络抖动值可以根据以下公式计算得到:
Figure BDA0001724159810000152
ΔL=L(i)-L(i-1)
Figure BDA0001724159810000161
其中,jitter表示第i个数据包与第i-1个数据包之间的网络抖动值,ΔL为第i个数据包与第i-1个数据包的容量差,L(i)为第i个数据包的数据容量,L(i-1)为第i-1个数据包的数据容量,Δtq为第i个数据包与第i-1个数据包的传输排队延时差,
Figure BDA0001724159810000162
为第i个数据包的传输排队延时,
Figure BDA0001724159810000163
为第i-1个数据包的传输排队延时。
S908,确定网络抖动值和预设抖动阈值的大小关系。
具体地,终端获取预设抖动阈值,终端将得到的网络抖动值与预设抖动阈值进行比较,通过比较确定网络抖动值和预设抖动阈值的大小关系。
其中,大小关系包括网络抖动值大于预设抖动阈值和网络抖动值小于等于预设抖动阈值。
S910,根据大小关系确定是否存在网络拥塞。
具体地,当大小关系为网络抖动值大于预设抖动阈值时,终端判定当前出现网络拥塞;当大小关系为网络抖动值小于等于预设抖动阈值时,终端判定当前未出现网络拥塞。
本实施例中,根据网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差,直接确定网络抖动值,简化了确定网络抖动值的步骤,减少了计算网络抖动值所需要的数据,根据网络抖动值与预设抖动阈值的大小关系,确定是否存在网络拥塞,从而提高了网络拥塞的检测效率。
如图10所示,在一个实施例中,S910具体包括检测网络拥塞的步骤,该步骤具体包括以下内容:
S1002,获取数据包传输监测数据。
其中,数据包传输监测数据为数据包通过网络传输过程中监测到的数据。
具体地,监控服务器对数据传输过程进行监测,通过监测获得数据包传输监测数据。监控服务器将数据包传输检测数据发送至终端或者服务器。
在一个实施例中,终端或者服务器对数据传输过程进行监测,通过监测获得数据包传输监测数据。
S1004,根据数据包传输检测数据确定数据包往返延时和数据包重传接收比。
数据包往返延时(RTT,Round Trip Time)为从发送端发送数据请求到接收端,接收端接收到数据请求后向发送端返回数据确认包所耗费的总时间长度。
数据包重传接收比为发送重传请求(ARQ,Automatic Repeat Request)的请求数量与通过发送重传请求获得重传数据包数量的比值。
具体地,终端从数据包传输监测数据中提取当前时刻对应的网络抖动值、数据包往返延时和数据包重传接收比。
在一个实施例中,终端从数据包传输监测数据中提取发送端发送相邻数据包的发送时间间隔和接收端接收相邻数据包的接收时间间隔,确定接收时间间隔与发送时间间隔的差值,以确定的差值作为网络抖动值。终端从数据包传输监测数据中提取数据请求发送时间和根据数据请求返回的数据确认包的接收时间,确定数据请求的发送时间和数据确认包接收时间的差值,以差值作为数据包往返延时。终端从数据包传输监测数据中按照统计周期统计重传请求的请求数量和接收到的重传数据包数量,确定统计到的重传请求的请求数量和重传输数据包数量的比值,以确定的比值作为数据包重传接收比。
S1006,通过大小关系、数据包往返延时和数据包重传接收比,检测是否存在网络拥塞。
其中,拥塞判定条件为用于判定出现网络拥塞时,传输指标值需要满足的条件。拥塞判定条件可以是各传输指标值大于各自对应的预设指标阈值,也可以是各传输指标值在各自对应的预设指标值范围内。
具体地,拥塞判定条件是各传输指标值大于各自对应的预设指标阈值。终端获取各传输指标值分别对应的预设指标阈值,将每个传输指标值与相应的预设指标阈值进行比较,统计大于预设指标阈值的传输指标值数量。当统计的传输指标值数量大于等于2时,则判定出现网络拥塞,关闭数据包自动重传。
在一个实施例中,拥塞判断条件是各传输指标值在各自对应的预设指标值范围。终端获取各传输指标值分别对应的预设指标值范围,将每个传输指标值与相应的预设指标值范围进行比较,统计在预设指标值范围内的传输指标值的传输指标值数量。当统计的传输指标值数量大于等于2时,则判定出现网络拥塞,关闭数据包自动重传。
举例说明,如表2所示,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比。预设指标阈值包括预设抖动阈值、预设延时阈值和预设接收比阈值。终端将网络抖动值与预设抖动阈值比较,将数据包往返延时与预设延时阈值比较,将数据包重传接收比与预设重传接收比阈值进行比较。
当网络抖动值大于预设抖动阈值,且数据包往返延时大于预设延时阈值时,判定出现网络拥塞。
当网络抖动值大于预设抖动阈值,且数据包重传接收比大于预设重传接收比阈值时,判定出现网络拥塞。
当数据包往返延时大于预设延时阈值,且数据包重传接收比大于预设重传接收比阈值时,判定出现网络拥塞。
当网络抖动值大于预设抖动阈值,数据包往返延时大于预设阈值,且数据包重传接收比大于预设重传接收比阈值时,判定出现网络拥塞。
表2:
Figure BDA0001724159810000181
本实施例中,本实施例中,根据数据包传输监测数据确定数据包传输的多个传输指标值,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比,根据多个传输指标值确定是否出现网络拥塞,从而提高了网络拥塞的监测准确性。
如图11所示,在一个实施例中,网络拥塞检测方法还包括确定数据包往返延时的步骤,该步骤具体包括以下内容:
S1102,向发送端发送包含关键字的数据请求包。
其中,数据请求包为接收端用于向发送端请求数据的数据包。关键字具体可以是请求序列号或者同步字。
具体地,接收端获取关键字和数据标识,对关键字和数据标识进行封装,通过封装生成数据请求包。数据请求包用于接收端向发送端请求数据的数据包。
在一个实施例中,S1102之后具体还包括以下内容:当在预设时间内未接收到数据确认包,则根据数据请求包生成数据重传请求包;数据重传请求包中包括请求包请求次数;将数据重传请求包发送至发送端。
其中,数据重传请求包为接收端向发送端发送请求后,为接收到发送端返回的数据时,生成的用于请求发送端重新发送数据的数据包。
具体地,接收端在发送出数据请求包后,开始计时,当所计时长达到预设时间时,未接收到与数据请求包对应的数据确认包,则接收端根据数据请求包中的关键字,重新生成数据重传请求包,并在数据重传请求包中添加请求次数。接收端将生成的数据重传请求发送至发送端。
S1104,接收发送端返回的数据确认包。
其中,数据确认包为发送端接收到数据请求包,向接收端返回的数据确认包。
具体地,发送端在接收到接收端发送的数据请求包后,向接收端返回数据确认包。接收端接收发送端返回的数据确认包。
S1106,当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时。
具体地,接收端接收到发送端返回的数据确认包后,对数据确认包进行解析,通过解析提取数据确认包中的关键字,将提取到的关键字与数据请求包中的关键字进行比较。若通过比较,数据确认包中的关键字与数据请求包中的关键字一致,判定数据确认包与数据请求包对应,即数据确认包是对接收到数据请求包返回的确认数据。当判定数据确认包与数据请求包对应时,接收端分别从数据请求包中提取数据请求包的发送时间,从数据确认包中提取数据请求包的接收时间,将提取到的接收时间与发送时间相减,得到数据包往返延时。
在一个实施例种,S1106具体还包括以下内容:当数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数均相同时,根据数据请求包和数据确认包确定数据包往返延时。
具体地,接收端接收到发送端返回的数据确认包后,对数据确认包进行解析,通过解析提取数据确认包中的关键字和请求次数,将提取到的关键字和请求次数与数据重传请求包中的关键字和请求次数进行比较。若数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数一致,则判定数据确认包与数据重传请求对应,接收端分别提取数据重传请求的发送时间和数据确认包的接收时间,确定提取到的发送时间和接收时间的时间差,以确定的时间差作为数据包往返延时。
本实施例中,通过在数据请求包和数据确认包中添加关键字,使得通过关键字来确定与数据请求包对应的数据确认包,提高了确定与数据请求包对应的数据确认包,从而根据数据请求包和数据请求包对应的数据确认包中的时间信息得到数据包往返延时,进一步提高了数据包往返延时的准确性。
如图12所示,在一个实施例中,网络拥塞检测方法还包括确定数据包重传接收比的步骤,该步骤具体包括以下内容:
S1202,统计当前统计周期内的数据重传请求的请求数量,并将数据重传请求记录到请求列表。
其中,请求列表为记录接收端所发送的请求的列表,所发送的请求包括数据请求和数据重传请求。
具体地,接收端识别数据重传请求得到识别结果,根据识别结果统计当前统计周期内的数据重传请求的请求数量,并将识别到的数据重传请求记录到请求列表中。
在一个实施例中,接收端对提取数据请求中的请求次数和请求数据标识,根据提取到的请求次数和请求数据标识,检测提取到的请求次数对应的数据请求是否为数据重传请求。请求数据为对请求数据标识对应数据进行请求的次数。若请求数据标识对应的请求次数大于1,则判定数据请求为数据重传请求。
举例说明,若提取到的请求数据标识对应的请求次数为3,则判定数据请求为重传请求。
S1204,通过请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量。
具体地,接收端在接收到发送端返回的数据包后,提取数据包中的关键字,在请求列表中查询与关键字对应的数据重传请求,若查询到,则判定数据包为与查询到的数据重传请求对应的重传数据包,统计当前统计周期内接收到的重传数据包数量。
在一个实施例中,接收端在接收到发送端返回的数据包后,提取数据包中的关键字和请求次数,根据提取到的关键字和请求次数在请求列表中查询与提取到的关键字和请求次数对应的数据重传请求。若查询到,则判定数据为与查询到的数据重传请求对应的重传数据包,根据判定的重传数据包的接收时间统计当前统计周期内接收到的重传数据包数量。
在一个实施例中,接收端提取发送端返回的数据包中的请求次数,根据请求次数检测数据包是否为重传数据包。若请求次数大于1,则判定发送端返回的数据包为重传数据包。
举例说明,接收端提取到数据包中的请求次数为3,则判定数据包为重传数据包。
S1206,确定重传请求数量与重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
具体地,接收端在统计到当前统计周器的重传请求数量和重传数据包数量,以重传请求数量除以重传数据包数量,得到重传请求数量与重传数据包数量的比值,以得到的比值作为当前统计周期的数据包重传接收比。
本实施例中,在统计当前统计周期内的数据重传请求的请求数量后,将数据重传请求记录到请求列表,根据请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,提高了检测重传数据包的准确率,从而提高了确定数据包重传接收比的准确率。
如图13所示,在一个实施例中,提供一种数据包重传控制装置1300,该装置具体包括以下内容:检测数据获取模块1302、传输指标确定模块1304和自动重传控制模块1306。
检测数据获取模块1302,用于获取数据包传输监测数据。
传输指标确定模块1304,用于根据数据包传输监测数据确定数据包传输的多个传输指标值;传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种。
自动重传控制模块1306,用于当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
本实施例中,根据数据包传输监测数据确定数据包传输的多个传输指标值,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比,根据多个传输指标值确定是否出现网络拥塞,从而提高了网络拥塞的监测准确性。在监测到网络拥塞时,关闭数据包自动重传,减少了网络中的自动重传数据,避免了大量丢失数据包,在监测到网络传输正常时,重新开启自动重传,通过减少自动重传数据,缓解网络拥塞,从而提高了数据传输质量。
在一个实施例中,网络抖动值为数据包传输过程中,发送端发送相邻数据包的发送时间间隔与接收端接收相邻数据包的时间间隔的差值。
在一个实施例中,传输指标确定模块1304还用于从数据包传输监测数据中,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;确定容量差和网络带宽值的比值;根据比值和传输排队延时差确定网络抖动值。
在一个实施例中,传输指标确定模块1304还用于将容量差和网络带宽值的比值,与传输排队延时差求和,得到网络抖动值;其中,容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
在一个实施例中,网络抖动值根据以下公式计算得到:
Figure BDA0001724159810000231
ΔL=L(i)-L(i-1)
Figure BDA0001724159810000232
其中,jitter表示第i个数据包与第i-1个数据包之间的网络抖动值,ΔL为第i个数据包与第i-1个数据包的容量差,L(i)为第i个数据包的数据容量,L(i-1)为第i-1个数据包的数据容量,Δtq为第i个数据包与第i-1个数据包的传输排队延时差,
Figure BDA0001724159810000233
为第i个数据包的传输排队延时,
Figure BDA0001724159810000234
为第i-1个数据包的传输排队延时。
本实施例中,从数据包传输监测数据中,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差,直接根据网络贷款值、相邻数据包的容量差和传输排队延时差计算网络抖动值,无需同时监测接收端发送数据包的数据和发送端发送数据的数据,减少了监测数据的获取,提高了网络抖动值的计算效率。
在一个实施例中,传输指标确定模块1304还用于向发送端发送包含关键字的数据请求包;接收发送端返回的数据确认包;当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时。
在一个实施例中,传输指标确定模块1304还用于当在预设时间内未接收到数据确认包,则根据数据请求包生成数据重传请求包;数据重传请求包中包括请求包请求次数;将数据重传请求包发送至发送端;
在一个实施例中,传输指标确定模块1304还用于当数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数均相同时,根据数据重传请求包和数据确认包确定数据包往返延时。
本实施例中,通过在数据请求包和数据确认包中添加关键字,使得通过关键字来确定与数据请求包对应的数据确认包,提高了确定与数据请求包对应的数据确认包,从而根据数据请求包和数据请求包对应的数据确认包中的时间信息得到数据包往返延时,进一步提高了数据包往返延时的准确性。
在一个实施例中,传输指标确定模块1304还用于统计当前统计周期内的数据重传请求的请求数量,并将数据重传请求记录到请求列表;通过请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;确定重传请求数量与重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
本实施例中,在统计当前统计周期内的数据重传请求的请求数量后,将数据重传请求记录到请求列表,根据请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,提高了检测重传数据包的准确率,从而提高了确定数据包重传接收比的准确率。
如图14所示,在一个实施例中,提供一种网络拥塞检测装置1400,该装置具体包括以下步骤:数据获取模块1402、比值确定模块1404、抖动值确定模块1406、大小关系确定模块1408和网络拥塞确定模块1410。
数据获取模块1402,用于获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差。
比值确定模块1404,用于确定容量差和网络带宽值的比值。
抖动值确定模块1406,用于根据比值和传输排队延时差确定网络抖动值。
大小关系确定模块1408,用于确定网络抖动值和预设抖动阈值的大小关系。
网络拥塞确定模块1410,用于根据大小关系确定是否存在网络拥塞。
在一个实施例中,抖动值确定模块1406还用于将容量差和网络带宽值的比值,与传输排队延时差求和,得到网络抖动值;其中,容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
在一个实施例中,网络抖动值根据以下公式计算得到:
Figure BDA0001724159810000241
ΔL=L(i)-L(i-1)
Figure BDA0001724159810000251
其中,jitter表示第i个数据包与第i-1个数据包之间的网络抖动值,ΔL为第i个数据包与第i-1个数据包的容量差,L(i)为第i个数据包的数据容量,L(i-1)为第i-1个数据包的数据容量,Δtq为第i个数据包与第i-1个数据包的传输排队延时差,
Figure BDA0001724159810000252
为第i个数据包的传输排队延时,
Figure BDA0001724159810000253
为第i-1个数据包的传输排队延时。
本实施例中,根据网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差,直接确定网络抖动值,简化了确定网络抖动值的步骤,减少了计算网络抖动值所需要的数据,根据网络抖动值与预设抖动阈值的大小关系,确定是否存在网络拥塞,从而提高了网络拥塞的检测效率。
在一个实施例中,网络拥塞确定模块1410还用于获取数据包传输监测数据;根据数据包传输检测数据确定数据包往返延时和数据包重传接收比;通过大小关系、数据包往返延时和数据包重传接收比,检测是否存在网络拥塞。
本实施例中,本实施例中,根据数据包传输监测数据确定数据包传输的多个传输指标值,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比,根据多个传输指标值确定是否出现网络拥塞,从而提高了网络拥塞的监测准确性。
在一个实施例中,网络拥塞确定模块1410还用于向发送端发送包含关键字的数据请求包;接收发送端返回的数据确认包;当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时。
在一个实施例中,网络拥塞确定模块1410还用于当在预设时间内未接收到数据确认包,则根据数据请求包生成数据重传请求包;数据重传请求包中包括请求包请求次数;将数据重传请求包发送至发送端。
在一个实施例中,网络拥塞确定模块1410还用于当数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数均相同时,根据数据重传请求包和数据确认包确定数据包往返延时。
本实施例中,通过在数据请求包和数据确认包中添加关键字,使得通过关键字来确定与数据请求包对应的数据确认包,提高了确定与数据请求包对应的数据确认包,从而根据数据请求包和数据请求包对应的数据确认包中的时间信息得到数据包往返延时,进一步提高了数据包往返延时的准确性。
在一个实施例中,网络拥塞确定模块1410还用于统计当前统计周期内的数据重传请求的请求数量,并将数据重传请求记录到请求列表;通过请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;确定重传请求数量与重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
本实施例中,在统计当前统计周期内的数据重传请求的请求数量后,将数据重传请求记录到请求列表,根据请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,提高了检测重传数据包的准确率,从而提高了确定数据包重传接收比的准确率。
图15为一个实施例中计算机设备的内部结构示意图。参照图15,该计算机设备可以是图1中所示的终端120,也可以是图1中所示的服务器110,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种数据包重传控制方法或者网络拥塞检测方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种数据包重传控制方法或者网络拥塞检测方法。计算机设备的网络接口用于进行网络通信。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备或机器人的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据包重传控制装置1300可以实现为一种计算机程序的形式,计算机程序可在如图15所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据包重传控制装置的各个程序模块,比如,图13所示的检测数据获取模块1302、传输指标确定模块1304和自动重传控制模块1306。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据包重传控制方法中的步骤。
例如,图15所示的计算机设备可以通过如图13所示的数据包重传控制装置1300中的检测数据获取模块1302获取数据包传输监测数据。计算机设备可通过传输指标确定模块1304根据数据包传输监测数据确定数据包传输的多个传输指标值;传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种。计算机设备可通过自动重传控制模块1306当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
在一个实施例中,本申请提供的网络拥塞检测装置1400可以实现为一种计算机程序的形式,计算机程序可在如图15所示的计算机设备上运行。计算机设备的存储器中可存储组成该网络拥塞检测装置1400的各个程序模块,比如,图14所示的数据获取模块1402、比值确定模块1404、抖动值确定模块1406、大小关系确定模块1408和网络拥塞确定模块1410。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据包重传控制方法中的步骤。
例如,图15所示的计算机设备可以通过如图14所示的网络拥塞检测装置1400中的数据获取模块1402获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差。计算机设备可通过比值确定模块1404确定容量差和网络带宽值的比值。计算机设备可通过抖动值确定模块1406根据比值和传输排队延时差确定网络抖动值。计算机设备可通过大小关系确定模块1408确定网络抖动值和预设抖动阈值的大小关系。计算机设备可通过网络拥塞确定模块1410根据大小关系确定是否存在网络拥塞。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:获取数据包传输监测数据;根据数据包传输监测数据确定数据包传输的多个传输指标值;传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种;当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
在一个实施例中,网络抖动值为数据包传输过程中,发送端发送相邻数据包的发送时间间隔与接收端接收相邻数据包的时间间隔的差值。
在一个实施例中,网络抖动值的确定步骤包括:从数据包传输监测数据中,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;确定容量差和网络带宽值的比值;根据比值和传输排队延时差确定网络抖动值。
在一个实施例中,根据比值和传输排队延时差确定网络抖动值包括:将容量差和网络带宽值的比值,与传输排队延时差求和,得到网络抖动值;其中,容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
在一个实施例中,网络抖动值根据以下公式计算得到:
Figure BDA0001724159810000281
ΔL=L(i)-L(i-1)
Figure BDA0001724159810000282
其中,jitter表示第i个数据包与第i-1个数据包之间的网络抖动值,ΔL为第i个数据包与第i-1个数据包的容量差,L(i)为第i个数据包的数据容量,L(i-1)为第i-1个数据包的数据容量,Δtq为第i个数据包与第i-1个数据包的传输排队延时差,
Figure BDA0001724159810000283
为第i个数据包的传输排队延时,
Figure BDA0001724159810000284
为第i-1个数据包的传输排队延时。
在一个实施例中,数据包往返延时的确定步骤包括:向发送端发送包含关键字的数据请求包;接收发送端返回的数据确认包;当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时。
在一个实施例中,向发送端发送包含关键字的数据请求包之后,处理器还执行如下步骤:当在预设时间内未接收到数据确认包,则根据数据请求包生成数据重传请求包;数据重传请求包中包括请求包请求次数;将数据重传请求包发送至发送端。
在一个实施例中,当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时包括:当数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数均相同时,根据数据重传请求包和数据确认包确定数据包往返延时。
在一个实施例中,数据包重传接收比的确定步骤包括:统计当前统计周期内的数据重传请求的请求数量,并将数据重传请求记录到请求列表;通过请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;确定重传请求数量与重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
本实施例中,根据数据包传输监测数据确定数据包传输的多个传输指标值,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比,根据多个传输指标值确定是否出现网络拥塞,从而提高了网络拥塞的监测准确性。在监测到网络拥塞时,关闭数据包自动重传,减少了网络中的自动重传数据,避免了大量丢失数据包,在监测到网络传输正常时,重新开启自动重传,通过减少自动重传数据,缓解网络拥塞,从而提高了数据传输质量。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;确定容量差和网络带宽值的比值;根据比值和传输排队延时差确定网络抖动值;确定网络抖动值和预设抖动阈值的大小关系;根据大小关系确定是否存在网络拥塞。
在一个实施例中,根据比值和传输排队延时差确定网络抖动值包括:将容量差和网络带宽值的比值,与传输排队延时差求和,得到网络抖动值;其中,容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
在一个实施例中,网络抖动值根据以下公式计算得到:
Figure BDA0001724159810000301
ΔL=L(i)-L(i-1)
Figure BDA0001724159810000302
其中,jitter表示第i个数据包与第i-1个数据包之间的网络抖动值,ΔL为第i个数据包与第i-1个数据包的容量差,L(i)为第i个数据包的数据容量,L(i-1)为第i-1个数据包的数据容量,Δtq为第i个数据包与第i-1个数据包的传输排队延时差,
Figure BDA0001724159810000303
为第i个数据包的传输排队延时,
Figure BDA0001724159810000304
为第i-1个数据包的传输排队延时。
在一个实施例中,根据大小关系确定是否存在网络拥塞包括:获取数据包传输监测数据;根据数据包传输检测数据确定数据包往返延时和数据包重传接收比;通过大小关系、数据包往返延时和数据包重传接收比,检测是否存在网络拥塞。
在一个实施例中,数据包往返延时的确定步骤包括:向发送端发送包含关键字的数据请求包;接收发送端返回的数据确认包;当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时。
在一个实施例中,向发送端发送包含关键字的数据请求包之后处理器还执行如下步骤:当在预设时间内未接收到数据确认包,则根据数据请求包生成数据重传请求包;数据重传请求包中包括请求包请求次数;将数据重传请求包发送至发送端。
在一个实施例中,当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时包括:当数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数均相同时,根据数据重传请求包和数据确认包确定数据包往返延时。
在一个实施例中,数据包重传接收比的确定步骤包括:统计当前统计周期内的数据重传请求的请求数量,并将数据重传请求记录到请求列表;通过请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;确定重传请求数量与重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
本实施例中,根据网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差,直接确定网络抖动值,简化了确定网络抖动值的步骤,减少了计算网络抖动值所需要的数据,根据网络抖动值与预设抖动阈值的大小关系,确定是否存在网络拥塞,从而提高了网络拥塞的检测效率。
一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:获取数据包传输监测数据;根据数据包传输监测数据确定数据包传输的多个传输指标值;传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比中至少两种;当至少两个传输指标值满足相应的拥塞判定条件时,关闭数据包自动重传;当至多一个传输指标值满足相应的拥塞判定条件时,开启数据包自动重传。
在一个实施例中,网络抖动值为数据包传输过程中,发送端发送相邻数据包的发送时间间隔与接收端接收相邻数据包的时间间隔的差值。
在一个实施例中,网络抖动值的确定步骤包括:从数据包传输监测数据中,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;确定容量差和网络带宽值的比值;根据比值和传输排队延时差确定网络抖动值。
在一个实施例中,根据比值和传输排队延时差确定网络抖动值包括:将容量差和网络带宽值的比值,与传输排队延时差求和,得到网络抖动值;其中,容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
在一个实施例中,网络抖动值根据以下公式计算得到:
Figure BDA0001724159810000311
ΔL=L(i)-L(i-1)
Figure BDA0001724159810000321
其中,jitter表示第i个数据包与第i-1个数据包之间的网络抖动值,ΔL为第i个数据包与第i-1个数据包的容量差,L(i)为第i个数据包的数据容量,L(i-1)为第i-1个数据包的数据容量,Δtq为第i个数据包与第i-1个数据包的传输排队延时差,
Figure BDA0001724159810000322
为第i个数据包的传输排队延时,
Figure BDA0001724159810000323
为第i-1个数据包的传输排队延时。
在一个实施例中,数据包往返延时的确定步骤包括:向发送端发送包含关键字的数据请求包;接收发送端返回的数据确认包;当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时。
在一个实施例中,向发送端发送包含关键字的数据请求包之后,处理器还执行如下步骤:当在预设时间内未接收到数据确认包,则根据数据请求包生成数据重传请求包;数据重传请求包中包括请求包请求次数;将数据重传请求包发送至发送端。
在一个实施例中,当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时包括:当数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数均相同时,根据数据重传请求包和数据确认包确定数据包往返延时。
在一个实施例中,数据包重传接收比的确定步骤包括:统计当前统计周期内的数据重传请求的请求数量,并将数据重传请求记录到请求列表;通过请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;确定重传请求数量与重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
本实施例中,根据数据包传输监测数据确定数据包传输的多个传输指标值,传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比,根据多个传输指标值确定是否出现网络拥塞,从而提高了网络拥塞的监测准确性。在监测到网络拥塞时,关闭数据包自动重传,减少了网络中的自动重传数据,避免了大量丢失数据包,在监测到网络传输正常时,重新开启自动重传,通过减少自动重传数据,缓解网络拥塞,从而提高了数据传输质量。
一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;确定容量差和网络带宽值的比值;根据比值和传输排队延时差确定网络抖动值;确定网络抖动值和预设抖动阈值的大小关系;根据大小关系确定是否存在网络拥塞。
在一个实施例中,根据比值和传输排队延时差确定网络抖动值包括:将容量差和网络带宽值的比值,与传输排队延时差求和,得到网络抖动值;其中,容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
在一个实施例中,网络抖动值根据以下公式计算得到:
Figure BDA0001724159810000331
ΔL=L(i)-L(i-1)
Figure BDA0001724159810000332
其中,jitter表示第i个数据包与第i-1个数据包之间的网络抖动值,ΔL为第i个数据包与第i-1个数据包的容量差,L(i)为第i个数据包的数据容量,L(i-1)为第i-1个数据包的数据容量,Δtq为第i个数据包与第i-1个数据包的传输排队延时差,
Figure BDA0001724159810000333
为第i个数据包的传输排队延时,
Figure BDA0001724159810000334
为第i-1个数据包的传输排队延时。
在一个实施例中,根据大小关系确定是否存在网络拥塞包括:获取数据包传输监测数据;根据数据包传输检测数据确定数据包往返延时和数据包重传接收比;通过大小关系、数据包往返延时和数据包重传接收比,检测是否存在网络拥塞。
在一个实施例中,数据包往返延时的确定步骤包括:向发送端发送包含关键字的数据请求包;接收发送端返回的数据确认包;当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时。
在一个实施例中,向发送端发送包含关键字的数据请求包之后处理器还执行如下步骤:当在预设时间内未接收到数据确认包,则根据数据请求包生成数据重传请求包;数据重传请求包中包括请求包请求次数;将数据重传请求包发送至发送端。
在一个实施例中,当数据确认包中的关键字与数据请求包中的关键字相同时,根据数据请求包和数据确认包确定数据包往返延时包括:当数据确认包中的关键字和请求次数,与数据重传请求包中的关键字和请求次数均相同时,根据数据重传请求包和数据确认包确定数据包往返延时。
在一个实施例中,数据包重传接收比的确定步骤包括:统计当前统计周期内的数据重传请求的请求数量,并将数据重传请求记录到请求列表;通过请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;确定重传请求数量与重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
本实施例中,根据网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差,直接确定网络抖动值,简化了确定网络抖动值的步骤,减少了计算网络抖动值所需要的数据,根据网络抖动值与预设抖动阈值的大小关系,确定是否存在网络拥塞,从而提高了网络拥塞的检测效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (28)

1.一种数据包重传控制方法,所述方法包括:
获取数据包传输监测数据;
根据所述数据包传输监测数据确定数据包传输的多个传输指标值;所述传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比;所述数据包往返延时为从发送端发送数据请求到接收端,所述接收端接收到所述数据请求后向所述发送端返回数据确认包所耗费的总时间长度;
确定所述网络抖动值和预设抖动阈值的大小关系;
当所述大小关系、所述数据包往返延时和所述数据包重传接收比中的至少两个满足相应的拥塞判定条件时,判定出现网络拥塞,关闭数据包自动重传;当所述大小关系、所述数据包往返延时和所述数据包重传接收比中的至多一个满足相应的拥塞判定条件时,判定未出现网络拥塞,开启数据包自动重传,所述拥塞判定条件是所述大小关系、所述数据包往返延时或所述数据包重传接收比大于对应的预设指标阈值。
2.根据权利要求1所述的方法,其特征在于,所述网络抖动值为数据包传输过程中,发送端发送相邻数据包的发送时间间隔与接收端接收所述相邻数据包的时间间隔的差值。
3.根据权利要求1所述的方法,其特征在于,所述网络抖动值的确定步骤包括:
从所述数据包传输监测数据中,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;
确定所述容量差和所述网络带宽值的比值;
根据所述比值和所述传输排队延时差确定网络抖动值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述比值和所述传输排队延时差确定网络抖动值包括:
将所述容量差和所述网络带宽值的比值,与所述传输排队延时差求和,得到网络抖动值;
其中,所述容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
5.根据权利要求1所述的方法,其特征在于,所述数据包往返延时的确定步骤包括:
向发送端发送包含关键字的数据请求包;
接收所述发送端返回的数据确认包;
当所述数据确认包中的关键字与所述数据请求包中的关键字相同时,根据所述数据请求包和所述数据确认包确定数据包往返延时。
6.根据权利要求5所述的方法,其特征在于,所述向发送端发送包含关键字的数据请求包之后,还包括:
当在预设时间内未接收到数据确认包,则根据所述数据请求包生成数据重传请求包;所述数据重传请求包中包括请求包请求次数;
将所述数据重传请求包发送至所述发送端;
所述当所述数据确认包中的关键字与所述数据请求包中的关键字相同时,根据所述数据请求包和所述数据确认包确定数据包往返延时包括:
当所述数据确认包中的关键字和请求次数,与所述数据重传请求包中的关键字和请求次数均相同时,根据所述数据重传请求包和所述数据确认包确定数据包往返延时。
7.根据权利要求1所述的方法,其特征在于,所述数据包重传接收比的确定步骤包括:
统计当前统计周期内的数据重传请求的请求数量,并将所述数据重传请求记录到请求列表;
通过所述请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;
确定所述请求数量与所述重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
8.一种网络拥塞检测方法,所述方法包括:
获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;
确定所述容量差和所述网络带宽值的比值;
根据所述比值和所述传输排队延时差确定网络抖动值;
确定所述网络抖动值和预设抖动阈值的大小关系;
获取数据包传输监测数据;
根据所述数据包传输检测数据确定数据包往返延时和数据包重传接收比;所述数据包往返延时为从发送端发送数据请求到接收端,所述接收端接收到所述数据请求后向所述发送端返回数据确认包所耗费的总时间长度;
当所述大小关系、所述数据包往返延时和所述数据包重传接收比中的至少两个满足相应的拥塞判定条件时,判定出现网络拥塞;当所述大小关系、所述数据包往返延时和所述数据包重传接收比中的至多一个满足相应的拥塞判定条件时,判定未出现网络拥塞,所述拥塞判定条件是所述大小关系、所述数据包往返延时或所述数据包重传接收比大于对应的预设指标阈值。
9.根据权利要求8所述的方法,其特征在于,所述根据所述比值和所述传输排队延时差确定网络抖动值包括:
将所述容量差和所述网络带宽值的比值,与所述传输排队延时差求和,得到网络抖动值;
其中,所述容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
10.根据权利要求8所述的方法,其特征在于,所述相邻数据包的容量差为相邻数据包之间的数据容量差值。
11.根据权利要求10所述的方法,其特征在于,所述数据包往返延时的确定步骤包括:
向发送端发送包含关键字的数据请求包;
接收所述发送端返回的数据确认包;
当所述数据确认包中的关键字与所述数据请求包中的关键字相同时,根据所述数据请求包和所述数据确认包确定数据包往返延时。
12.根据权利要求11所述的方法,其特征在于,所述向发送端发送包含关键字的数据请求包之后,还包括:
当在预设时间内未接收到数据确认包,则根据所述数据请求包生成数据重传请求包;所述数据重传请求包中包括请求包请求次数;
将所述数据重传请求包发送至所述发送端;
所述当所述数据确认包中的关键字与所述数据请求包中的关键字相同时,根据所述数据请求包和所述数据确认包确定数据包往返延时包括:
当所述数据确认包中的关键字和请求次数,与所述数据重传请求包中的关键字和请求次数均相同时,根据所述数据重传请求包和所述数据确认包确定数据包往返延时。
13.根据权利要求10所述的方法,其特征在于,所述数据包重传接收比的确定步骤包括:
统计当前统计周期内的数据重传请求的请求数量,并将所述数据重传请求记录到请求列表;
通过所述请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;
确定所述请求数量与所述重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
14.一种数据包重传控制装置,其特征在于,所述装置包括:
检测数据获取模块,用于获取数据包传输监测数据;
传输指标确定模块,用于根据所述数据包传输监测数据确定数据包传输的多个传输指标值;所述传输指标值包括网络抖动值、数据包往返延时和数据包重传接收比;所述数据包往返延时为从发送端发送数据请求到接收端,所述接收端接收到所述数据请求后向所述发送端返回数据确认包所耗费的总时间长度;确定所述网络抖动值和预设抖动阈值的大小关系;
自动重传控制模块,用于当所述大小关系、所述数据包往返延时和所述数据包重传接收比中的至少两个满足相应的拥塞判定条件时,判定出现网络拥塞,关闭数据包自动重传;当所述大小关系、所述数据包往返延时和所述数据包重传接收比中的至多一个满足相应的拥塞判定条件时,判定未出现网络拥塞,开启数据包自动重传,所述拥塞判定条件是所述大小关系、所述数据包往返延时或所述数据包重传接收比大于对应的预设指标阈值。
15.根据权利要求14所述的装置,其特征在于,所述网络抖动值为数据包传输过程中,发送端发送相邻数据包的发送时间间隔与接收端接收所述相邻数据包的时间间隔的差值。
16.根据权利要求14所述的装置,其特征在于,所述传输指标确定模块还用于:
从所述数据包传输监测数据中,获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;
确定所述容量差和所述网络带宽值的比值;
根据所述比值和所述传输排队延时差确定网络抖动值。
17.根据权利要求16所述的装置,其特征在于,所述传输指标确定模块还用于:
将所述容量差和所述网络带宽值的比值,与所述传输排队延时差求和,得到网络抖动值;
其中,所述容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
18.根据权利要求14所述的装置,其特征在于,所述传输指标确定模块还用于:
向发送端发送包含关键字的数据请求包;
接收所述发送端返回的数据确认包;
当所述数据确认包中的关键字与所述数据请求包中的关键字相同时,根据所述数据请求包和所述数据确认包确定数据包往返延时。
19.根据权利要求18所述的装置,其特征在于,所述传输指标确定模块还用于:
当在预设时间内未接收到数据确认包,则根据所述数据请求包生成数据重传请求包;所述数据重传请求包中包括请求包请求次数;
将所述数据重传请求包发送至所述发送端;
所述传输指标确定模块还用于:
当所述数据确认包中的关键字和请求次数,与所述数据重传请求包中的关键字和请求次数均相同时,根据所述数据重传请求包和所述数据确认包确定数据包往返延时。
20.根据权利要求14所述的装置,其特征在于,所述传输指标确定模块还用于:
统计当前统计周期内的数据重传请求的请求数量,并将所述数据重传请求记录到请求列表;
通过所述请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;
确定所述请求数量与所述重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
21.一种网络拥塞检测装置,其特征在于,所述装置包括:
数据获取模块,用于获取网络带宽值以及数据包传输时相邻数据包的容量差和传输排队延时差;
比值确定模块,用于确定所述容量差和所述网络带宽值的比值;
抖动值确定模块,用于根据所述比值和所述传输排队延时差确定网络抖动值;
大小关系确定模块,用于确定所述网络抖动值和预设抖动阈值的大小关系;
网络拥塞确定模块,用于
获取数据包传输监测数据;根据所述数据包传输检测数据确定数据包往返延时和数据包重传接收比;所述数据包往返延时为从发送端发送数据请求到接收端,所述接收端接收到所述数据请求后向所述发送端返回数据确认包所耗费的总时间长度;当所述大小关系、所述数据包往返延时和所述数据包重传接收比中的至少两个满足相应的拥塞判定条件时,判定出现网络拥塞;当所述大小关系、所述数据包往返延时和所述数据包重传接收比中的至多一个满足相应的拥塞判定条件时,判定未出现网络拥塞,所述拥塞判定条件是所述大小关系、所述数据包往返延时或所述数据包重传接收比大于对应的预设指标阈值。
22.根据权利要求21所述的装置,其特征在于,所述抖动值确定模块还用于:
将所述容量差和所述网络带宽值的比值,与所述传输排队延时差求和,得到网络抖动值;
其中,所述容量差为数据包传输时相邻数据包的数据容量之间的差值;所述传输排队延时差为数据包传输时相邻数据包的传输排队延时之间的差值。
23.根据权利要求21所述的装置,其特征在于,所述相邻数据包的容量差为相邻数据包之间的数据容量差值。
24.根据权利要求23所述的装置,其特征在于,所述网络拥塞确定模块还用于:
向发送端发送包含关键字的数据请求包;
接收所述发送端返回的数据确认包;
当所述数据确认包中的关键字与所述数据请求包中的关键字相同时,根据所述数据请求包和所述数据确认包确定数据包往返延时。
25.根据权利要求24所述的装置,其特征在于,所述网络拥塞确定模块还用于:
当在预设时间内未接收到数据确认包,则根据所述数据请求包生成数据重传请求包;所述数据重传请求包中包括请求包请求次数;
将所述数据重传请求包发送至所述发送端;
所述网络拥塞确定模块还用于:
当所述数据确认包中的关键字和请求次数,与所述数据重传请求包中的关键字和请求次数均相同时,根据所述数据重传请求包和所述数据确认包确定数据包往返延时。
26.根据权利要求23所述的装置,其特征在于,所述网络拥塞确定模块还用于:
统计当前统计周期内的数据重传请求的请求数量,并将所述数据重传请求记录到请求列表;
通过所述请求列表中的数据重传请求,检测发送端返回的数据包是否为重传数据包,并统计重传数据包数量;
确定所述请求数量与所述重传数据包数量的比值,得到当前统计周期的数据包重传接收比。
27.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至13中任一项所述方法的步骤。
28.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至13中任一项所述方法的步骤。
CN201810745192.7A 2018-07-09 2018-07-09 数据包重传控制、网络拥塞检测方法和装置 Active CN110417669B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810745192.7A CN110417669B (zh) 2018-07-09 2018-07-09 数据包重传控制、网络拥塞检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810745192.7A CN110417669B (zh) 2018-07-09 2018-07-09 数据包重传控制、网络拥塞检测方法和装置

Publications (2)

Publication Number Publication Date
CN110417669A CN110417669A (zh) 2019-11-05
CN110417669B true CN110417669B (zh) 2022-08-26

Family

ID=68358009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810745192.7A Active CN110417669B (zh) 2018-07-09 2018-07-09 数据包重传控制、网络拥塞检测方法和装置

Country Status (1)

Country Link
CN (1) CN110417669B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112055174B (zh) * 2020-08-27 2022-07-05 深圳英飞拓智能技术有限公司 一种视频传输方法、装置及计算机可读存储介质
CN113242113A (zh) * 2021-04-30 2021-08-10 北京汇钧科技有限公司 数据传输控制方法、装置、电子设备及存储介质
CN115378832B (zh) * 2022-07-29 2024-03-26 北京奇艺世纪科技有限公司 拥塞检测方法、装置及流媒体传输系统、电子设备和介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252425A (zh) * 2008-04-09 2008-08-27 杭州华三通信技术有限公司 一种自动适应网络的丢包纠错方法和系统
CN101836390A (zh) * 2007-10-23 2010-09-15 诺基亚西门子通信公司 用于数据处理的方法和设备及包括这种设备的通信系统
CN106102094A (zh) * 2016-07-06 2016-11-09 广州海格通信集团股份有限公司 一种基于sdn网络的tcp拥塞控制方法
CN106789702A (zh) * 2016-12-30 2017-05-31 广州华多网络科技有限公司 控制tcp传输性能的方法及装置
CN107864084A (zh) * 2016-09-22 2018-03-30 腾讯科技(深圳)有限公司 数据包的传输方法和装置
CN108075988A (zh) * 2017-11-16 2018-05-25 华为技术有限公司 数据传输方法和装置
CN108234224A (zh) * 2016-12-13 2018-06-29 腾讯科技(深圳)有限公司 可用带宽的探测方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102102254B1 (ko) * 2014-01-15 2020-04-20 삼성전자주식회사 통신 시스템에서 무선 네트워크의 혼잡 검출 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101836390A (zh) * 2007-10-23 2010-09-15 诺基亚西门子通信公司 用于数据处理的方法和设备及包括这种设备的通信系统
CN101252425A (zh) * 2008-04-09 2008-08-27 杭州华三通信技术有限公司 一种自动适应网络的丢包纠错方法和系统
CN106102094A (zh) * 2016-07-06 2016-11-09 广州海格通信集团股份有限公司 一种基于sdn网络的tcp拥塞控制方法
CN107864084A (zh) * 2016-09-22 2018-03-30 腾讯科技(深圳)有限公司 数据包的传输方法和装置
CN108234224A (zh) * 2016-12-13 2018-06-29 腾讯科技(深圳)有限公司 可用带宽的探测方法及装置
CN106789702A (zh) * 2016-12-30 2017-05-31 广州华多网络科技有限公司 控制tcp传输性能的方法及装置
CN108075988A (zh) * 2017-11-16 2018-05-25 华为技术有限公司 数据传输方法和装置

Also Published As

Publication number Publication date
CN110417669A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110417669B (zh) 数据包重传控制、网络拥塞检测方法和装置
US20060045023A1 (en) Method for estimating available bandwidth of network
US8593947B2 (en) Congestion detection method, congestion detection apparatus, and recording medium storing congestion detection program recorded thereon
CN108924205B (zh) 数据传输方法、装置、电子设备、网闸适配器
CN106612284B (zh) 一种流数据的传输方法和装置
CN104967502A (zh) 数据发送方法和装置、数据接收方法和装置
CN107872396B (zh) 具有超时控制的通信方法、处理设备、终端设备和服务器
EP2819379A1 (en) Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal
US20130028096A1 (en) Method for performing radio link control with round trip time awareness, and associated apparatus
US20140119214A1 (en) Transmitting and receiving side terminals and method of monitoring network using the same
CN102469026A (zh) 通信设备、通信系统、程序和通信方法
CN109525376B (zh) 快速重传方法、装置及终端设备
US10681400B2 (en) Method and device for transmitting video
CN112737940B (zh) 一种数据传输的方法和装置
US8224984B2 (en) Method for quality analysis during transmission of real-time critical data in packet-oriented network
RU2682929C1 (ru) Устройство связи, система вычисления доступной полосы пропускания, способ вычисления доступной полосы пропускания и программа
CN113364698B (zh) 带宽估计方法、系统、电子设备与存储介质
CN103312540A (zh) 用户业务需求参数确定方法和装置
CN115208808B (zh) 服务质量测试方法、装置以及芯片设备、存储介质
CN114143271B (zh) 一种基于拥塞检测的带宽估算方法及装置
EP2721786A1 (en) Evaluation of overall performance of interactive application service
CN114401224B (zh) 一种数据限流方法、装置、电子设备以及存储介质
CN112351049B (zh) 数据传输方法、装置、设备及存储介质
CN112230880B (zh) 一种数据传输控制方法、装置、fpga及介质
CN115801639A (zh) 一种带宽探测方法、装置、电子设备及存储介质

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