CN112492646B - 基于拥塞成因识别的拥塞控制方法及装置 - Google Patents
基于拥塞成因识别的拥塞控制方法及装置 Download PDFInfo
- Publication number
- CN112492646B CN112492646B CN202011364924.1A CN202011364924A CN112492646B CN 112492646 B CN112492646 B CN 112492646B CN 202011364924 A CN202011364924 A CN 202011364924A CN 112492646 B CN112492646 B CN 112492646B
- Authority
- CN
- China
- Prior art keywords
- packet loss
- congestion
- loss rate
- packet
- rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000008859 change Effects 0.000 claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于拥塞成因识别的拥塞控制方法及装置,其中,方法包括以下步骤:获取当前时刻的丢包率变化值;在丢包率变化值大于预设丢包容忍阈值时,根据丢包率变化值确定的当前丢包率变化趋势、预设的窗口调整策略与前一次丢包率变化趋势分析引发丢包的原因;根据分析得到的引发丢包的原因调整拥塞窗口的大小。本申请实施例拥塞控制方法能够在不造成拥塞丢包的前提下,为实时流媒体应用等高带宽、低延迟的上层应用提供尽可能高的带宽,有效满足用户使用求,保证实时流媒体的使用体验。
Description
技术领域
本申请涉及互联网传输层的拥塞控制技术领域,特别涉及一种基于拥塞成因识别的拥塞控制方法及装置。
背景技术
近年来,以实时视频通讯、视频会议、互动直播为代表的流媒体应用迅速普及。然而,此类应用由于需要流式地传输视频数据,往往具有较高的数据速率,占用带宽较多;同时,由于其低延迟的需求,在网络因噪声丢包时,需要采取冗余编码、重传等服务质量保障手段,而这些手段的采用导致应用本身需求更多的带宽。另一方面,当数据速率过高导致在链路上发生拥塞时,应用及时获悉拥塞发生后可以通过降低帧率、分辨率等方法降低数据速率,使视频数据能够在相应时延及时到达,而非采用冗余编码、重传等方式加剧拥塞。为了适配此类应用的带宽需求特征,需要相应的传输层拥塞控制算法为其提供适合的拥塞控制窗口。
相关技术中,现有的拥塞控制方法,分为基于丢包的Reno、Cubic,以及基于数据到达速率和RTT(Round-Trip Time,往返时延)的新型拥塞控制算法BBR算法等。基于丢包的拥塞控制算法对丢包现象非常敏感,在出现丢包后,拥塞控制算法认为发生拥塞,会立即下调拥塞控制窗口。然而对于噪声造成的丢包缺乏甄别能力,以至于当出现噪声丢包时,上层应用无法采用质量保障手段保障视频通畅,反而要降低视频清晰度,而由于噪声丢包的存在,降低清晰度并不能消除丢包,导致服务质量进一步恶化。BBR算法虽然不受丢包影响,但是噪声丢包也降低数据包到达率,从而降低测量获得的到达速率,依然会严重妨碍上层应用的数据传输。
然而,基于现有拥塞控制算法与实时流媒体应用的不适配性,许多企业研发了私有的传输方案,这些方案往往极具侵略性,采取短时内发送大量无效数据等方式探测网络全部可用带宽并以此调节发送窗口,如若其他流采取避让措施,则严重损害网络公平性,如其他流不避让则会造成拥塞,出现丢包,导致不得不采用冗余编码等手段占用抢占来的部分带宽,从而降低原数据码率,损失服务质量,并且这种带宽的抢占行为不但浪费了网络资源,在面对传统拥塞控制算法时也侵犯了公平性,而且在发生拥塞时损害了包括自己在内所有流的服务质量,亟待改进。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一目的在于提出一种基于拥塞成因识别的拥塞控制方法,该方法能够在不造成拥塞丢包的前提下,为实时流媒体应用等高带宽、低延迟的上层应用提供尽可能高的带宽,有效满足用户使用求,保证实时流媒体的使用体验。
本申请的第二个目的在于提出一种基于拥塞成因识别的拥塞控制装置。
本申请的第三个目的在于提出一种电子设备。
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
为达到上述目的,本申请第一方面实施例提供一种基于拥塞成因识别的拥塞控制方法,包括以下步骤:获取当前时刻的丢包率变化值;在所述丢包率变化值大于预设丢包容忍阈值时,根据所述丢包率变化值确定的当前丢包率变化趋势、预设的窗口调整策略与前一次丢包率变化趋势分析引发丢包的原因;根据分析得到的引发丢包的原因调整拥塞窗口的大小。
根据本申请实施例的基于拥塞成因识别的拥塞控制方法,根据当前丢包率变化趋势、窗口调整策略与前一次丢包率变化趋势有效地甄别丢包成因,从而在不造成丢包的前提下提升上层应用的网络吞吐,在不失公平性的前提下提高网络利用率,提升上层应用的用户体验,同时在面对“流氓应用”恶性竞争时能有效保障自身的带宽需求,从而能够在不造成拥塞丢包的前提下,为实时流媒体应用等高带宽、低延迟的上层应用提供尽可能高的带宽,有效满足用户使用求,保证实时流媒体的使用体验。
另外,根据本申请上述实施例的基于拥塞成因识别的拥塞控制方法还可以具有以下附加的技术特征:
可选地,在本申请的一个实施例中,所述丢包率变化值的计算公式为:
其中,pk表示记录发送端发送的第k个包是否丢失,n表示数据包的数量,pk+n-1表示新入队的数据包,pk-1表示刚出队的数据包。
可选地,在本申请的一个实施例中,所述根据分析得到的引发丢包的原因调整拥塞窗口的大小,包括:若所述引发丢包的原因为拥塞丢包,则采用预设的拥塞控制算法调整所述当前拥塞窗口的大小;若所述引发丢包的原因为噪声丢包,则基于丢包率的变化改变慢启动的门限值调整所述当前拥塞窗口的大小。
可选地,在本申请的一个实施例中,所述拥塞窗口的大小的调整公式为:
其中,delta_l表示前一次丢包率变化趋势,delta表示当前丢包率变化趋势,Loss_rate表示当前时刻的丢包率,Loss_rate′表示前一时刻的丢包率,ssthresh表示所述门限值,α表示参数放缩窗口。
为达到上述目的,本申请第二方面实施例提供一种基于拥塞成因识别的拥塞控制装置,包括:获取模块,用于获取当前时刻的丢包率变化值;分析模块,用于在所述丢包率变化值大于预设丢包容忍阈值时,根据所述丢包率变化值确定的当前丢包率变化趋势、预设的窗口调整策略与前一次丢包率变化趋势分析引发丢包的原因;控制模块,用于根据分析得到的引发丢包的原因调整拥塞窗口的大小。
根据本申请实施例的基于拥塞成因识别的拥塞控制装置,根据当前丢包率变化趋势、窗口调整策略与前一次丢包率变化趋势有效地甄别丢包成因,从而在不造成丢包的前提下提升上层应用的网络吞吐,在不失公平性的前提下提高网络利用率,提升上层应用的用户体验,同时在面对“流氓应用”恶性竞争时能有效保障自身的带宽需求,从而能够在不造成拥塞丢包的前提下,为实时流媒体应用等高带宽、低延迟的上层应用提供尽可能高的带宽,有效满足用户使用求,保证实时流媒体的使用体验。
另外,根据本申请上述实施例的基于拥塞成因识别的拥塞控制装置还可以具有以下附加的技术特征:
可选地,在本申请的一个实施例中,所述丢包率变化值的计算公式为:
其中,pk表示记录发送端发送的第k个包是否丢失,n表示数据包的数量,pk+n-1表示新入队的数据包,pk-1表示刚出队的数据包。
可选地,在本申请的一个实施例中,所述控制模块进一步用于当所述引发丢包的原因为拥塞丢包时,采用预设的拥塞控制算法调整所述当前拥塞窗口的大小,当所述引发丢包的原因为噪声丢包时,基于丢包率的变化改变慢启动的门限值调整所述当前拥塞窗口的大小。
可选地,在本申请的一个实施例中,所述拥塞窗口的大小的调整公式为:
其中,delta_l表示前一次丢包率变化趋势,delta表示当前丢包率变化趋势,Loss_rate表示当前时刻的丢包率,Loss_rate′表示前一时刻的丢包率,ssthresh表示所述门限值,α表示参数放缩窗口。
为达到上述目的,本申请第三方面实施例提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行如上述实施例所述的基于拥塞成因识别的拥塞控制方法。
为达到上述目的,本申请第四方面实施例提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述实施例所述的基于拥塞成因识别的拥塞控制方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种基于拥塞成因识别的拥塞控制方法的流程图;
图2为根据本申请一个具体实施例的基于拥塞成因识别的拥塞控制方法的流程图;
图3为根据本申请实施例的基于拥塞成因识别的拥塞控制装置的示例图;
图4为本申请实施例提供的电子设备的结构示意图
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参照附图描述根据本申请实施例提出的基于拥塞成因识别的拥塞控制方法及装置,首先将参照附图描述根据本申请实施例提出的基于拥塞成因识别的拥塞控制方法。
具体而言,图1为本申请实施例所提供的一种基于拥塞成因识别的拥塞控制方法的流程示意图。
如图1所示,该基于拥塞成因识别的拥塞控制方法包括以下步骤:
在步骤S101中,获取当前时刻的丢包率变化值。
需要说明的是,本申请实施例的第一目标为有效甄别噪声丢包和拥塞丢包,并针对不同丢包类型分别做出适应上层应用需求的窗口调整。噪声丢包是未发生拥塞时链路固有的丢包现象。
可以理解的是,由于本申请实施例服务于具有低时延需求的上层应用,如果数据包已经超时,则重传没有意义,因此还会采用冗余编码的手段来确保即使发生丢包,数据依然能够被解码,并不要求链接完全可靠。即使如此,和拥塞控制诞生的原因相同,过多的冗余编码本身也可能导致拥塞,从而加剧丢包,又导致了更多的冗余编码,最终使链接崩溃。因此,在流媒体传输中,甄别噪声丢包和拥塞丢包极为重要。
部分实施例中,鉴于噪声丢包与拥塞丢包相比,不会因为自身数据流发送速率增大而恶化,也不会因为自身数据流发送速率减小而好转。为了实现第一目标,本申请实施例基于噪声丢包的特性,设计了基于多步丢包率变化的状态转移机制,对Reno中拥塞事件处理模块进一步优化和状态细分,在发送端区分噪声丢包与拥塞丢包,并通过合理的控制手段适配上层应用的需求。
可选地,在本申请的一个实施例中,所述丢包率变化值的计算公式为:
其中,pk表示记录发送端发送的第k个包是否丢失,n表示数据包的数量,pk+n-1表示新入队的数据包,pk-1表示刚出队的数据包。
举例而言,为了记录并计算链路的丢包率变化,需要维护一个先进先出的队列:
Q={pk,pk+1,…,pk+n-1},
其中,pk记录发送端发送的第k个包是否丢失,丢包则值为1,确认到达则值为0。此队列记录最近n个数据包的丢失情况,新入队的pk+n-1与刚刚出队的pk-1相比较,即可计算得到当前时刻的丢包率变化ΔLoss_ratek-1:
在步骤S102中,在所述丢包率变化值大于预设丢包容忍阈值时,根据所述丢包率变化值确定的当前丢包率变化趋势、预设的窗口调整策略与前一次丢包率变化趋势分析引发丢包的原因。
由于上层应用对丢包有一定的容忍能力,也就是说并不要求传输层完全可靠,因此,本申请实施例虽然可以继承Reno、Cubic等拥塞控制算法基于丢包的基本逻辑,但对丢包现象持容忍态度。当出现丢包,即pk+n-1为0时,若pk-1也为0,则认为丢包率维持稳定,不进入拥塞处理过程;当pk-1为1时,则认为丢包率下降,并判断丢包率的变化是否超过了算法的容忍度。
具体地,考虑到瞬时的丢包率有较大偶然性;流媒体应用的调节时隙最小为帧时长,过于频繁的调节无法与上层应用的控制时隙相匹配,并且上层应用特定等级的质量保障手段一般可以保障丢包率在一定范围内的可靠到达率。因此本申请实施例中,用Loss_tolerance表示本方案对丢包率变化的容忍度,作为触发进入拥塞处理过程的阈值。当丢包率的变化低于容忍度时,不进入拥塞处理模块,而当丢包率变化超过容忍度时,则进入拥塞处理过程:
Loss_rate=∑ΔLoss_ratek,|Loss_rate|≥Loss_tolerance
进入拥塞避免处理后,本申请实施例依据上一次进入拥塞处理过程时的丢包率变化趋势delta_l、采取的窗口调整策略以及当前的丢包率变化趋势delta三个因素来判断引发丢包的原因。delta:由此时刻的Loss_rate和上一个时刻的Loss_rate′相减获得:
delta=Loss_rate-Loss_rate′。
在步骤S103中,根据分析得到的引发丢包的原因调整拥塞窗口的大小。
可选地,在本申请的一个实施例中,所述根据分析得到的引发丢包的原因调整拥塞窗口的大小,包括:若所述引发丢包的原因为拥塞丢包,则采用预设的拥塞控制算法调整所述当前拥塞窗口的大小;若所述引发丢包的原因为噪声丢包,则基于丢包率的变化改变慢启动的门限值调整所述当前拥塞窗口的大小。
可以理解的是,本申请实施例可以采用的窗口调整策略分为两类,一类在判断原因为拥塞丢包时使用,采用TCP(networks congestion control,拥塞控制算法)即可,以Reno快恢复为例,一类在判断原因为噪声丢包时使用,基于丢包率的变化改变慢启动的门限值ssthresh。
当上一次判断为拥塞丢包时,则必然的,delta_l<0,快恢复机制使拥塞窗口减半,如果之后丢包缓解,delat>0,则有可能之前发生拥塞丢包的判断正确,继续进行Reno拥塞控制即可;如果:delta<0,则说明拥塞窗口减小并没能让丢包缓解,属于噪声丢包,此时按照噪声丢包处理,按丢包率变化提升ssthresh,为上层应用发送重传数据和冗余数据提供足够的发送速率。
当上一次判断为噪声丢包时:
若判断噪声加重,delta_l<0,窗口变大;此时,若delta>0,说明提升速率造成了拥塞,判断为拥塞丢包,执行Reno拥塞控制;若delta<0,说明噪声丢包缓解,按丢包率变化比率缩小ssthresh。
若判断噪声减轻,delta_l<0,窗口变小;此时,若delta>0,说明降低速率依然发生了了拥塞,判断为噪声丢包,提升ssthresh;若:delta<0,说明噪声丢包的确已经缓解,执行Reno拥塞控制即可。
可选地,在本申请的一个实施例中,所述拥塞窗口的大小的调整公式为:
其中,delta_l表示前一次丢包率变化趋势,delta:表示当前丢包率变化趋势,Loss_rate表示当前时刻的丢包率,Loss_rate′表示前一时刻的丢包率,ssthresh表示所述门限值,α表示参数放缩窗口。
可以理解的是,上一次的拥塞原因被消去,当且仅当delta×delta_l>0时,判断为噪声丢包,以α为参数放缩窗口,反之,则采用TCP Reno拥塞控制手段:
本申请实施例的第二目标是在与侵略性较强的私有传输方案竞争时,能够使承载的上层应用保有足够量的带宽。由于此类私有传输方案的抢占性,在本申请执行时,私有传输方案造成的丢包将会被判断为噪声丢包,因此,本申请实施例可以通过将此类传输方案造成的网络恶化归类为噪声丢包,实现了第二目标。在实验中,在一定参数设置下,本申请实施例在面对高抢占的私有传输方案时能够持有更高的带宽,具有较强的对抗“流氓应用”的能力。
与相关技术相比,本申请实施例具有以下特点:
1)检测丢包成因,避免因噪声丢包缩小窗口,并为上层应用额外提供带宽进行重传、冗余编码等质量保障手段,保证上层应用的用户体验。
2)在保障自身公平性的同时,面对高抢占性的传输方案有一定对抗性。通过对成因检测,提升自身窗口的同时不造成拥塞丢包,从而不损害链路通畅性;同时面对恶意应用不会一味避让,而会在避让无法改善拥塞时保障自身的带宽需求。
3)本申请实施例的控制方法属于在线调度策略,不需要基于对未来信息的预测,可行性高。
本领域技术人员应该理解到的是,本申请实施例的拥塞控制方法,步骤1:在发送端计算丢包率的变化,并根据其累计变化是否大于给定阈值进入步骤2;步骤2:考察步骤S1对本次丢包率变化方向的影响,并据此判断造成网络丢包的原因;步骤S3:根据判断结果调整拥塞窗口大小。
以下列举实施例,示意性说明,以一个具体实施例对本申请实施例的拥塞控制方法的控制原理进行详细说明。
如图2所示,在本申请的一个实施例中,在实际执行过程中,本申请实施例包括以下步骤:
步骤S201:发送端应用程序通过传输层协议与接收端应用建立连接。
步骤S202:在每个RTT内记录数据包的丢失情况,并维护一个先进先出的队列Q用来统计丢包率:
Q={pk,pk+1,…,pk+n-1}
其中,pk表示记录发送端发送的第k个包是否丢失,丢包则值为1,确认到达则值为0。此队列记录最近n个数据包的丢失情况,每次***最近一个包的到达情况,并在队列满后弹出最早的包到达情况。
步骤S203:此步骤计算丢包率的变化,并根据其变化情况选择是否进入下一步骤,具体步骤如下:
步骤S2031:在此队列每进行一次***弹出时,计算丢包率变化:
步骤S2032:记录丢包率的累计变化情况,当其累计变化大于给定阈值Loss_tolerance时,进入下一个步骤拥塞避免,即进入拥塞避免的条件为:
Loss_rate=∑ΔLoss_ratek,|Loss_rate|≥Loss_tolerance。
步骤S204:此步骤判断造成拥塞的成因,并根据判断结果调整拥塞窗口大小,具体步骤如下:
步骤S2041:计算当前丢包率Loss_rate与上一次进入拥塞避免时丢包率Loss_rate′的变化delta:
delta=Loss_rate-Loss_rate′;
步骤S2042:考察上次拥塞避免阶段的决策对本次丢包率变化方向的影响,经过条件合并,当上次丢包率变化delta_l与本次丢包率变化delta异号,即:
delta×delta_l<0,
判断为拥塞丢包,而当二者同号时,即:
delta×delta_l>0,
判断为噪声丢包。
步骤S2043:对两种丢包分别采取不同的窗口调整方案,为了应对噪声丢包,应提高发送带宽用以重传和冗余编码,而为了应对拥塞丢包,应缩小窗口减缓拥塞:
其中,α为窗口放缩系数,表示方案对噪声丢包的敏感程度。
综上,能够有效地甄别丢包成因,从而在不造成丢包的前提下提升上层应用的网络吞吐,在不失公平性的前提下提高网络利用率,提升上层应用的用户体验。同时在面对“流氓应用”恶性竞争时能有效保障自身的带宽需求。
根据本申请实施例的基于拥塞成因识别的拥塞控制方法,根据当前丢包率变化趋势、窗口调整策略与前一次丢包率变化趋势有效地甄别丢包成因,从而在不造成丢包的前提下提升上层应用的网络吞吐,在不失公平性的前提下提高网络利用率,提升上层应用的用户体验,同时在面对“流氓应用”恶性竞争时能有效保障自身的带宽需求,从而能够在不造成拥塞丢包的前提下,为实时流媒体应用等高带宽、低延迟的上层应用提供尽可能高的带宽,有效满足用户使用求,保证实时流媒体的使用体验。
其次参照附图描述根据本申请实施例提出的XXXXX装置。
图3是本申请实施例的基于拥塞成因识别的拥塞控制装置的方框示意图。
如图3所示,该基于拥塞成因识别的拥塞控制装置10包括:获取模块100、分析模块200和控制模块300。
具体地,获取模块100,用于获取当前时刻的丢包率变化值。
分析模块200,用于在丢包率变化值大于预设丢包容忍阈值时,根据丢包率变化值确定的当前丢包率变化趋势、预设的窗口调整策略与前一次丢包率变化趋势分析引发丢包的原因。
控制模块300,用于根据分析得到的引发丢包的原因调整拥塞窗口的大小。
可选地,在本申请的一个实施例中,丢包率变化值的计算公式为:
其中,pk表示记录发送端发送的第k个包是否丢失,n表示数据包的数量,pk+n-1表示新入队的数据包,pk-1表示刚出队的数据包。
可选地,在本申请的一个实施例中,控制模块300进一步用于当引发丢包的原因为拥塞丢包时,采用预设的拥塞控制算法调整当前拥塞窗口的大小,当引发丢包的原因为噪声丢包时,基于丢包率的变化改变慢启动的门限值调整当前拥塞窗口的大小。
可选地,在本申请的一个实施例中,拥塞窗口的大小的调整公式为:
其中,delta_l表示前一次丢包率变化趋势,delta表示当前丢包率变化趋势,Loss_rate表示当前时刻的丢包率,Loss_rate′表示前一时刻的丢包率,ssthresh表示所述门限值,α表示参数放缩窗口。
需要说明的是,前述对基于拥塞成因识别的拥塞控制方法实施例的解释说明也适用于该实施例的基于拥塞成因识别的拥塞控制装置,此处不再赘述。
根据本申请实施例的基于拥塞成因识别的拥塞控制装置,根据当前丢包率变化趋势、窗口调整策略与前一次丢包率变化趋势有效地甄别丢包成因,从而在不造成丢包的前提下提升上层应用的网络吞吐,在不失公平性的前提下提高网络利用率,提升上层应用的用户体验,同时在面对“流氓应用”恶性竞争时能有效保障自身的带宽需求,从而能够在不造成拥塞丢包的前提下,为实时流媒体应用等高带宽、低延迟的上层应用提供尽可能高的带宽,有效满足用户使用求,保证实时流媒体的使用体验。
图4为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器1201、处理器1202及存储在存储器1201上并可在处理器1202上运行的计算机程序。
处理器1202执行程序时实现上述实施例中提供的基于拥塞成因识别的拥塞控制方法。
进一步地,电子设备还包括:
通信接口1203,用于存储器1201和处理器1202之间的通信。
存储器1201,用于存放可在处理器1202上运行的计算机程序。
存储器1201可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器1201、处理器1202和通信接口1203独立实现,则通信接口1203、存储器1201和处理器1202可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1201、处理器1202及通信接口1203,集成在一块芯片上实现,则存储器1201、处理器1202及通信接口1203可以通过内部接口完成相互间的通信。
处理器1202可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上的基于拥塞成因识别的拥塞控制方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (6)
1.一种基于拥塞成因识别的拥塞控制方法,其特征在于,包括以下步骤:
获取当前时刻的丢包率变化值;
在所述丢包率变化值大于预设丢包容忍阈值时,根据所述丢包率变化值确定的当前丢包率变化趋势、预设的窗口调整策略与前一次丢包率变化趋势分析引发丢包的原因;以及
根据分析得到的引发丢包的原因调整拥塞窗口的大小,包括:
若所述引发丢包的原因为拥塞丢包,则采用预设的拥塞控制算法调整当前拥塞窗口的大小;
若所述引发丢包的原因为噪声丢包,则基于丢包率的变化改变慢启动的门限值调整所述当前拥塞窗口的大小,私有传输方案造成的丢包将会被判断为噪声丢包;
所述拥塞窗口的大小的调整公式为:
其中,delta_l表示前一次丢包率变化趋势,delta表示当前丢包率变化趋势,Loss_rate表示当前时刻的丢包率,Loss_rate′表示前一时刻的丢包率,ssthresh表示所述门限值,α表示参数放缩窗口。
3.一种基于拥塞成因识别的拥塞控制装置,其特征在于,包括:
获取模块,用于获取当前时刻的丢包率变化值;
分析模块,用于在所述丢包率变化值大于预设丢包容忍阈值时,根据所述丢包率变化值确定的当前丢包率变化趋势、预设的窗口调整策略与前一次丢包率变化趋势分析引发丢包的原因;以及
控制模块,用于根据分析得到的引发丢包原因调整拥塞窗口的大小;
所述控制模块进一步用于当所述引发丢包的原因为拥塞丢包时,采用预设的拥塞控制算法调整当前拥塞窗口的大小,当所述引发丢包的原因为噪声丢包时,基于丢包率的变化改变慢启动的门限值调整所述当前拥塞窗口的大小,私有传输方案造成的丢包将会被判断为噪声丢包;
所述拥塞窗口的大小的调整公式为:
其中,delta_l表示前一次丢包率变化趋势,delta表示当前丢包率变化趋势,Loss_rate表示当前时刻的丢包率,Loss_rate′表示前一时刻的丢包率,ssthresh表示所述门限值,α表示参数放缩窗口。
5.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-2任一项所述的基于拥塞成因识别的拥塞控制方法。
6.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-2任一项所述的基于拥塞成因识别的拥塞控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011364924.1A CN112492646B (zh) | 2020-11-27 | 2020-11-27 | 基于拥塞成因识别的拥塞控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011364924.1A CN112492646B (zh) | 2020-11-27 | 2020-11-27 | 基于拥塞成因识别的拥塞控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112492646A CN112492646A (zh) | 2021-03-12 |
CN112492646B true CN112492646B (zh) | 2022-04-08 |
Family
ID=74936835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011364924.1A Active CN112492646B (zh) | 2020-11-27 | 2020-11-27 | 基于拥塞成因识别的拥塞控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112492646B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568303B (zh) * | 2021-09-26 | 2021-12-14 | 成都数默科技有限公司 | 一种基于pid控制算法的网络流量抓包限流丢包方法 |
CN115065643B (zh) * | 2022-07-14 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 网络链路拥塞检测方法、装置、电子设备及存储介质 |
CN115378795B (zh) * | 2022-08-19 | 2024-02-13 | 度小满科技(北京)有限公司 | 服务器网络质量监控方法、装置和电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270682A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信*** |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1226844C (zh) * | 2003-09-01 | 2005-11-09 | 中国科学院计算技术研究所 | 一种适合有线/无线混合网络的自适应拥塞控制方法 |
US7830801B2 (en) * | 2004-10-29 | 2010-11-09 | Broadcom Corporation | Intelligent fabric congestion detection apparatus and method |
KR100739710B1 (ko) * | 2005-06-14 | 2007-07-13 | 삼성전자주식회사 | 패킷의 손실 타입을 판별하는 방법 및 장치 |
CN101686100B (zh) * | 2008-09-25 | 2013-01-16 | 华为技术有限公司 | 处理丢包的方法、传输质量控制方法、装置及*** |
CN102468941B (zh) * | 2010-11-18 | 2014-07-30 | 华为技术有限公司 | 网络丢包处理方法及装置 |
CN102006230B (zh) * | 2010-11-26 | 2012-10-10 | 中南大学 | 一种有线/无线混合网络中融合三种信息的拥塞控制方法 |
CN102204182B (zh) * | 2010-12-29 | 2013-09-11 | 华为技术有限公司 | 一种数据传输的拥塞控制方法及装置 |
CN103051554B (zh) * | 2013-01-05 | 2015-09-16 | 北京航空航天大学 | 基于吞吐量变化率和ecn机制的tcp拥塞控制方法 |
CN103986548B (zh) * | 2013-02-07 | 2018-02-23 | 华为技术有限公司 | 一种确定丢包原因的方法和终端 |
CN105376172B (zh) * | 2014-08-29 | 2019-01-25 | 华平信息技术股份有限公司 | 一种控制网络拥塞的方法 |
CN105141542B (zh) * | 2015-09-18 | 2019-04-02 | 北京百度网讯科技有限公司 | 基于tcp通信协议的拥塞窗口的控制算法和*** |
CN107800642A (zh) * | 2016-08-31 | 2018-03-13 | 北京金山云网络技术有限公司 | 一种拥塞控制方法及装置 |
CN107800638B (zh) * | 2016-09-05 | 2020-07-31 | 北京金山云网络技术有限公司 | 一种拥塞控制方法及装置 |
CN110505533B (zh) * | 2019-07-09 | 2021-06-01 | 杭州亿圣信息技术有限公司 | 一种tcp视频传输进行误码重传控制的方法 |
-
2020
- 2020-11-27 CN CN202011364924.1A patent/CN112492646B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270682A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信*** |
Also Published As
Publication number | Publication date |
---|---|
CN112492646A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112492646B (zh) | 基于拥塞成因识别的拥塞控制方法及装置 | |
CN111836079B (zh) | 一种视频码流的传输方法及装置 | |
US8001260B2 (en) | Flow-rate adaptation for a connection of time-varying capacity | |
US9762491B2 (en) | Dynamic thresholds for congestion control | |
US8135856B2 (en) | Data streaming through time-varying transport media | |
EP2308199B1 (en) | Flow-rate adaptation for a connection of time-varying capacity | |
US8797850B2 (en) | System and method to adapt to network congestion | |
EP2432175A1 (en) | Method, device and system for self-adaptively adjusting data transmission rate | |
EP2140590B1 (en) | Method of transmitting data in a communication system | |
EP1180876B1 (en) | Marker device adapted to generate and insert a priority within a data packet | |
US10313244B2 (en) | Congestion control within a communication network | |
CN112995048B (zh) | 数据中心网络的阻塞控制与调度融合方法及终端设备 | |
CN106878192B (zh) | 一种自适应mptcp的数据调度方法 | |
CN111726301B (zh) | 一种实时视频中保证视频质量的拥塞控制方法及*** | |
CN111324886A (zh) | 业务请求的处理方法、装置和服务器 | |
US6922396B1 (en) | System and method for managing time sensitive data streams across a communication network | |
JP5434570B2 (ja) | ストリーム配信装置 | |
US20070189305A1 (en) | Packet sending apparatus and packet transmission system | |
CN114143271B (zh) | 一种基于拥塞检测的带宽估算方法及装置 | |
CN114866196B (zh) | 数据包重传方法、装置、电子设备和存储介质 | |
TWI423623B (zh) | Network buffer management methods and computer program products | |
US9148379B1 (en) | Method and system for prioritizing audio traffic in IP networks | |
WO2014101047A1 (zh) | 一种网络丢包类型识别方法、设备及*** | |
JP2000092064A (ja) | 通信システム及びこの通信システムに用いられる可変レート符号化装置 | |
CN115801683A (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 |