拥塞控制算法公平性分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010643777/article/details/79022026

1 tcp拥塞控制的吞吐量

 [1]出给了tcp吞吐量的计算公式,影响深远。
(1-1)Throughput=sR2p3a+t(33p8a)p(1+32p2)
 [2]进行理论上的分析,对式(1)进行近似。按照TCP拥塞控制机制,在拥塞避免阶段,每个RTT,W=W+a;出现丢包,W=(1b)W.这是个周期过程,从出现丢包到窗口值增到W,需要经历的RTT个数为bWa+1.假设S是这个周期的平均发送速率,单位为pkts/RTT,T也为这个周期的平均速率,单位为pkts/s.
(1-2)S=2b2W
(1-3)T=SR=(2b)W2R
S(bWa+1)=(bW+a)(2b)W2ab(2b)W22a
丢包率计算:
(1-4)p=2ab(2b)W2
可得:
(1-5)W=2ab(2b)p
(5)代入(3):
(1-6)T^=1R(2b)a2bp
 对于标准TCP(a=1,b=0.5):
(1-7)T^1,0.5,R,p=1.5Rp
 采用符号AIMD(a,b)表示TCP的拥塞控制策略。若要提出一种同标准TCP拥塞控制机制友好的机制,需要满足,吞吐量相同,即AIMD(a,b)=AIMD(1,0.5).T^a,b,R,p=T^1,0.5,R,p,得:
(1-8)a=3b2b

2 保证吞吐量公平的窗口的幂值系数分析

 上一节的公平性分析,推导的是窗口系数,这一节主要推导窗口上的幂值[3]。
 An AIMD control algorithm may be expressed as:
(2-a)I:wt+rwt+αwtk
(2-b)D:wt+δt=wtβwtl
 通过将上述方程积分,求出吞吐量与丢包率之间的关系。要保证不同tcp之间的公平性,需要满足l+k=1.

3 tcp的rtt不公平性分析

 这里的分析来自论文[6]。
 根据不同的tcp的控制协议,其吞吐量的理论分析,根据(1-7)可以泛化为:
(3-1)r(p)=1RTTcpd
式子中的p为丢包率。
 对于一条TCP数据流,在两个丢包之间,一共发送的数据包假设为1p,耗时为t,假设rtt保持不变。Then the average packets sending out on every RTT can be computed as follows:
(3-2)w=1/pt/RTT
 从而可以计算平均吞吐量,Throughput=wRTT。使其等于r(p)
(3-3)wRTT=1RTTcpdp=c/wd
 将p的值带入(3-2),求解出w:
(3-3)w={RTTtcd}dd1
 而假设两个数据流的拥窗口分别为w1,w2,往返时延分别为RTT1,RTT2。那么一条数据流的有效吞吐量,英文单词为goodput,丢包的不算。
(3-4)G=w(1p)RTT
 那么:
(3-5)w1(1p)/RTT1w2(1p)/RTT2w1/RTT1w2/RTT2=RTT2RTT111d
[1]Modeling TCP Throughput: A Simple Model and its Empirical Validation(1998-sigcomm)
[2]A Comparison of Equation-Based and AIMD Congestion Control
[3]Binomial Congestion Control Algorithms
[4]End-to-End Rate-Based Congestion Control: Convergence Properties and Scalability Analysis
[5]Rate adaptation, Congestion Control and Fairness: A Tutorial
[6]Binary Increase Congestion Control (BIC) for Fast Long-Distance Networks

没有更多推荐了,返回首页