当前位置: 首页 > 专利查询>南京大学专利>正文

一种应用于园区网络的拥塞控制方法技术

技术编号:34773773 阅读:16 留言:0更新日期:2022-08-31 19:41
本发明专利技术公开了一种应用于园区网络的拥塞控制方法,包括步骤1:接入点AP设备获取链路容量信息与缓冲区队列长度信息,并计算目标速率;步骤2:AP为每个经过AP的数据包进行流识别,建立流表,并根据目标速率计算每条流的窗口值;步骤3:AP修改返回的ACK的接收窗口值,填入流表中对应流的窗口值;步骤4:发送端执行拥塞控制:收到返回的ACK后,使用ACK中的接收窗口值和自身维护的拥塞窗口值中的最小值作为发送窗口大小,实现园区网络的拥塞控制本发明专利技术可以有效控制园区网中网络设备缓冲区的队列长度,在保证高带宽利用率的同时显著减小时延,并且使得流间具备公平性和快速收敛性。并且使得流间具备公平性和快速收敛性。并且使得流间具备公平性和快速收敛性。

【技术实现步骤摘要】
一种应用于园区网络的拥塞控制方法


[0001]本专利技术属于网络通讯
,具体涉及一种应用于园区网络的拥塞控制方法。

技术介绍

[0002]园区网络(Campus Network)是连接多个建筑物的计算机网络,由有限地理区域内的两个或多个局域网组成。园区网作为企业或组织的内部网络被广泛部署,在网络市场占有重要地位。园区网络可以是大学园区网络(例如斯坦福大学网络)或企业园区网络(例如Googleplex和微软园区网络)。
[0003]园区网络中的网络设备(交换机、路由器等)和传输介质(光纤、铜线、双绞线等)几乎完全归园区租户/业主所有。园区网通常采用高速以太网链路互联,用于提高企业协作、生产和运营效率,加速创新。
[0004]在园区网络中,大量实时通讯应用正开始被广泛应用,如实时视频、实时项目管理等。应用的变化一方面带来了对网络的低延迟和高带宽的需求,减少网络延迟可以提高效率以及用户体验,为企业带来更高的收益。另一方面,对于长流,有着对网络的高利用率要求,因此这些长流的高吞吐量与低延迟一样重要。总而言之,企业和组织的应用和基于网络的服务要求园区网络提供低延迟和大带宽。
[0005]作为因特网的一部分,TCP流主导着园区网络流量。当今在终端主机设备中广泛部署的TCP拥塞控制算法,如NewReno、Cubic等,大部分都是基于丢包的。这些协议努力提高大BDP路径上的TCP性能。它们在交换机缓冲区中不断建立队列,直到溢出并丢弃数据包,从而充分利用链路容量。然而,这些基于丢包的拥塞控制协议不再适用于园区网络。长而贪婪的TCP流将导致瓶颈队列的长度增加,直到发生丢包。长队列将减少用于吸收突发的可用缓冲区空间量并对缓冲区施加巨大压力。在这种情况下,突发时很容易丢包,从而引入高延迟并降低吞吐量,影响应用程序性能。另外,当大流和短流并存时,交换机中长队列的建立损害了短流对低延迟的需求,即使没有丢包。
[0006]由于设计空间有限,最小化队列长度以实现高吞吐和低时延是非常困难的。园区网中的大多数终端主机设备通常是个人用户设备,例如手机和笔记本电脑。在这些终端主机设备上部署定制的协议栈或对原始协议栈进行任何修改是不切实际的。除此之外,现有技术也不能为路由器/交换机更改太多,否则会给部署带来很大的困难。
[0007]现有的方法有各种限制,不符合我们的设计要求。为了减少延迟,已经提出了一些基于延迟的拥塞控制协议,例如Vegas、CTCP、FAST和BBR。其将RTT的增加作为网络拥塞的信号,这高度依赖于对网络延迟的准确测量。因此,这样的算法并没有被广泛使用。为了更好地控制队列长度,提出了一些基于显式反馈的方案,如ECN、XCP、VCP、RCP等。XCP、VCP和RCP等方案需要交换机来执行计算,这在大多数商品交换机中并不广泛使用。ECN需要网络中间设备和终端主机的共同支持。这与设计空间大相径庭:对终端主机设备进行任何修改都是不切实际的。
[0008]因此提出一种应用于园区网络的拥塞控制方案可以有效控制网络设备的队列长
度,从而实现高带宽利用率与低时延,具有很大的价值。

技术实现思路

[0009]本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种应用于园区网络的拥塞控制方法,最小化园区网网络设备的队列长度,并且不对终端协议栈做任何修改,从而满足园区网络应用的高吞吐和低时延需求,可以有效控制园区网中网络设备缓冲区的队列长度,在保证高带宽利用率的同时显著减小时延,并且使得流间具备公平性和快速收敛性。
[0010]为实现上述技术目的,本专利技术采取的技术方案为:
[0011]一种应用于园区网络的拥塞控制方法,包括:
[0012]步骤1:接入点AP设备获取链路容量信息与缓冲区队列长度信息,并计算目标速率;
[0013]步骤2:AP为每个经过AP的数据包进行流识别,建立流表,并根据目标速率计算每条流的窗口值;
[0014]步骤3:AP修改返回的ACK的接收窗口值,填入流表中对应流的窗口值;
[0015]步骤4:发送端执行拥塞控制:收到返回的ACK后,使用ACK中的接收窗口值和自身维护的拥塞窗口值中的最小值作为发送窗口大小,实现园区网络的拥塞控制。
[0016]为优化上述技术方案,采取的具体措施还包括:
[0017]上述的步骤1所述目标速率的计算公式为:
[0018]targetRate=ηB

[Q(t)

K]/δ
[0019]其中,B是链路容量,Q(t)是在时刻t的缓冲区队列长度;
[0020]K是队列长度阈值,η是接近1的常数;
[0021]δ是一个时间单位常数,表示在经过δ时间后使用该目标速率能把队列从Q(t)减到K。
[0022]上述的步骤2所述每条流的窗口值计算方式为:
[0023]基于流表估计活跃流数量N;
[0024]将目标速率除以N来作为每条流应达到的速率,即每条流分配到的速率;
[0025]然后在AP上估计每条流的往返时延RTT大小;
[0026]用每条流分配到的速率乘上该条流的RTT,得到该条流应达到的窗口值。
[0027]上述的活跃流数量的估计方法为:
[0028]为流表增加一个表项的过期时间,逐条识别流是否处于空闲期,删去流表中不符合要求的表项,最终得到的表项数为活跃流数量,具体的:
[0029]当某条流在过期时间内进入AP的字节数为0,认为这条流已经不存在或处于空闲期,为不符合要求的表项,删去该表项。
[0030]上述的在AP上估计每条流的往返时延RTT大小的方法为:
[0031]利用TCP时间戳选项获取数据包从源端发出的时间,从而计算从源端到AP数据包经过的时间长度;
[0032]并且AP通过数据包序列号和ACK确认号,计算AP数据包从AP到终端节点的往返时间;
[0033]计算得到数据包全路径的时延,作为每条流的往返时延RTT大小。
[0034]上述的步骤4的发送端执行拥塞控制方法为:
[0035]发送端自身根据配置的拥塞控制协议维护一个拥塞窗口值,返回的ACK有一个接收窗口值,发送端取这两者的最小值作为发送窗口大小,执行真正的拥塞控制。
[0036]本专利技术具有以下有益效果:
[0037]本专利技术的拥塞控制方法无需对终端协议栈做任何修改或配置,只需对AP做少量修改;
[0038]本专利技术借助链路信息进行主动精准拥塞控制,可以在拥塞未发生之前主动控制源端流速,以实现高带宽利用率和超低时延;
[0039]本专利技术的活跃流统计方法可以使竞争流公平共享瓶颈链路带宽,保证了流间公平性和快速收敛性;
[0040]本专利技术的拥塞控制方法可以使网络设备缓冲区队列始终维持在一个地队列长度状态,增大了吸收突发流量的空间,在突发场景下避免丢包;
[0041]本专利技术的拥塞控制方法应用在园区网络中,可有效提升网络质量,满足应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于园区网络的拥塞控制方法,其特征在于,包括:步骤1:接入点AP设备获取链路容量信息与缓冲区队列长度信息,并计算目标速率;步骤2:AP为每个经过AP的数据包进行流识别,建立流表,并根据目标速率计算每条流的窗口值;步骤3:AP修改返回的确认字符ACK的接收窗口值,填入流表中对应流的窗口值;步骤4:发送端执行拥塞控制:收到返回的ACK后,使用ACK中的接收窗口值和自身维护的拥塞窗口值中的最小值作为发送窗口大小,实现园区网络的拥塞控制。2.根据权利要求1所述的一种应用于园区网络的拥塞控制方法,其特征在于,所述步骤1所述目标速率的计算公式为:targetRate=ηB

[Q(t)

K]/δ其中,B是链路容量,Q(t)是在时刻t的缓冲区队列长度;K是队列长度阈值,η是接近1的常数;δ是一个时间单位常数,表示在经过δ时间后使用该目标速率能把队列从Q(t)减到K。3.根据权利要求1所述的一种应用于园区网络的拥塞控制方法,其特征在于,步骤2所述每条流的窗口值计算方式为:1)基于流表估计活跃流数量N;2)将目标速率除以N来作为每条流应达到的速率,即每条流分配到的速率;3)在AP上估...

【专利技术属性】
技术研发人员:田臣黄晓洁
申请(专利权)人:南京大学
类型:发明
国别省市:

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

1