失序可控的实时多径传输负载分发模型
张伟, 雷为民, 李广野, 关云冲, 李浩     
东北大学 计算机科学与工程学院 通信与电子工程系, 沈阳 110819
摘要

提出了一种用于实时多径传输的失序可控的负载分发模型.根据目的端反馈的各条路径的传输质量以及路径之间的失序信息,在源端动态更新各条路径上的负载分配份额,在满足与路径传输质量成正比的负载均衡的同时,最小化目的端的数据包失序风险.仿真结果表明,负载分发模型可有效降低目的端由数据包失序导致的丢包率.

关键词: 多径传输     应用层中继     负载分发     数据包失序     实时传输    
中图分类号:TP393 文献标志码:A 文章编号:1007-5321(2016)03-0100-05 DOI:10.13190/j.jbupt.2016.03.018
Packet Reordering-Controlled Load Distribution Model for Real-Time Multipath Transport
ZHANG Wei, LEI Wei-min, LI Guang-ye, GUAN Yun-chong, LI Hao     
Department of Communication and Electronic Engineering, College of Computer Science and Engineering, Northeastern University, Shenyang 110819, China
Abstract

A packet reordering-controlled load distribution model for real-time multipath transport was proposed. According to the feedback information of path transmission quality of all paths and packet out-of-ordering between paths from the destination, the source updated dynamically the load share of paths. Packet out-of-ordering risk was minimized while the load balancing proportional to the path transmission quality was satisfied. Simulations show that the proposed model can effectively reduce the total packet loss rate of the destination caused by packet out-of-ordering.

Key words: multipath transport     application-level relay     load distribution     packet reordering     real-time transmission    

随着4G、光纤到户等接入网络技术的发展,具有高接入带宽的用户终端日益普遍,网络带宽瓶颈正逐渐由用户接入网络转移到骨干网络. 多径传输有助于突破单径传输的带宽约束,在一定程度上提升网络资源利用率,已被证明是一种可用于提高数据传送效率的有效方式. 多径传输在提升端到端的传输带宽和可靠性保证能力的同时,也面临着因路径差异性、网络动态性和业务多样性等问题所带来的诸多挑战.

对于具有实时传输需求的应用,待传送的数据之间是有时序限制的,且传输延时不能太大. 在多径传输中,因路径差异性和网络动态性,连续数据包经由不同路径到达接收端之后将面临着更高概率的数据包失序现象[1-2],从而导致更大丢包率和延时,严重降低多径传输性能. 笔者提出一种失序可控的实时多径传输负载分发模型(PRC-LD,packet reordering-controlled load distribution model for real-time multipath transport),以单个数据包为路径选择的基本流量单元,根据目的端反馈的路径传输质量以及路径之间的失序信息,源端不断更新各条路径上的负载分量,使分配到一条路径的负载与该路径的传输质量成正比,从而最小化目的端的数据包失序风险,减少数据包重排恢复过程所引入的处理延时,进而减少数据包的端到端延时.

1 基于应用层中继的多径传输系统

笔者前期工作提出了基于应用层中继的多径传输系统框架(MPTS-AR,multipath transport system based on application-level relay)[3]. 其中,多径中继传输服务系统由控制服务器和中继服务器2类组件组成,控制服务器负责中继传输服务的管理,包括中继路径的生成、评价和拆除等;大量中继服务器构成中继重叠网络,仅需提供用户数据报协议(UDP,user datagram protocol)转发服务,无须关心端到端的应用传输需求. 位于终端设备的用户代理负责为上层应用提供多径传输功能并满足端到端传输需求.

为有效利用多条路径,设计一种高效负载分发机制是至关重要的. 目前的负载分发方法具有流量粒度和数据包失序之间的矛盾[4]. 一方面,流粒度虽可避免数据包失序,但由于流大小和速率通常存在很大差异,从而导致路径间负载失衡,且大多用于骨干网,并不适用于MPTS-AR. 另一方面,数据包粒度虽可精确为每条路径分配期望流量,然而路径差异性和网络动态性将导致大量数据包失序.

2 PRC-LD负载分发模型 2.1 实时多径传输负载分发模型

用户代理中实时多径传输负载分发模型如图 1所示. 在目的端用户代理中,子流接收控制模块统计每条路径的子流接收信息;整流重组模块统计多条路径之间的路径失序信息;路径传输质量报告模块将子流接收信息和路径失序信息反馈至源端用户代理. 在源端用户代理中,路径传输质量报告模块根据子流接收信息和子流发送信息,计算单条路径的传输性能,比如传输延时、延时抖动、丢包率等;路径评价模块根据单条路径的传输性能和由路径失序信息获得的各条路径之间的相对传输性能,调整各路径的负载分配份额;针对具有实时传输需求的应用,流划分模块产生的流量单元尽可能地小,选取为上层应用传递过来的单个数据包;路径选择模块根据路径评价模块传递过来的负载划分向量,按比例地将数据包分发至各条路径.

图 1 实时多径传输负载分发模型
2.2 失序步长和失序向量

设数据包pi,ts,i表示在源端的发送时间,tr,i表示在目的端的接收时间. 若数据包pipj,满足ts,i<ts,jtr,i >tr,j,则pipj在目的端形成了一个失序对〈pi,pj〉. 其失序步长rij

${{r}_{ij}}={{N}_{FSN,j}}-{{N}_{FSN,i}}+{{M}_{ij}}$ (1)

其中:NFSN,iNFSN,i分别为pipj的整流序列号,即在待发送流中的顺序号,Mij为在pj和pi间到达目的端且整流序列号大于NFSN,i的数据包个数.

整流重组模块为每个数据包pi记录一个数据包失序向量Ri=(Ri1,Ri2,…,RiN),N为并发路径数,分量Rik(1≤kN)表示数据包pi与第k条路径Pk上数据包形成失序对的失序步长最大值,即

${{R}_{ik}}=\underset{{{p}_{j}}\in {{P}_{k}}}{\mathop{max}}\,~({{r}_{ij}})$ (2)

同时为每条路径Pl计算路径失序向量Rl=(Rl1,Rl2,…,RlN),1≤l≤N,分量Rlk表示PlPk上数据包失序对的失序步长最大值,即

${{R}_{lk}}=max~{{p}_{i}}\in {{P}_{l}}({{R}_{ik}})$ (3)
2.3 负载划分向量

笔者选取延时作为单条路径传输性能的评价指标. 在获得路径Pl(1≤l≤N)的新延时采样值dPln+1时,更新该路径的延时估计值为

${{D}^{n+1}}_{{{P}_{l}}}=w{{D}^{n}}_{{{P}_{l}}}+\left( 1-w \right){{d}^{n+1}}_{{{P}_{l}}}$ (4)

其中:w为加权系数,默认值设置为15/16.

设负载划分向量为F=(F1,F2,…,FN),Fk (1≤kN)表示路径Pk的负载份额,显然0≤Fk≤1且$\sum\limits_{k=1}^{N}{{{F}_{k}}=1}$,初始值Fk0=1/N.

接收到目的端反馈的子流接收信息或路径失序信息,源端执行下面的负载划分向量调整算法.

1) 若存在某条活跃路径Pr(1≤r≤N),其延时估计值DPr超过了阈值Tdelay,路径Pr被挂起

$~{{F}^{m}}_{k}=0,k=r{{F}^{m}}_{k}=1+\left( \frac{{{F}^{m-1}}_{r}}{\sum\limits_{i=1,i\ne r}^{N}{{{F}^{m-1}}_{i}}} \right){{F}^{m-1}}_{k},k\ne r$ (5)

若所有活跃路径的延时估计值不小于αTdelay (α为常数,0 <α≤1,默认值为2/3),源端重新激活一个被挂起路径Pr,为之分配小负载Factivated.

${{F}^{m}}_{k}={{F}_{activated}},k=r{{F}^{m}}_{k}=\left( 1-\frac{{{F}_{activated}}}{\sum\limits_{i=1,i\ne r}^{N}{{{F}^{m-1}}_{i}}} \right){{F}^{m-1}}_{k},k\ne r$ (6)

2) 生成路径失序矩阵A=(R1,R2,…,RN)T,减少因数据包迟到达而产生失序的路径负载,并相应增加因数据包早到达而产生失序的路径负载.

${{F}^{m}}_{k}=max~\left( {{F}^{m-1}}_{k}+\frac{\sum\limits_{i=1,i\ne k}^{N}{{{R}_{ik}}}-\sum\limits_{i=1,i\ne k}^{N}{{{R}_{ik}}}}{{{M}_{rcvd}}},0 \right)$ (7)
2.4 路径选择

根据负载划分向量,按以下步骤选择路径.

1) 初始化各条路径Pk的赤字计数器Ck=0(1≤k≤N),用于记录此路径期望负载和实际负载之间的差值.

2) 在每轮循环的开始,路径Pk的赤字计数器按照相应的负载份额进行增加

${{C}_{k}}={{C}_{k}}+{{F}_{k}}{{M}_{rcvd}}{{S}_{mean}}$ (8)

其中:Mrcvd为一轮循环内发送数据包个数的均值,Smean为数据包字节长度的均值.

3) 随机选择一条赤字计数器大于0的路径Pk,当有数据包p等待发送时,该数据包分配至路径Pk,赤字计数器Ck=Ck-Sp,其中Sp为数据包p的长度. 只要Ck>0,后续数据包仍分配至Pk;否则,重复步骤3)选取下一条赤字计数器大于0的路径. 当所有路径赤字计数器均不大于0时,重复步骤2)开启新一轮循环直至传输结束.

3 仿真结果

针对基于实时传输协议(RTP,real-time transport protocol)的传输应用,MPTS-AR框架定义了一种多径传输协议MPRTP-AR. 设多径传输选择k条中继路径,研究表明,较小k值(如2或3)即可获得多径传输的大部分性能增益[5]. 笔者对常规RTP和2路MPRTP-AR进行性能比较. 常规RTP采用单条缺省路径. 2路MPRTP-AR分为EQUAL-SRR[6]、FLARE[7]、E-DCLD[4]和PRC- LD. EQUAL-SRR将数据流等概率地分发至各条路径;FLARE将流中到达时间间隔小于阈值的数据包划分至一个流片沿同一路径传送;E-DCLD基于流量模型和本地发送队列长度对路径端到端延时进行估计,减少最大时延路径的负载. 笔者仿真传输预编码H.264视频流.

1) 丢包率的影响

第1条中继路径的丢包率为1%,第2条中继路径的丢包率从0变化到10%,缺省路径的丢包率置为2条中继路径丢包率的均值,其他传输质量参数相同. 图 2给出了所接收媒体数据总丢包率随路径丢包率的变化情况. 可以看出,作为基准的常规RTP,总丢包率随着缺省路径丢包率的增加而正比例地快速增长. EQUAL-SRR和FLARE均未考虑路径的实际传输质量,与常规RTP性能相当. FLARE时间间隔阈值设置为30 ms,将一个图像帧编码得到的多个RTP数据包划分至一个流片,沿同一路径传送. E-DCLD仅根据路径端到端延时估计值进行负载分发,并未考虑丢包率等其他路径传输质量参数,然而实时传输应用无需可靠传输,因而不会在各路径的发送队列产生累积,从而不能较为准确地估计路径端到端延时. 对PRC-LD来说,目的端的总丢包率并没有随着2条中继路径丢包率差值的增加而明显地增加,当第2条中继路径的丢包率增长为10%时,接收端的总丢包率仅为2.19%.

图 2 路径丢包率差异对多径传输性能的影响

图 3给出了接收数据流的峰值信噪比(PSNR,peak signal to noise ratio)中值. EQUAL-SRR、FLARE和E-DCLD获得的媒体质量与常规RTP是相当的;对于PRC-LD,当第2条中继路径的丢包率为10%时,相对于常规RTP 能在解码图像帧PSNR中值方面获得2.89 dB的增益,这对于视频质量来说是很大幅度上的提高.

图 3 路径丢包率差异对接收媒体质量的影响

2) 延时变化的影响

3条路径的传输延时均服从正态分布,传输延时标准偏差为2 ms;第1条中继路径的平均传输延时为20 ms,第2条中继路径的平均传输延时从20 ms变化为160 ms,缺省路径的平均传输延时置为2条中继路径传输延时的均值.

图 4给出了目的端所接收媒体数据的总丢包率随路径传输延时的变化情况. 可以看出,常规RTP的总丢包率随着缺省路径平均传输延时的增加而快速增长;EQUAL-SRR的总丢包率甚至高于常规RTP,这是由于一个图像帧编码得到的多个RTP数据包可能经由不同路径传送,从而在解码回放过程中引入额外的处理延时和丢包;FLARE将一个图像帧编码得到的多个RTP数据包划分至一个流片,从而避免引入由不同路径上的数据包相关性带来的额外处理延时和丢包;E-DCLD假定路径端到端传输延时是固定不变的,无法感知到仿真中路径传输延时的变化;PRC-LD的总丢包率并没有随着2条中继路径平均传输延时差值的增加而明显地增加,当第2条中继路径的平均传输延时增长为160 ms时,接收端的总丢包率仅为1.87%,相对于常规RTP来说减少了1.04%的丢包率.

图 4 传输延时变化对多径传输性能的影响

同样地,图 5为相应PSNR中值. 当第2条中继路径的平均传输延时增长为160 ms时,PRC-LD相对于常规RTP能在解码图像帧PSNR中值方面获得1.95 dB的增益.

图 5 传输延时变化对接收媒体质量的影响
4 结束语

端到端的多径传输控制机制决定媒体传输的效能. 笔者提出的适配路径差异性特征的负载分发模型PRC-LD,能根据各路径的传输性能和路径间的相对传输性能动态更新路径的负载分配份额,减小目的端数据包失序风险. PRC-LD不对待分发流量模型做任何假定,无须网络基础设施更新支持,因而具有可行性强和应用广泛的特点. 仿真结果表明,当多条路径的丢包率和传输延时存在差异时,PRC-LD相对已有的典型负载分发模型来说可有效降低目的端由数据包失序所导致的丢包率.

参考文献
[1] Prabhavat S, Nishiyama H, Ansari N, et al. On load distribution over multipath networks[J]. IEEE Communications Surveys and Tutorials , 2012, 14 (3) :662–680. (0)
[2] Jaiswal S, Iannaccone G, Doit C, et al. Measurement and classification of out-of-sequence packets in a tier-1 IP backbone[J]. IEEE/ACM Transaction on Networking , 2007, 15 (1) :54–66. doi:10.1109/TNET.2006.890117 (0)
[3] Zhang Wei, Lei Weimin, Liu Shaowei, et al. A general framework of multipath transport system based on application-level relay[J]. Computer Communications , 2014, 51 :70–80. doi:10.1016/j.comcom.2014.05.014 (0)
[4] Prabhavat S, Nishiyama H, Ansari N, et al. Effective delay-controlled load distribution over multipath networks[J]. IEEE Transactions on Parallel and Distributed Systems , 2011, 22 (10) :1730–1741. doi:10.1109/TPDS.2011.43 (0)
[5] Han J, Watson D, Jahanian F. Topology aware overlay networks[C]//Proceedings of the IEEE INFOCOM, Miami, Florida, USA, 2005:2554-2565. (0)
[6] Adiseshu H, Parulkar G, Varghese G. A reliable and scalable striping protocol[J]. ACM SIGCOMM Computer Communication Review , 1996, 26 (4) :131–141. doi:10.1145/248157 (0)
[7] Kandula S, Katabi D, Sinha S, et al. Dynamic load balancing without packet reordering[J]. ACM SIGCOMM Computer Communication Review , 2007, 37 (2) :53–62. (0)