CN113098782B - 一种网络拥塞的控制方法和计算机设备 - Google Patents
一种网络拥塞的控制方法和计算机设备 Download PDFInfo
- Publication number
- CN113098782B CN113098782B CN202110303799.1A CN202110303799A CN113098782B CN 113098782 B CN113098782 B CN 113098782B CN 202110303799 A CN202110303799 A CN 202110303799A CN 113098782 B CN113098782 B CN 113098782B
- Authority
- CN
- China
- Prior art keywords
- detection
- network
- congestion
- window value
- target operation
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000001514 detection method Methods 0.000 claims abstract description 225
- 230000004044 response Effects 0.000 claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 10
- 238000011176 pooling Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009467 reduction Effects 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 7
- 230000006403 short-term memory Effects 0.000 claims 1
- 230000008859 change Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 230000003247 decreasing effect Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 102220465380 NF-kappa-B inhibitor beta_S23A_mutation Human genes 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 102220070930 rs794728599 Human genes 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- 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/12—Avoiding congestion; Recovering from congestion
-
- 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/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
Abstract
本发明提供了一种网络拥塞的控制方法和计算机设备,网络拥塞的控制方法包括:每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率;将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度;获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。本发明通过网络模型实时检测网络拥塞状态,针对检测得到的网络拥塞情况,采取相应措施,这样,在网络严重拥塞出现前能够对发送速率进行控制,避免产生严重的网络拥塞。
Description
技术领域
本申请涉及网络拥塞控制领域,尤其是涉及一种网络拥塞的控制方法和计算机设备。
背景技术
网络拥塞是指在分组交换网络中传送分组的数目太多时,由于存储转发节点的资源有限而造成网络传输性能下降的情况。当网络发生拥塞时,一般会出现数据丢失、时延增加和吞吐量下降。
目前,网络拥塞控制方法都是在检测到拥塞发生后才执行相应的操作,当检测到网络发生拥塞时,网络已经严重拥塞,对网络传输的影响较大。
因此,现有技术有待改进。
发明内容
本发明要解决的技术问题是,避免产生严重的网络拥塞;提供了一种网络拥塞的控制方法和计算机设备,通过网络模型实时检测网络拥塞情况,针对检测得到的网络拥塞情况,采取相应措施,这样,在网络严重拥塞出现前能够对拥塞窗口值进行控制,避免产生严重的网络拥塞。
第一方面,本发明实施例提供了一种网络拥塞的控制方法,包括:
每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率;
将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度;
获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。
作为进一步的改进技术方案,所述网络模型包括特征提取子模型和第一检测子模型;所述将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定检测标识,具体包括:
将所述拥塞窗口值、所述响应时长和所述发送速率输入所述特征提取子模块,以得到特征向量;
将所述特征向量输入所述第一检测子模型,通过所述第一检测子模型输出检测概率向量,其中,所述检测概率向量包括多个检测概率;
将所述多个检测概率中的最高检测概率作为第一检测标识。
作为进一步的改进技术方案,所述第一目标操作是预设的多个操作中的一个操作,所述多个操作包括若干拥塞程度调整操作;所述获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作,具体包括:
在所述若干拥塞程度调整操作中,选取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。
作为进一步的改进技术方案,所述多个检测概率包括:第一检测概率、第二检测概率、第三检测概率、第四检测概率和第五检测概率,所述若干拥塞程度调整操作包括:指数增大拥塞窗口值操作、线性增大拥塞窗口值操作、保持拥塞窗口值操作、线性减小拥塞窗口值操作和指数减小拥塞窗口值操作;所述在所述若干拥塞程度调整操作中,选取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作,具体包括:
当所述第一检测标识为第一检测概率时,将所述指数增大拥塞窗口值操作作为第一目标操作,并执行指数增大拥塞窗口值;
当所述第一检测标识为第二检测概率时,将所述线性增大拥塞窗口值操作作为第二目标操作,并执行线性增大拥塞窗口值;
当所述第一检测标识为第三检测概率时,将所述保持拥塞窗口值操作作为第一目标操作,并保持拥塞窗口值不变;
当所述第一检测标识为第四检测概率时,将所述线性减少拥塞窗口值操作作为第一目标操作,并执行线性减少拥塞窗口值;
当所述第一检测标识为第五检测概率时,将所述指数减少拥塞窗口值操作作为第一目标操作,并执行指数减少拥塞窗口值。
作为进一步的改进技术方案,所述网络模型还包括:第二检测子模型;所述将所述拥塞窗口值、所述响应时长和所述发送速率输入所述特征提取子模块,以得到特征向量之后,还包括:
当检测到丢包时,将所述特征向量输入所述第二检测子模型,通过所述第二检测子模型输出第二检测标识,其中,所述第二检测标识用于反映丢包情况;
获取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作。
作为进一步的改进技术方案,所述第二目标操作是预设的多个操作中的一个操作,所述多个操作包括若干丢包调整操作;所述获取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作,还包括:
在所述若干丢包调整操作中,选取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作。
作为进一步的改进技术方案,所述若干丢包调整操作包括:降低发送速率操作和重发数据包操作;所述在所述若干丢包调整操作中,选取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作,具体包括:
当所述第二检测标识为1时,将所述降低发送速率操作作为第二目标操作,并执行降低发送速率的操作;
当所述第二检测标识为0时,将所述重发数据包操作作为第二目标操作,并执行降低发送速率的操作。
作为进一步的改进技术方案,在所述网络开始发送数据包时,执行慢开始操作。
与现有技术相比,本发明实施例具有以下优点:
根据本发明实施方式提供的方法,每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率;将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度;获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。本发明通过网络模型实时检测网络拥塞状态,针对检测得到的网络拥塞情况,采取相应措施,这样,在网络严重拥塞出现前能够对拥塞窗口值进行控制,避免产生严重的网络拥塞。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种网络拥塞的控制方法的流程示意图;
图2为本发明实施例中,具体实施时,一种网络拥塞的控制方法的流程示意图;
图3为现有技术中多种传统TCP拥塞算法的表现的示意图;
图4为现有技术中在不同丢包原因下网络情况随时间的变化的示意图;
图5为本发明实施例与其他算法在各个网络指标的对比示意图;
图6为本发明实施例中一种计算机设备的内部结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现,网络拥塞是指在分组交换网络中传送分组的数目太多时,由于存储转发节点的资源有限而造成网络传输性能下降的情况。当网络发生拥塞时,一般会出现数据丢失、时延增加和吞吐量下降。
目前,网络拥塞控制方法都是在检测到拥塞发生后才执行相应的操作,当检测到网络发生拥塞时,网络已经严重拥塞,对网络传输的影响较大。
为了解决上述问题,在本发明实施例中,每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率;将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度;获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。本发明通过网络模型实时检测网络拥塞状态,针对检测得到的网络拥塞情况,采取相应措施,这样,在网络严重拥塞出现前能够对拥塞窗口值进行控制,避免产生严重的网络拥塞。
本申请提供的一种网络拥塞的控制方法可以应用于电子设备中,其中,所述电子设备可以以各种形式来实现,例如,PC机、服务器、手机、平板电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)等。另外,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述电子设备至少包括处理器和存储介质。
下面结合附图,详细说明本发明的各种非限制性实施方式。
参见图1,示出了本发明实施例中的一种网络拥塞的控制方法。在本实施例中,所述网络拥塞的控制方法例如可以包括以下步骤:
S1、每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率。
在本发明实施例中,可以设定网络结点之间的链路带宽为80~120Mbs,链路延迟为1~5ms,瓶颈链路带宽为1~5Mbs,瓶颈链路的延迟为10~20ms,因链路故障丢包的概率为0.1。
在本发明实施例中,在所述网络开始发送数据包时,执行慢开始操作。所述慢开始操作是指:在开始发送数据包时不要发送大量数据,从小到大增加拥塞窗口的大小;可以在开始发送数据包时,将发送窗口和拥塞窗口的初始值设为1,等接收方确认数据之后,增加拥塞窗口值和发送窗口值。
在本发明实施例中,发送方给接收方发送数据报文段后,接收方给发送方返回相应的确认报文段,是一个传输轮次。拥塞窗口值CWND与传输轮次成指数关系;如公式(1)所示。
CWNDt=2t (1)
其中,t为数据传输轮次,CWNDt为第t轮次传输时的拥塞窗口值。
在网络正常传输数据时,按照传输轮次设定拥塞窗口值,当检测到网络发生拥塞,则对拥塞窗口值进行修改。
在本发明实施例中,所述预设时长可以设定为10ms~100ms,例如,预设时长为50ms,也就是说,每间隔50ms获取网络的拥塞窗口值。将执行“获取网络的拥塞窗口值”的时刻记为获取时刻,获取得到的拥塞窗口值是所述获取时刻对应的拥塞窗口值,也就是说,实时获取拥塞窗口值。网络最近一次发送数据包,是指:距离所述获取时刻最近一次发送数据包。每次获取得到的所述拥塞窗口值、所述响应时长和所述发送速率都可能不同。
S2、将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度。
在本发明实施中,将所述响应时长记为RRT,将所述发送速率记为Send。将所述拥塞窗口值、所述响应时长和所述发送速率作为网络模型的输入项X,其中X=[RTT,CWND,Send]。将输入项X输入网络模型,通过网络模型提取所述输入项的特征,以得到输入项对应的特征向量,基于所述特征向量确定所述输入项对应的分类结果,以得到第一检测标识。
具体的,步骤S2包括:
S21、将所述拥塞窗口值、所述响应时长和所述发送速率输入所述特征提取子模块,以得到特征向量。
在本发明实施例中,所述特征提取子模块包括:卷积层、池化层、flatten层、长短期记忆(Long short-term memory,LSTM)网络和全连接层。将所述拥塞窗口值、所述响应时长和所述发送速率输入所述特征提取子模块,以得到特征向量的过程包括:
S211、将输入项X输入卷积层CNN_layer中,基于卷积层的参数θCNN_layer和输入项X,得到卷积层的输出结果,此过程可表示为:layerCNN(X;θCNN_layer)中,将卷积层的输出结果记为outputCNN_layer。
S212、为了避免网络模型中权值的大量运算,减小网络结构规模,将outputCNN_layer输入池化层pooling层,基于池化层的参数θCNN_pooling和卷积层的输出结果outputCNN_layer得到池化后的结果,此过程可以表示为:poolingCNN(outputCNN_layer;θCNN_pooling),将池化后的结果记为outputCNN_pooling。
S213、outputCNN_pooling是一个二维矩阵,需要将其变换成一维向量,因此将outputCNN_pooling输入flatten层得到outputflatten。
S214、将outputflatten传入LSTM网络,基于LSTM网络的参数ΘLSTM和outputflatten得到LSTM网络的输出结果,此过程可以表示为:LSTM(outputflatten;ΘLSTM),将LSTM网络的输出结果记为outputLSTM。
S215、将outputLSTM输入全连接层,基于全连接层的参数Θfc和outputLSTM得到全连接层的输出结果,此过程可以表示为fc(utputLSTM;Θfc),将全连接层的输出结果记为outputfc,outputfc即特征向量。
在一种实现方式中,所述网络模型包括:所述特征提取子模块和第一检测子模型,所述第一检测子模型基于所述特征向量确定检测概率向量,进而基于检测概率向量得到第一检测标识,所述第一检测标识用于反映网络拥塞程度。具体的,在步骤S1之后,还包括:
S22A、将所述特征向量输入所述第一检测子模型,通过所述第一检测子模型输出检测概率向量。
在本发明实施例中,所述第一检测子模型配置有激活函数,所述激活函数如公式(2)所示。
其中,j表示类别,Θ是激活函数的参数,x是特征向量(outputfc),softmax(Y=j|x;Θ)表示特征向量x属于第j类别的概率,xT是x的转置,Θj是第j类别对应的激活函数的参数值,Θk是第k类别对应的激活函数的参数值,k=,1,2,…,K,表示有K个类别,K个类别中包括第j类别。
在本发明实施例中,所述检测概率向量包括多个检测概率,在理论上,检测概率向量可以包括K个检测概率。在一种实现方式中,所述多个检测概率包括:第一检测概率、第二检测概率、第三检测概率、第四检测概率和第五检测概率。其中,所述第一检测概率位于所述检测概率向量的第一位,所述第二检测概率位于所述检测概率向量的第二位,所述第三检测概率位于所述检测概率向量的第三位,所述第四检测概率位于所述检测概率向量的第四位,所述第五检测概率位于所述检测概率向量的第五位。
在本发明实施例中,将检测概率记为Yj,Yj=softmax(Y=j|X;Θ),当所述多个检测概率包括:第一检测概率、第二检测概率、第三检测概率、第四检测概率和第五检测概率时,j=1,2,3,4,5,则通过第一检测子模型输出的检测概率向量可以表示为Y=[Y1,Y2,Y3,Y4,Y5],Y1为第一检测概率,表示x属于第一类别的概率,Y2为第二检测概率,表示x属于第二类别的概率,Y3为第三检测概率,表示x属于第三类别的概率,Y4为第四检测概率,表示x属于第四类别的概率,Y5为第五检测概率,表示x属于第五类别的概率。
S23A、将所述多个检测概率中的最高检测概率作为第一检测标识。
在本发明实施例中,多个检测概率中的最高检测概率,表示网络模型认为输入项X属于最高检测概率对应的类别的概率最大。例如,在检测概率向量Y=[Y1,Y2,Y3,Y4,Y5]中确定最高检测概率,将最高检测概率最为第一检测标识。第一检测标识记为Pmax,假设Y1是最高检测概率,则Pmax=Y1。
S3、获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。
在本发明实施例中,所述第一目标操作是预设的多个操作中的一个操作,所述多个操作包括若干拥塞程度调整操作。在一种实现方式中,经过步骤S23A得到第一检测标识,具体的,步骤S3包括:
S31、在所述若干拥塞程度调整操作中,选取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。
在本发明实施例中,当所述多个检测概率包括:第一检测概率、第二检测概率、第三检测概率、第四检测概率和第五检测概率时,所述若干拥塞程度调整操作包括:指数增大拥塞窗口值操作、线性增大拥塞窗口值操作、保持拥塞窗口值操作、线性减小拥塞窗口值操作和指数减小拥塞窗口值操作。所述选取所述第一检测标识对应的第一目标操作,包括:在多个类别中确定第一检测标识对应的检测类别,进而根据检测类别确定第一目标操作,并执行第一目标操作。当多个检测概率包括五个检测概率时,所述多个类别包括五个类别,分别为:第一类别、第二类别、第三类别、第四类别和第五类别。并且五个检测概率与五个类别一一对应,若第一检测概率为第一检测标识,则第一类别为检测类别。
如公式(3)所示。
[Pmax,Cmax]=max([Y1,Y2,Y3,Y4,Y5]) (3)
其中,Pmax是第一检测标识,Cmax是检测类别。
当Pmax=Y1时,Cmax=1,表示检测类别是第一类别,也就是说,网络模型检测得到输入项X属于第一类别,即当前网络状态属于第一类别,第一类别是网络状态优。
当Pmax=Y2时,Cmax=2,表示检测类别是第二类别,也就是说,网络模型检测得到输入项X属于第二类别,即当前网络状态属于第二类别,第二类别是网络状态良。
当Pmax=Y3时,Cmax=3,表示检测类别是第三类别,也就是说,网络模型检测得到输入项X属于第三类别,即当前网络状态属于第三类别,第三类别是网络轻度拥塞。
当Pmax=Y4时,Cmax=4,表示检测类别是第四类别,也就是说,网络模型检测得到输入项X属于第四类别,即当前网络状态属于第四类别,第四类别是网络中度拥塞。
当Pmax=Y5时,Cmax=5,表示检测类别是第五类别,也就是说,网络模型检测得到输入项X属于第五类别,即当前网络状态属于第五类别,第五类别是网络中度拥塞。
具体的,S31包括:
S311、当所述第一检测标识为第一检测概率时,将所述指数增大拥塞窗口值操作作为第一目标操作,并执行指数增大拥塞窗口值;
S312、当所述第一检测标识为第二检测概率时,将所述线性增大拥塞窗口值操作作为第二目标操作,并执行线性增大拥塞窗口值;
S313、当所述第一检测标识为第三检测概率时,将所述保持拥塞窗口值操作作为第一目标操作,并保持拥塞窗口值不变;
S314、当所述第一检测标识为第四检测概率时,将所述线性减少拥塞窗口值操作作为第一目标操作,并执行线性减少拥塞窗口值;
S315、当所述第一检测标识为第五检测概率时,将所述指数减少拥塞窗口值操作作为第一目标操作,并执行指数减少拥塞窗口值。
上述步骤给出了多个检测概率包括五个检测概率时的实施例,所述检测概率也可以包括不止五个检测概率,例如,所述多个检测概率包括七个检测概率。
由于本发明在所述网络开始发送数据包时,执行慢开始操作,因此,在理论上,在开始发送数据包时不会产生网络拥塞,随着发送数据包的量逐渐增多,可能会产生网络轻度拥塞和网络中度拥塞,在网络模型检测到网路发生中度拥塞时(例如,检测类别为第四类别时),执行线性减少拥塞窗口值的操作,以改善网络拥塞情况,也就是说,本发明提供的一种网络拥塞的控制方法可以检测出网络轻度拥塞和网络中度拥塞的情况,并在检测到网路中度拥塞时,及时调整网络拥塞窗口值,可以有效避免网路发生重度拥塞。
在另一种实现方式中,所述网络模型包括:所述特征提取子模块和第二检测子模型,所述第二检测子模型基于所述特征向量确定丢包概率,进而得到第二检测标识,所述第二检测标识用于反映丢包情况。当检测到丢包时,通过第二检测模型检测丢包情况。具体的,在步骤S21之后,还包括:
S22B、当检测到丢包时,将所述特征向量输入所述第二检测子模型,通过所述第二检测子模型输出第二检测标识。
在本发明实施例中,接收方每收到一个包,就会向发送方返回一个ACK响应用于确认已收到,当发送方发送一个数据包之后的等待时长内未收到ACK相应,则认为发生丢包。等待时长可以是90~120ms,例如,等待时长可以为100ms。
在本发明实施例中,所述第二检测子模型配置有Logistic函数,Logistic函数是二分类函数。所述第二检测子模型首先确定丢包概率,根据丢包概率确定第二检测标识。如公式(4)所示。
所述丢包概率表示因网络拥塞导致的概率,将丢包概率记为Y′,设定一个阈值τ,基于阈值和丢包概率确定第二检测标识,如公式(5)所示。
其中,C′为第二检测标识,Y′是丢包概率,τ是阈值,0.3≤τ≤0.5
根据公式(5)可知,当Y′>τ时,则C′=1,当Y′<τ时,则C′=0,所述第二检测标识为0或者1。
以τ=0.5为例,如公式(6)所示。
根据公式(6)可知,当Y′>0.5时,则C′=1,当Y′<0.5时,则C′=0,所述第二检测标识为0或者1。
在步骤S22B后,还包括:
S23B、获取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作。
在本发明实施例中,所述第二目标操作是预设的多个操作中的一个操作,所述多个操作包括若干丢包调整操作,所述若干丢包调整操作包括:降低发送速率操作和重发数据包操作。
步骤S23B,包括:
S23B1、在所述若干丢包调整操作中,选取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作。
具体的,当所述第二检测标识为1时,网络模型认为此丢包是网络拥塞所致,将所述降低发送速率操作作为第二目标操作,并执行降低发送速率的操作;当所述第二检测标识为0时,网络模型认为此丢包是链路故障导致,将所述重发数据包操作作为第二目标操作,并执行降低发送速率的操作。其中,降低发送速率是指降低发送数据包的速率。
在本发明实施例中,若出现丢包情况,则采取第二检测子模型对丢包情况进行区分,避免将因链路故障丢包判断为因网络拥塞丢包,从而进一步提高对网络资源的利用率。
为了便于说明,参见图2,在具体实施时,一种网络拥塞控制的方法包括:
步骤101、执行慢开始;
步骤102、每间隔预设时间T,通过网络模型对网络拥塞程度进行检测,得到第一检测标识;
步骤103、当所述第一检测标识表示网络状态优时,执行指数增大拥塞窗口值;
步骤104、当所述第一检测标识表示网络状态良时,执行线性增大拥塞窗口值;
步骤105、当所述第一检测标识表示网络轻度拥塞时,保持拥塞窗口值不变;
步骤106、当所述第一检测标识表示网络中度拥塞时,执行线性减少拥塞窗口值;
步骤107、当所述第一检测标识表示网络重度拥塞时,执行指数减少拥塞窗口值。
步骤101之后还包括:
步骤201、判断是否发生丢包,若没有发生丢包则进入步骤102,若发生丢包则进入步骤202;
步骤202、通过网络模型对丢包情况进行检测,得到第二检测标识;
步骤203、当第二检测标识为1时,表示丢包是网络拥塞所致,执行降低发送速率的操作;
步骤204、当第二检测标识为0时,表示丢包是链路故障导致,执行重新发送数据包的操作。
接下来通过图3、图4和图5说明本发明的效果。
图3中:a1是NewReno算法的拥塞窗口大小随时间的变化示意,b1是Vegas算法的拥塞窗口大小随时间的变化示意,c1是Veno算法的拥塞窗口大小随时间的变化示意,d1是Bicb1算法的RTT随时间的变化示意,其中,RTT指的是一次数据包从发送端发送至接收端,接收端给出确认响应至发送端的时间,即发送数据包的一个来回时间;
e1是NewReno算法的RTT随时间的变化示意,f1是Vegas算法的RTT随时间的变化示意,g1是Veno算法的RTT随时间的变化示意,h1是Bicb1算法的RTT随时间的变化示意。
图4中:a2是NewReno算法因为拥塞丢包时,拥塞窗口大小随时间的变化示意,b2是NewReno算法因为拥塞丢包时,RTT随时间的变化示意,c2是NewReno算法因为拥塞丢包时,网络状态随时间的变化示意;
d2是Veno算法因为拥塞丢包时,拥塞窗口大小随时间的变化示意,e2是Veno算法因为拥塞丢包时,RTT随时间的变化示意,f2是Veno算法因为拥塞丢包时,网络状态随时间的变化示意;
g2是NewReno算法因为链路错误丢包时,拥塞窗口大小随时间的变化示意,h2是NewReno算法因为链路错误丢包时,RTT随时间的变化示意,i2是NewReno算法因为链路错误丢包时,网络状态随时间的变化示意;
j2是Veno算法因为链路错误丢包时,拥塞窗口大小随时间的变化示意,k2是Veno算法因为链路错误丢包时,RTT随时间的变化示意,l2是Veno算法因为链路错误丢包时,网络状态随时间的变化示意。
图5中:a3是NewReno算法的拥塞窗口大小随时间的变化示意,b3是NewReno算法的瓶颈路由的数据包排队长度随时间的变化示意,c3是NewReno算法的RRT随时间的变化示意,d3是NewReno算法的网络状态随时间的变化示意;
e3是Vegas算法的拥塞窗口大小随时间的变化示意,f3是Vegas算法的瓶颈路由的数据包排队长度随时间的变化示意,g3是Vegas算法的RRT随时间的变化示意,h3是Vegas算法的网络状态随时间的变化示意;
i3是本发明的拥塞窗口大小随时间的变化示意,j3是本发明的瓶颈路由的数据包排队长度随时间的变化示意,k3是本发明的RRT随时间的变化示意,l3是本发明的网络状态随时间的变化示意;
m3是Bic算法的拥塞窗口大小随时间的变化示意,o3是Bic算法的瓶颈路由的数据包排队长度随时间的变化示意,p3是Bic算法的RRT随时间的变化示意,q3是Bic算法的网络状态随时间的变化示意。
根据图5,本发明的RTT相对于其他算法较小,RTT越小,网络延迟越小,则网络情况越好;并且本发明的瓶颈路由的数据包排队长度,在最高处表现相对稳定,意味着能够尽可能的利用路由数据包队列容器。
在本发明实施例中,每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率;将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度;获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。本发明通过网络模型实时检测网络拥塞状态,针对检测得到的网络拥塞情况,采取相应措施,这样,在网络严重拥塞出现前能够对拥塞窗口值进行控制,避免产生严重的网络拥塞。
在一个实施例中,本发明提供了一种计算机设备,该设备可以是终端,内部结构如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络拥塞的控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6所示的仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率;
将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度;
获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率;
将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度;
获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
Claims (9)
1.一种网络拥塞的控制方法,其特征在于,所述网络拥塞的控制方法包括:
每间隔预设时长,获取网络的拥塞窗口值,以及网络最近一次发送数据包的响应时长和发送速率;
将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定第一检测标识,其中,所述第一检测标识用于反映网络拥塞程度;
获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作;所述网络模型包括特征提取子模块和第一检测子模型;所述将所述拥塞窗口值、所述响应时长和所述发送速率输入网络模型,通过所述网络模型确定检测标识,具体包括:
将所述拥塞窗口值、所述响应时长和所述发送速率输入所述特征提取子模块,以得到特征向量;
将所述特征向量输入所述第一检测子模型,通过所述第一检测子模型输出检测概率向量,其中,所述检测概率向量包括多个检测概率;
将所述多个检测概率中的最高检测概率作为第一检测标识;
所述特征提取子模块包括:卷积层、池化层、flatten层、长短期记忆网络和全连接层。
2.根据权利要求1所述的网络拥塞的控制方法,其特征在于,所述第一目标操作是预设的多个操作中的一个操作,所述多个操作包括若干拥塞程度调整操作;所述获取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作,具体包括:
在所述若干拥塞程度调整操作中,选取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作。
3.根据权利要求2所述的网络拥塞的控制方法,其特征在于,所述多个检测概率包括:第一检测概率、第二检测概率、第三检测概率、第四检测概率和第五检测概率,所述若干拥塞程度调整操作包括:指数增大拥塞窗口值操作、线性增大拥塞窗口值操作、保持拥塞窗口值操作、线性减小拥塞窗口值操作和指数减小拥塞窗口值操作;所述在所述若干拥塞程度调整操作中,选取所述第一检测标识对应的第一目标操作,并执行所述第一目标操作,具体包括:
当所述第一检测标识为第一检测概率时,将所述指数增大拥塞窗口值操作作为第一目标操作,并执行指数增大拥塞窗口值;
当所述第一检测标识为第二检测概率时,将所述线性增大拥塞窗口值操作作为第二目标操作,并执行线性增大拥塞窗口值;
当所述第一检测标识为第三检测概率时,将所述保持拥塞窗口值操作作为第一目标操作,并保持拥塞窗口值不变;
当所述第一检测标识为第四检测概率时,将所述线性减小拥塞窗口值操作作为第一目标操作,并执行线性减小拥塞窗口值;
当所述第一检测标识为第五检测概率时,将所述指数减小拥塞窗口值操作作为第一目标操作,并执行指数减小拥塞窗口值。
4.根据权利要求1所述的网络拥塞的控制方法,其特征在于,所述网络模型还包括:第二检测子模型;所述将所述拥塞窗口值、所述响应时长和所述发送速率输入所述特征提取子模块,以得到特征向量之后,还包括:
当检测到丢包时,将所述特征向量输入所述第二检测子模型,通过所述第二检测子模型输出第二检测标识,其中,所述第二检测标识用于反映丢包情况;
获取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作。
5.根据权利要求4所述的网络拥塞的控制方法,其特征在于,所述第二目标操作是预设的多个操作中的一个操作,所述多个操作包括若干丢包调整操作;所述获取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作,还包括:
在所述若干丢包调整操作中,选取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作。
6.根据权利要求5所述的网络拥塞的控制方法,其特征在于,所述若干丢包调整操作包括:降低发送速率操作和重发数据包操作;所述在所述若干丢包调整操作中,选取所述第二检测标识对应的第二目标操作,并执行所述第二目标操作,具体包括:
当所述第二检测标识为1时,将所述降低发送速率操作作为第二目标操作,并执行降低发送速率的操作;
当所述第二检测标识为0时,将所述重发数据包操作作为第二目标操作,并执行降低发送速率的操作。
7.根据权利要求1所述的网络拥塞的控制方法,其特征在于,在所述网络开始发送数据包时,执行慢开始操作。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一所述的网络拥塞的控制方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一所述的网络拥塞的控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110303799.1A CN113098782B (zh) | 2021-03-22 | 2021-03-22 | 一种网络拥塞的控制方法和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110303799.1A CN113098782B (zh) | 2021-03-22 | 2021-03-22 | 一种网络拥塞的控制方法和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098782A CN113098782A (zh) | 2021-07-09 |
CN113098782B true CN113098782B (zh) | 2022-08-30 |
Family
ID=76668993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110303799.1A Expired - Fee Related CN113098782B (zh) | 2021-03-22 | 2021-03-22 | 一种网络拥塞的控制方法和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098782B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014098096A1 (ja) * | 2012-12-19 | 2014-06-26 | 日本電気株式会社 | データ送信装置、データ送信方法、及びそのプログラム |
CN110809288A (zh) * | 2019-11-04 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种网络拥塞控制方法、装置、设备及介质 |
CN111614572A (zh) * | 2020-04-28 | 2020-09-01 | 网络通信与安全紫金山实验室 | 一种基于rtt的tcp网络拥塞控制方法 |
CN111835649A (zh) * | 2019-04-15 | 2020-10-27 | 深信服科技股份有限公司 | 一种数据发送方法、装置及相关组件 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052043B (zh) * | 2007-04-30 | 2013-03-20 | 北京策度集成电路设计有限公司 | 一种基于发送窗口与往返时间的tcp发送方法 |
CN103457871B (zh) * | 2013-09-18 | 2016-03-30 | 中南大学 | Dcn中基于延迟约束的拥塞避免阶段的增窗方法 |
CN107800642A (zh) * | 2016-08-31 | 2018-03-13 | 北京金山云网络技术有限公司 | 一种拥塞控制方法及装置 |
CN106911580B (zh) * | 2017-01-24 | 2019-11-05 | 中国科学院声学研究所 | 一种tcp拥塞控制方法和系统 |
CN107786371B (zh) * | 2017-10-09 | 2021-06-29 | 咪咕视讯科技有限公司 | 一种数据的加速方法、装置及存储介质 |
CN109714267B (zh) * | 2018-12-26 | 2021-01-29 | 清华大学 | 管理反向队列的传输控制方法及系统 |
CN110225417B (zh) * | 2019-05-09 | 2022-06-10 | 网宿科技股份有限公司 | 数据处理方法及服务器、检测卡顿的方法及服务器 |
-
2021
- 2021-03-22 CN CN202110303799.1A patent/CN113098782B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014098096A1 (ja) * | 2012-12-19 | 2014-06-26 | 日本電気株式会社 | データ送信装置、データ送信方法、及びそのプログラム |
CN111835649A (zh) * | 2019-04-15 | 2020-10-27 | 深信服科技股份有限公司 | 一种数据发送方法、装置及相关组件 |
CN110809288A (zh) * | 2019-11-04 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种网络拥塞控制方法、装置、设备及介质 |
CN111614572A (zh) * | 2020-04-28 | 2020-09-01 | 网络通信与安全紫金山实验室 | 一种基于rtt的tcp网络拥塞控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113098782A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10462707B2 (en) | Data transmission method and apparatus | |
CN110855400B (zh) | 基于纠错码的自适应丢包恢复方法、计算设备及存储介质 | |
US20040196785A1 (en) | Congestion notification process and system | |
WO2021103706A1 (zh) | 控制数据包发送方法、模型训练方法、装置及系统 | |
CN111193796B (zh) | 基于延迟队列的会话保持方法、服务器及可读存储介质 | |
CN107800638B (zh) | 一种拥塞控制方法及装置 | |
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
CN107070802A (zh) | 基于pid控制器的无线传感器网络拥塞控制技术 | |
CN110380978B (zh) | 多路径传输的调度方法、装置、计算机设备和存储介质 | |
CN113098782B (zh) | 一种网络拥塞的控制方法和计算机设备 | |
CN115022205A (zh) | 一种应用于海量终端高并发场景的跨网数据传输方法 | |
CN112995329B (zh) | 一种传输文件方法及系统 | |
CN113890854A (zh) | 一种基于深度增强学习的数据中心网络传输方法 | |
CN111385218A (zh) | 消息队列过载的丢包、流量控制方法、存储介质及设备 | |
CN112367490A (zh) | 面向交互视频传输质量提升的混合学习方法、装置及设备 | |
CN114650260B (zh) | 网络丢包类型识别方法、装置及电子设备 | |
CN114039702B (zh) | 数据传输方法、装置、设备和介质 | |
CN116346952A (zh) | 传输协议参数调整方法、装置、设备及存储介质 | |
CN112583818B (zh) | 针对移动Web服务的自适应传输协议选择方法和装置 | |
CN114995158A (zh) | DoS攻击下复杂电路网络系统的自适应采样切换控制方法 | |
CN112230880B (zh) | 一种数据传输控制方法、装置、fpga及介质 | |
CN114938354A (zh) | 拥塞控制的方法、装置、设备和存储介质 | |
CN115037416A (zh) | 数据前向纠错处理方法、装置、电子设备和存储介质 | |
CN114866196A (zh) | 数据包重传方法、装置、电子设备和存储介质 | |
CN114337942A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220830 |