CN110120921A - 拥塞避免方法、装置、计算机设备及存储介质 - Google Patents
拥塞避免方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110120921A CN110120921A CN201910394277.XA CN201910394277A CN110120921A CN 110120921 A CN110120921 A CN 110120921A CN 201910394277 A CN201910394277 A CN 201910394277A CN 110120921 A CN110120921 A CN 110120921A
- Authority
- CN
- China
- Prior art keywords
- parameter
- value
- congestion window
- time
- delay
- 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
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/18578—Satellite systems for providing broadband data service to individual earth stations
- H04B7/18584—Arrangements for data networking, i.e. for data packet routing, for congestion control
-
- 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/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
- 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)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及拥塞避免方法、装置、计算机设备及存储介质,该方法包括获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值;计算距离值之和,以得到信道长度;计算当前结点的时延,以得到目标时延;判断目标时延内的分组处理时延是否为最小分组处理时延;若是,则根据目标时延计算最小往返时间值;根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数;根据对比参数以及设定数值计算当前轮次的拥塞窗口,以得到实际拥塞窗口值;根据实际拥塞窗口值判断数据分组是否完成传递;若是,则进入结束步骤;若否,则返回第一步骤。本发明实现使得尽可能避免拥塞丢包的发生,同时又尽可能地提高系统资源利用率,适用于卫星通信网络。
Description
技术领域
本发明涉及数据传输方法,更具体地说是指拥塞避免方法、装置、计算机设备及存储介质。
背景技术
相比于传统的地面光纤接入网络,可靠远程通信网络具有覆盖范围广、可靠性高、部署灵活和多址通信等优势。这些优势促使其在例如海事、军事等领域得到广泛应用。
在可靠远程通信网络中,TCP(传输控制协议,Transmission Control Protocol)数据传输协议同样适用于结点之间的通信。作为一种全连接的可靠数据传输协议,TCP协议将数据分割成若干个数据分组,各个分组按预先的标号顺序发往接收端,接收端按序接收分组,并返回相应的确认信息,即ACK(确认字符,Acknowledgement)。在发送端发送分组的速度过快的情况下,系统会发生拥塞,进而丢弃一些未能及时处理的数据分组。为了保证数据分组的完整有序传送,相继有一些基于TCP的拥塞控制方法例如Tahoe、Sack、Reno和Vegas等)被提出。TCP Vegas拥塞控制机制,能够根据每个轮次网络的吞吐情况,实时地该变拥塞窗口的值。相比于目前广泛应用的TCP Reno,TCP Vegas不仅能够有效地减少拥塞丢包地发生,同时能提升带宽资源的利用率。
然而,由于可靠远程通信网络存在一些特殊性,这些特殊性容易造成以下的问题:
可靠远程通信网络中的结点主要为通信卫星,因此在可靠远程通信网络中,通信结点与地表用户之间由较大的距离(约为2万公里至3.6万公里之间)。同时,高轨道上运行的卫星结点之间也存在很大的通信传输距离,这些距离会产生较高的传播时延;
数据分组传输过程中经常变化的网络拓扑以及在两极上方的结点之间的链路断开和重新连接,会造成网络传输时延不稳定,继而可能导致发送端提前重传数据分组;
复杂的电磁环境和网络拓扑的改变都有可能造成通信的暂时中断。
上述的问题使得TCP Vegas对系统是否发生拥塞难以做出准确判断,进而造成“虚假拥塞”的情况,使得传统的TCP Vegas拥塞控制机制并不能很好地满足于卫星通信网络。
因此,有必要设计一种新的方法,实现适应卫星通信网络环境,尽可能避免拥塞丢包的发生,同时又尽可能地提高系统资源利用率。
发明内容
本发明的目的在于克服现有技术的缺陷,提供拥塞避免方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:拥塞避免方法,包括:
获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值;
计算所述距离值之和,以得到信道长度;
计算当前结点的时延,以得到目标时延;
判断所述目标时延内的分组处理时延是否为最小分组处理时延;
若是,则根据所述目标时延计算最小往返时间值;
根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数;
根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值;
根据所述实际拥塞窗口值判断所述数据分组是否完成传递;
若是,则进入结束步骤;
若否,则返回所述获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值。
其进一步技术方案为:所述计算分组处理时延,以得到目标时延,包括:
根据所述信道长度计算传播时延;
获取所述结点缓存空间的大小,以得到缓存空间值;
根据所述缓存空间值计算排队时延;
获取结点记录接收的时刻值和转发所述数据分组的时刻值;
根据所述结点记录接收的时刻值以及转发所述数据分组的时刻值计算分组处理时延;
将所述分组处理时延、排队时延、传播时延组合,以形成分组处理时延。
其进一步技术方案为:所述根据所述目标时延计算最小往返时间值,包括:
获取目标时延对应的结点的传播时延以及排队时延,以得到目标传播时延以及目标排队时延;
计算分组处理时延、目标传播时延以及目标排队时延之和,以得到最小往返时间值。
其进一步技术方案为:所述根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数,包括:
根据分组处理时延与目标排队时延计算第一参数;
获取当前轮次的拥塞窗口值,以得到当前拥塞窗口值;
获取数据分组从发送到收到确认字符的往返时间,以得到实际往返时间值;
根据所述当前拥塞窗口值以及最小往返时间值计算系统的期望吞吐量;
根据所述当前拥塞窗口值以及实际往返时间值计算实际吞吐量;
根据所述系统的期望吞吐量以及实际吞吐量计算第二参数;
根据第一参数以及第二参数计算对比参数,以得到目标对比参数。
其进一步技术方案为:所述根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值,包括:
设定第三参数以及第四参数;
判断所述第三参数是否不大于目标对比参数且所述目标对比参数不大于第四参数;
若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
若是,则将上一轮次的实际拥塞窗口值加一后与上一轮次的实际拥塞窗口值相除,以得到实际拥塞窗口值;
将第三参数设定为上一轮次的第三参数加一;
将第四参数设定为上一轮次的第三参数加一;
若否,则判断所述第四参数是否大于目标对比参数;
若是,则判断所述当前轮次的所述实际吞吐量是否不大于上一轮次的实际吞吐量;
若是,将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
将第三参数设定为上一轮次的第三参数减一;
将第四参数设定为上一轮次的第三参数减一;
若否,则判断所述第三参数是否大于目标对比参数值;
若第三参数大于目标对比参数值,则判断所述第三参数是否大于一;
若第三参数大于一,则判断所述当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
若所述当前轮次的所述实际吞吐量大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值;
若所述当前轮次的所述实际吞吐量不大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
若第三参数不大于一,则返回所述将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值。
其进一步技术方案为:所述若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量之后,还包括:
将当前轮次的当前拥塞窗口值作为实际拥塞窗口值。
其进一步技术方案为:所述根据所述实际拥塞窗口值判断所述数据分组是否完成传递,包括:
判断所述实际拥塞窗口值对应的轮次是否为数据分组传递的最后轮次;
若是,则所述数据分组完成传递;
若否,则所述数据分组未完成传递。
本发明还提供了拥塞避免装置,包括:
距离值获取单元,用于获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值;
信道长度计算单元,用于计算所述距离值之和,以得到信道长度;
时延获取单元,用于计算当前结点的时延,以得到目标时延;
处理时延判断单元,用于判断所述目标时延内的分组处理时延是否为最小分组处理时延;
最小往返时间值计算单元,用于若是,则根据所述目标时延计算最小往返时间值;
对比参数计算单元,用于根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数;
实际拥塞窗口值获取单元,用于根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值;
传递判断单元,用于根据所述实际拥塞窗口值判断所述数据分组是否完成传递;若是,则进入结束步骤;若否,则返回所述获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过从结点距离计算信道长度,再计算时延,将卫星的远程通信网络中的传播时延和排队时延囊括在内,由多个参数限定不同的目标对比参数具备不同的实际拥塞窗口值计算方式,实现使得尽可能避免拥塞丢包的发生,同时又尽可能地提高系统资源利用率,适用于卫星通信网络。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的拥塞避免方法的应用场景示意图;
图2为本发明实施例提供的拥塞避免方法的流程示意图;
图3为本发明实施例提供的拥塞避免方法的子流程示意图;
图4为本发明实施例提供的拥塞避免方法的子流程示意图;
图5为本发明实施例提供的拥塞避免方法的子流程示意图;
图6为本发明实施例提供的拥塞避免方法的子流程示意图;
图7为本发明实施例提供的拥塞避免方法的子流程示意图;
图8为本发明实施例提供的拥塞避免装置的示意性框图;
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的拥塞避免方法的应用场景示意图。图2为本发明实施例提供的拥塞避免方法的示意性流程图。该拥塞避免应用于服务器中。该服务器与终端进行数据传输,服务器发送数据至终端,发送过程中进行拥塞避免,服务器作为基于TCP协议发送数据分组的发送方;终端作为基于TCP协议接收发送方发来的数据分组的接收方。
图2是本发明实施例提供的拥塞避免方法的流程示意图。如图2所示,该方法包括以下步骤S110至S180。
S110、获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值。
在本实施例中,距离值是指两个结点之间的距离。
具体地,由于可靠远程通信网络对覆盖范围和可靠性的要求,结点主要是卫星。卫星结点之间、卫星结点和地表之间距离较大,因此传播时延是不可忽略的重要部分。通常,传播时延与距离成线性关系,因此首先需要计算结点之间的距离。结点距离计算算法,因此设R为地球半径,hA,hB分别为结点A和B相对于地表的高度。设(aA,bA)和(aB,bB)分别为结点A和B的经纬度坐标。因此可以计算卫星A和B之间的夹角为:θ=arccos(sin bAsin bB+cosbAcos bBcos(aA-aB));结点A和B之间的距离计算为:
S120、计算所述距离值之和,以得到信道长度。
在本实施例中,信道长度计算为通信链路中结点之间距离之和:L=l1+l2+...+ln。
S130、计算当前结点的时延,以得到目标时延。
在本实施例中,目标时延是指结点记录接收的时刻值和转发该数据分组的时刻值的最大差值、卫星传播时延以及整个数据分组传递的排队时延。
在一实施例中,请参阅图3,上述的步骤S130可包括步骤S131~S136。
S131、根据所述信道长度计算传播时延。
时延主要包括结点的处理时延、排队时延、传输时延和传播时延。结点的处理时延和传输时延主要取决于结点的性能。因此假设,在远程通信网络中,传播时延和排队时延是时延产生的主要原因。
在本实施例中,传播时延是指传播数据分组所需的时间。传播时延: 其中,c为光速。
S132、获取所述结点缓存空间的大小,以得到缓存空间值;
S133、根据所述缓存空间值计算排队时延。
在本实施例中,缓存空间值是指结点的缓冲空间的大小,排队时延是指当前数据分组在传递过程中需要在缓存空间内排队等待传递的时间。
具体地,buff为结点缓存空间的大小,v为结点转发分组的速率,通信结点中的排队时延为
S134、获取结点记录接收的时刻值和转发所述数据分组的时刻值;
S135、根据所述结点记录接收的时刻值以及转发所述数据分组的时刻值计算分组处理时延;
S136、将所述分组处理时延、排队时延、传播时延组合,以形成分组处理时延。
为了方便计算,对于每一个数据分组,结点记录接收的时刻tin和转发该数据分组的时刻tout,通信结点中数据分组从进入到转发出的时间(处理时延):TS=tout-tin。
S140、判断所述目标时延内的分组处理时延是否为最小分组处理时延。
若否,则返回所述S140步骤。
在本实施例中,对于数据分组处理时延TS,当结点计算得出的最新TS大于此前的TS时,立即将TS的值替换为最新的值,否则不做改变,即:
其中,t为当前的轮次。
S150、若是,则根据所述目标时延计算最小往返时间值。
在本实施例中,最小往返时间值是指传送一个数据分组的最小往返时间。
在一实施例中,请参阅图4,上述的步骤S150可包括步骤S151~S152。
S151、获取目标时延对应的结点的传播时延以及排队时延,以得到目标传播时延以及目标排队时延;
S152、计算分组处理时延、目标传播时延以及目标排队时延之和,以得到最小往返时间值。
具体地,最小往返时间BRTT=TPD+TS_min+TQD_min,其中,TS_min是指分组处理时延最小值,而TQD_min是指当前目标时延对应的结点的排队时延。
S160、根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数。
在本实施例中,目标对比参数是一个衡量当前时刻数据分组的预期发送速度与实际发送速度之间关系的参数。
拥塞窗口是一个明确但不固定的数,在每一段时间都会更新。目标对比参数Δ是一个衡量当前时刻数据预期发送速度与实际发送速度之间关系的参数,需要保持在一个范围内,过大或过小,都需要立即改变拥塞窗口的值,从而对数据传输速度进行调整。
在一实施例中,请参阅图5,上述的步骤S160可包括步骤S161~S167。
S161、根据分组处理时延与目标排队时延计算第一参数。
在本实施例中,第一参数是用于衡量分组处理时延在整个目标排队时延内的占比。
具体地,上述的第一参数其中,是指分组处理时延,TQD是指目标排队时延。
S162、获取当前轮次的拥塞窗口值,以得到当前拥塞窗口值;
S163、获取数据分组从发送到收到确认字符的往返时间,以得到实际往返时间值;
S164、根据所述当前拥塞窗口值以及最小往返时间值计算系统的期望吞吐量;
S165、根据所述当前拥塞窗口值以及实际往返时间值计算实际吞吐量;
S166、根据所述系统的期望吞吐量以及实际吞吐量计算第二参数。
在本实施例中,第二参数是指系统的期望吞吐量与实际吞吐量的差值,用于衡量数据分组的接收和传递程度。
具体地,设当前轮次t的拥塞窗口为cwnd(t),系统的期望吞吐量为Thex,实际吞吐量为Thac,则:其中,BRTT为传送一个数据分组的最小往返时间;而其中,RTT为一次数据分组从发送到收到确认字符的往返时间,即实际往返时间值;而第二参数为Δ2=Thex-Thac。
拥塞窗口值是随时间变化的函数,具体而言,通信量随着时间的变化而变化。为了使数据速度发送尽可能地达到带宽,避免带宽资源浪费。但是,一旦超过带宽所容忍的发送速度上限,又会出现拥塞,导致丢包,也会出现问题。所有拥塞窗口是在每一时刻都是一个确定的数值,但不同时刻的数值又不同,其作用就是根据当前数据传输速度、数据处理延迟、排队延迟等,动态调整数据发送速率。
S167、根据第一参数以及第二参数计算对比参数,以得到目标对比参数。
在本实施例中,目标对比参数是指目标时延内的分组处理时延在整个目标时延内的目标排队时延内的占比以及系统的期望吞吐量与实际吞吐量的差值的加权之和。
具体地,目标对比参数为当然,于其他实施例,第一参数和第二参数的权重均可以根据实际情况而定。
S170、根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值。
在本实施例中,实际拥塞窗口值是指数据分组传递过程调整后的当前轮次的拥塞衡量数值。
在一实施例中,请参阅图6,上述的步骤S170可包括步骤S170a~S170r。
S170a、设定第三参数以及第四参数。
在本实施例中,第三参数α(t)以及第四参数β(t)是用于衡量上述的目标对比参数所落入的范围,也就是用于衡量当前的拥塞程度。
设置第三参数以及第四参数的初始值α=1,β=3。
S170b、判断所述第三参数是否不大于目标对比参数且所述目标对比参数不大于第四参数;
S170c、若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
S170d、若否,则将当前轮次的当前拥塞窗口值作为实际拥塞窗口值。
S170f、若是,则将上一轮次的实际拥塞窗口值加一后与上一轮次的实际拥塞窗口值相除,以得到实际拥塞窗口值;
S170g、将第三参数设定为上一轮次的第三参数加一;
S170h、将第四参数设定为上一轮次的第三参数加一;
S170i、若否,则判断所述第四参数是否大于目标对比参数;
S170j、若是,则判断所述当前轮次的所述实际吞吐量是否不大于上一轮次的实际吞吐量;
若否,则进入所述步骤S170d;
S170k、若是,将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
S170l、将第三参数设定为上一轮次的第三参数减一;
S170m、将第四参数设定为上一轮次的第三参数减一;
S170n、若否,则判断所述第三参数是否大于一;
S170o、若第三参数大于一,则判断所述当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
S170p、若所述当前轮次的所述实际吞吐量大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值;
S170q、若所述当前轮次的所述实际吞吐量不大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
若第三参数不大于一,则返回所述步骤S170p。
如果α≤Δ≤β,当时,则计算如下:α(t)=α(t-1)+1,β(t)=β(t-1)+1;其中,cwud(t-1)为上一轮次的实际拥塞窗口值;α(t-1)为上一轮次的第三参数值;β(t-1)为上一轮次的第四参数值;为上一轮次的实际吞吐量;如果α≤Δ≤β,当当前轮次t的cwnd(t),α(t)和β(t)等参数较上一轮次t-1不做任何变化,其中,t为当前的轮次。
如果Δ>β,当时,则cwnd(t)=cwnd(t-1)-1,α(t)=α(t-1)-1β(t)=β(t-1)-1,其中,cwud(t-1)为上一轮次的实际拥塞窗口值;α(t-1)为上一轮次的第三参数值;β(t-1)为上一轮次的第四参数值;为上一轮次的实际吞吐量;如果Δ>β,当时,当前轮次t的cwnd(t),α(t)和β(t)等参数较上一轮次t-1不做任何变化。
如果Δ<α,当α>1且时,则cwnd(t)=cwnd(t-1)+1;而α(t)和β(t)等参数较上一轮次t-1不做任何变化;其中,cwud(t-1)为上一轮次的实际拥塞窗口值;为上一轮次的实际吞吐量;当α>1且 时,则cwnd(t)=cwnd(t-1)-1;当α≤1时无论与两者的关系如何,cwnd(t)=cwnd(t-1)+1。
S180、根据所述实际拥塞窗口值判断所述数据分组是否完成传递。
在一实施例中,请参阅图7,上述的步骤S180可包括步骤S181~S183。
S181、判断所述实际拥塞窗口值对应的轮次是否为数据分组传递的最后轮次;
S182、若是,则所述数据分组完成传递;
S183、若否,则所述数据分组未完成传递。
若是,则进入结束步骤;
若否,则返回所述步骤S110。
在现有的TCP Vegas拥塞控制方法的基础上,实现更为高效、更高带宽利用率的基于TCP数据传输的拥塞避免方法。在本实施例中,后续的慢启动、快速重传和快速恢复方法与TCP Vegas原型类似,
上述的拥塞避免方法,通过从结点距离计算信道长度,再计算时延,将卫星的远程通信网络中的传播时延和排队时延囊括在内,由多个参数限定不同的目标对比参数具备不同的实际拥塞窗口值计算方式,实现使得尽可能避免拥塞丢包的发生,同时又尽可能地提高系统资源利用率,适用于卫星通信网络。
图8是本发明实施例提供的一种拥塞避免装置300的示意性框图。如图8所示,对应于以上拥塞避免方法,本发明还提供一种拥塞避免装置300。该拥塞避免装置300包括用于执行上述拥塞避免方法的单元,该装置可以被配置于服务器中。
具体地,请参阅图8,该拥塞避免装置300包括:
距离值获取单元301,用于获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值;
信道长度计算单元302,用于计算所述距离值之和,以得到信道长度;
时延获取单元303,用于计算当前结点的时延,以得到目标时延;
处理时延判断单元304,用于判断所述目标时延内的分组处理时延是否为最小分组处理时延;
最小往返时间值计算单元305,用于若是,则根据所述目标时延计算最小往返时间值;
对比参数计算单元306,用于根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数;
实际拥塞窗口值获取单元307,用于根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值;
传递判断单元308,用于根据所述实际拥塞窗口值判断所述数据分组是否完成传递;若是,则进入结束步骤;若否,则返回所述获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值。
在一实施例中,所述时延获取单元303包括:
传播时延计算子单元,用于根据所述信道长度计算传播时延;
空间值获取子单元,用于获取所述结点缓存空间的大小,以得到缓存空间值;
排队时延计算子单元,用于根据所述缓存空间值计算排队时延;
时刻值获取子单元,用于获取结点记录接收的时刻值和转发所述数据分组的时刻值;
分组处理时延计算子单元,用于根据所述结点记录接收的时刻值以及转发所述数据分组的时刻值计算分组处理时延;
组合子单元,用于将所述分组处理时延、排队时延、传播时延组合,以形成分组处理时延。
在一实施例中,上述的最小往返时间值计算单元305包括:
获取子单元,用于获取目标时延对应的结点的传播时延以及排队时延,以得到目标传播时延以及目标排队时延;
统计子单元,用于计算分组处理时延、目标传播时延以及目标排队时延之和,以得到最小往返时间值。
在一实施例中,所述对比参数计算单元306包括:
第一参数计算子单元,用于根据分组处理时延与目标排队时延计算第一参数;
设定子单元,用于获取当前轮次的拥塞窗口值,以得到当前拥塞窗口值;
往返时间值获取子单元,用于获取数据分组从发送到收到确认字符的往返时间,以得到实际往返时间值;
期望吞吐量计算子单元,用于根据所述当前拥塞窗口值以及最小往返时间值计算系统的期望吞吐量;
实际吞吐量计算子单元,用于根据所述当前拥塞窗口值以及实际往返时间值计算实际吞吐量;
第二参数计算子单元,用于根据所述系统的期望吞吐量以及实际吞吐量计算第二参数;
加权处理子单元,用于根据第一参数以及第二参数计算对比参数,以得到目标对比参数。
在一实施例中,上述的实际拥塞窗口值获取单元307包括:
参数设定子单元,用于设定第三参数以及第四参数;
第一判断子单元,用于判断所述第三参数是否不大于目标对比参数且所述目标对比参数不大于第四参数;
第二判断子单元,用于若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
相除子单元,用于若是,则将上一轮次的实际拥塞窗口值加一后与上一轮次的实际拥塞窗口值相除,以得到实际拥塞窗口值;
第三参数加一子单元,用于将第三参数设定为上一轮次的第三参数加一;
第四参数加一子单元,用于将第四参数设定为上一轮次的第三参数加一;
第三判断子单元,用于若否,则判断所述第四参数是否大于目标对比参数;
第四判断子单元,用于若是,则判断所述当前轮次的所述实际吞吐量是否不大于上一轮次的实际吞吐量;
减一子单元,用于若是,将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
第三参数减一子单元,用于将第三参数设定为上一轮次的第三参数减一;
第四参数减一子单元,用于将第四参数设定为上一轮次的第三参数减一;
第五判断子单元,用于若否,则判断所述第三参数是否大于一;若第三参数不大于一,则返回所述将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值;
第六判断子单元,用于若第三参数大于一,则判断所述当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
窗口值加一子单元,用于若所述当前轮次的所述实际吞吐量大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值;
窗口值减一子单元,用于若所述当前轮次的所述实际吞吐量不大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值。
上述的实际拥塞窗口值获取单元307还包括:
窗口值保持子单元,用于将当前轮次的当前拥塞窗口值作为实际拥塞窗口值。
在一实施例中,上述的传递判断单元308包括轮次判断子单元,所述轮次判断子单元用于判断所述实际拥塞窗口值对应的轮次是否为数据分组传递的最后轮次;若是,则所述数据分组完成传递;若否,则所述数据分组未完成传递。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述拥塞避免装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述拥塞避免装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种拥塞避免方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种拥塞避免方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值;
计算所述距离值之和,以得到信道长度;
计算当前结点的时延,以得到目标时延;
判断所述目标时延内的分组处理时延是否为最小分组处理时延;
若是,则根据所述目标时延计算最小往返时间值;
根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数;
根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值;
根据所述实际拥塞窗口值判断所述数据分组是否完成传递;
若是,则进入结束步骤;
若否,则返回所述获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值。
在一实施例中,处理器502在实现所述计算分组处理时延,以得到目标时延步骤时,具体实现如下步骤:
根据所述信道长度计算传播时延;
获取所述结点缓存空间的大小,以得到缓存空间值;
根据所述缓存空间值计算排队时延;
获取结点记录接收的时刻值和转发所述数据分组的时刻值;
根据所述结点记录接收的时刻值以及转发所述数据分组的时刻值计算分组处理时延;
将所述分组处理时延、排队时延、传播时延组合,以形成分组处理时延。
在一实施例中,处理器502在实现所述根据所述目标时延计算最小往返时间值步骤时,具体实现如下步骤:
获取目标时延对应的结点的传播时延以及排队时延,以得到目标传播时延以及目标排队时延;
计算分组处理时延、目标传播时延以及目标排队时延之和,以得到最小往返时间值。
在一实施例中,处理器502在实现所述根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数步骤时,具体实现如下步骤:
根据分组处理时延与目标排队时延计算第一参数;
获取当前轮次的拥塞窗口值,以得到当前拥塞窗口值;
获取数据分组从发送到收到确认字符的往返时间,以得到实际往返时间值;
根据所述当前拥塞窗口值以及最小往返时间值计算系统的期望吞吐量;
根据所述当前拥塞窗口值以及实际往返时间值计算实际吞吐量;
根据所述系统的期望吞吐量以及实际吞吐量计算第二参数;
根据第一参数以及第二参数计算对比参数,以得到目标对比参数。
在一实施例中,处理器502在实现所述根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值步骤时,具体实现如下步骤:
设定第三参数以及第四参数;
判断所述第三参数是否不大于目标对比参数且所述目标对比参数不大于第四参数;
若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
若是,则将上一轮次的实际拥塞窗口值加一后与上一轮次的实际拥塞窗口值相除,以得到实际拥塞窗口值;
将第三参数设定为上一轮次的第三参数加一;
将第四参数设定为上一轮次的第三参数加一;
若否,则判断所述第四参数是否大于目标对比参数;
若是,则判断所述当前轮次的所述实际吞吐量是否不大于上一轮次的实际吞吐量;
若是,将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
将第三参数设定为上一轮次的第三参数减一;
将第四参数设定为上一轮次的第三参数减一;
若否,则判断所述第三参数是否大于一;
若第三参数大于一,则判断所述当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
若所述当前轮次的所述实际吞吐量大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值;
若所述当前轮次的所述实际吞吐量不大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
若第三参数不大于一,则返回所述将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值。
在一实施例中,处理器502在实现所述若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量步骤之后,还实现如下步骤:
将当前轮次的当前拥塞窗口值作为实际拥塞窗口值。
在一实施例中,处理器502在实现所述根据所述实际拥塞窗口值判断所述数据分组是否完成传递步骤时,具体实现如下步骤:
判断所述实际拥塞窗口值对应的轮次是否为数据分组传递的最后轮次;
若是,则所述数据分组完成传递;
若否,则所述数据分组未完成传递。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值;
计算所述距离值之和,以得到信道长度;
计算当前结点的时延,以得到目标时延;
判断所述目标时延内的分组处理时延是否为最小分组处理时延;
若是,则根据所述目标时延计算最小往返时间值;
根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数;
根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值;
根据所述实际拥塞窗口值判断所述数据分组是否完成传递;
若是,则进入结束步骤;
若否,则返回所述获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值。
在一实施例中,所述处理器在执行所述计算机程序而实现所述计算分组处理时延,以得到目标时延步骤时,具体实现如下步骤:
根据所述信道长度计算传播时延;
获取所述结点缓存空间的大小,以得到缓存空间值;
根据所述缓存空间值计算排队时延;
获取结点记录接收的时刻值和转发所述数据分组的时刻值;
根据所述结点记录接收的时刻值以及转发所述数据分组的时刻值计算分组处理时延;
将所述分组处理时延、排队时延、传播时延组合,以形成分组处理时延。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述目标时延计算最小往返时间值步骤时,具体实现如下步骤:
获取目标时延对应的结点的传播时延以及排队时延,以得到目标传播时延以及目标排队时延;
计算分组处理时延、目标传播时延以及目标排队时延之和,以得到最小往返时间值。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数步骤时,具体实现如下步骤:
根据分组处理时延与目标排队时延计算第一参数;
获取当前轮次的拥塞窗口值,以得到当前拥塞窗口值;
获取数据分组从发送到收到确认字符的往返时间,以得到实际往返时间值;
根据所述当前拥塞窗口值以及最小往返时间值计算系统的期望吞吐量;
根据所述当前拥塞窗口值以及实际往返时间值计算实际吞吐量;
根据所述系统的期望吞吐量以及实际吞吐量计算第二参数;
根据第一参数以及第二参数计算对比参数,以得到目标对比参数。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值步骤时,具体实现如下步骤:
设定第三参数以及第四参数;
判断所述第三参数是否不大于目标对比参数且所述目标对比参数不大于第四参数;
若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
若是,则将上一轮次的实际拥塞窗口值加一后与上一轮次的实际拥塞窗口值相除,以得到实际拥塞窗口值;
将第三参数设定为上一轮次的第三参数加一;
将第四参数设定为上一轮次的第三参数加一;
若否,则判断所述第四参数是否大于目标对比参数;
若是,则判断所述当前轮次的所述实际吞吐量是否不大于上一轮次的实际吞吐量;
若是,将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
将第三参数设定为上一轮次的第三参数减一;
将第四参数设定为上一轮次的第三参数减一;
若否,则判断判断所述第三参数是否大于一;
若第三参数大于一,则判断所述当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
若所述当前轮次的所述实际吞吐量大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值;
若所述当前轮次的所述实际吞吐量不大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
若第三参数不大于一,则返回所述将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值。
在一实施例中,所述处理器在执行所述计算机程序而实现所述若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量步骤之后,还实现如下步骤:
将当前轮次的当前拥塞窗口值作为实际拥塞窗口值。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述实际拥塞窗口值判断所述数据分组是否完成传递步骤时,具体实现如下步骤:
判断所述实际拥塞窗口值对应的轮次是否为数据分组传递的最后轮次;
若是,则所述数据分组完成传递;
若否,则所述数据分组未完成传递。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.拥塞避免方法,其特征在于,包括:
获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值;
计算所述距离值之和,以得到信道长度;
计算当前结点的时延,以得到目标时延;
判断所述目标时延内的分组处理时延是否为最小分组处理时延;
若是,则根据所述目标时延计算最小往返时间值;
根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数;
根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值;
根据所述实际拥塞窗口值判断所述数据分组是否完成传递;
若是,则进入结束步骤;
若否,则返回所述获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值。
2.根据权利要求1所述的拥塞避免方法,其特征在于,所述计算分组处理时延,以得到目标时延,包括:
根据所述信道长度计算传播时延;
获取所述结点缓存空间的大小,以得到缓存空间值;
根据所述缓存空间值计算排队时延;
获取结点记录接收的时刻值和转发所述数据分组的时刻值;
根据所述结点记录接收的时刻值以及转发所述数据分组的时刻值计算分组处理时延;
将所述分组处理时延、排队时延、传播时延组合,以形成分组处理时延。
3.根据权利要求1所述的拥塞避免方法,其特征在于,所述根据所述目标时延计算最小往返时间值,包括:
获取目标时延对应的结点的传播时延以及排队时延,以得到目标传播时延以及目标排队时延;
计算分组处理时延、目标传播时延以及目标排队时延之和,以得到最小往返时间值。
4.根据权利要求3所述的拥塞避免方法,其特征在于,所述根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数,包括:
根据分组处理时延与目标排队时延计算第一参数;
获取当前轮次的拥塞窗口值,以得到当前拥塞窗口值;
获取数据分组从发送到收到确认字符的往返时间,以得到实际往返时间值;
根据所述当前拥塞窗口值以及最小往返时间值计算系统的期望吞吐量;
根据所述当前拥塞窗口值以及实际往返时间值计算实际吞吐量;
根据所述系统的期望吞吐量以及实际吞吐量计算第二参数;
根据第一参数以及第二参数计算对比参数,以得到目标对比参数。
5.根据权利要求1至4任一项所述的拥塞避免方法,其特征在于,所述根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值,包括:
设定第三参数以及第四参数;
判断所述第三参数是否不大于目标对比参数且所述目标对比参数不大于第四参数;
若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
若是,则将上一轮次的实际拥塞窗口值加一后与上一轮次的实际拥塞窗口值相除,以得到实际拥塞窗口值;
将第三参数设定为上一轮次的第三参数加一;
将第四参数设定为上一轮次的第三参数加一;
若否,则判断所述第四参数是否大于目标对比参数;
若是,则判断所述当前轮次的所述实际吞吐量是否不大于上一轮次的实际吞吐量;
若是,将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
将第三参数设定为上一轮次的第三参数减一;
将第四参数设定为上一轮次的第三参数减一;
若否,则判断所述第三参数是否大于一;
若第三参数大于一,则判断所述当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量;
若所述当前轮次的所述实际吞吐量大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值;
若所述当前轮次的所述实际吞吐量不大于上一轮次的实际吞吐量,则将上一轮次的实际拥塞窗口值减一,以得到实际拥塞窗口值;
若第三参数不大于一,则返回所述将上一轮次的实际拥塞窗口值加一,以得到实际拥塞窗口值。
6.根据权利要求5所述的拥塞避免方法,其特征在于,所述若所述第三参数不大于目标对比参数且所述目标对比参数不大于第四参数,则判断当前轮次的所述实际吞吐量是否大于上一轮次的实际吞吐量之后,还包括:
将当前轮次的当前拥塞窗口值作为实际拥塞窗口值。
7.根据权利要求1所述的拥塞避免方法,其特征在于,所述根据所述实际拥塞窗口值判断所述数据分组是否完成传递,包括:
判断所述实际拥塞窗口值对应的轮次是否为数据分组传递的最后轮次;
若是,则所述数据分组完成传递;
若否,则所述数据分组未完成传递。
8.拥塞避免装置,其特征在于,包括:
距离值获取单元,用于获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值;
信道长度计算单元,用于计算所述距离值之和,以得到信道长度;
时延获取单元,用于计算当前结点的时延,以得到目标时延;
处理时延判断单元,用于判断所述目标时延内的分组处理时延是否为最小分组处理时延;
最小往返时间值计算单元,用于若是,则根据所述目标时延计算最小往返时间值;
对比参数计算单元,用于根据最小往返时间值以及目标时延计算对比参数,以得到目标对比参数;
实际拥塞窗口值获取单元,用于根据所述对比参数以及设定数值计算当前轮次的调整后的拥塞窗口,以得到实际拥塞窗口值;
传递判断单元,用于根据所述实际拥塞窗口值判断所述数据分组是否完成传递;若是,则进入结束步骤;若否,则返回所述获取传输数据分组的通信链路中所有结点之间的距离,以得到距离值。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910394277.XA CN110120921B (zh) | 2019-05-13 | 2019-05-13 | 拥塞避免方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910394277.XA CN110120921B (zh) | 2019-05-13 | 2019-05-13 | 拥塞避免方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110120921A true CN110120921A (zh) | 2019-08-13 |
CN110120921B CN110120921B (zh) | 2022-07-01 |
Family
ID=67522262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910394277.XA Active CN110120921B (zh) | 2019-05-13 | 2019-05-13 | 拥塞避免方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110120921B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887014A (zh) * | 2020-10-30 | 2021-06-01 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 卫星链路的拥塞控制方法、装置、终端及介质 |
CN112910789A (zh) * | 2019-12-03 | 2021-06-04 | 华为技术有限公司 | 拥塞控制方法以及相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050165948A1 (en) * | 2004-01-08 | 2005-07-28 | Hicham Hatime | Systems and methods for improving network performance |
US20070121511A1 (en) * | 2005-11-30 | 2007-05-31 | Cisco Technology, Inc. | Transmission control protocol (TCP) congestion control using transmission delay components |
US20070177502A1 (en) * | 2006-02-01 | 2007-08-02 | Nec Corporation | Communication system, communication apparatus, congestion control method used therefor, and program for the method |
CN102083133A (zh) * | 2011-01-25 | 2011-06-01 | 大连大学 | 基于Vegas算法改进的一种卫星网络拥塞控制方法 |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
US20160255005A1 (en) * | 2015-02-26 | 2016-09-01 | Citrix Systems, Inc. | System for bandwidth optimization with initial congestion window determination |
US20170366650A1 (en) * | 2015-03-02 | 2017-12-21 | Huawei Technologies Co., Ltd. | Method and apparatus for sending transmission control protocol tcp data packet and system |
CN107800638A (zh) * | 2016-09-05 | 2018-03-13 | 北京金山云网络技术有限公司 | 一种拥塞控制方法及装置 |
-
2019
- 2019-05-13 CN CN201910394277.XA patent/CN110120921B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050165948A1 (en) * | 2004-01-08 | 2005-07-28 | Hicham Hatime | Systems and methods for improving network performance |
US20070121511A1 (en) * | 2005-11-30 | 2007-05-31 | Cisco Technology, Inc. | Transmission control protocol (TCP) congestion control using transmission delay components |
US20070177502A1 (en) * | 2006-02-01 | 2007-08-02 | Nec Corporation | Communication system, communication apparatus, congestion control method used therefor, and program for the method |
CN102083133A (zh) * | 2011-01-25 | 2011-06-01 | 大连大学 | 基于Vegas算法改进的一种卫星网络拥塞控制方法 |
US20160255005A1 (en) * | 2015-02-26 | 2016-09-01 | Citrix Systems, Inc. | System for bandwidth optimization with initial congestion window determination |
US20170366650A1 (en) * | 2015-03-02 | 2017-12-21 | Huawei Technologies Co., Ltd. | Method and apparatus for sending transmission control protocol tcp data packet and system |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
CN107800638A (zh) * | 2016-09-05 | 2018-03-13 | 北京金山云网络技术有限公司 | 一种拥塞控制方法及装置 |
Non-Patent Citations (1)
Title |
---|
黄葵等: "一种新型的端到端TCP拥塞控制机制", 《计算机工程与应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910789A (zh) * | 2019-12-03 | 2021-06-04 | 华为技术有限公司 | 拥塞控制方法以及相关设备 |
CN112887014A (zh) * | 2020-10-30 | 2021-06-01 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 卫星链路的拥塞控制方法、装置、终端及介质 |
CN112887014B (zh) * | 2020-10-30 | 2022-12-30 | 中科南京移动通信与计算创新研究院 | 卫星链路的拥塞控制方法、装置、终端及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110120921B (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106464598B (zh) | 用于基于传输速率梯度的网络拥塞控制的方法和装置 | |
La et al. | Charge-sensitive TCP and rate control in the Internet | |
Wang et al. | A new congestion control scheme: Slow start and search (Tri-S) | |
JP6991313B2 (ja) | 遅延ベースの伝送経路制御方法、ネットワークコントローラ、およびシステム | |
US8094557B2 (en) | Adaptive fast retransmit threshold to make TCP robust to non-congestion events | |
CN103493449B (zh) | 分组交换网络中的有效电路 | |
CN111817977B (zh) | 一种网络拥塞控制方法和装置 | |
Brown | Resource sharing of TCP connections with different round trip times | |
CN105432046B (zh) | 用于数据流的快速友好启动的方法、装置及介质 | |
CN110073639A (zh) | 分组丢失容忍传输控制协议拥塞控制 | |
EP3652876B1 (en) | Optimisation of network parameters for enabling network coding | |
Bonald | Comparison of TCP Reno and TCP Vegas: efficiency and fairness | |
Gangadhar et al. | TCP Westwood (+) protocol implementation in ns-3 | |
CN110120921A (zh) | 拥塞避免方法、装置、计算机设备及存储介质 | |
CN108322401A (zh) | 网络传输拥塞的控制方法及装置 | |
CN108092908A (zh) | 控制流量的方法和发送端设备 | |
CN106936730A (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
Salah et al. | Performance analysis and comparison of interrupt-handling schemes in gigabit networks | |
Abu et al. | A markov model of CCN pending interest table occupancy with interest timeout and retries | |
CN112787942A (zh) | 一种tcp拥塞控制方法、装置、终端及可读存储介质 | |
CN104780117A (zh) | 一种网络拥塞信息的获取方法和装置 | |
CN102694736A (zh) | 吞吐率的获取方法和装置 | |
CN110199505A (zh) | 确定通信链路的带宽 | |
Kleinrock et al. | Static flow control in store-and-forward computer networks | |
Kulkarni et al. | Analysis of tcp performance in data center networks |
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 |