拥塞控制与多径路由

来源:互联网 发布:数据对接子系统 编辑:程序博客网 时间:2024/05/16 14:46

 When you read a paper,you understand it from the perspective of reader,but when you write a review,you understand from the perspective of author and explain the key points to other readers.
 [1]我上学期就看过,但是今天再看的时候,没有一点印象。做笔记很重要,可以留下一些思考的印迹。
 网络可以建模为一个闭环反馈系统,可以通过控制理论分析其系统的稳定性。
 Kelly在1998年发表的论文[2],引入了经济学中的utility function,可以说开启了网络拥塞控制的理论分析时代。其主要理论基本就是两个公式,可以参考我之前写的博文[3]。Low又在里面深耕了几年,算是对于网络中的拥塞算法与主动队列管理的实例分析。[2]的引用量就达到了可怖的5500多次了。[2]可以算的是“网络拥塞控制的数学原理”。确实有这样一本书《the mathematics of internet congestion control》,讲的就是Kelly的两个式子。现在入门,大概也能弄些残羹冷炙。
 [1]讲明的是在路由器节点上搞多径,怎么控制数据流的分割比例。但是基于时延的代价函数,导致路由器队列时延的震荡。
 i,j表示相邻的路由器节点,ij为一条链路。
 在源节点,发送速率:
xkx(k)=xk(1)
 节点j(路由器)的inflow rate:
xkj=i:(i,j)Lyki,j(2).
 第一个问题,utility function maximization, maxkUk(xk),约束为ylcl.
 第二个问题,最大化:
S:=kUk(xk)lϕl(yl)(5).
 作者称S是经济学中的aggregate function。
 把一条数据流看为一个商品,用k表示。αdi,j为目的为d,在链路(i,j)的数据流分割比例。
yki,j=αd(k)i,jxki(6)
定义i到d的代价:
qdd=0,qdi=j:(i,j)Lαdi,j[pi,j+qdj](8)
 其中αdi,j,节点i经由j最终发送至目的节点d的数据流的分割比例。qdi为i到d的代价,可以理解为时延。
qk为数据流xk经历过所有链路的加权平均代价。pl为数据流在子路径上的代价。
xkqk=lLyklpl(9)
 对(9)求导,并认为子链路上的代价在小尺度时间不变,但是路径分割比例随时间变化:
x˙kqk+xkq˙k=lLy˙klpl(10)
x˙kqk=lLy˙klpl(i,j)Lxkiα˙d(k)i,j[pi,j+qdj](11)
 另:
αdi,j0,j:(i,j)Lαdi,j=1(13)
 对于导数α˙di,加以以下约束:
1)
j:(i,j)Lα˙di,j[pi,j+qdj]0(14)
 (3)式的约束,表示的就是对于代价小的路径,要增加相应路径上的α的值,对于路径代价大的路径,要减少相应路径上的α的值。假设节点i相连的节点只有j1,j2。πdi,j=pi,j+qdj,假设πdi,j1<πdi,j2。有α˙(πdi,j1+πdi,j2)=πdi,j1(α1+Δα)+πdi,j2(α2Δα)πdi,j1α1πdi,j2α2Δt<0
2)根据式(2)可得:
j:(i,j)Lα˙di,j=0(15)
3)当一条α˙di=0,说明通过数据流分割,各条路径代价达到均衡点,或者这条路径代价过大,没有被分配负载。
qdi=pi,j+qdj or αdi,j=0 and qdi<pi,j+qdj(16)
 可以找到满足上述约束1-3的α˙值。其中一个为:
α˙di,j=βi(πdi¯¯¯¯πdi,j),增加代价小于代价平均值的链路上的数据分割比例,而减少剩下路径的分割比例。当然,增加数据流的发送,也会增加相应链路上的代价,最终达到equilibrium point。这种思想在wVegas也有体现,参看[4].
 这种在路由器节点上基于时延的路由,有严重的缺陷,同tcp协议数据包的有序性相违背。
[1]A unified approach to congestion control and node-based multipath routing(2009-ton)
[2]Rate control for communication networks: shadow prices, proportional fairness and stability
[3]Multipath TCP与网络效率最大化
[4]tcp拥塞控制vegas的数学分析