之前博客[4],基于网络流模型,分析了在没有丢包发生的情况下,tcp在网络动态行为。本篇分析下在丢包发生的情况下,网络的动态行为。内容主要来自于[1,2]。丢包模型为主动队列管理算法RED的丢包方式。
符号 | 定义 |
---|---|
W | tcp流的窗口大小 |
链路中排队长度 | |
R | rtt,端到端时延, |
C | 链路带宽 |
固定时延即传输时延 | |
N | 链路中tcp会话的数量 |
丢包概率 |
根据[3]建立的随机微分方程,窗口与队列长度满足如下方程:
W˙(t)=1R(t)−W(t)W(t−R(t))2R(t−R(t))p(t−R(t))(1)
q˙(t)=W(t)R(t)N(t)−C(2)
对于方程f(x,y,z),有如下结论:
Δf=fxΔx+fyΔy+fzΔz(3)
假设系统达到operating point
(W0,q0,p0)
,
W˙(t)=0,q˙(t)=0
,k可以认为
W(t)=W(t−R(t))
:
W˙(t)=0⇒W02p0=2,q˙(t)=0⇒W0=CR0N,R0=q0C+Tp(4)
若认为q在其区间不发生变化,
R0
为常量,在operating point附近对方程进行线性化处理。
δW˙(t)=−NR20C(δW(t)+δW(t−R0))−R0C22N2δp(t−R0)
δq˙(t)=NR0δW(t)−1R0δq(t)(5)
对上述两个方程拉普拉斯变换,即是[1]中的Fig2.
当 W(t)=W(t−R(t)) ,即是[1]中的Fig3.
[2]中模型基本不变,但是考虑了q对窗口的影响,即q为时间的函数,就是 δW˙(t) 与 δW(t),δq(t),δp(t−R0) 相关,可以参看其文中的方程4。
[1] Hollot C V, Misra V, Towsley D, et al. A control theoretic analysis of RED[C]//INFOCOM 2001. Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE. IEEE, 2001, 3: 1510-1519.
[2] Hollot C V, Misra V, Towsley D, et al. Analysis and design of controllers for AQM routers supporting TCP flows[J]. IEEE Transactions on automatic control, 2002, 47(6): 945-959.
[3] Misra V, Gong W B, Towsley D. Fluid-based analysis of a network of AQM routers supporting TCP flows with an application to RED[C]//ACM SIGCOMM Computer Communication Review. ACM, 2000, 30(4): 151-160.
[4] TCP Fluid Model