CN115914106A - 一种用于网络流量转发的自适应缓冲算法 - Google Patents

一种用于网络流量转发的自适应缓冲算法 Download PDF

Info

Publication number
CN115914106A
CN115914106A CN202211376235.1A CN202211376235A CN115914106A CN 115914106 A CN115914106 A CN 115914106A CN 202211376235 A CN202211376235 A CN 202211376235A CN 115914106 A CN115914106 A CN 115914106A
Authority
CN
China
Prior art keywords
buffer
bandwidth
forwarding
max
traffic
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
Application number
CN202211376235.1A
Other languages
English (en)
Other versions
CN115914106B (zh
Inventor
曹志辉
高一凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Dengli Technology Co ltd
Original Assignee
Hefei Dengli Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei Dengli Technology Co ltd filed Critical Hefei Dengli Technology Co ltd
Priority to CN202211376235.1A priority Critical patent/CN115914106B/zh
Publication of CN115914106A publication Critical patent/CN115914106A/zh
Application granted granted Critical
Publication of CN115914106B publication Critical patent/CN115914106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明公开一种用于网络流量转发的自适应缓冲算法,包括带宽低的A端和带宽高的B端,所述的A端速率为ra,B端速率为rb,即rb>ra,流量从B端向A端转发,所述的B端带宽速率rb大于A端带宽速率ra,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:(1)缓冲区的最大值bmax,(2)流量的周期性拆分,(3)缓冲区控制,采用本发明算法具有以下优先:通过周期性拆分流量,降低了转发缓冲区的峰值大小,并且提高了转发效能;根据传输参数的变化,动态调整缓冲区容量,自适应吞吐量;每条网络数据流单独处理,避免了DoS等少数恶意的流占据大量缓冲区资源的情况。

Description

一种用于网络流量转发的自适应缓冲算法
技术领域
本发明涉及计算机网络流量转发控制技术领域,尤其涉及一种用于网络流量转发的自适应缓冲算法。
背景技术
网络流量转发是计算机网络中一种常见的操作。通常来说,转发过程中,从传输速度较高的一侧向传输速度较低的一侧转发流量时,需要借助缓冲区来平衡两侧的速度差。单一网络流的转发缓冲区一般需要足够大,以满足填满BDP(Bandwidth Delay Product,即带宽与RTT(Round-Trip-Time)的乘积)的需求。而缓冲区一般会借用系统内存,所以缓冲区也不能设置的过大。因此传统的多流缓冲区设计通常会设置两个阈值:“单流最大缓冲区上限”和“所有流合计的缓冲区上限”。
这种设计会带来几个问题:
(1)影响吞吐量和延迟。如果阈值设置得较低,缓冲区不足,会导致高吞吐量的流无法满速传输(无法填满BDP);如果阈值设置过高,会导致低吞吐量的流潜在排队时间过长。
(2)拥塞信号失准。缓冲区满是重要的拥塞信号之一,但是这个信号返回至上游需要至少1RTT(Round-Trip-Time)的时间,因此,对于过大的缓冲区,这会导致拥塞信号延误;而过小的缓冲区无法应对网络波动,容易产生错误的拥塞信号。
(3)拒绝服务攻击(DoS)。少数恶意的流占据大量缓冲区资源,就能触发“所有流合计的缓冲区上限”的限制,导致其他正常的流无法分配到足够的缓冲资源,进而导致总吞吐量下降。
CN 202111213468.5提供了一种流量转发控制方法及基于流量转发控制的诱捕节点,属于网络安全技术领域。发明中攻击流量进入诱捕节点后,先对攻击流量进行分析,获取攻击流量的源IP地址及多种字段为辅的数据分析结果,以攻击源IP地址作为流量标识,并创建对应的临时容器存储攻击流量,根据各临时容器的当前总流量、预设的流量控制阈值以及临时容器的容量,确定临时容器向蜜罐的流量转发速率。其对进入诱捕节点的流量进行标识并创建对应的容器进行临时存储,对攻击流量进行向蜜罐转发的流量控制,使得攻击流量不占用过多带宽,避免影响内网正常业务运行,该发明仍无法解决影响吞吐量和延迟以及拥塞信号失准问题。
CN 201810937440.8公开了一种流量转发控制方法、装置、系统和计算机可读存储介质,涉及网络技术领域。流量转发控制方法包括:获取网络中的通信设备的路由信息和网络状况信息;从路由信息中获取流量转发路径;根据网络状况信息确定流量转发路径的通信能力;根据流量转发路径的通信能力与流量转发需求的匹配结果,确定流量转发路径的流量调度机制;将流量调度机制下发到流量转发路径上的通信设备,以便通信设备按照流量调度机制调度流量。其可以根据流量转发路径的通信能力来灵活地选择符合当前网络状况的流量调度机制,提高了流量转发效率,但无法解决拥塞信号失准和拒绝服务攻击问题。
发明内容
为此,本发明提供一种用于网络流量转发的自适应缓冲算法,依据流的吞吐量和上游延迟状况动态扩增或缩减缓冲区用以克服现有技术中影响吞吐量和延迟、拥塞信号失准以及拒绝服务攻击(DoS)的问题。
为实现上述目的,本发明提供一种用于网络流量转发的自适应缓冲算法,包括带宽低的A端和带宽高的B端,所述的A端速率为ra,B端速率为rb,流量从B端向A端转发,所述的B端带宽速率rb大于A端带宽速率ra,即rb>ra,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:
(1)缓冲区的最大值bmax,设低带宽的A端充分利用其全部带宽,则更高带宽B端所消耗的总时间必然比低带宽的A端更短,若从开始时刻起,高带宽B端就以满速率rb发送流量至缓冲区,低带宽的A端随后把B端发送流量至缓冲区的流量转发,那么在这种情况下,转发节点所需要用到的缓冲区大小的最大值即为最高的;令t1、t2分别表示B端有无流量的时间长度,流量已达到平衡,有rb·t1=ra·(t1+t2),若令T=t1+t2,则
Figure BDA0003926777350000021
因此所需缓冲区最大为bmax=(rb-ra)·t1
由上所述,如果A、B两端同时开始传输数据,最终达到流量平衡,总用时为T,在速率恒定的情况下,计算出缓冲区的最大大小为
Figure BDA0003926777350000031
(2)流量的周期性拆分,对于较大流量的转发,bmax会因所需时间T的增加而变得很大,在有拥塞控制的传输协议中,传输窗口与可用缓冲区容量保持一致,B端可发送的数据量会受到其制约,即若缓冲区扩增较慢或者受阻,则B端发送数据的速度也会受到影响,将全部流量拆分成周期性发送的若干分段,那么每个分段的T值就会降低,所需的bmax也会显著下降;
在转发器给出一个控制信号后,上游在一段单向延迟之后才会收到这个信号并按照它来发送数据,再经一个反方向的单向延迟之后,转发器才会收到新发送的数据;
设转发器和B端的双向延迟均为1RTTB,取每段的时间长度T=1RTTB,则正好可以连接成完整状态,其缓冲区大小也将呈现周期性变化,
Figure BDA0003926777350000032
Figure BDA0003926777350000033
(3)缓冲区控制,在传输过程中,因为转发器两端的速度差,rwnd故从B端看来,整体等效速度为ra,而往返时间则为转发器到B端的数值,即RTTB,因此等效BDP即eBDP可以表示为:eBDP=RTTB·ra
为了提升吞吐量、降低延迟,并提供更及时的拥塞信号,可采取上述周期性流量拆分策略,预测流量变化情况,并提前1RTTB发送缓冲区容量更新信息:
缓冲区占用从周期内最低值或者从0开始增长时,为两个周期之间的交界处,此时开始的这个传输周期序号记为k,通过k-1周期的RTTB以及ra和rb的数值大小,重新计算k+1周期,考虑到往返需要1RTTB的bmax以及t1和t2的值,将rwnd重新赋值为新计算的bmax值,即k+1周期开始传输数据;
本周期开始后,经过k+1周期的t1时间后,将rwnd赋值为零,即控制k+1周期此时刻停止传输数据;
传输开始前应先进行测速,获得RTTB、ra、rb等初始数据,计算bmax并作为rwnd的初始值;
由上述推导可知,
Figure BDA0003926777350000034
即bmax<eBDP,因此,在缓冲区大小被严格控制的情况下,下游A端得以全程保持满速传输,而且缓冲区容量被严格控制在一个不断被更新的但是大小变化有限的bmax之内,也因此避免了DoS等少数恶意的流占据大量缓冲区资源的情况。
进一步,所述的控制算法适用于包含网络流量转发,流量的类型包括但不限于:TCP、HTTP/2隧道、HTTP/3隧道。
进一步,所述的控制算法适用统计复用系统。
进一步,所述的缓冲区控制基于拥塞控制逻辑,即根据拥塞控制,在传输过程中,因为转发器两端的速度差,rwnd不断缩减,直至接近于零,即速度差导致rwnd缩减,B端接收转发器数值调整速率。
进一步,所述的缓冲区控制的缓冲区容量采用动态调整,即bmax之内随RTTB、ra、rb实时数据动态调整。
进一步,所述的拥塞控制其控制逻辑基于拥塞控制B端等效ra和流量周期性拆分。
进一步,所述的转发节点自身不单纯消耗或产生数据。
本发明设计思路针对从高速侧第一网络设备到低速侧第二网络设备的单流转发,需要控制好缓冲区大小与流量的平衡关系,在充分利用低速侧第二网络设备较低带宽的同时,避免缓冲区的过度膨胀。
以转发TCP流量为例:传统的TCP流控过程会采用滑动窗口的方法来表示当前缓冲区状态,其接收窗口(receivewindow,记为rwnd)的初始大小设置为一个系统固定值,即缓冲区大小的初始值(recv_buffer)。在接收B端流量时,转发器会及时更新接收窗口以向上游表示当前剩余缓冲区容量。上游在发送流量时也会根据转发器给出的当前剩余缓冲区容量发出对应容量的数据,不会超出。
本发明有益效果是:采用本发明算法B端向A端流量转发自适应缓冲,具有以下优先:
1.通过周期性拆分流量,降低了转发缓冲区的峰值大小,并且提高了转发效能;
2.根据传输参数的变化,能提前发送准确的拥塞控制信号,并动态调整缓冲区容量,自适应吞吐量;
3.每条网络数据流单独处理,避免了DoS等少数恶意的流占据大量缓冲区资源的情况。
附图说明
图1为本发明流量转发示意图;
图2为本发明流量变化示意图;
图3为本发明缓冲区变化大小示意图;
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
实施例1,一种用于网络流量转发的自适应缓冲算法,包括带宽低的A端和带宽高的B端,所述的A端速率为ra,B端速率为rb,流量从B端向A端转发,所述的B端带宽速率rb大于A端带宽速率ra,即rb>ra,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:
(1)缓冲区的最大值bmax,设低带宽的A端充分利用其全部带宽,则更高带宽B端所消耗的总时间必然比低带宽的A端更短,若从开始时刻起,高带宽B端就以满速率rb发送流量至缓冲区,低带宽的A端随后把B端发送流量至缓冲区的流量转发,那么在这种情况下,转发节点所需要用到的缓冲区大小的最大值即为最高的;令t1、t2分别表示B端有无流量的时间长度,流量已达到平衡,有rb·t1=ra·(t1+t2),若令T=t1+t2,则
Figure BDA0003926777350000051
因此所需缓冲区最大为bmax=(rb-ta)·t1
由上所述,如果A、B两端同时开始传输数据,最终达到流量平衡,总用时为T,在速率恒定的情况下,计算出缓冲区的最大大小为
Figure BDA0003926777350000061
(2)流量的周期性拆分,对于较大流量的转发,bmax会因所需时间T的增加而变得很大,在有拥塞控制的传输协议中,传输窗口与可用缓冲区容量保持一致,B端可发送的数据量会受到其制约,即若缓冲区扩增较慢或者受阻,则B端发送数据的速度也会受到影响,将全部流量拆分成周期性发送的若干分段,那么每个分段的T值就会降低,所需的bmax也会显著下降;
在转发器给出一个控制信号后,上游在一段单向延迟之后才会收到这个信号并按照它来发送数据,再经一个反方向的单向延迟之后,转发器才会收到新发送的数据;
设转发器和B端的双向延迟均为1RTTB,取每段的时间长度T=1RTTB,则正好可以连接成完整状态,其缓冲区大小也将呈现周期性变化,
Figure BDA0003926777350000062
Figure BDA0003926777350000063
(3)缓冲区控制,在传输过程中,因为转发器两端的速度差,rwnd故从B端看来,整体等效速度为ra,而往返时间则为转发器到B端的数值,即RTTB,因此等效BDP即eBDP可以表示为:eBDP=RTTB·ra
为了提升吞吐量、降低延迟,并提供更及时的拥塞信号,可采取上述周期性流量拆分策略,预测流量变化情况,并提前1RTTB发送缓冲区容量更新信息:
缓冲区占用从周期内最低值或者从0开始增长时,为两个周期之间的交界处,此时开始的这个传输周期序号记为k,通过k-1周期的RTTB以及ra和rb的数值大小,重新计算k+1周期,考虑到往返需要1RTTB的bmax以及t1和t2的值,将rwnd重新赋值为新计算的bmax值,即k+1周期开始传输数据;
本周期开始后,经过k+1周期的t1时间后,将rwnd赋值为零,即控制k+1周期此时刻停止传输数据;
传输开始前应先进行测速,获得RTTB、ra、rb等初始数据,计算bmax并作为rwnd的初始值;
由上述推导可知,
Figure BDA0003926777350000071
即bmax<eBDP,因此,在缓冲区大小被严格控制的情况下,下游A端得以全程保持满速传输,而且缓冲区容量被严格控制在一个不断被更新的但是大小变化有限的bmax之内,也因此避免了DoS等少数恶意的流占据大量缓冲区资源的情况。流量的类型为TCP。
实施例2,如图1-3所示,一种用于网络流量转发的自适应缓冲算法,包括带宽低的A端和带宽高的B端,所述的A端速率为ra,B端速率为rb,流量从B端向A端转发,所述的B端带宽速率rb大于A端带宽速率ra,即rb>ra,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:
(1)缓冲区的最大值bmax,设低带宽的A端充分利用其全部带宽,则更高带宽B端所消耗的总时间必然比低带宽的A端更短,若从开始时刻起,高带宽B端就以满速率rb发送流量至缓冲区,低带宽的A端随后把B端发送流量至缓冲区的流量转发,那么在这种情况下,转发节点所需要用到的缓冲区大小的最大值即为最高的;令t1、t2分别表示B端有无流量的时间长度,流量已达到平衡,有rb·t1=ra·(t1+t2),若令T=t1+t2,则
Figure BDA0003926777350000072
因此所需缓冲区最大为bmax=(rb-ra)·t1
由上所述,如果A、B两端同时开始传输数据,最终达到流量平衡,总用时为T,在速率恒定的情况下,计算出缓冲区的最大大小为
Figure BDA0003926777350000073
(2)流量的周期性拆分,对于较大流量的转发,bmax会因所需时间T的增加而变得很大,在有拥塞控制的传输协议中,传输窗口与可用缓冲区容量保持一致,B端可发送的数据量会受到其制约,即若缓冲区扩增较慢或者受阻,则B端发送数据的速度也会受到影响,将全部流量拆分成周期性发送的若干分段,那么每个分段的T值就会降低,所需的bmax也会显著下降;
在转发器给出一个控制信号后,上游在一段单向延迟之后才会收到这个信号并按照它来发送数据,再经一个反方向的单向延迟之后,转发器才会收到新发送的数据;
设转发器和B端的双向延迟均为1RTTB,取每段的时间长度T=1RTTB,则正好可以连接成完整状态,其缓冲区大小也将呈现周期性变化,
Figure BDA0003926777350000074
Figure BDA0003926777350000081
(3)缓冲区控制,在传输过程中,因为转发器两端的速度差,rwnd故从B端看来,整体等效速度为ra,而往返时间则为转发器到B端的数值,即RTTB,因此等效BDP即eBDP可以表示为:eBDP=RTTB·ra
为了提升吞吐量、降低延迟,并提供更及时的拥塞信号,可采取上述周期性流量拆分策略,预测流量变化情况,并提前1RTTB发送缓冲区容量更新信息:
缓冲区占用从周期内最低值或者从0开始增长时,为两个周期之间的交界处,此时开始的这个传输周期序号记为k,通过k-1周期的RTTB以及ra和rb的数值大小,重新计算k+1周期,考虑到往返需要1RTTB的bmax以及t1和t2的值,将rwnd重新赋值为新计算的bmax值,即k+1周期开始传输数据;
本周期开始后,经过k+1周期的t1时间后,将rwnd赋值为零,即控制k+1周期此时刻停止传输数据;
传输开始前应先进行测速,获得RTTB、ra、rb等初始数据,计算bmax并作为rwnd的初始值;
由上述推导可知,
Figure BDA0003926777350000082
即bmax<eBDP,因此,在缓冲区大小被严格控制的情况下,下游A端得以全程保持满速传输,而且缓冲区容量被严格控制在一个不断被更新的但是大小变化有限的bmax之内,也因此避免了DoS等少数恶意的流占据大量缓冲区资源的情况。流量的类型为HTTP/2隧道。
实施例3,如图1-3所示,一种用于网络流量转发的自适应缓冲算法,包括带宽低的A端和带宽高的B端,所述的A端速率为ra,B端速率为rb,流量从B端向A端转发,所述的B端带宽速率rb大于A端带宽速率ra,即rb>ra,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:
(1)缓冲区的最大值bmax,设低带宽的A端充分利用其全部带宽,则更高带宽B端所消耗的总时间必然比低带宽的A端更短,若从开始时刻起,高带宽B端就以满速率rb发送流量至缓冲区,低带宽的A端随后把B端发送流量至缓冲区的流量转发,那么在这种情况下,转发节点所需要用到的缓冲区大小的最大值即为最高的;令t1、t2分别表示B端有无流量的时间长度,流量已达到平衡,有rb·t1=ra·(t1+t2),若令T=t1+t2,则
Figure BDA0003926777350000091
因此所需缓冲区最大为bmax=(rb-ta)·t1
由上所述,如果A、B两端同时开始传输数据,最终达到流量平衡,总用时为T,在速率恒定的情况下,计算出缓冲区的最大大小为
Figure BDA0003926777350000092
(2)流量的周期性拆分,对于较大流量的转发,bmax会因所需时间T的增加而变得很大,在有拥塞控制的传输协议中,传输窗口与可用缓冲区容量保持一致,B端可发送的数据量会受到其制约,即若缓冲区扩增较慢或者受阻,则B端发送数据的速度也会受到影响,将全部流量拆分成周期性发送的若干分段,那么每个分段的T值就会降低,所需的bmax也会显著下降;
在转发器给出一个控制信号后,上游在一段单向延迟之后才会收到这个信号并按照它来发送数据,再经一个反方向的单向延迟之后,转发器才会收到新发送的数据;
设转发器和B端的双向延迟均为1RTTB,取每段的时间长度T=1RTTB,则正好可以连接成完整状态,其缓冲区大小也将呈现周期性变化,
Figure BDA0003926777350000093
Figure BDA0003926777350000094
(3)缓冲区控制,在传输过程中,因为转发器两端的速度差,rwnd故从B端看来,整体等效速度为ra,而往返时间则为转发器到B端的数值,即RTTB,因此等效BDP即eBDP可以表示为:eBDP=RTTB·ra
为了提升吞吐量、降低延迟,并提供更及时的拥塞信号,可采取上述周期性流量拆分策略,预测流量变化情况,并提前1RTTB发送缓冲区容量更新信息:
缓冲区占用从周期内最低值或者从0开始增长时,为两个周期之间的交界处,此时开始的这个传输周期序号记为k,通过k-1周期的RTTB以及ra和rb的数值大小,重新计算k+1周期,考虑到往返需要1RTTB的bmax以及t1和t2的值,将rwnd重新赋值为新计算的bmax值,即k+1周期开始传输数据;
本周期开始后,经过k+1周期的t1时间后,将rwnd赋值为零,即控制k+1周期此时刻停止传输数据;
传输开始前应先进行测速,获得RTTB、ra、rb等初始数据,计算bmax并作为rwnd的初始值;
由上述推导可知,
Figure BDA0003926777350000101
即bmax<eBDP,因此,在缓冲区大小被严格控制的情况下,下游A端得以全程保持满速传输,而且缓冲区容量被严格控制在一个不断被更新的但是大小变化有限的bmax之内,也因此避免了DoS等少数恶意的流占据大量缓冲区资源的情况。流量的类型为HTTP/3隧道。
实施例4,一种用于网络流量转发的自适应缓冲算法,包括带宽低的A端和带宽高的B端,所述的A端速率为ra,B端速率为rb,流量从B端向A端转发,所述的B端带宽速率rb大于A端带宽速率ra,即rb>ra,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:
(1)缓冲区的最大值bmax,设低带宽的A端充分利用其全部带宽,则更高带宽B端所消耗的总时间必然比低带宽的A端更短,若从开始时刻起,高带宽B端就以满速率rb发送流量至缓冲区,低带宽的A端随后把B端发送流量至缓冲区的流量转发,那么在这种情况下,转发节点所需要用到的缓冲区大小的最大值即为最高的;令t1、t2分别表示B端有无流量的时间长度,流量已达到平衡,有rb·t1=ra·(t1+t2),若令T=t1+t2,则
Figure BDA0003926777350000102
因此所需缓冲区最大为bmax=(rb-ta)·t1
由上所述,如果A、B两端同时开始传输数据,最终达到流量平衡,总用时为T,在速率恒定的情况下,计算出缓冲区的最大大小为
Figure BDA0003926777350000103
(2)流量的周期性拆分,对于较大流量的转发,bmax会因所需时间T的增加而变得很大,在有拥塞控制的传输协议中,传输窗口与可用缓冲区容量保持一致,B端可发送的数据量会受到其制约,即若缓冲区扩增较慢或者受阻,则B端发送数据的速度也会受到影响,将全部流量拆分成周期性发送的若干分段,那么每个分段的T值就会降低,所需的bmax也会显著下降;
在转发器给出一个控制信号后,上游在一段单向延迟之后才会收到这个信号并按照它来发送数据,再经一个反方向的单向延迟之后,转发器才会收到新发送的数据;
设转发器和B端的双向延迟均为1RTTB,取每段的时间长度T=1RTTB,则正好可以连接成完整状态,其缓冲区大小也将呈现周期性变化,
Figure BDA0003926777350000111
Figure BDA0003926777350000112
(3)缓冲区控制,在传输过程中,因为转发器两端的速度差,rwnd故从B端看来,整体等效速度为ra,而往返时间则为转发器到B端的数值,即RTTB,因此等效BDP即eBDP可以表示为:eBDP=RTTB·ra
为了提升吞吐量、降低延迟,并提供更及时的拥塞信号,可采取上述周期性流量拆分策略,预测流量变化情况,并提前1RTTB发送缓冲区容量更新信息:
缓冲区占用从周期内最低值或者从0开始增长时,为两个周期之间的交界处,此时开始的这个传输周期序号记为k,通过k-1周期的RTTB以及ra和rb的数值大小,重新计算k+1周期,考虑到往返需要1RTTB的bmax以及t1和t2的值,将rwnd重新赋值为新计算的bmax值,即k+1周期开始传输数据;
本周期开始后,经过k+1周期的t1时间后,将rwnd赋值为零,即控制k+1周期此时刻停止传输数据;
传输开始前应先进行测速,获得RTTB、ra、rb等初始数据,计算bmax并作为rwnd的初始值;
由上述推导可知,
Figure BDA0003926777350000113
即bmax<eBDP,因此,在缓冲区大小被严格控制的情况下,下游A端得以全程保持满速传输,而且缓冲区容量被严格控制在一个不断被更新的但是大小变化有限的bmax之内,也因此避免了DoS等少数恶意的流占据大量缓冲区资源的情况。
所述的控制算法适用统计复用系统。所述的缓冲区控制基于拥塞控制逻辑,即根据拥塞控制,在传输过程中,因为转发器两端的速度差,rwnd不断缩减,直至接近于零,即速度差导致rwnd缩减,B端接收转发器数值调整速率。所述的缓冲区控制的缓冲区容量采用动态调整,即bmax之内随RTTB、ra、rb实时数据动态调整。所述的拥塞控制其控制逻辑基于拥塞控制B端等效ra和流量周期性拆分。所述的转发节点自身不单纯消耗或产生数据。
以转发TCP流量为例:传统的TCP流控过程会采用滑动窗口的方法来表示当前缓冲区状态,其接收窗口(receivewindow,记为rwnd)的初始大小设置为一个系统固定值,即缓冲区大小的初始值(recv_buffer)。在接收B端流量时,转发器会及时更新接收窗口以向上游表示当前剩余缓冲区容量。上游在所消耗时也会根据转发器给出的当前剩余缓冲区容量发出对应容量的数据,不会超出。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (7)

1.一种用于网络流量转发的自适应缓冲算法,其特征是,包括带宽低的A端和带宽高的B端,所述的A端速率为ra,B端速率为rb,流量从B端向A端转发,所述的B端带宽速率rb大于A端带宽速率ra,即rb>ra,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:
(1)缓冲区的最大值bmax,设低带宽的A端充分利用其全部带宽,则更高带宽B端所消耗的总时间必然比低带宽的A端更短,若从开始时刻起,高带宽B端就以满速率rb发送流量至缓冲区,低带宽的A端随后把B端发送流量至缓冲区的流量转发,那么在这种情况下,转发节点所需要用到的缓冲区大小的最大值即为最高的;令t1、t2分别表示B端有无流量的时间长度,流量已达到平衡,有rb·t1=ra·(t1+t2),若令T=t1+t2,则
Figure FDA0003926777340000011
因此所需缓冲区最大为bmax=(rb-ra)·t1
由上所述,如果A、B两端同时开始传输数据,最终达到流量平衡,总用时为T,在速率恒定的情况下,计算出缓冲区的最大大小为
Figure FDA0003926777340000012
(2)流量的周期性拆分,对于较大流量的转发,bmax会因所需时间T的增加而变得很大,在有拥塞控制的传输协议中,传输窗口与可用缓冲区容量保持一致,B端可发送的数据量会受到其制约,即若缓冲区扩增较慢或者受阻,则B端发送数据的速度也会受到影响,将全部流量拆分成周期性发送的若干分段,那么每个分段的T值就会降低,所需的bmax也会显著下降;
在转发器给出一个控制信号后,上游在一段单向延迟之后才会收到这个信号并按照它来发送数据,再经一个反方向的单向延迟之后,转发器才会收到新发送的数据;
设转发器和B端的双向延迟均为1RTTB,取每段的时间长度T=1RTTB,则正好可以连接成完整状态,其缓冲区大小也将呈现周期性变化,
Figure FDA0003926777340000013
Figure FDA0003926777340000014
(3)缓冲区控制,在传输过程中,因为转发器两端的速度差,rwnd故从B端看来,整体等效速度为ra,而往返时间则为转发器到B端的数值,即RTTB,因此等效BDP即eBDP可以表示为:eBDP=RTTB·ra
为了提升吞吐量、降低延迟,并提供更及时的拥塞信号,可采取上述周期性流量拆分策略,预测流量变化情况,并提前1RTTB发送缓冲区容量更新信息:
缓冲区占用从周期内最低值或者从0开始增长时,为两个周期之间的交界处,此时开始的这个传输周期序号记为k,通过k-1周期的RTTB以及ra和rb的数值大小,重新计算k+1周期,考虑到往返需要1RTTB的bmax以及t1和t2的值,将rwnd重新赋值为新计算的bmax值,即k+1周期开始传输数据;
本周期开始后,经过k+1周期的t1时间后,将rwnd赋值为零,即控制k+1周期此时刻停止传输数据;
传输开始前应先进行测速,获得RTTB、ra、rb等初始数据,计算bmax并作为rwnd的初始值;
由上述推导可知,
Figure FDA0003926777340000021
即bmax<eBDP,因此,在缓冲区大小被严格控制的情况下,下游A端得以全程保持满速传输,而且缓冲区容量被严格控制在一个不断被更新的但是大小变化有限的bmax之内,也因此避免了DoS等少数恶意的流占据大量缓冲区资源的情况。
2.根据权利要求1所述的一种用于网络流量转发的自适应缓冲算法,其特征是,所述的控制算法适用于包含网络流量转发,流量的类型包括但不限于:TCP、HTTP/2隧道、HTTP/3隧道。
3.根据权利要求1所述的一种用于网络流量转发的自适应缓冲算法,其特征是,所述的控制算法适用统计复用系统。
4.根据权利要求1所述的一种用于网络流量转发的自适应缓冲算法,其特征是,所述的缓冲区控制基于拥塞控制逻辑,即根据拥塞控制,在传输过程中,因为转发器两端的速度差,rwnd不断缩减,直至接近于零,即速度差导致rwnd缩减,B端接收转发器数值调整速率。
5.根据权利要求1所述的一种用于网络流量转发的自适应缓冲算法,其特征是,所述的缓冲区控制的缓冲区容量采用动态调整,即bmax之内随RTTB、ra、rb实时数据动态调整。
6.根据权利要求1所述的一种用于网络流量转发的自适应缓冲算法,其特征是,所述的拥塞控制其控制逻辑基于拥塞控制B端等效ra和流量周期性拆分。
7.根据权利要求1所述的一种用于网络流量转发的自适应缓冲算法,其特征是,所述的转发节点自身不单纯消耗或产生数据。
CN202211376235.1A 2022-11-04 2022-11-04 一种用于网络流量转发的自适应缓冲方法 Active CN115914106B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211376235.1A CN115914106B (zh) 2022-11-04 2022-11-04 一种用于网络流量转发的自适应缓冲方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211376235.1A CN115914106B (zh) 2022-11-04 2022-11-04 一种用于网络流量转发的自适应缓冲方法

Publications (2)

Publication Number Publication Date
CN115914106A true CN115914106A (zh) 2023-04-04
CN115914106B CN115914106B (zh) 2023-09-19

Family

ID=86482711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211376235.1A Active CN115914106B (zh) 2022-11-04 2022-11-04 一种用于网络流量转发的自适应缓冲方法

Country Status (1)

Country Link
CN (1) CN115914106B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047312B1 (en) * 2000-07-26 2006-05-16 Nortel Networks Limited TCP rate control with adaptive thresholds
CN101557607A (zh) * 2009-05-15 2009-10-14 东南大学 无线传感器网络中汇聚节点的传输控制方法
US20100020686A1 (en) * 2008-07-28 2010-01-28 Cellco Partnership D/B/A Verizon Wireless Dynamic setting of optimal buffer sizes in ip networks
US20130083654A1 (en) * 2011-10-04 2013-04-04 The Chinese University Of Hong Kong Method for link buffer size and queue length estimation for bandwidth-varying mobile data networks
WO2015114466A2 (en) * 2014-01-28 2015-08-06 King Abdullah University Of Science And Technology Buffer sizing for multi-hop networks
CN112954385A (zh) * 2021-01-18 2021-06-11 南京邮电大学 一种基于控制论和数据驱动的自适应分流决策方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047312B1 (en) * 2000-07-26 2006-05-16 Nortel Networks Limited TCP rate control with adaptive thresholds
US20100020686A1 (en) * 2008-07-28 2010-01-28 Cellco Partnership D/B/A Verizon Wireless Dynamic setting of optimal buffer sizes in ip networks
CN101557607A (zh) * 2009-05-15 2009-10-14 东南大学 无线传感器网络中汇聚节点的传输控制方法
US20130083654A1 (en) * 2011-10-04 2013-04-04 The Chinese University Of Hong Kong Method for link buffer size and queue length estimation for bandwidth-varying mobile data networks
WO2015114466A2 (en) * 2014-01-28 2015-08-06 King Abdullah University Of Science And Technology Buffer sizing for multi-hop networks
CN112954385A (zh) * 2021-01-18 2021-06-11 南京邮电大学 一种基于控制论和数据驱动的自适应分流决策方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王建新;李春泉;黄家玮;: "一种基于链路状态自适应的路由器缓存设置算法", 电子学报, no. 09 *
石珊姗;任勇毛;李俊;李灵玲;智江;: "一种基于缓存交互的命名数据网络拥塞控制算法", 高技术通讯, no. 04 *

Also Published As

Publication number Publication date
CN115914106B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
US8437252B2 (en) Intelligent congestion feedback apparatus and method
US6108307A (en) Frame relay priority queses to offer multiple service classes
US7821939B2 (en) Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture
EP1417808B1 (en) Method and system for congestion control in a communications network
US7035220B1 (en) Technique for providing end-to-end congestion control with no feedback from a lossless network
US7200672B2 (en) Flow control system and method
US9054973B2 (en) Method and system for Ethernet congestion management
US20080025217A1 (en) System and Method For Enabling Management Of A Plurality Of Messages In A Communication Network
CN111316605A (zh) 第3层公平速率拥塞控制通知
CN110808884B (zh) 一种网络拥塞控制方法
JP2007201965A (ja) 送信制御機能を備えるパケット中継装置
US9614777B2 (en) Flow control in a network
CN112737964B (zh) 一种融合推拉语义的传输控制方法及系统
CN115460156B (zh) 一种数据中心无损网络拥塞控制方法、装置、设备及介质
CN110868359B (zh) 一种网络拥塞控制方法
US11622028B2 (en) Explicit notification of operative conditions along a network path
CN115914106B (zh) 一种用于网络流量转发的自适应缓冲方法
Farahmand et al. A closed-loop rate-based contention control for optical burst switched networks
Wechta et al. Simulation-based analysis of the interaction of end-to-end and hop-by-hop flow control schemes in packet switching LANs
TWI831622B (zh) 網路流壅塞管理裝置及其方法
KR101365496B1 (ko) Ip 네트워크에서 적응적 트래픽 버퍼링 방법 및 시스템
CN116708300A (zh) 一种拥塞控制方法、设备以及系统
WO2022057462A1 (zh) 拥塞控制方法和装置
Cheng et al. Improving the ramping up behavior of TCP slow start
Peng et al. Fast backward congestion notification mechanism for TCP congestion control

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