多径TCP协议拥塞控制方法与流程

文档序号:15624848发布日期:2018-10-09 22:43阅读:352来源:国知局

本发明涉及计算机网络领域,尤其涉及一种多径tcp协议拥塞控制方法。



背景技术:

由于早期通信设备的网络接口数量限制,传统的tcp技术仅仅支持通信对端之间单一路径的数据传输。随着新一代通信技术的发展,通信终端往往配备了如wi-fi,蜂窝等多个网络接口,因此,通信对端之间可以存在多个可达路径。为了能够高效地利用这些非重复路径,多径tcp协议应运而生。多径tcp协议允许通信对端之间同时使用不同网络接口的组合,即多条路径进行数据传输,目前已公开发表的多径tcp协议方案中,多路径传输控制协议(multipathtransmissioncontrolprotocol,mptcp)使用最为广泛,mptcp在ietf(internetengineeringtaskforce)的rfc(requestforcomments)6824文档中完整地定义了该协议的字段内容及工作流程,它通过自定义的tcp选项字段进行额外的信息交互。相较于传统tcp协议,多径tcp协议具有高吞吐量,高容忍度,高可靠性,高安全性等特点。多径tcp协议既可以配置多个路径作为主力/备用链路增强会话的鲁棒性,又可以配置多个路径同时工作并行传输,提高tcp会话整体吞吐量。

网络拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,导致这部分乃至整个网络性能下降的现象。为了防止网络拥塞现象造成的网络恶化甚至崩溃,传统tcp协议中引入了拥塞控制的设计,用于防止发送端无节制的发包导致过多的数据注入到网络中。但是,由于传统tcp协议只考虑通信对端单一路径数据传输,传统tcp协议的拥塞控制算法的设计也只考虑了通信对端单一路径数据传输的情况,这使得传统tcp协议向多径tcp技术的扩展中面临了诸如流量迁移,网络公平性等一系列的问题。为了解决这些问题,研究者们在传统拥塞控制算法的基础上进行了各方面的改进,提出了lia,wvegas等多种适用于多径tcp协议的拥塞控制算法。

目前已经公开发表的大多数tcp拥塞控制算法对网络拥塞的判据都是基于链路丢包或延迟的,这些拥塞控制算法有一个共同缺陷,即bufferbloat问题。这些拥塞控制算法通过过度增加流量耗尽网络资源,从而触发缓冲区丢包或队列延迟上升来进行拥塞处理,而网络中间节点路由器中存储的过多的缓冲数据包导致了数据流的延迟和延迟抖动,降低了网络吞吐量,这是典型的“先污染后治理”的被动策略。

针对基于链路的丢包或延迟判据的拥塞控制算法的缺陷,2016年,google提出了googlebbr拥塞控制算法,从瓶颈链路带宽和传播时延的角度进行拥塞判决,致力于在一定丢包率的网络链路上充分利用带宽和降低网络链路上的buffer占用率,从而降低延迟。bbr拥塞控制算法在有一定错误丢包率的长肥管道(long-fatpipe,即延迟高、带宽大的链路)上性能卓越,而这种长肥管道往往也可以通过部署多径tcp协议来提高链路吞吐量和可靠性。但是,bbr算法的设计中没有考虑对多径tcp协议的支持,使得多径tcp协议和googlebbr拥塞控制算法同时部署时面临严峻的网络公平性问题。



技术实现要素:

本发明的目的是提供一种多径tcp协议拥塞控制方法,主要用于实现多径tcp协议中共享瓶颈链路的不同子流之间的网络公平性保证。

本发明的目的是通过以下技术方案实现的:

一种多径tcp协议拥塞控制方法,该方法包括:

步骤一:在googlebbr拥塞控制算法的基础中引入描述多径tcp协议中不同子流的网络环境特征的子流权重因子,形成基于共享瓶颈链路复现的多径tcp协议拥塞控制算法;

步骤二:分析多径tcp协议中的子流部署基于共享瓶颈链路复现的多径tcp协议拥塞控制算法时,在共享瓶颈链路的收敛特征,建立权重-带宽模型;

步骤三:对于多径tcp协议中的当前子流,根据当前子流在相邻两次收敛过程的子流权重因子的收敛带宽,计算当前子流所处共享瓶颈链路权重-带宽模型的瓶颈带宽参数和背景流参数;

步骤四:以网络公平性为原则,计算当前子流的子流权重因子在本轮迭代中的更新策略;

步骤五:完成步骤四后,等待子流带宽收敛,对于多径tcp协议中的每一条子流,更新子流权重因子与收敛带宽,重复步骤三和步骤四,进行下一轮迭代。

由上述本发明提供的技术方案可以看出,解决多径tcp协议与googlebbr拥塞控制算法同时部署时所面临的网络公平性问题,使得共享瓶颈链路中子流的瓶颈带宽收敛结果逼近congestionequalityprinciple的理论最优解。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种多径tcp协议拥塞控制方法的流程图;

图2为本发明实施例提供的多径tcp流共享瓶颈链路示例图;

图3为本发明实施例提供的应用googlebbr拥塞控制算法的两条tcp流在共享瓶颈链路时的带宽收敛原理示意图;

图4为本发明实施例提供的基于共享瓶颈链路复现的多径tcp协议拥塞控制算法的两条多径tcp子流在共享瓶颈链路时,子流带宽收敛原理示意图;

图5为本发明实施例提供的基于共享瓶颈链路复现的多径tcp协议拥塞控制算法的共享瓶颈链路权重-带宽模型曲线示意图;

图6为本发明实施例提供的基于共享瓶颈链路复现的多径tcp协议拥塞控制算法的共享瓶颈链路权重-带宽模型参数复现示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种多径tcp协议拥塞控制方法,以解决多径tcp协议与googlebbr拥塞控制算法同时部署时所面临的网络公平性问题。

由于googlebbr拥塞控制算法是在传统tcp协议的基础上进行设计的,在扩展到多径tcp协议时面临严峻的网络公平性问题,本发明基于googlebbr拥塞控制算法进行改进,提供一种基于共享瓶颈链路复现的多径tcp协议拥塞控制方法。本发明的主导思想是在googlebbr拥塞控制算法中引入描述多径tcp协议中不同子流的网络环境特征的子流权重因子,分析不同多径tcp会话的不同子流部署该拥塞控制算法时在共享瓶颈链路的收敛特征,建立权重-带宽模型,计算还原该共享瓶颈链路权重-带宽模型的瓶颈带宽参数和背景流参数,最后根据各个子流所复现的处于不同共享瓶颈链路的瓶颈带宽参数和背景流参数,以网络公平性为原则利用分布式的子流权重因子更新迭代算法实现流量迁移,最终实现网络公平性保障。

如图1所示,本发明实施例提供的一种多径tcp协议拥塞控制方法,主要包括如下步骤:

步骤一:在googlebbr拥塞控制算法的基础中引入描述多径tcp协议中不同子流的网络环境特征的子流权重因子,形成基于共享瓶颈链路复现的多径tcp协议拥塞控制算法。

本发明实施例中,在googlebbr拥塞控制算法的稳态过程中,在带宽探测状态(probebwstate)中八相循环(eight-phasecycle)的pacing增益系数(pacing_gain)的元素中,引入一个能够描述多径tcp协议中不同子流的网络环境特征的可变因子。

示例性的,引入可变因子w后,由固定元素{5/4,3/4,1,1,1,1,1,1}替换为含有一个可变因子的{1+w,1-w,1,1,1,1,1,1},0<w<1。

本发明实施例中,可变因子w即为本发明所述一种基于共享瓶颈链路复现的多径tcp协议拥塞控制方法所引入的子流权重因子。为避免赘述,以下称引入子流权重因子后的bbr拥塞控制算法为本申请所述的基于共享瓶颈链路复现的多径tcp协议拥塞控制算法。

如图2所示,为多径tcp流共享瓶颈链路示意图。加入子流权重因子前,应用googlebbr拥塞控制算法的两条tcp流共享瓶颈链路时的带宽收敛原理如图3所示。引入子流权重因子后,应用基于共享瓶颈链路复现的多径tcp协议拥塞控制算法的两条多径tcp子流在共享瓶颈链路时,子流带宽收敛原理如图4所示。从图4可以看出,两条基于共享瓶颈链路复现多径tcp协议拥塞控制算法的多径tcp子流在共享瓶颈链路时,本发明所引入的可变子流权重因子w可以描述不同多径tcp子流的差异性,该差异性与多径tcp子流在网络中的公平性相对应。具体的,子流权重因子w描述该多径tcp子流在共享瓶颈链路中相对于传统tcp流对瓶颈带宽的侵略性,子流权重因子w越大,多径tcp子流相对与传统tcp流对瓶颈带宽的侵略性越弱,反之,对瓶颈带宽的侵略性越强。通常的,多径tcp子流的带宽侵略性不大于传统tcp流的带宽侵略性,以保证多径tcp会话的子流带宽之和不大于传统tcp流。

步骤二:分析多径tcp协议中的子流部署基于共享瓶颈链路复现的多径tcp协议拥塞控制算法时,在共享瓶颈链路的收敛特征,建立权重-带宽模型。

假设共享瓶颈链路中包含n条子流,所有子流均部署基于共享瓶颈链路复现的多径tcp协议拥塞控制算法后,共享瓶颈链路中第i条子流的子流权重因子记为wi,收敛带宽记为xi,所有子流的子流权重因子和收敛带宽之间满足如下连等式:

w1x1=w2x2=...=wnxn;

记共享瓶颈链路的带宽上限为c,即:

x1+x2+...+xn=c;

联立上二式,计算出共享瓶颈链路中第i条子流的收敛带宽为:

上式中的j与p均为共享瓶颈链路中子流的序号,wj即为共享瓶颈链路中第j条子流的子流权重因子;

对于共享瓶颈链路中第i条子流,在一定时间内,认为网络环境没有发生改变,第i条子流的子流权重因子为wi自变量,共享瓶颈链路中其他子流的子流权重因子为常数项,将这两项分离,得到基于共享瓶颈链路复现多径tcp协议拥塞控制算法的权重-带宽模型为:

其中,

上述式子中,参数c为共享瓶颈链路的带宽上限,记为权重-带宽模型的瓶颈带宽参数;相对于第i条子流而言,参数ai由共享瓶颈链路中其他子流的子流权重因子决定,记为权重-带宽模型的背景流参数。

图5为权重-带宽模型曲线示意图,权重-带宽模型曲线为区间为(0,1)的水平平移的反比例函数。

步骤三:对于多径tcp协议中的当前子流,根据当前子流在相邻两次收敛过程的子流权重因子的收敛带宽,计算当前子流所处共享瓶颈链路权重-带宽模型的瓶颈带宽参数和背景流参数。

本领域技术人员可以理解,多径tcp协议中可以包含若干多径tcp协议子流,不同的多径tcp协议子流可以处于不同的共享瓶颈链路中。

假设当前子流为多径tcp协议中的第k条子流,其在相邻两次收敛过程的子流权重因子和收敛带宽分别为:wk,wk′和xk,xk′;

基于权重-带宽模型,wk,wk′和xk,xk′满足以下关系:

从而得到多径tcp协议中的第k条子流所处共享瓶颈链路权重-带宽模型的瓶颈带宽参数ck和背景流参数ak:

即完成了基于共享瓶颈链路复现的多径tcp协议拥塞控制算法两次收敛过程中权重-带宽模型参数的复现。图6为一次共享瓶颈链路权重-带宽模型参数复现的示意图。

步骤四:以网络公平性为原则,计算当前子流的子流权重因子在本轮迭代中的更新策略。

googlebbr中的带宽探测状态(probebwstate)中八相循环(eight-phasecycle)的pacing增益系数(pacing_gain)为{5/4,3/4,1,1,1,1,1,1},为了与原始googlebbr拥塞控制算法兼容,规定传统tcp的子流参数因子为1/4。对于应用基于共享瓶颈链路复现的多径tcp协议拥塞控制算法的多径tcp协议中第k个子流,基于步骤三中计算的瓶颈链路背景流参数ak与瓶颈带宽参数ck,基于共享瓶颈链路的权重-带宽模型,将共享瓶颈链路中传统tcp/多径tcp子流混合的tcp背景流等效为nk个纯传统tcp背景流,使其与原始混合背景流具有相同的共享瓶颈链路权重-带宽模型参数。纯传统tcp背景流的子流权重参数为1/4。

记nk为应用基于共享瓶颈链路复现多径tcp协议拥塞控制算法的多径tcp协议中第k条子流的等效tcp背景流数;nk的推导过程如下:

上式中,f(wk)表示收敛带宽随wk变化的函数,w表示子流权重因子,q与k均为多径tcp协议中子流的序号,ck为多径tcp协议中的第k条子流所处共享瓶颈链路权重-带宽模型的瓶颈带宽参数;

基于共享瓶颈链路复现的多径tcp协议拥塞控制算法符合权重-带宽模型,多径tcp协议中第k个子流的收敛带宽xk表示为:

上式中,ak为基于多径tcp协议中的第k条子流所处共享瓶颈链路中其他子流的子流权重因子计算得到的权重-带宽模型的背景流参数;

则多径tcp协议中第k个子流的等效tcp背景流数nk为:

以网络公平性为原则,以wvegas拥塞控制算法中所以定义的网络公平准则congestionequalityprinciple为例,当且仅当共享瓶颈链路的多径tcp子流具有相同的拥塞程度,即共享瓶颈链路中每条子流所属的多径tcp协议的子流收敛带宽之和尽可能接近时,网络是公平的。对应本发明实施例,多径tcp协议中第k个子流所在共享瓶颈链路的等效tcp背景流的收敛带宽为:

当多径tcp协议中第k个子流所在共享瓶颈链路的等效tcp背景流的收敛带宽与多径tcp协议子流收敛带宽之和相等时,符合网络公平性准则,即:

其中,m表示第k个子流所属多径tcp协议中子流的总数,m为子流的序号。

基于多径tcp协议中第k个子流的等效tcp背景流的收敛带宽确定更新策略。

综合以上分析,对应用基于共享瓶颈链路复现多径tcp协议拥塞控制算法的多径tcp流的每条子流应用分布式迭代算法,比较当前子流所在共享瓶颈链路的等效tcp子流收敛带宽与多径tcp协议子流收敛带宽之和大小,进行迭代判断,即可将整个网络状态向符合网络公平性准则的方向上收敛。

迭代中对子流权重因子迭代方向的判断如下:

如果则多径tcp协议中第k个子流需要在共享瓶颈链路中出让带宽,增加wk;

如果则多径tcp协议中第k个子流需要在共享瓶颈链路中争夺带宽,减小wk;

如果无需改变wk。

需要注意的是,在对wk进行更新时,wk需要满足0<wk<1。

步骤五:完成步骤四后,等待子流带宽收敛,对于多径tcp协议中的每一条子流,更新子流权重因子与收敛带宽,重复步骤三和步骤四,进行下一轮迭代。

本领域技术人员可以理解,本发明上述方案中涉及的某些参数带有下标或不带下标时,参数本身的含义并未发生变化,区别仅在于,带有下标后相应参数对应于特定下标所指代的子流。例如,前文所提到的参数w、wi、wk,其均表示子流权重因子,区别仅在于后两者分别对应共享瓶颈链路中第i条子流、多径tcp协议中的第k条子流的子流权重因子。

本发明实施例上述方案,解决多径tcp协议与googlebbr拥塞控制算法同时部署时所面临的网络公平性问题,使得共享瓶颈链路中子流的瓶颈带宽收敛结果逼近congestionequalityprinciple的理论最优解。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1