基于fasttcp的传输控制方法_2

文档序号:9455835阅读:来源:国知局
[0046] 本协议基于FAST协议设计。FAST协议在骨干网络中使用,而骨干网络与数据中心 的首要区别如下:
[0047] RTT(往返时延),骨干网络在200ms左右,而数据中心在IOus~100us,从而 qdelay的数量级也从ms级下降到us级;
[0048] 缓冲区大小,骨干网络中路由器的缓冲区大小约为IOOMb,而数据中心交换机缓冲 区在IMb以下。
[0049] 由于我们的方案采用FAST协议的拥塞控制算法,然而FAST协议在数据中心中必 然是不适用的,因此我们需要基于以上两点区别对算法进行调整以使得该方案在在数据中 心中能够成功地应用,需要说明的是,我们当前的设计针对千兆网进行。
[0050] 拥塞避免阈值是指窗口快速增长过程结束进入拥塞避免的阈值,不同的协议有不 同的标准。TCP协议以窗口大小为标准,拥塞窗口大小超过该阈值时由慢启动进入拥塞避 免过程。
[0051] 在FAST协议中,以队列延迟为标准,当队列延迟大于该阈值时,进入拥塞避免。拥 塞避免阈值的物理意义是认为链路接近饱和的点。由于路由器缓存普遍较大,从而等待队 列较长,故在骨干网络中网络延迟较大,因此FAST协议的这一阈值也较大。在数据中心网 络环境下,交换机缓存往往较小而队列延迟也相应较小,故这一阈值需要进行调整。由于我 们要使缓冲区中有队列,以保证瓶颈链接满载,同时要保证在慢启动结束前不出现缓冲区 溢出,故拥塞避免阈值Mi_threshold需满足如下条件:
[0052] SU/C<Mi_threshold<B/C
[0053] 其中SU为包大小,B为缓冲区大小,C为链路带宽。以当前应用较广泛的千兆网为 例,若buffer size (缓冲区大小)为64KB,SU为1KB,则
[0054] lus<Mi_threshold<64us
[0055] 建议让该阈值远离buffer size,否则很容易由于偶然原因出现丢包。事实上一个 较小的mi_threSh〇ld已经足以保证瓶颈链接被充分利用,这里我们取:
[0056] Mi_threshold = 20us
[0057] α是FAST协议中拥塞窗口控制的修正系数,是w和q-delay的函数。但是在目前 的FAST协议应用中一般取为常数。它的物理意义是当前流期望在缓冲区中维持的队列长 度,因此也是流拥塞窗口的下界。α较小时,链路收敛即进入均衡状态较慢,发送端窗口大 小也收到限制。α较大时,又会增大排队延迟。
[0058] 在骨干网络中,由于路由器缓冲区较大,α取值也较大,默认为200,而在数据中 心中,200的窗口大小必然是不现实的。因此我们必须采用新的α。
[0059] 为对方案设计给出参考,我们首先设计了仿真实验以估计α的可能取值范围, 我们使用NS2进行仿真平台搭建,在仿真平台上实现了 Incast的网络传输拓扑结构并且基 于FAST TCP实现了初步解决方案以测试参数。具体的仿真平台会在后文中介绍。我们进 行了参数α的测试,我们有两条结论:
[0060] 发送端数目较小时,较小的α会限制吞吐量。尤其是在点对点做数据传输时,这 样的限制更加明显。我们采用新的方案解决Incast问题的前提是不限制正常数据传输,而 α = 0, 1的情形显然违背了这一点;
[0061] 较大的α会使得发送端数目大时总队列长度的最小值大于交换机缓存,从而导 致incast现象。由于α是每个流在交换机处维持的队列长度,因此若α较大,在服务器 数量增大时有可能出现总队列长度超出交换机缓存的情况。
[0062] 因此常数取值的α无法满足点对点的传输需求和Incast传输模式的需求,鉴于 以上两个特点,我们考虑用阶梯函数决定α的取值:
[0064] 其中%和a i分别为不同发送端数量时α的取值,Ni为发送端数目的阈值。
[0065] α是FAST协议中拥塞窗口控制的修正系数,是w和q-delay的函数。但是在目前 的FAST协议应用中一般取为常数。它的物理意义是当前流期望在缓冲区中维持的队列长 度,因此也是流拥塞窗口的下界。α较小时,链路收敛即进入均衡状态较慢,发送端窗口大 小也收到限制。α较大时,又会增大排队延迟。如
【发明内容】
中提到,其参数设置服从下式。
[0067] f是切换α值的阈值,但V的具体取值并不是一个确切的数值,实质上V具有一 个安全范围,在此范围内取值均可保证发送端数目小时链路使用饱和并在发送端数目大 时不出现Incast现象。
[0068] Niniin需要使得最小窗口条件下瓶颈链接的容量被占满。因为当DNiniin时α取较 小值,若f取值小于N:则可能出现链路性能不被占满的情况。
[0069] 发送端发包谏率为Nw_,链路的传输谏率为CD = 12. 5pkt,其中C = IGbps (千兆 网),D为网络往返延迟,D = lOOus。故Niniin满足下式:
[0071] Nlx需使α取较大值时交换机缓存不溢出,故需满足:
[0073] 其中B为交换机缓存(包数量),通常情况下B的最小值为32个数据包。因此f 的安全范围为:
[0074] N*e [7, Β/α 0],Β>32
[0075] 我们仍需继续确定α。才能确定Ni的安全范围。事实上,由后面的结果可以得知, f具有一个较宽的安全范围,实际应用的过程中我们可以对安全范围内的可能取值进行实 验并选取性能较好的数值。下面我们分别确定
[0076] α。应该足够大,使得流传输达到均衡,且应使瓶颈链接达到饱和。但这里我们建 议取相对较小的因为前文提到,涉及到Ni的安全范围大小,较小的α。可以保证 较大的安全范围,如过大甚至使安全范围消失。这里我们取
[0077] α 0= 2
[0078] 在发送端数量较大时,我们需要较小的α以保证发送端增大过程中不出现 Incast现象。因此a i需满足:
[0079] Να !<B
[0080] a 〇看上去是不错的选择,但是这可能会限制单个发送端的发送速率,是一个 不太稳定的数值,如果所有发送端都致力于将交换机处的队列长度维持在〇,我们无法判断 链路是否已经被完全利用,因此这一数值是危险的。因此我们选择Ct1= 1。
[0081] 现在我们获得了发送端数与α的关系,但是发送端的传输层协议是无力知道当 前有多少发送端正在向接收端发送数据的,因此我们需要将该阶梯函数的自变量转化为传 输协议可以探知的参数。发送端的数量是可以由队列延迟估计出来的,由于f有较宽松的 安全范围,因此用队列延迟估计发送端数量得出的判据是安全的。N与队列延迟qdelay的 关系如下:
[0082] N = qdelay· C/α
[0083] 因此α的取值公式转化为:
[0085] 其中,q为队列延时,我们可以得出q#取值的安全范围:
[0086] q*= 25 μ s
[0087] 即α在实际应用中的取值公式为:
[0
[0089] 其中队列延迟q是每个RTT都会计算的,在原生FAST TCP的算法基础上,我们并没 有要求系统探知新的参数,而是利用已有的数据对关键参数α进行了适用于数据中心(包 括Incast传输模式)的重新设计,这样做的好处是在实际系统实施时更为便捷,更有利于 日后的工程实现和广泛应用。
[0090]另外,本发明实施例的基于FAST TCP的传输控制方法的其它构成以及作用对于本 领域的技术人员而言都是已知的,为了减少冗余,不做赘述。
[0091] 在本说明书的描述中,参考术语" 一个实施例"、" 一些实施例"、"示例"、"具体示 例"、或"一些示例"等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特 点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不 一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何 的一个或多个实施例或示例中以合适的方式结合。
[0092] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不 脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本 发明的范围由权利要求及其等同限定。
【主权项】
1. 一种基于FASTTCP的传输控制方法,其特征在于,包括: 数据控制模块,所述数据控制模块用于控制传输数据包; 窗口控制模块,所述窗口控制模块用于控制发送端的数据包的传输数量;W及 估计模块,所述估计模块用于根据发送端的数据包发送频率、传输链路的带宽、交换机 的缓存容量、所述交换机的延时队列中数据包的平均延时计算拥塞避免阔值; 所述方法包括W下步骤: 51 :获取所述拥塞避免阔值和所述客户端当前数据包的传输数量; 52 :将所述客户端所述当前数据包的传输数量和所述拥塞避免阔值进行比较, 如果所述客户端当前数据包的传输数量不小于所述拥塞避免阔值,所述估计模块向所 述窗口控制模块发送拥塞反馈信息,所述窗口控制模块根据所述拥塞反馈信息减少数据包 的传输数量W避免丢包。2. 根据权利要求1所述的基于FASTTCP的传输控制方法,其特征在于,所述拥塞避免 阔值的计算公式如下:其中,W为所述发送端的所述当前数据包的传输数量,丫G(0,ILbaseRlT为所述交 换机延时队列中数据包的最小RTT,qdelay是点对点的平均队列延迟,a为修正系数,,. 其中,q为队列延时,a。、a1、9巧3为常数。
【专利摘要】本发明公开了一种基于FAST?TCP的传输控制方法,包括:数据控制模块、窗口控制模块和估计模块,估计模块用于计算拥塞避免阈值;所述方法包括以下步骤:S1:获取所述拥塞避免阈值和所述客户端当前数据包的传输数量;S2:将所述客户端所述当前数据包的传输数量和所述拥塞避免阈值进行比较,如果所述客户端当前数据包的传输数量不小于所述拥塞避免阈值,所述估计模块向所述窗口控制模块发送拥塞反馈信息,所述窗口控制模块根据所述拥塞反馈信息减少数据包的传输数量以避免丢包。本发明具有如下优点:可以通过监控网络传输规模,针对不同的规模进行参数调整,达到在不同规模下的自适应,始终保证高吞吐量和稳定的传输性能。
【IPC分类】H04L12/801
【公开号】CN105207944
【申请号】CN201510497836
【发明人】黄永峰, 郑枫
【申请人】清华大学
【公开日】2015年12月30日
【申请日】2015年8月13日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1