一种用于网络流量转发的自适应缓冲算法制造技术

技术编号:37160283 阅读:12 留言:0更新日期:2023-04-06 22:24
本发明专利技术公开一种用于网络流量转发的自适应缓冲算法,包括带宽低的A端和带宽高的B端,所述的A端速率为r

【技术实现步骤摘要】
一种用于网络流量转发的自适应缓冲算法


[0001]本专利技术涉及计算机网络流量转发控制
,尤其涉及一种用于网络流量转发的自适应缓冲算法。

技术介绍

[0002]网络流量转发是计算机网络中一种常见的操作。通常来说,转发过程中,从传输速度较高的一侧向传输速度较低的一侧转发流量时,需要借助缓冲区来平衡两侧的速度差。单一网络流的转发缓冲区一般需要足够大,以满足填满BDP(Bandwidth Delay Product,即带宽与RTT(Round

Trip

Time)的乘积)的需求。而缓冲区一般会借用系统内存,所以缓冲区也不能设置的过大。因此传统的多流缓冲区设计通常会设置两个阈值:“单流最大缓冲区上限”和“所有流合计的缓冲区上限”。
[0003]这种设计会带来几个问题:
[0004](1)影响吞吐量和延迟。如果阈值设置得较低,缓冲区不足,会导致高吞吐量的流无法满速传输(无法填满BDP);如果阈值设置过高,会导致低吞吐量的流潜在排队时间过长。
[0005](2)拥塞信号失准。缓冲区满是重要的拥塞信号之一,但是这个信号返回至上游需要至少1RTT(Round

Trip

Time)的时间,因此,对于过大的缓冲区,这会导致拥塞信号延误;而过小的缓冲区无法应对网络波动,容易产生错误的拥塞信号。
[0006](3)拒绝服务攻击(DoS)。少数恶意的流占据大量缓冲区资源,就能触发“所有流合计的缓冲区上限”的限制,导致其他正常的流无法分配到足够的缓冲资源,进而导致总吞吐量下降。
[0007]CN 202111213468.5提供了一种流量转发控制方法及基于流量转发控制的诱捕节点,属于网络安全
专利技术中攻击流量进入诱捕节点后,先对攻击流量进行分析,获取攻击流量的源IP地址及多种字段为辅的数据分析结果,以攻击源IP地址作为流量标识,并创建对应的临时容器存储攻击流量,根据各临时容器的当前总流量、预设的流量控制阈值以及临时容器的容量,确定临时容器向蜜罐的流量转发速率。其对进入诱捕节点的流量进行标识并创建对应的容器进行临时存储,对攻击流量进行向蜜罐转发的流量控制,使得攻击流量不占用过多带宽,避免影响内网正常业务运行,该专利技术仍无法解决影响吞吐量和延迟以及拥塞信号失准问题。
[0008]CN 201810937440.8公开了一种流量转发控制方法、装置、系统和计算机可读存储介质,涉及网络
流量转发控制方法包括:获取网络中的通信设备的路由信息和网络状况信息;从路由信息中获取流量转发路径;根据网络状况信息确定流量转发路径的通信能力;根据流量转发路径的通信能力与流量转发需求的匹配结果,确定流量转发路径的流量调度机制;将流量调度机制下发到流量转发路径上的通信设备,以便通信设备按照流量调度机制调度流量。其可以根据流量转发路径的通信能力来灵活地选择符合当前网络状况的流量调度机制,提高了流量转发效率,但无法解决拥塞信号失准和拒绝服务攻击问题。

技术实现思路

[0009]为此,本专利技术提供一种用于网络流量转发的自适应缓冲算法,依据流的吞吐量和上游延迟状况动态扩增或缩减缓冲区用以克服现有技术中影响吞吐量和延迟、拥塞信号失准以及拒绝服务攻击(DoS)的问题。
[0010]为实现上述目的,本专利技术提供一种用于网络流量转发的自适应缓冲算法,包括带宽低的A端和带宽高的B端,所述的A端速率为r
a
,B端速率为r
b
,流量从B端向A端转发,所述的B端带宽速率r
b
大于A端带宽速率r
a
,即r
b
>r
a
,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:
[0011](1)缓冲区的最大值b
max
,设低带宽的A端充分利用其全部带宽,则更高带宽B端所消耗的总时间必然比低带宽的A端更短,若从开始时刻起,高带宽B端就以满速率r
b
发送流量至缓冲区,低带宽的A端随后把B端发送流量至缓冲区的流量转发,那么在这种情况下,转发节点所需要用到的缓冲区大小的最大值即为最高的;令t1、t2分别表示B端有无流量的时间长度,流量已达到平衡,有r
b
·
t1=r
a
·
(t1+t2),若令T=t1+t2,则因此所需缓冲区最大为b
max
=(r
b

r
a
)
·
t1;
[0012]由上所述,如果A、B两端同时开始传输数据,最终达到流量平衡,总用时为T,在速率恒定的情况下,计算出缓冲区的最大大小为
[0013](2)流量的周期性拆分,对于较大流量的转发,b
max
会因所需时间T的增加而变得很大,在有拥塞控制的传输协议中,传输窗口与可用缓冲区容量保持一致,B端可发送的数据量会受到其制约,即若缓冲区扩增较慢或者受阻,则B端发送数据的速度也会受到影响,将全部流量拆分成周期性发送的若干分段,那么每个分段的T值就会降低,所需的b
max
也会显著下降;
[0014]在转发器给出一个控制信号后,上游在一段单向延迟之后才会收到这个信号并按照它来发送数据,再经一个反方向的单向延迟之后,转发器才会收到新发送的数据;
[0015]设转发器和B端的双向延迟均为1RTT
B
,取每段的时间长度T=1RTT
B
,则正好可以连接成完整状态,其缓冲区大小也将呈现周期性变化,接成完整状态,其缓冲区大小也将呈现周期性变化,
[0016](3)缓冲区控制,在传输过程中,因为转发器两端的速度差,rwnd故从B端看来,整体等效速度为r
a
,而往返时间则为转发器到B端的数值,即RTT
B
,因此等效BDP即eBDP可以表示为:eBDP=RTT
B
·
r
a

[0017]为了提升吞吐量、降低延迟,并提供更及时的拥塞信号,可采取上述周期性流量拆分策略,预测流量变化情况,并提前1RTT
B
发送缓冲区容量更新信息:
[0018]缓冲区占用从周期内最低值或者从0开始增长时,为两个周期之间的交界处,此时开始的这个传输周期序号记为k,通过k

1周期的RTT
B
以及r
a
和r
b
的数值大小,重新计算k+1周期,考虑到往返需要1RTT
B
的b
max
以及t1和t2的值,将rwnd重新赋值为新计算的b
max
值,即k+1周期开始传输数据;
[0019]本周期开始后,经过k+1周期的t1时间后,将rwnd赋值为零,即控制k+1周期此时刻停止传输数据;
[0020]传输开始前应先本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于网络流量转发的自适应缓冲算法,其特征是,包括带宽低的A端和带宽高的B端,所述的A端速率为r
a
,B端速率为r
b
,流量从B端向A端转发,所述的B端带宽速率r
b
大于A端带宽速率r
a
,即r
b
>r
a
,因此进行流量转发时需要利用缓冲区平衡两侧带宽差,其自控制算法具体如下:(1)缓冲区的最大值b
max
,设低带宽的A端充分利用其全部带宽,则更高带宽B端所消耗的总时间必然比低带宽的A端更短,若从开始时刻起,高带宽B端就以满速率r
b
发送流量至缓冲区,低带宽的A端随后把B端发送流量至缓冲区的流量转发,那么在这种情况下,转发节点所需要用到的缓冲区大小的最大值即为最高的;令t1、t2分别表示B端有无流量的时间长度,流量已达到平衡,有r
b
·
t1=r
a
·
(t1+t2),若令T=t1+t2,则因此所需缓冲区最大为b
max
=(r
b

r
a
)
·
t1;由上所述,如果A、B两端同时开始传输数据,最终达到流量平衡,总用时为T,在速率恒定的情况下,计算出缓冲区的最大大小为(2)流量的周期性拆分,对于较大流量的转发,b
max
会因所需时间T的增加而变得很大,在有拥塞控制的传输协议中,传输窗口与可用缓冲区容量保持一致,B端可发送的数据量会受到其制约,即若缓冲区扩增较慢或者受阻,则B端发送数据的速度也会受到影响,将全部流量拆分成周期性发送的若干分段,那么每个分段的T值就会降低,所需的b
max
也会显著下降;在转发器给出一个控制信号后,上游在一段单向延迟之后才会收到这个信号并按照它来发送数据,再经一个反方向的单向延迟之后,转发器才会收到新发送的数据;设转发器和B端的双向延迟均为1RTT
B
,取每段的时间长度T=1RTT
B
,则正好可以连接成完整状态,其缓冲区大小也将呈现周期性变化,完整状态,其缓冲区大小也将呈现周期性变化,(3)缓冲区控制,在传输过程中,因为转发器两端的速度差,rwnd故从B端看来,整体等效速度为r
a
,而往返时间则为转发器到B端的数值,即RTT
B
,因此等效BDP即eBDP可以表示为:eBDP=RTT
B
·
r
a
...

【专利技术属性】
技术研发人员:曹志辉高一凡
申请(专利权)人:合肥登登立科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1