tcp拥塞控制vegas的数学分析

来源:互联网 发布:单车淘宝 编辑:程序博客网 时间:2024/06/04 18:53

 本篇主要基于Low的文章[1]。

符号 含义 ws(t) 拥塞窗口 αs vegas的窗口改变阈值 ds(t) 发送端采集到的最小rtt Ds(t) 当前的rtt xs(t) 发送速率,xs(t)=ws(t)Ds(t)

 vegas的窗口调节遵循的规则,就是在阈值αs之下,每个rtt,窗口增加1,大于阈值,每个rtt,窗口减少1。

ws(t+1)=ws(t)+1Ds(t),ws(t)1Ds(t),ws(t).ifws(t)ds(t)ws(t)Ds(t)<αsifws(t)ds(t)ws(t)Ds(t)>αselse(1)

 假设一条链路(链路的带宽处理能力c),被一条数据流独占。当数据流的发送速率大于瓶颈链路速率时,链路中出现排队现象[2] (关于发送速率的不变,并不准确,应该分开阐述,增加的是发送的窗口,链路的处理速率与ack的返回速率相同,x_s(t)的计算应该就是根据ack的返回情况计算的)。窗口的增大,以时延的增大为代价.但是链路的吞吐率没有发生变化。
 设qs(t)=Ds(t)ds(t):
diff=ws(t)ds(t)ws(t)Ds(t)=xs(t)Ds(t)ds(t)ds(t)(2)
xs(t)=diffds(t)qs(t)(3)
Ds(t)=diffds(t)xs(t)+ds(t)(4)
ws(t)=Ds(t)xs(t)=diffds(t)+xs(t)ds(t)=diffds(t)+cds(t)(5)
 根据(5)可以看出,当diff<α,增加发送窗口,就是要增加相应的diff值。So the equilibrium point of diff is αs. And the equilibrium rate xs(t)=αsds(t)qs(t).
qs(t)=αsds(t)xs(t)(6)
 根据网络效率最大化公式:
Us(xs)=qs=αsds(t)xs(7)
 链路最小时延ds(t)为固定值。根据(7)求得的效用函数为:
Us(xs)=αsdslog(xs)(8)
 根据(5),分析下αs决定的窗口变化,争抢的到底是什么资源?窗口有两项组成,diffds(t)cds(t)。第二项就是链路的时延带宽积,与链路的处理能力适配。vegas还需要额外向链路中注入第一项描述的数据包,占有的就是链路中buffer。
[1]Low S H, Peterson L L, Wang L. Understanding TCP Vegas: a duality model[J]. Journal of the ACM (JACM), 2002, 49(2): 207-235.
[2]TCP Fluid Model
[3]基于时延的mptcp的拥塞控制

原创粉丝点击