【技术实现步骤摘要】
一种用于网络流量转发的自适应缓冲算法
[0001]本专利技术涉及计算机网络流量转发控制
,尤其涉及一种用于网络流量转发的自适应缓冲算法。
技术介绍
[0002]网络流量转发是计算机网络中一种常见的操作。通常来说,转发过程中,从传输速度较高的一侧向传输速度较低的一侧转发流量时,需要借助缓冲区来平衡两侧的速度差。单一网络流的转发缓冲区一般需要足够大,以满足填满BDP(Bandwidth Delay Product,即带宽与RTT(Round
‑
Trip
‑
Time)的乘积)的需求。而缓冲区一般会借用系统内存,所以缓冲区也不能设置的过大。因此传统的多流缓冲区设计通常会设置两个阈值:“单流最大缓冲区上限”和“所有流合计的缓冲区上限”。
[0003]这种设计会带来几个问题:
[0004](1)影响吞吐量和延迟。如果阈值设置得较低,缓冲区不足,会导致高吞吐量的流无法满速传输(无法填满BDP);如果阈值设置过高,会导致低吞吐量的流潜在排队时间过长。
[0005](2)拥塞信号失准。缓冲区满是重要的拥塞信号之一,但是这个信号返回至上游需要至少1RTT(Round
‑
Trip
‑
Time)的时间,因此,对于过大的缓冲区,这会导致拥塞信号延误;而过小的缓冲区无法应对网络波动,容易产生错误的拥塞信号。
[0006](3)拒绝服务攻击(DoS)。少数恶意的流占据大量缓冲区资源,就能触发“所有流合计的缓冲区上限”的限制,导致其他正常的 ...
【技术保护点】
【技术特征摘要】
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
...
【专利技术属性】
技术研发人员:曹志辉,高一凡,
申请(专利权)人:合肥登登立科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。