APP下载

XCP协议的稳定性分析及其仿真*

2010-08-13王昆

电子技术应用 2010年5期
关键词:高带宽公平性队列

王昆

(西南科技大学 计算机学院,四川 绵阳 621010)

TCP是目前在Internet中使用最广泛的传输协议,包括慢启动(slow start)、拥塞避免、快速重传(fast retransmit)、快速恢复(fast recovery)、选择性应答(SACK)等。 它是针对带宽时延乘积较小的网络而设计的,随着高带宽(如光纤链路)和高延迟(如卫星链路)网络越来越普遍的应用,TCP算法显现出越来越多的问题,在高带宽网络中TCP算法的效率比较低。假设在一个109b/s的网络中,最大包是 105bit,RTT为 100 ms,需要 104才能占据整个带宽。实验和理论推导都证明随着带宽时延乘积的增加,不管是用什么排队模式,如RED[1],REM[2],PI[3],AVQ[4]等算法都使TCP变得越来越低效和不稳定。

根据TCP存在的问题和高带宽时延乘积网络的特点,美国麻省理工大学的Dina Katabi提出了一种新的Internet拥塞控制框架,该协议称为XCP(eXplicit Control Protocol)显式控制协议[5]。XCP是一种联合端系统和路由器共同协作的协议,将拥塞控制从带宽分配策略中解耦。

1 XCP协议介绍及其稳定性分析

XCP协议的发送方维持拥塞窗口cwnd和往返延迟rtt,路由器监控流入它的数据率,根据链路带宽和流入的数据率的差值,路由器通过修改拥塞头的反馈值告知共享这个链路的数据流增加或减少它的拥塞窗口。

当一个ACK到达时,正反馈值将导致发送方拥塞窗口增加,负反馈值将随之减小[6]。可以用式(1)表示:

其中s为一个包的大小。XCP接收方收到一个包时,将其数据包的H_feedback复制到其ACK中。其余行为与TCP相同。

XCP路由器包含拥塞控制器和公平控制器,这使得协议的设计和分析简化。拥塞控制器根据网络中的剩余带宽和延迟来对利用率进行控制,公平控制器的主要任务是根据拥塞控制器计算出来的可用带宽为每一个包分配反馈值以达到公平性。

本文使用了一个多源单链路的模型(如图1)来分析XCP协议的稳定性,网络中数据流的数量稳定、所有数据流均经过一条链路且RTT相同,为了简单易控,在控制理论框架内,忽略边界条件,XCP模型独立于链路容量、RTT时延和源端数目。考虑单链路容量c要N个XCP流通过,设d为所有用户的往返延迟时间rtt,ri(t)为时刻t源i的发送速率,则总的传输率就应该是y(t)=Σ ri(t),重洗带宽传输率是 h(t)=0.1×y(t)。重洗带宽是指在每一个平均RTT内,至少10%的数据量要根据AIMD策略进行重新分配。

图1 拓扑结构图

路由器在每一个控制间隔d传送总的反馈,反馈经过一个控制间隔才到达源端,它改变拥塞窗口值的和(如Σw(t)),然而总的反馈是由拥塞窗口引出的,如式(2):

忽略边界条件,整个反馈控制系统可以表达为以下的时延微分方程组:

q(t)为时刻 t的队列长度,y(t)为时刻 t的输入流速率,c为链路容量,d为平均RTT即一个控制周期的大小,ri(t)为时刻 t源 i的发送速率,h(t)为重洗带宽流的速率,取 h(t)=0.1×y(t),[y(t-d)]+取值为 max(0,y(t-d))。

式(4)表明无论什么时候输入流速率都是超过瓶颈链路的容量,超过的部分就是聚集的持续队列值。

式(5)用来计算在一个RTT时间后的反馈值。

设x(t)=y(t)-c,就可以得到一个与c无关的线性系统。

该系统可以使用一个带时延的反馈系统来表示,如图2所示。输入是系统反馈,输出是x(t)。

图2 具有时延的反馈系统

通过图2的典型的控制模型能得到系统稳定的开环传递函数如式(9):

这个开环传递函数的幅值和相角分别为式(10)和式(11):

零点出现的中断频率在:ωz=K2/K1,为了简化系统选取 α、β参数在处的中断频率 ωz和交叉频率ωc,在代入 ωz=ωc=K2/K1则有为了对任意时延保持稳定,需要确定,相角裕量是独立于时延的而且总是为正的,则必须要使,将代入则有这样增益裕量是大于1的而且相角裕量总是正的,这对任意时延任意容量任意数量的源的情形都是确定的。

当所有的源端的RTT相同时,系统只有一条链路,且用户数量N稳定,同时d>0时,参数 α和β满足以下条件时系统稳定(如式12):

2 仿真性能对比分析

仿真采用如图1所示的拓扑结构,其拓扑为 3个XCP流和1个TCP流共享1个瓶颈链路组成的多源单链路的哑铃型拓扑结构。瓶颈链路是1个双向链路,两个方向都有1个XCP路由器,4个源都采用1个FTP业务源。

2.1 主要仿真脚本介绍

在脚本中编写了一个tcl类class GeneralSender。主要代码如下:

使用该类建立源端节点中的XCP代理,然后将它们与目的节点中的XCP接收端连接起来。根据XCP路由器和XCP源端的变量,GeneralSender类的过程 trace-xcp使用中变量跟踪为XCP源建立跟踪。

2.2 仿真结果分析

仿真参数设置α=0.4,β=0.266。α和β的值是按照协议的推荐值来选择的。Bottleneck的链路带宽=100 Mb/s,Bottleneck的延迟时间 delay=10 ms,节点数=4,节点 S1…S4到R0的链路带宽为100 Mb/s,链路延迟时间delay=10 ms。

由图3可以看出TCP流的拥塞窗口值的变化按照慢启动阶段、拥塞避免阶段、快速重传阶段、快速恢复阶段4个阶段进行,所以拥塞窗口值的调整变化比较大,XCP协议的拥塞窗口值在开始阶段有一点变化,很快就达到稳定值,而且每个流的拥塞窗口值最后都是相同的,这说明XCP协议通过公平控制器不断地调整,在公平性方面比TCP协议表现得要好。同时达到稳定值的时间很短。

由图4和图5可以看出,XCP的队列值变化不是很大,而且比较小,TCP队列值和平均队列变化值的变化都比较大,同时比XCP的队列值要大得多。说明XCP协议比TCP协议能保持更小的排队队列。

通过稳定性分析知道α和β的值必须在一定的范围才能保持系统稳定,同时在ns2下面对XCP协议和TCP的公平性和稳定性做了相应的比较分析,仿真结果表明高带宽时延乘积网络中XCP协议不仅能够保持链路的公平性和稳定性,同时路由器的平均队列值保持得很小。

[1]FLOYD S,JACOBSON V.Random early detection gateways for congestion voidance[J].IEEE/ACM Transactions on Networking,1993,1(4):397-416.

[2]ATHURALIYA S,LI V H,LOW S H,et al.Rem:Active queue management[J].IEEE Network,2001.

[3]HOLLOT C,MISRA V,TOWSLEY D,et al.On designing improved controllers for aqm routers supporting tcp flows[J].In Proc.of IEEE INFOCOM,Apr.2001.

[4]KUNNIYUR S,SRIKANT R.Analysis and design of an adaptive virtual queue[J].In Proc.OfACM SIGCOMM,2001.

[5]KATABI D.Congestion control for high bandwidth-delay products networks[EB/OL].In:Proc.ACM SigComm′02,Aug.2002.

[6]陈卓.基于XCP协议的拥塞控制研究[J].计算机工程,2006,32(4):147-149.

猜你喜欢

高带宽公平性队列
高管薪酬外部公平性、机构投资者与并购溢价
队列里的小秘密
基于多队列切换的SDN拥塞控制*
Achronix推出突破性的FPGA系列产品
在队列里
城市光网引领高带宽应用探讨
面向PPPoE用户的宽带测速平台的搭建和应用研究
丰田加速驶入自动驾驶队列
关于公平性的思考
面向多路径并行传输的拥塞控制及公平性