CN113300974A - 一种拥塞控制方法、设备及计算机可读介质 - Google Patents
一种拥塞控制方法、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN113300974A CN113300974A CN202010663463.1A CN202010663463A CN113300974A CN 113300974 A CN113300974 A CN 113300974A CN 202010663463 A CN202010663463 A CN 202010663463A CN 113300974 A CN113300974 A CN 113300974A
- Authority
- CN
- China
- Prior art keywords
- congestion
- network connection
- application program
- event
- packet
- 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
- 238000000034 method Methods 0.000 title claims description 59
- 230000009467 reduction Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000015654 memory Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 12
- 230000003993 interaction Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003936 working memory Effects 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种拥塞控制方案,该方案中接收方设备的网卡通过网络连接获取数据包后,若根据数据包确定所述网络连接发生丢包和/或拥塞,会向接收方设备的应用程序返回否认应答包和/或拥塞通知应答包,而发送方设备的网卡在接收到否认应答包或拥塞通知应答包时,会向发送方设备的应用程序通知丢包事件或拥塞事件,使得发送方设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对通过网络连接发送的数据包的流量进行调整。由此,可以将软件和硬件结合,使得不同应用可以获取到当前网络的实际状态,根据自身的需求针对性的做出反馈,调整注入网络连接的流量,调整更加灵活。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种拥塞控制方法、设备及计算机可读介质。
背景技术
DCQCN(Data Center Quantized Congestion Notification)是一种实现网络拥塞控制的机制,DCQCN算法中涉及的参与方如图1所示,包括发送方设备(Sender),接收方设备(Receiver)和交换机(Switch)三个参与方。交换机负责转发从发送方设备到接收方设备的数据包。当交换机中的队列出现拥塞时,交换机在数据包上打上ECN(ExplicitCongestion Notification,显式拥塞通知)标记。当接收方设备的网卡收到带有ECN标记的数据包后,会相应地产生CNP(Congestion Notification Packets,拥塞通知包)通知发送方设备。对于发送方设备的网卡,当收到CNP后,会依据相应的算法来对减小发送窗口,并且在一段时间未收到CNP,会按照相应的算法来快速增加发送窗口,由此实现对拥塞的控制。因此,DCQCN算法可以有效的在网络拥塞时控制发送方设备的吞吐量。
但是,DCQCN算法是一种在网卡上实现的算法,在由发送方设备上的网卡仅能根据网络上的反馈信息发送窗口的大小。对于发送方设备上所有使用网卡发送数据包的应用程序而言,DCQCN算法的调整是全局的,无法感知各个不同的应用程序对于网络的需求。因此,DCQCN算法的灵活性较差,无法针对网络的实际状态,对不同的应用程序采取相应的调整方式来降低网络负载,并避免注入过多数据到网络中。
申请内容
本申请的一个目的是提供一种拥塞控制方案,用以解决现有的拥塞控制方案不够灵活,无法针对不同应用程序单独进行调整的问题。
本申请实施例提供了一种拥塞控制方法,该方法包括:
本端设备的网卡通过网络连接获取对端设备返回的应答包,所述应答包包括否认应答包和/或拥塞通知应答包;
所述本端设备的网卡在接收到否认应答包时向所述本端设备的应用程序通知丢包事件,并在接收到拥塞通知应答包时向所述本端设备的应用程序通知拥塞事件;
所述本端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整。
本申请实施例提供了另一种拥塞控制方法,该方法包括:
本端设备的网卡通过网络连接获取数据包,其中,所述数据包由对端设备的应用程序通过所述对端设备的网卡发送;
所述本端设备的网卡根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞;
所述本端设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述对端设备返回否认应答包和/或拥塞通知应答包,以使所述对端设备的网卡在接收到否认应答包时向所述对端设备的应用程序通知丢包事件,并在接收到拥塞通知应答包时向所述对端设备的应用程序通知拥塞事件,触发所述对端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整。
此外,本申请实施例还提供了一种实现拥塞控制的设备,该设备包括:
收发模块,用于控制本端设备的网卡通过网络连接获取数据包,所述数据包由对端设备的应用程序通过所述对端设备的网卡发送,并在确认所述网络连接发生丢包和/或拥塞时,向所述对端设备返回应答包;以及控制本端设备的网卡通过网络连接获取对端设备返回的应答包,所述应答包包括否认应答包和/或拥塞通知应答包;
通知模块,用于控制所述本端设备的网卡在接收到否认应答包时向所述本端设备的应用程序通知丢包事件,并在接收到拥塞通知应答包时向所述本端设备的应用程序通知拥塞事件;
处理模块,用于控制所述本端设备的网卡根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞;以及控制所述本端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整。
此外,本申请的一些实施例还提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的拥塞控制方法。
本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述的拥塞控制方法。
本申请实施例提供的拥塞控制方案在数据传输过程中,接收方设备的网卡通过网络连接获取数据包后,若根据数据包确定所述网络连接发生丢包和/或拥塞,会向接收方设备的应用程序返回否认应答包和/或拥塞通知应答包,而发送方设备的网卡在接收到否认应答包或拥塞通知应答包时,会向发送方设备的应用程序通知丢包事件或拥塞事件,使得发送方设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对通过网络连接发送的数据包的流量进行调整。由此,可以将软件和硬件结合,使得不同应用可以获取到当前网络的实际状态,根据自身的需求针对性的做出反馈,调整注入网络连接的流量,调整更加灵活。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为拥塞控制方案中涉及的参与方的示意图;
图2为本申请实施例中一种拥塞控制方案中各个参与方的交互示意图;
图3为本申请实施例中另一种拥塞控制方案中各个参与方的交互示意图;
图4为本申请实施例中接收方设备接收到数据包的时间分布示意图;
图5为本申请实施例提供的一种实现拥塞控制的计算设备的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本申请实施例提供了一种拥塞控制方法,该方法可以将软件和硬件结合,使得不同应用可以获取到当前网络的实际状态,根据自身的需求针对性的做出反馈,调整注入网络连接的流量,调整更加灵活。
本申请实施例的方案在实现拥塞控制的过程中,涉及如图1所示的三个参与方,包括发送方设备(Sender),接收方设备(Receiver)和交换机(Switch)。对于任意一个设备而言,在进行数据传输时,既可以作为接收方设备来接收来自对端设备的数据,此时对端设备即为发送方设备,本端设备即为接收方设备,也可以发送方设备向对端设备发送数据,此时对端设备即为接收方设备,本端设备即为发送方设备。
图2示出了本申请实施例提供的一种拥塞控制方法中,各个参与方之间的交互流程,包括以下交互处理步骤:
步骤S201,发送方设备上的应用程序发起数据发送请求,发送方设备上的网卡处理该数据发送请求,将需要发送的数据包通过网络连接发送。对于一条网络连接,其对应的网络路径是确定的,网络路径可以包括由发送方设备起始,经由交换机,到达至接收方设备。对于发送方设备上的不同应用程序可以复用一条网络连接,向同一接收方设备发送数据。
步骤S202,当交换机中的队列发生拥塞时,交换机在数据包上打上ECN标记,使得接收方设备接收到的数据包中包含了ECN标记。在实际场景中,交换机可以根据队列的长度,按照概率分布给待转发的数据包打上ECN标记,队列越长,可以给越多的数据包打上ECN标签,表示拥塞的程度越高,反之,队列越短,可以给越少的数据包打上ECN标签,表示拥塞的程度越低。当拥塞的情况严重时,交换机可能会将接收到的数据包直接丢弃,而不进行转发,由此会导致接收方设备无法接收到的一部分数据包。例如,当发送方设备向接收方设备发送序号为1-6的六个数据包时,若其中序号为3的数据包被丢弃,则会导致接收方设备只能接收到序号为1、2、4、5、6这五个数据包。
步骤S203,接收方设备的网卡通过网络连接获取数据包,并根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞。
由于交换机会在发生拥塞时,为数据包打上ECN标记,因此接收方设备的网卡可以根据接收到的数据包中是否存在ECN标记,来判断传输数据包的该条网络连接中是否发生了拥塞。即接收方设备的网卡检测所述数据包中是否存在由交换机添加的ECN标记,若存在ECN标记,确定所述网络连接发生拥塞。反之,若接收到的数据包中都不包含ECN标记,则表示此时网络连接中未发生拥塞。
对于丢包的情况,可以通过检测数据包的序号来进行判断。接收方设备的网卡可以检测数据包的序号,若存在序号缺失,则可以确定所述网络连接发生了丢包。例如,接收方设备原本应当收到序号为1~6的六个数据包,若只收到其中一部分,另一部分数据包(如数据包3)发生丢失,导致收到的数据包的序号不连续,此时即可确定该网络连接中发生了丢包。
在实际场景中,接收方设备的网卡对于丢包和拥塞的判断可以独立处理,例如可以仅对丢包或拥塞进行单独的检测,也可以同时检测是否发生了拥塞和丢包。
步骤S204,接收方设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述发送方设备返回否认应答包和/或拥塞通知应答包。
当接收方设备的网卡确认所述网络连接发生丢包时,向发送方设备返回否认应答包(NACK,Negative Acknowledge),以通知发送方设备发生了丢包。而当接收方设备的网卡确认所述网络连接发生拥塞时,可以向发送方设备返回一个拥塞通知应答包(CNP,Congestion Notification Packets),以通知发送方设备发生了拥堵。
步骤S205,发送方设备的网卡通过网络连接获取接收方设备返回的应答包,这些应答包中可能包括了否认应答包和/或拥塞通知应答包,当接收到否认应答包时,发送方设备的网卡会向所述发送方设备的应用程序通知丢包事件,而当接收到拥塞通知应答包时,发送方设备的网卡会向所述发送方设备的应用程序通知拥塞事件。
步骤S206,发送方设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整。由此,使用该条网络连接发送数据的不同应用程序,均可以根据实际的需要对自身实际发送的流量进行调整。
在实际场景中,不同的应用程序会可以具有不同的优先级,对于优先级较高的应用程序,可以更加优先的使用网络资源。例如,对于两个不同的应用程序,在需要减少发送流量时,优先级高的应用程序通过该网络连接发送数据包的流量可以调整为原流量的1/2,而优先级低的应用程序通过该网路连接发送数据包的流量可以调整为原流量的1/10,甚至是暂时停止发送数据包。由此,可以使得不同的应用程序在进行流量控制时采用各自不同的调整方式,从而提高拥塞控制的灵活性。
在本申请的一些实施例中,可以预先为不同的应用程序配置对应的流量控制参数,使得每个应用程序在面对网络正常或拥塞时会采取不同的调整策略。由此,发送方设备中的应用程序在获取到事件时,可以根据事件的类型、数量、频率等,结合流量控制参数,计算出下一个发送周期中流量的调整值,从而实现流量的调整。即,发送方设备的应用程序可以根据获取到的所述丢包事件和/或拥塞事件、以及预先为所述应用程序配置的流量控制参数,确定下一发送周期中通过所述网络连接发送的数据包的流量。
例如,若本实施例中减小流量时采用了积式减少(Multiplicative Decrease)的方式,由此为不同的应用程序配置的流量控制参数至少可以包括积式减少时需要使用的调整参数。以两个不同的应用程序为例,在获取了相同频率、相同数量的丢包事件和拥塞事件时,其对应的调整参数可以分别为a和b,即在网络的拥塞程度相同时,两个应用程序将会对流量进行不同程度的调整。
而在确定下一发送周期中通过所述网络连接发送的数据包的流量后,本申请实施例中的发送方设备的应用程序可以在下一发送周期中,通过所述网络连接,根据所述流量发送数据包,从而在避免丢包、减少拥塞的同时,尽量满足不同应用程序的实际需求。
在本申请的另一些实施例中,接收方设备中的应用程序可以主动向发送方设备提供窗口调整信息,来调整数据的发送窗口,由此来对发送方设备通过网络连接发送数据的流量最大值进行限制,实现拥塞控制。图3示出了本申请实施例提供的一种拥塞控制方法中,各个参与方之间的交互流程,包括以下交互处理步骤:
步骤S301,发送方设备上的应用程序发起数据发送请求,发送方设备上的网卡处理该数据发送请求,将需要发送的数据包通过网络连接发送。
步骤S302,当交换机中的队列发生拥塞时,交换机在数据包上打上ECN标记,使得接收方设备接收到的数据包中包含了ECN标记。
步骤S303,接收方设备的网卡通过网络连接获取数据包,并根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞。
步骤S304,所述接收方设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述接收方设备的应用程序通知丢包事件和/或拥塞事件。对于接收方的网卡,可以根据是否发生丢包或拥塞的判断结果,向应用程序进行通知。当前述的判断结果为发生丢包时,向接收方设备的应用程序通知丢包事件,而当前述的判断结果为发生拥塞时,向接收方设备的应用程序通知拥塞事件。
步骤S305,接收方设备的应用程序在接收到丢包事件和/或拥塞事件后,通过所述网络连接向发送方设备发送窗口调整信息。
步骤S306,发送方设备的网卡通过网络连接获取接收方设备发送的窗口调整信息,并根据所述窗口调整信息,对所述网络连接的发送窗口进行调整。
在进行拥塞控制时,接收方设备的应用程序和发送方设备的应用程序可以同时对数据包的发送过程进行调整,其中,接收方方设备的应用程序调整的是发送窗口的大小,即发送方设备的网卡通过所述网络连接发送数据包的最大流量值,而发送方设备的应用程序调整的是该应用程序注入网络连接的流量值,即发送方设备中的某个应用程序通过所述网络连接发送数据包的实际流量值。由此,可以更加灵活地对拥塞的情况进行控制,在避免丢包、减少拥塞的同时,尽量满足不同应用程序的实际需求。
其中,接收方设备的应用程序在确定窗口调整信息时,可以根据统计周期内接收到的丢包事件和/或拥塞事件计算获得。例如,可以通过统计周期内接收到的事件的类型、频率、数量等信息,并结合预先设置的计算规则,计算出在收到相应数量或频率的丢包事件和/或拥塞事件时所对应的窗口调整信息。
以收到拥塞事件的情况为例,接收方设备的应用程序可以采用如下的方式对发送窗口进行调整。
首先,接收方设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,计算所述网络连接的拥塞程度值。例如,本实施例中可以预先设定统计周期为50us,接收方的网卡在该50us内的3us、6us、13us、14us和26us时,分别收到了包含有ECN标记的数据包,并向应用程序通知了对应的拥塞事件。接收方设备的应用程序可以根据拥塞事件在该统计周期的收到的频率或者是数量,确定出网络连接的拥塞程度值。其中,频率越高、数量越多,则表示该条网络连接上的拥塞程度越严重,此时对应的拥塞程度值也越大。
本申请实施例提供了一种确定拥塞程度值的方案,本端设备在作为接收方设备时,可以预先将统计周期划分为多个子周期,例如以50us的统计周期为例,可以按照5us的间隔,将统计周期划分为10个子周期c1~c10。接收方设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,确定接收到拥塞事件的子周期的数量,以前述3us、6us、13us、14us和26us收到的携带有ECN标记的数据包为例,这些数据包的接收时间的分布如图4所示,可以确定接收到拥塞事件的子周期分别为子周期c1、c2、c3和c6,数量为4个,其中子周期c3中包含两个拥塞事件,分别对应13us、14us收到的ECN数据包。
然后,本端设备的应用程序可以将接收到拥塞事件的子周期的数量与子周期的总数量的比值,确定为所述网络连接的拥塞程度值。对于前述50us的统计周期,对应的比值为4/10,由此可以确定网络连接的拥塞程度值为0.4。
在确定拥塞程度值之后,本端设备的应用程序根据所述拥塞程度值,确定所述发送窗口的缩减比例值。当拥塞程度值越大时,发送窗口缩减的幅度也需要越大,即确定一个较大的缩减比例值,反之当拥塞程度值越小时,发送窗口缩减的幅度也可以较小,此时可以确定一个较小的缩减比例值。例如,在本实施例中可以通过如下方式计算缩减比例值:
Dec=1-Con
其中,Dec为缩减比例值,Con为拥塞程度值。根据该计算方式,若拥塞程度值为0.4,则对应的缩减比例值为0.6。
在确定缩减比例值之后,本端设备的应用程序通过所述网络连接向发送方设备发送窗口调整信息。其中,所述窗口调整信息包括所述发送窗口的缩减比例值,以使对端设备(即发送方设备)的网卡根据所述缩减比例值,对所述网络连接的发送窗口进行调整。例如,基于前述0.6这一缩减比例值,接收方设备可以通知发送方设备将发送窗口降低为原来的60%。
在此,本领域技术人员应当理解上述获取拥塞程度值和缩减比例值的具体方式仅为举例,其他现有的或今后可能出现的其它方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。并且,上述方法也可以应用于收到丢包事件或者是同时收到丢包事件和拥塞事件的情况,仅需要对相应的计算规则进行调整即可。
在本申请的另一些实施例中,还提供了一种在丢包情况下更快速地对发送窗口进行调整的方式。该方式中,本端设备作为接收方设备,其应用程序在接收到丢包事件后,生成一快速调整值作为窗口调整信息,并通过所述网络连接向发送方设备发送窗口调整信息。其中,快速调整值无需通过复杂的计算过程获取,仅需要预先完成设定,在网卡检测到有丢包的情况发生并向应用程序通知丢包事件后,直接调取该快速调整值作为窗口调整信息即可,减少了需要基于统计周期的计算过程,能够实现更加快速的调整。例如,本实施例中,可以设定该快速调整值为原发送窗口的一半,此时,当发送方设备的网卡收到窗口调整信息之后,会将发送窗口调整为原来的一半,以此限制后续数据包的发送流量,避免造成更多的丢包。
基于同一发明构思,本申请实施例中还提供了实现拥塞控制的设备,该设备所对应的方法是前述实施例中实现的拥塞控制方法,并且其解决问题的原理与该方法相似。
本申请实施例提供的实现拥塞控制的设备可以将软件和硬件结合,使得不同应用可以获取到当前网络的实际状态,根据自身的需求针对性的做出反馈,调整注入网络连接的流量,调整更加灵活。所述实现拥塞控制的设备可以包括收发模块、通知模块和处理模块,对于任意一个设备而言,在进行数据传输时,既可以作为接收方设备来接收来自对端设备的数据,此时对端设备即为发送方设备,本端设备即为接收方设备,也可以发送方设备向对端设备发送数据,此时对端设备即为接收方设备,本端设备即为发送方设备。
在作为发送数据的发送方设备时,所述实现拥塞控制的设备中的收发模块用于控制发送方设备的网卡通过网络连接获取接收方设备返回的应答包,所述应答包包括否认应答包和/或拥塞通知应答包;通知模块用于控制所述发送方设备的网卡在接收到否认应答包时向所述发送方设备的应用程序通知丢包事件,并在接收到拥塞通知应答包时向所述发送方设备的应用程序通知拥塞事件;处理模块用于控制所述发送方设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对通过所述网络连接发送的数据包的流量进行控制。
而作为接收数据的接收方设备时,所述实现拥塞控制的设备中的收发模块用于控制接收方设备的网卡通过网络连接获取数据包,以及控制所述接收方设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述接收方设备的应用程序返回否认应答包和/或拥塞通知应答包;处理模块用于控制所述接收方设备的网卡根据所述数据包,判断所述网络连接是否发生丢包或拥塞。
图2示出了本申请实施例在实现拥塞控制时各个参与方之间的交互流程,在交互过程中接收方设备和发送方设备在相应模块的控制下,实现至少如下步骤的交互处理:
步骤S201,发送方设备的应用程序发起数据发送请求,发送方设备上的网卡处理该数据发送请求,将需要发送的数据包通过网络连接发送。对于一条网络连接,其对应的网络路径是确定的,网络路径可以包括由发送方设备起始,经由交换机,到达至接收方设备。对于发送方设备上的不同应用程序可以复用一条网络连接,向同一接收方设备发送数据。
步骤S202,当交换机中的队列发生拥塞时,交换机在数据包上打上ECN标记,使得接收方设备接收到的数据包中包含了ECN标记。在实际场景中,交换机可以根据队列的长度,按照概率分布给待转发的数据包打上ECN标记,队列越长,可以给越多的数据包打上ECN标签,表示拥塞的程度越高,反之,队列越短,可以给越少的数据包打上ECN标签,表示拥塞的程度越低。当拥塞的情况严重时,交换机可能会将接收到的数据包直接丢弃,而不进行转发,由此会导致接收方设备无法接收到的一部分数据包。例如,当发送方设备向接收方设备发送序号为1-6的六个数据包时,若其中序号为3的数据包被丢弃,则会导致接收方设备只能接收到序号为1、2、4、5、6这五个数据包。
步骤S203,接收方设备的网卡通过网络连接获取数据包,并根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞。
由于交换机会在发生拥塞时,为数据包打上ECN标记,因此接收方设备的网卡可以根据接收到的数据包中是否存在ECN标记,来判断传输数据包的该条网络连接中是否发生了拥塞。即接收方设备的网卡检测所述数据包中是否存在由交换机添加的ECN标记,若存在ECN标记,确定所述网络连接发生拥塞。反之,若接收到的数据包中都不包含ECN标记,则表示此时网络连接中未发生拥塞。
对于丢包的情况,可以通过检测数据包的序号来进行判断。接收方设备的网卡可以检测数据包的序号,若存在序号缺失,则可以确定所述网络连接发生了丢包。例如,接收方设备原本应当收到序号为1~6的六个数据包,若只收到其中一部分,另一部分数据包(如数据包3)发生丢失,导致收到的数据包的序号不连续,此时即可确定该网络连接中发生了丢包。
在实际场景中,接收方设备的网卡对于丢包和拥塞的判断可以独立处理,例如可以仅对丢包或拥塞进行单独的检测,也可以同时检测是否发生了拥塞和丢包。
步骤S204,接收方设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述发送方设备返回否认应答包和/或拥塞通知应答包。
当接收方设备的网卡确认所述网络连接发生丢包时,向发送方设备返回否认应答包(NACK,Negative Acknowledge),以通知发送方设备发生了丢包。而当接收方设备的网卡确认所述网络连接发生拥塞时,可以向发送方设备返回一个拥塞通知应答包(CNP,Congestion Notification Packets),以通知发送方设备发生了拥堵。
步骤S205,发送方设备的网卡通过网络连接获取接收方设备返回的应答包,这些应答包中可能包括了否认应答包和/或拥塞通知应答包,当接收到否认应答包时,发送方设备的网卡会向所述发送方设备的应用程序通知丢包事件,而当接收到拥塞通知应答包时,发送方设备的网卡会向所述发送方设备的应用程序通知拥塞事件。
步骤S206,发送方设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整。由此,使用该条网络连接发送数据的不同应用程序,均可以根据实际的需要对自身实际发送的流量进行调整。
在实际场景中,不同的应用程序会可以具有不同的优先级,对于优先级较高的应用程序,可以更加优先的使用网络资源。例如,对于两个不同的应用程序,在需要减少发送流量时,优先级高的应用程序通过该网络连接发送数据包的流量可以调整为原流量的1/2,而优先级低的应用程序通过该网路连接发送数据包的流量可以调整为原流量的1/10,甚至是暂时停止发送数据包。由此,可以使得不同的应用程序在进行流量控制时采用各自不同的调整方式,从而提高拥塞控制的灵活性。
在本申请的一些实施例中,可以预先为不同的应用程序配置对应的流量控制参数,使得每个应用程序在面对网络正常或拥塞时会采取不同的调整策略。由此,发送方设备中的应用程序在获取到事件时,可以根据事件的类型、数量、频率等,结合流量控制参数,计算出下一个发送周期中流量的调整值,从而实现流量的调整。即,发送方设备的应用程序可以根据获取到的所述丢包事件和/或拥塞事件、以及预先为所述应用程序配置的流量控制参数,确定下一发送周期中通过所述网络连接发送的数据包的流量。
例如,若本实施例中减小流量时采用了积式减少(Multiplicative Decrease)的方式,由此为不同的应用程序配置的流量控制参数至少可以包括积式减少时需要使用的调整参数。以两个不同的应用程序为例,在获取了相同频率、相同数量的丢包事件和拥塞事件时,其对应的调整参数可以分别为a和b,即在网络的拥塞程度相同时,两个应用程序将会对流量进行不同程度的调整。
而在确定下一发送周期中通过所述网络连接发送的数据包的流量后,本申请实施例中的发送方设备的应用程序可以在下一发送周期中,通过所述网络连接,根据所述流量发送数据包,从而在避免丢包、减少拥塞的同时,尽量满足不同应用程序的实际需求。
在本申请的另一些实施例中,接收方设备中的应用程序可以主动向发送方设备提供窗口调整信息,来调整数据的发送窗口,由此来对发送方设备通过网络连接发送数据的流量最大值进行限制,实现拥塞控制。由此,在本实施例中,接收方设备还可以包括通知模块,该通知模块用于控制所述接收方设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述接收方设备的应用程序发送丢包事件和/或拥塞事件。而收发模块还可以用于控制所述接收方设备的应用程序在接收到丢包事件和/或拥塞事件后,通过所述网络连接向发送方设备发送流量控制信息,以使所述发送方设备的网卡根据所述流量控制信息,对所述网络连接的发送窗口进行调整。
图3示出了本申请的一些实施例在实现另一种方式的拥塞控制时,各个参与方之间的交互流程,在交互过程中接收方设备和发送方设备在相应模块的控制下,实现至少如下步骤的交互处理:
步骤S301,发送方设备上的应用程序发起数据发送请求,发送方设备上的网卡处理该数据发送请求,将需要发送的数据包通过网络连接发送。
步骤S302,当交换机中的队列发生拥塞时,交换机在数据包上打上ECN标记,使得接收方设备接收到的数据包中包含了ECN标记。
步骤S303,接收方设备的网卡通过网络连接获取数据包,并根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞。
步骤S304,所述接收方设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述接收方设备的应用程序通知丢包事件和/或拥塞事件。对于接收方的网卡,可以根据是否发生丢包或拥塞的判断结果,向应用程序进行通知。当前述的判断结果为发生丢包时,向接收方设备的应用程序通知丢包事件,而当前述的判断结果为发生拥塞时,向接收方设备的应用程序通知拥塞事件。
步骤S305,接收方设备的应用程序在接收到丢包事件和/或拥塞事件后,通过所述网络连接向发送方设备发送窗口调整信息。
步骤S306,发送方设备的网卡通过网络连接获取接收方设备发送的窗口调整信息,并根据所述窗口调整信息,对所述网络连接的发送窗口进行调整。
在进行拥塞控制时,接收方设备的应用程序和发送方设备的应用程序可以同时对数据包的发送过程进行调整,其中,接收方方设备的应用程序调整的是发送窗口的大小,即发送方设备的网卡通过所述网络连接发送数据包的最大流量值,而发送方设备的应用程序调整的是该应用程序注入网络连接的流量值,即发送方设备中的某个应用程序通过所述网络连接发送数据包的实际流量值。由此,可以更加灵活地对拥塞的情况进行控制,在避免丢包、减少拥塞的同时,尽量满足不同应用程序的实际需求。
其中,接收方设备的应用程序在确定窗口调整信息时,可以根据统计周期内接收到的丢包事件和/或拥塞事件计算获得。例如,可以通过统计周期内接收到的事件的类型、频率、数量等信息,并结合预先设置的计算规则,计算出在收到相应数量或频率的丢包事件和/或拥塞事件时所对应的窗口调整信息。
以收到拥塞事件的情况为例,接收方设备的收发模块可以控制应用程序可以采用如下的方式对发送窗口进行调整。
首先,接收方设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,计算所述网络连接的拥塞程度值。例如,本实施例中可以预先设定统计周期为50us,接收方的网卡在该50us内的3us、6us、13us、14us和26us时,分别收到了包含有ECN标记的数据包,并向应用程序通知了对应的拥塞事件。接收方设备的应用程序可以根据拥塞事件在该统计周期的收到的频率或者是数量,确定出网络连接的拥塞程度值。其中,频率越高、数量越多,则表示该条网络连接上的拥塞程度越严重,此时对应的拥塞程度值也越大。
本申请实施例提供了一种确定拥塞程度值的方案,在作为接收方设备时,其收发模块可以控制应用程序预先将统计周期划分为多个子周期,例如以50us的统计周期为例,可以按照5us的间隔,将统计周期划分为10个子周期c1~c10。接收方设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,确定接收到拥塞事件的子周期的数量,以前述3us、6us、13us、14us和26us收到的携带有ECN标记的数据包为例,这些数据包的接收时间的分布如图4所示,可以确定接收到拥塞事件的子周期分别为子周期c1、c2、c3和c6,数量为4个,其中子周期c3中包含两个拥塞事件,分别对应13us、14us收到的ECN数据包。
然后,处理模块可以控制应用程序将接收到拥塞事件的子周期的数量与子周期的总数量的比值,确定为所述网络连接的拥塞程度值。对于前述50us的统计周期,对应的比值为4/10,由此可以确定网络连接的拥塞程度值为0.4。
在确定拥塞程度值之后,处理模块可以控制应用程序根据所述拥塞程度值,确定所述发送窗口的缩减比例值。当拥塞程度值越大时,发送窗口缩减的幅度也需要越大,即确定一个较大的缩减比例值,反之当拥塞程度值越小时,发送窗口缩减的幅度也可以较小,此时可以确定一个较小的缩减比例值。例如,在本实施例中可以通过如下方式计算缩减比例值:
Dec=1-Con
其中,Dec为缩减比例值,Con为拥塞程度值。根据该计算方式,若拥塞程度值为0.4,则对应的缩减比例值为0.6。
在确定缩减比例值之后,处理模块可以控制应用程序通过所述网络连接向发送方设备发送窗口调整信息。其中,所述窗口调整信息包括所述发送窗口的缩减比例值,以使所述发送方设备的网卡根据所述缩减比例值,对所述网络连接的发送窗口进行调整。例如,基于前述0.6这一缩减比例值,接收方设备可以通知发送方设备将发送窗口降低为原来的60%。
在此,本领域技术人员应当理解上述获取拥塞程度值和缩减比例值的具体方式仅为举例,其他现有的或今后可能出现的其它方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。并且,上述方法也可以应用于收到丢包事件或者是同时收到丢包事件和拥塞事件的情况,仅需要对相应的计算规则进行调整即可。
在本申请的另一些实施例中,还提供了一种在丢包情况下更快速地对发送窗口进行调整的方式。该方式中,作为接收方设备,其收发模块可以控制应用程序在接收到丢包事件后,生成一快速调整值作为窗口调整信息,并通过所述网络连接向发送方设备发送窗口调整信息。其中,快速调整值无需通过复杂的计算过程获取,仅需要预先完成设定,在网卡检测到有丢包的情况发生并向应用程序通知丢包事件后,直接调取该快速调整值作为窗口调整信息即可,减少了需要基于统计周期的计算过程,能够实现更加快速的调整。例如,本实施例中,可以设定该快速调整值为原发送窗口的一半,此时,当发送方设备的网卡收到窗口调整信息之后,会将发送窗口调整为原来的一半,以此限制后续数据包的发送流量,避免造成更多的丢包。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一些实施例包括一个如图5所示的计算设备,该设备包括存储有计算机可读指令的一个或多个存储器510和用于执行计算机可读指令的处理器520,其中,当该计算机可读指令被该处理器执行时,使得设备可以作为发送方设备或者接收方设备执行基于前述本申请的多个实施例的方法和/或技术方案。
此外,本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (21)
1.一种拥塞控制方法,其中,该方法包括:
本端设备的网卡通过网络连接获取对端设备返回的应答包,所述应答包包括否认应答包和/或拥塞通知应答包;
所述本端设备的网卡在接收到否认应答包时向所述本端设备的应用程序通知丢包事件,并在接收到拥塞通知应答包时向所述本端设备的应用程序通知拥塞事件;
所述本端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整。
2.根据权利要求1所述的方法,其中,所述本端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整,包括:
所述本端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件、以及预先为所述应用程序配置的流量控制参数,确定下一发送周期中所述应用程序通过所述网络连接发送的数据包的流量。
3.根据权利要求2所述的方法,其中,该方法还包括:
所述本端设备的应用程序在下一发送周期中,通过所述网络连接,根据所述流量发送数据包。
4.根据权利要求1所述的方法,其中,该方法还包括:
本端设备的网卡通过网络连接获取对端设备发送的窗口调整信息;
所述本端设备的网卡根据所述窗口调整信息,对所述网络连接的发送窗口进行调整。
5.一种拥塞控制方法,其中,该方法包括:
本端设备的网卡通过网络连接获取数据包,其中,所述数据包由对端设备的应用程序通过所述对端设备的网卡发送;
所述本端设备的网卡根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞;
所述本端设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述对端设备返回否认应答包和/或拥塞通知应答包,以使所述对端设备的网卡在接收到否认应答包时向所述对端设备的应用程序通知丢包事件,并在接收到拥塞通知应答包时向所述对端设备的应用程序通知拥塞事件,触发所述对端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整。
6.根据权利要求5所述的方法,其中,所述本端设备的网卡根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞,包括:
所述本端设备的网卡检测所述数据包的序号,若存在序号缺失,确定所述网络连接发生丢包;
所述本端设备的网卡检测所述数据包中是否存在由交换机添加的显式拥塞通知标记,若存在显式拥塞通知标记,确定所述网络连接发生拥塞。
7.根据权利要求5所述的方法,其中,该方法还包括:
所述本端设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述本端设备的应用程序通知丢包事件和/或拥塞事件;
所述本端设备的应用程序在接收到丢包事件和/或拥塞事件后,通过所述网络连接向对端设备发送窗口调整信息,以使所述对端设备的网卡根据所述窗口调整信息,对所述网络连接的发送窗口进行调整。
8.根据权利要求7所述的方法,其中,所述本端设备的应用程序在接收到丢包事件和/或拥塞事件后,通过所述网络连接向对端设备发送窗口调整信息,以使所述对端设备的网卡根据所述窗口调整信息,对所述网络连接的发送窗口进行调整,包括:
所述本端设备的应用程序在接收到丢包事件后,生成一快速调整值作为窗口调整信息,并通过所述网络连接向对端设备发送窗口调整信息,所述窗口调整信息用于控制所述对端设备的网卡减小所述网络连接的发送窗口。
9.根据权利要求7所述的方法,其中,所述本端设备的应用程序在接收到丢包事件和/或拥塞事件后,通过所述网络连接向对端设备发送窗口调整信息,以使所述对端设备的网卡根据所述窗口调整信息,对所述网络连接的发送窗口进行调整,包括:
所述本端设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,计算所述网络连接的拥塞程度值;
所述本端设备的应用程序根据所述拥塞程度值,确定所述发送窗口的缩减比例值;
所述本端设备的应用程序通过所述网络连接向对端设备发送窗口调整信息,其中,所述窗口调整信息包括所述发送窗口的缩减比例值,以使所述对端设备的网卡根据所述缩减比例值,对所述网络连接的发送窗口进行调整。
10.根据权利要求9所述的方法,其中,所述本端设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,计算所述网络连接的拥塞程度值,包括:
所述本端设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,确定接收到拥塞事件的子周期的数量;
所述本端设备的应用程序将接收到拥塞事件的子周期的数量与子周期的总数量的比值,确定为所述网络连接的拥塞程度值。
11.一种实现拥塞控制的设备,其中,该设备包括:
收发模块,用于控制本端设备的网卡通过网络连接获取数据包,所述数据包由对端设备的应用程序通过所述对端设备的网卡发送,并在确认所述网络连接发生丢包和/或拥塞时,向所述对端设备返回应答包;以及控制本端设备的网卡通过网络连接获取对端设备返回的应答包,所述应答包包括否认应答包和/或拥塞通知应答包;
通知模块,用于控制所述本端设备的网卡在接收到否认应答包时向所述本端设备的应用程序通知丢包事件,并在接收到拥塞通知应答包时向所述本端设备的应用程序通知拥塞事件;
处理模块,用于控制所述本端设备的网卡根据所述数据包,判断所述网络连接是否发生丢包和/或拥塞;以及控制所述本端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件,对所述应用程序通过所述网络连接发送的数据包的流量进行调整。
12.根据权利要求11所述的设备,其中,所述处理模块,用于控制所述本端设备的应用程序根据获取到的所述丢包事件和/或拥塞事件、以及预先为所述应用程序配置的流量控制参数,确定下一发送周期中所述应用程序通过所述网络连接发送的数据包的流量。
13.根据权利要求12所述的设备,其中,所述收发模块,还用于控制所述本端设备的应用程序在下一发送周期中,通过所述网络连接,根据所述流量发送数据包。
14.根据权利要求11所述的设备,其中,所述收发模块,还用于控制本端设备的网卡通过网络连接获取对端设备发送的窗口调整信息;
所述处理模块,还用于控制所述本端设备的网卡根据所述窗口调整信息,对所述网络连接的发送窗口进行调整。
15.根据权利要求11所述的设备,其中,所述处理模块,用于控制所述本端设备的网卡检测所述数据包的序号,若存在序号缺失,确定所述网络连接发生丢包;以及控制所述本端设备的网卡检测所述数据包中是否存在由交换机添加的显式拥塞通知标记,若存在显式拥塞通知标记,确定所述网络连接发生拥塞。
16.根据权利要求11所述的设备,其中,所述通知模块,还用于控制所述本端设备的网卡在确认所述网络连接发生丢包和/或拥塞时,向所述本端设备的应用程序通知丢包事件和/或拥塞事件;
所述收发模块,还用于控制所述本端设备的应用程序在接收到丢包事件和/或拥塞事件后,通过所述网络连接向对端设备发送窗口调整信息,以使所述对端设备的网卡根据所述窗口调整信息,对所述网络连接的发送窗口进行调整。
17.根据权利要求16所述的设备,其中,所述收发模块,用于控制所述本端设备的应用程序在接收到丢包事件后,生成一快速调整值作为窗口调整信息,并通过所述网络连接向对端设备发送窗口调整信息,所述窗口调整信息用于控制所述对端设备的网卡减小所述网络连接的发送窗口。
18.根据权利要求16所述的设备,其中,所述收发模块,用于控制所述本端设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,计算所述网络连接的拥塞程度值;控制所述本端设备的应用程序根据所述拥塞程度值,确定所述发送窗口的缩减比例值;以及控制所述本端设备的应用程序通过所述网络连接向对端设备发送窗口调整信息,其中,所述窗口调整信息包括所述发送窗口的缩减比例值,以使所述对端设备的网卡根据所述缩减比例值,对所述网络连接的发送窗口进行调整。
19.根据权利要求18所述的设备,其中,所述收发模块,用于控制所述本端设备的应用程序在接收到拥塞事件后,根据统计周期内接收到的拥塞事件,确定接收到拥塞事件的子周期的数量;以及控制所述本端设备的应用程序将接收到拥塞事件的子周期的数量与子周期的总数量的比值,确定为所述网络连接的拥塞程度值。
20.一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至10中任一项所述的方法。
21.一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010663463.1A CN113300974B (zh) | 2020-07-10 | 2020-07-10 | 一种拥塞控制方法、设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010663463.1A CN113300974B (zh) | 2020-07-10 | 2020-07-10 | 一种拥塞控制方法、设备及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300974A true CN113300974A (zh) | 2021-08-24 |
CN113300974B CN113300974B (zh) | 2024-04-26 |
Family
ID=77318343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010663463.1A Active CN113300974B (zh) | 2020-07-10 | 2020-07-10 | 一种拥塞控制方法、设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300974B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726677A (zh) * | 2021-11-02 | 2021-11-30 | 阿里云计算有限公司 | 一种网络拥塞控制方法及设备 |
CN114938354A (zh) * | 2022-06-24 | 2022-08-23 | 北京有竹居网络技术有限公司 | 拥塞控制的方法、装置、设备和存储介质 |
CN116915722A (zh) * | 2023-09-12 | 2023-10-20 | 珠海星云智联科技有限公司 | 一种网络拥塞调节方法、装置、计算设备及可读存储介质 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990041651A (ko) * | 1997-11-24 | 1999-06-15 | 유기범 | 프로세서간 통신 통계 데이터 수집 방법 |
US6125397A (en) * | 1997-06-03 | 2000-09-26 | Fuji Xerox Co., Ltd. | Data transfer apparatus and method using congestion recovery-type and congestion avoidance-type data transfers |
US6741555B1 (en) * | 2000-06-14 | 2004-05-25 | Nokia Internet Communictions Inc. | Enhancement of explicit congestion notification (ECN) for wireless network applications |
US20060193261A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Unified congestion notification mechanism for reliable and unreliable protocols by augmenting ECN |
CN102377588A (zh) * | 2010-08-13 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 网络传输控制方法和系统 |
CN102792648A (zh) * | 2010-01-11 | 2012-11-21 | 捷讯研究有限公司 | 在通信系统中以显式拥塞通知进行拥塞等级指示 |
CN103051555A (zh) * | 2013-01-05 | 2013-04-17 | 北京航空航天大学 | 基于网络有效带宽和ecn机制的tcp拥塞控制方法 |
US20140003242A1 (en) * | 2011-03-10 | 2014-01-02 | Telefonaktiebolaget L M Ericsson (Publ) | Hybrid congestion control |
CN103795643A (zh) * | 2014-01-28 | 2014-05-14 | 广西大学 | 数据中心网络中处理同步优先级突发流的方法 |
CN103986715A (zh) * | 2014-05-21 | 2014-08-13 | 海信集团有限公司 | 一种网络流量控制的方法及装置 |
CN104052681A (zh) * | 2014-06-25 | 2014-09-17 | 中国联合网络通信集团有限公司 | 流量控制方法和装置 |
CN104917694A (zh) * | 2015-06-15 | 2015-09-16 | 上海斐讯数据通信技术有限公司 | 一种基于优先级的流量控制方法 |
CN105187321A (zh) * | 2015-06-08 | 2015-12-23 | 中国联合网络通信集团有限公司 | 控制流量的方法及装置 |
CN106341337A (zh) * | 2016-08-31 | 2017-01-18 | 上海交通大学 | 一种sdn下可实现应用感知的流量检测与控制机构及方法 |
CN107743096A (zh) * | 2017-10-13 | 2018-02-27 | 北京小米移动软件有限公司 | 网络优化方法、装置、终端以及存储介质 |
CN108540400A (zh) * | 2018-03-20 | 2018-09-14 | 珠海市魅族科技有限公司 | 一种数据传输控制方法、控制装置、终端及可读存储介质 |
CN108965151A (zh) * | 2018-08-27 | 2018-12-07 | 华中科技大学 | 一种基于排队时延的显式拥塞控制方法 |
CN109120544A (zh) * | 2018-09-30 | 2019-01-01 | 华中科技大学 | 一种数据中心网络中基于主机端流量调度的传输控制方法 |
CN109347762A (zh) * | 2018-10-26 | 2019-02-15 | 平安科技(深圳)有限公司 | 跨地域出口流量调配方法、装置、计算机设备及存储介质 |
CN110311869A (zh) * | 2018-03-27 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 网络优化的方法、装置和电子设备 |
-
2020
- 2020-07-10 CN CN202010663463.1A patent/CN113300974B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125397A (en) * | 1997-06-03 | 2000-09-26 | Fuji Xerox Co., Ltd. | Data transfer apparatus and method using congestion recovery-type and congestion avoidance-type data transfers |
KR19990041651A (ko) * | 1997-11-24 | 1999-06-15 | 유기범 | 프로세서간 통신 통계 데이터 수집 방법 |
US6741555B1 (en) * | 2000-06-14 | 2004-05-25 | Nokia Internet Communictions Inc. | Enhancement of explicit congestion notification (ECN) for wireless network applications |
US20060193261A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Unified congestion notification mechanism for reliable and unreliable protocols by augmenting ECN |
CN102792648A (zh) * | 2010-01-11 | 2012-11-21 | 捷讯研究有限公司 | 在通信系统中以显式拥塞通知进行拥塞等级指示 |
CN102377588A (zh) * | 2010-08-13 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 网络传输控制方法和系统 |
US20140003242A1 (en) * | 2011-03-10 | 2014-01-02 | Telefonaktiebolaget L M Ericsson (Publ) | Hybrid congestion control |
CN103051555A (zh) * | 2013-01-05 | 2013-04-17 | 北京航空航天大学 | 基于网络有效带宽和ecn机制的tcp拥塞控制方法 |
CN103795643A (zh) * | 2014-01-28 | 2014-05-14 | 广西大学 | 数据中心网络中处理同步优先级突发流的方法 |
CN103986715A (zh) * | 2014-05-21 | 2014-08-13 | 海信集团有限公司 | 一种网络流量控制的方法及装置 |
CN104052681A (zh) * | 2014-06-25 | 2014-09-17 | 中国联合网络通信集团有限公司 | 流量控制方法和装置 |
CN105187321A (zh) * | 2015-06-08 | 2015-12-23 | 中国联合网络通信集团有限公司 | 控制流量的方法及装置 |
CN104917694A (zh) * | 2015-06-15 | 2015-09-16 | 上海斐讯数据通信技术有限公司 | 一种基于优先级的流量控制方法 |
CN106341337A (zh) * | 2016-08-31 | 2017-01-18 | 上海交通大学 | 一种sdn下可实现应用感知的流量检测与控制机构及方法 |
CN107743096A (zh) * | 2017-10-13 | 2018-02-27 | 北京小米移动软件有限公司 | 网络优化方法、装置、终端以及存储介质 |
CN108540400A (zh) * | 2018-03-20 | 2018-09-14 | 珠海市魅族科技有限公司 | 一种数据传输控制方法、控制装置、终端及可读存储介质 |
CN110311869A (zh) * | 2018-03-27 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 网络优化的方法、装置和电子设备 |
CN108965151A (zh) * | 2018-08-27 | 2018-12-07 | 华中科技大学 | 一种基于排队时延的显式拥塞控制方法 |
CN109120544A (zh) * | 2018-09-30 | 2019-01-01 | 华中科技大学 | 一种数据中心网络中基于主机端流量调度的传输控制方法 |
CN109347762A (zh) * | 2018-10-26 | 2019-02-15 | 平安科技(深圳)有限公司 | 跨地域出口流量调配方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
曾晶萍;杨文俊;彭力;秦肖臻;汪秉文;: "TCP友好速率控制协议的分析及应用", 计算机技术与发展, no. 01 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726677A (zh) * | 2021-11-02 | 2021-11-30 | 阿里云计算有限公司 | 一种网络拥塞控制方法及设备 |
CN113726677B (zh) * | 2021-11-02 | 2022-04-12 | 阿里云计算有限公司 | 一种网络拥塞控制方法及设备 |
CN114938354A (zh) * | 2022-06-24 | 2022-08-23 | 北京有竹居网络技术有限公司 | 拥塞控制的方法、装置、设备和存储介质 |
CN116915722A (zh) * | 2023-09-12 | 2023-10-20 | 珠海星云智联科技有限公司 | 一种网络拥塞调节方法、装置、计算设备及可读存储介质 |
CN116915722B (zh) * | 2023-09-12 | 2023-12-19 | 珠海星云智联科技有限公司 | 一种网络拥塞调节方法、装置、计算设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113300974B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113300974A (zh) | 一种拥塞控制方法、设备及计算机可读介质 | |
JP4101993B2 (ja) | 有線無線混在網データ配信装置及び有線無線混在網データ配信方法 | |
US7583666B2 (en) | Protocol information processing system and method information processing device and method recording medium and program | |
US9143450B2 (en) | Communication system and method for assisting with the transmission of TCP packets | |
KR101046105B1 (ko) | 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템 | |
CN107979449B (zh) | 一种数据传输方法及装置 | |
JP4708978B2 (ja) | 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル | |
US7693058B2 (en) | Method for enhancing transmission quality of streaming media | |
WO2016045332A1 (zh) | 编码参数的调整、反馈信息的处理方法及装置 | |
CN103269260A (zh) | 数据传输方法、数据接收端、数据发送端和数据传输系统 | |
CN111953454B (zh) | 丢包重传方法、设备及存储介质 | |
EP2204016A1 (en) | Efficient flow control in a radio network controller (rnc) | |
US9680754B2 (en) | Controlling transmission of data | |
JP4402619B2 (ja) | マルチキャスト通信フロー制御方法および装置 | |
US8811180B2 (en) | Communication apparatus and communication method | |
CN108353074A (zh) | 用于多方会议中的拥塞控制的方法、多点控制单元、计算机程序和计算机程序产品 | |
CN110233856B (zh) | 报文处理方法、装置及计算机可读存储介质 | |
JP3520793B2 (ja) | 誤り補償方法、並びに該方法を用いた誤り補償装置 | |
JP2002325095A (ja) | データ通信システム、データ送信装置及びデータ通信方法 | |
CN102638392B (zh) | 数据传输方法及设备、系统 | |
CN116233002A (zh) | 一种数据包发送方法、接收方法、报文发送方法和产品 | |
CN110417897B (zh) | 一种区块链分域触发方法、区块链节点设备和终端 | |
JPH05260090A (ja) | 映像転送方式 | |
CN114339829B (zh) | 一种基于丢包类型识别的吞吐补偿方法和装置 | |
JP2009246533A (ja) | 通信端末、通信方法、データ通信システム、およびプログラム |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40059124 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |