工程科学学报,第37卷,第1期:132143,2015年1月 Chinese Journal of Engineering,Vol.37,No.1:132-143,January 2015 DOI:10.13374/j.issn2095-9389.2015.01.020:http://journals.ustb.edu.cn 基于带宽与往返时间联合预测的多路径并行传输性 能优化算法 李文12》区,王文博》,景晓军”,刘文),张超) 1)北京邮电大学信息与通信工程学院,北京1008762)中国电子系统设备工程公司研究所,北京100000 3)北京邮电大学泛网无线通信教有部重点实验室,北京1008764)总参信息化部档案馆,北京100000 5)第二炮兵指挥学院通信系,武汉430012 ☒通信作者,E-mail:13811226834@139.com 摘要在流控传输协议(stream control transmission protocol,SCTP)中,多路径并行传输利用多家乡特性实现数据在关联的 多条端到端路径中的并行传输。然而,受不同路径性能差异的影响,多路径并行传输将带来接收端的数据乱序。为了减轻数 据乱序的程度并提高网络吞吐量性能,需要尽可能准确地估计每条路径的实时带宽与往返时间(round trip time,RTT).本文 利用扩展矢量卡尔曼滤波对多路径并行传输中每条路径的可用带宽与往返时间进行联合预测,同时提出了一种综合考虑发 送端未经接收端确认的数据的路径选择算法.仿真结果表明,通过实时准确地预测可用带宽和往返时间,路径选择算法能够 减轻接收端数据乱序的程度.对于带宽敏感的多路径应用场景而言,该算法的收敛速度比Kalman-CMT算法更快,对网络吞 吐量性能也有一定程度地提高:对时延和带宽都敏感的多路径应用场景来说,算法在收敛速度与吞吐量两方面优势明显 关键词网络协议:优化算法:性能优化:数据传输:带宽:往返时间:卡尔曼滤波 分类号TP393.4 CMT performance optimization algorithm based on union prediction of bandwidth and round trip time LI Wen',WANG Wen-bo,JING Xiao-jun,LIU Wen,ZHANG Chao 1)School of Information and Communication Engineering,Beijing University of Posts and Telecommunications,Beijing 100876,China 2)Institute of China Electronics System Engineering Company,Beijing 100000,China 3)Key Laboratory of Universal Wireless Communication(Ministry of Education),Beijing University of Posts and Telecommunications,Beijing 100876, China 4)The Archives of the Ministry of Information Technology,Beijing 100000,China 5)Department of Communication,The Second Artillery Command College,Wuhan 430012,China Corresponding author,E-mail:13811226834@139.com ABSTRACT Concurrent multipath transfer (CMT)uses the stream control transmission protocol's (SCTP)multihoming feature to distribute data across multiple end-to-end paths in a multihomed SCTP association.Due to the disparity of multipaths,it is facing a great challenge to solve the disorder of received data packets.In order to lighten the reordering degree and then to improve the through- put performance,we need to estimate the bandwidth and round trip time (RTT)of the real-time paths as exactly as possible.In this paper,we use the extended vector Kalman filter to predict the available bandwidth and RTT of each path simultaneously.Based on this,we propose a predictive path selection algorithm for CMT in SCTP.Simulation results show that the path selection algorithm can lessen the data packets disordering by correctly predicting each path's bandwidth and RTT in real time.To bandwidth sensitive scene, 收稿日期:2014-10-30 基金项目:解放军理工大学预先研究青年基金资助项目
工程科学学报,第 37 卷,第 1 期: 132--143,2015 年 1 月 Chinese Journal of Engineering,Vol. 37,No. 1: 132--143,January 2015 DOI: 10. 13374 /j. issn2095--9389. 2015. 01. 020; http: / /journals. ustb. edu. cn 基于带宽与往返时间联合预测的多路径并行传输性 能优化算法 李 文1,2) ,王文博3) ,景晓军1) ,刘 文4) ,张 超5) 1) 北京邮电大学信息与通信工程学院,北京 100876 2) 中国电子系统设备工程公司研究所,北京 100000 3) 北京邮电大学泛网无线通信教育部重点实验室,北京 100876 4) 总参信息化部档案馆,北京 100000 5) 第二炮兵指挥学院通信系,武汉 430012 通信作者,E-mail: 13811226834@ 139. com 摘 要 在流控传输协议( stream control transmission protocol,SCTP) 中,多路径并行传输利用多家乡特性实现数据在关联的 多条端到端路径中的并行传输. 然而,受不同路径性能差异的影响,多路径并行传输将带来接收端的数据乱序. 为了减轻数 据乱序的程度并提高网络吞吐量性能,需要尽可能准确地估计每条路径的实时带宽与往返时间( round trip time,RTT) . 本文 利用扩展矢量卡尔曼滤波对多路径并行传输中每条路径的可用带宽与往返时间进行联合预测,同时提出了一种综合考虑发 送端未经接收端确认的数据的路径选择算法. 仿真结果表明,通过实时准确地预测可用带宽和往返时间,路径选择算法能够 减轻接收端数据乱序的程度. 对于带宽敏感的多路径应用场景而言,该算法的收敛速度比 Kalman--CMT 算法更快,对网络吞 吐量性能也有一定程度地提高; 对时延和带宽都敏感的多路径应用场景来说,算法在收敛速度与吞吐量两方面优势明显. 关键词 网络协议; 优化算法; 性能优化; 数据传输; 带宽; 往返时间; 卡尔曼滤波 分类号 TP393. 4 CMT performance optimization algorithm based on union prediction of bandwidth and round trip time LI Wen1,2) ,WANG Wen-bo3) ,JING Xiao-jun1) ,LIU Wen4) ,ZHANG Chao5) 1) School of Information and Communication Engineering,Beijing University of Posts and Telecommunications,Beijing 100876,China 2) Institute of China Electronics System Engineering Company,Beijing 100000,China 3) Key Laboratory of Universal Wireless Communication( Ministry of Education) ,Beijing University of Posts and Telecommunications,Beijing 100876, China 4) The Archives of the Ministry of Information Technology,Beijing 100000,China 5) Department of Communication,The Second Artillery Command College,Wuhan 430012,China Corresponding author,E-mail: 13811226834@ 139. com 收稿日期: 2014--10--30 基金项目: 解放军理工大学预先研究青年基金资助项目 ABSTRACT Concurrent multipath transfer ( CMT) uses the stream control transmission protocol’s ( SCTP) multihoming feature to distribute data across multiple end-to-end paths in a multihomed SCTP association. Due to the disparity of multipaths,it is facing a great challenge to solve the disorder of received data packets. In order to lighten the reordering degree and then to improve the throughput performance,we need to estimate the bandwidth and round trip time ( RTT) of the real-time paths as exactly as possible. In this paper,we use the extended vector Kalman filter to predict the available bandwidth and RTT of each path simultaneously. Based on this,we propose a predictive path selection algorithm for CMT in SCTP. Simulation results show that the path selection algorithm can lessen the data packets disordering by correctly predicting each path’s bandwidth and RTT in real time. To bandwidth sensitive scene
李文等:基于带宽与往返时间联合预测的多路径并行传输性能优化算法 ·133 the algorithm can converge more quickly than Kalman-CMT and can improve the system total throughput in a certain extent.To time and bandwidth sensitive scene,the algorithm can greatly improve the convergence speed and total throughput than Kalman-CMT. KEY WORDS network protocols:optimization algorithm:performance optimization:data transfer:bandwidth;round trip time; Kalman filter 在过去十年中,无线通信取得了前所未有的进步. 线扩展SCTP协议,该协议利用低通滤波器对带宽进 无线通信技术所取得的成就使得网络无所不在,我们 行估计,在此基础上对拥塞丢包与链路差错丢包进行 不但能够在家里和办公室上网,而且在有线网络无法 区分,同时提出一种备选路径选择算法.Westwood 到达的偏远地区也能够享受到网络带来的便利.然 SCTP网利用平滑自回归滑动平均滤波器来估计路径 而,人们对高速率数据进行可靠传输的需求持续增加, 的Westwood带宽,在此基础上,提出了一种能够使数 迫使研究者不断寻求新的解决办法来满足这种需求 据包递交乱序的概率最小化的拥塞控制算法.Zhang 对于拥有多个网络接口的通信设备而言,多家乡特性 等网提出了一种跨层设计算法,该算法能够优化无线 由于能够充分利用未被使用的频谱资源而被认为是提 网络MAC层的误帧率性能.前向预测方案 高吞吐量性能的有效途径之一.事实上,随着电子与 (PS)1☒通过估计关联路径的到达时间,来确定每 通信技术的不断发展,越来越多的移动设备,如移动电 条路径上传输的数据包数目.这种机制能够降低可能 脑和智能手机,拥有不止一种网络接口,能够实现与多 出现乱序的数据包数量从而实现对网络性能的优化 个网络相连接.目前,越来越多的学者开始意识到多 在文献13-14]中,Z小ang等利用卡尔曼滤波算法分 家乡特性在提高网络连接的可靠性、容错性和负载均 别对SCTP-CMT中每条路径的传输时延与可用带宽 衡性等方面的重要性 进行了估计,进而提出了对应的可预测的流分配算法 流控传输协议(stream control transmission proto- 在多家乡特性中,终端通常装备有多个无线网络 col,SCTP)0由网络工程任务组(Internet engineering 接口,不同的无线传输路径之间的传输特性往往不同, 并且是动态变化的,这将严重影响接收端数据包的正 task force,ETF)首先提出,属于第一个能够支持多家 常接收从而导致网络性能下降.因此,如何在可接受 乡特性的传输层协议.在SCTP中,称两个终端之间建 的时间内更准确地估计路径的性能参数成为提高 立的端到端的联系为接口间的关联.原始SCTP协议 SCTP-CMT系统性能的重要问题.尽管前面提到的算 中每次只允许一条路径用于数据传输,而剩余的路径 法能够不同程度地改善网络性能,然而在路径性能参 均被当作备份路径.为了提高网络性能,学者对SCTP 数估计方面,要么只对单个参数进行了估计(如带宽、 协议做了不少改进的尝试.SCTP-CMTP-a通过利用 往返时间和传输时延),要么只将两个参数单独进行 关联的所有可用路径进行并行传输,从而达到提高网 考虑,参数之间的估计是串行进行的,这样不仅忽略了 络吞吐量性能的目的.然而,并行传输的多条路径具 参数之间内在的联系,而且也没能充分利用参数间的 有不同的带宽、往返时间、丢包率等特性,路径之间差 交互信息达到加速算法收敛的目的.因此,现有算法 异性较大.这种差异性极有可能导致发送端先传出的 并不能够完全准确地反映路径性能之间的差异,对路 数据包反而晚到达接收端.另外,在传输时延长的路 径状态动态变化的趋势也不能很好地适应,网络性能 径上传输的数据包,可能被接收端错误地认为已经丢 存在进一步提升的空间. 失,从而返回错误的确认信息.对于接收端而言,需要 作为解决上述问题的尝试,我们在文献几3-14] 对收到的数据包进行重新排序后才能向上层递交,要 算法的基础上,提出了一种基于扩展矢量卡尔曼滤波 求序列号较大的数据包必须等待序列号小于它自身的 的带宽与往返时间联合预测算法,同时设计了一种综 所有数据包均到达后才能递交至上层.因此,并行传 合考虑发送端未经接收端确认数据的路径选择算法. 输的多条路径的性能差异性会导致接收端数据包乱 本文结构安排如下:第1节描述了扩展矢量卡尔曼滤 序,从而堵塞接收端的缓存空间,降低接收缓存的利用 波算法;第2节详细分析了如何利用扩展矢量卡尔曼 率,最终影响网络的性能2 滤波算法对带宽与往返时间进行联合预测:基于联合 为了提高网络性能,需要对每条路径的特性进行 预测的结果,第3节设计了一种路径选择算法:第4节 恰当地描述.Kashihara可利用Heartbeat包与Heart-- 构建了带宽敏感与时延和带宽都敏感的两种仿真场 beat一ACK包对路径的往返时间(round trip time,RTT) 景,给出了针对两种场景的仿真结果,并进行了比较分 进行测量,通过首尾相连的两个数据包,即包对(这 析:第5节对全文进行了总结 packet-pair)来测量瓶颈路径上的可用带宽,基于对 1扩展矢量卡尔曼滤波 RTT与带宽的测量提出了一种选择最好路径的算法. Fracchia等圆通过修改SCTP的发送端,设计了一种无 卡尔曼滤波器是一种离散时间线性滤波器.它是
李 文等: 基于带宽与往返时间联合预测的多路径并行传输性能优化算法 the algorithm can converge more quickly than Kalman-CMT and can improve the system total throughput in a certain extent. To time and bandwidth sensitive scene,the algorithm can greatly improve the convergence speed and total throughput than Kalman-CMT. KEY WORDS network protocols; optimization algorithm; performance optimization; data transfer; bandwidth; round trip time; Kalman filter 在过去十年中,无线通信取得了前所未有的进步. 无线通信技术所取得的成就使得网络无所不在,我们 不但能够在家里和办公室上网,而且在有线网络无法 到达的偏远地区也能够享受到网络带来的便利. 然 而,人们对高速率数据进行可靠传输的需求持续增加, 迫使研究者不断寻求新的解决办法来满足这种需求. 对于拥有多个网络接口的通信设备而言,多家乡特性 由于能够充分利用未被使用的频谱资源而被认为是提 高吞吐量性能的有效途径之一. 事实上,随着电子与 通信技术的不断发展,越来越多的移动设备,如移动电 脑和智能手机,拥有不止一种网络接口,能够实现与多 个网络相连接. 目前,越来越多的学者开始意识到多 家乡特性在提高网络连接的可靠性、容错性和负载均 衡性等方面的重要性. 流控传输协议 ( stream control transmission protocol,SCTP) [1] 由网络工程任务组( Internet engineering task force,IETF) 首先提出,属于第一个能够支持多家 乡特性的传输层协议. 在 SCTP 中,称两个终端之间建 立的端到端的联系为接口间的关联. 原始 SCTP 协议 中每次只允许一条路径用于数据传输,而剩余的路径 均被当作备份路径. 为了提高网络性能,学者对 SCTP 协议做了不少改进的尝试. SCTP--CMT[2 - 6]通过利用 关联的所有可用路径进行并行传输,从而达到提高网 络吞吐量性能的目的. 然而,并行传输的多条路径具 有不同的带宽、往返时间、丢包率等特性,路径之间差 异性较大. 这种差异性极有可能导致发送端先传出的 数据包反而晚到达接收端. 另外,在传输时延长的路 径上传输的数据包,可能被接收端错误地认为已经丢 失,从而返回错误的确认信息. 对于接收端而言,需要 对收到的数据包进行重新排序后才能向上层递交,要 求序列号较大的数据包必须等待序列号小于它自身的 所有数据包均到达后才能递交至上层. 因此,并行传 输的多条路径的性能差异性会导致接收端数据包乱 序,从而堵塞接收端的缓存空间,降低接收缓存的利用 率,最终影响网络的性能[2,5]. 为了提高网络性能,需要对每条路径的特性进行 恰当 地 描 述. Kashihara[7] 利用 Heartbeat 包 与 Heartbeat--ACK 包对路径的往返时间( round trip time,RTT) 进行测量,通过首尾相连的两个数据包,即包对( 这 packet-pair) 来测量瓶颈路径上的可用带宽,基 于 对 RTT 与带宽的测量提出了一种选择最好路径的算法. Fracchia 等[8]通过修改 SCTP 的发送端,设计了一种无 线扩展 SCTP 协议,该协议利用低通滤波器对带宽进 行估计,在此基础上对拥塞丢包与链路差错丢包进行 区分,同时提出一种备选路径选择算法. Westwood SCTP[9]利用平滑自回归滑动平均滤波器来估计路径 的 Westwood 带宽,在此基础上,提出了一种能够使数 据包递交乱序的概率最小化的拥塞控制算法. Zhang 等[10]提出了一种跨层设计算法,该算法能够优化无线 网 络 MAC 层 的 误 帧 率 性 能. 前 向 预 测 方 案 ( FPS) [11 - 12]通过估计关联路径的到达时间,来确定每 条路径上传输的数据包数目. 这种机制能够降低可能 出现乱序的数据包数量从而实现对网络性能的优化. 在文献[13 - 14]中,Zhang 等利用卡尔曼滤波算法分 别对 SCTP--CMT 中每条路径的传输时延与可用带宽 进行了估计,进而提出了对应的可预测的流分配算法. 在多家乡特性中,终端通常装备有多个无线网络 接口,不同的无线传输路径之间的传输特性往往不同, 并且是动态变化的,这将严重影响接收端数据包的正 常接收从而导致网络性能下降. 因此,如何在可接受 的时间内更准确地估计路径的性能参数成为提高 SCTP--CMT 系统性能的重要问题. 尽管前面提到的算 法能够不同程度地改善网络性能,然而在路径性能参 数估计方面,要么只对单个参数进行了估计( 如带宽、 往返时间和传输时延) ,要么只将两个参数单独进行 考虑,参数之间的估计是串行进行的,这样不仅忽略了 参数之间内在的联系,而且也没能充分利用参数间的 交互信息达到加速算法收敛的目的. 因此,现有算法 并不能够完全准确地反映路径性能之间的差异,对路 径状态动态变化的趋势也不能很好地适应,网络性能 存在进一步提升的空间. 作为解决上述问题的尝试,我们在文献[13 - 14] 算法的基础上,提出了一种基于扩展矢量卡尔曼滤波 的带宽与往返时间联合预测算法,同时设计了一种综 合考虑发送端未经接收端确认数据的路径选择算法. 本文结构安排如下: 第 1 节描述了扩展矢量卡尔曼滤 波算法; 第 2 节详细分析了如何利用扩展矢量卡尔曼 滤波算法对带宽与往返时间进行联合预测; 基于联合 预测的结果,第 3 节设计了一种路径选择算法; 第 4 节 构建了带宽敏感与时延和带宽都敏感的两种仿真场 景,给出了针对两种场景的仿真结果,并进行了比较分 析; 第 5 节对全文进行了总结. 1 扩展矢量卡尔曼滤波 卡尔曼滤波器是一种离散时间线性滤波器. 它是 · 331 ·
·134 工程科学学报,第37卷,第1期 一种能够有效解决离散数据线性滤波问题的迭代算 法,不仅能够估计并纠正系统当前的状态信息,还能对 H时=清 【s[时-nlm-门 系统将来的状态进行预测.卡尔曼滤波器只能对一般 2 基于扩展矢量卡尔曼滤波的带宽与往返 意义上的离散时间过程的状态信息进行预测,而这种 时间联合预测算法 离散时间过程往往由线性统计差分方程来描述.然 而,实际研究过程中经常会碰到状态方程和观察方程 在文献3-14]中,Zhang等利用卡尔曼滤波算 都不是线性的情况,此时线性卡尔曼滤波算法将不再 法分别对数据传输时延与带宽进行了单独估计.对对 适用.因此,学者提出了扩展卡尔曼滤波算法来解决 称路径而言,传输时延能够反映数据从发送端传往接 上述非线性问题.在扩展卡尔曼滤波器中,不同于线 收端,并从接收端返回确认信息给发送端这一双向过 性卡尔曼滤波模型: 程的传输效率,此时传输时延等于往返时间的一半,估 s [n]As [n-1]+Bu [n], (1) 计出传输时延也意味着对往返时间进行了估计:然 x In =H n]s n+w n]. (2) 而,对非对称路径而言,传输时延并不能反映往返过程 我们有: 的传输效率,此时需要采用往返时间来表征.从这点 s [n]=a(s [n-1])+Bu [n], (3) 来看,Zhang和Nguyen在文献l3]中依据估计的传输 x [n]=h(s [n])+w [n]. (4) 时延设计的数据分发算法并不能达到最优的网络性 这里,a是p维函数,h是M维函数.其他矩阵和 能。另外,在某些无线通信系统中,路径在具有高带宽 矢量的维数与线性卡尔曼滤波算法相同.另外,a(sn 的同时,往往具有很大的往返时间,典型的如卫星通信 -1])表示对状态进行估计的真实物理模型;[]代 系统.对于这种同时具有高带宽和大往返时间的路径 表模型误差,是不可预见的输入变量.同时,h(sn]) 而言,发送端收到接收端的确认信息的时间可能会晚 表示没有噪声情况下从状态变量到理想观察变量的转 于另外一条具有较低带宽和较小往返时间的路径.从 化函数.对于这种情况,最小均方误差(MMSE)估计 这个意义上说,往返时间与带宽均不能单独地对路径 将变得十分复杂,唯一的解决办法是通过近似对α和 状态进行全面而又准确地评价.因此,文献几3-14] 进行线性化处理,就像很多非线性系统中通常采用 中估计的结果必然会影响后面数据分发算法的有效 的方法一样。通过进行线性化处理,并在后续的处理 性,从而导致较低的网络吞吐量以及较慢的收敛速度. 过程中采用卡尔曼滤波算法,从而实现扩展卡尔曼滤 这里,我们联合两者进行综合考虑,希望能够更好地反 波.进一步推导可知,我们能够将a(sn-1])表示为 映路径的当前状态,为后续路径选择算法提供更准确 关于sn-1]或s[n-1ln-1]的线性估计.类似地, 的信息,从而提高算法的性能:同时也希望利用带宽与 为了决定s[nln],我们需要将观察方程进行线性化处 往返时间在迭代过程中的信息交互来加速算法收敛. 理,此时h(sn])能够在获知过去数据snln-l]的 本文中,我们利用扩展矢量卡尔曼滤波算法对带 基础上表示成有关s]的线性函数.扩展矢量卡尔 宽与往返时间进行联合预测,预测的结果将作为路径 曼滤波算法的迭代过程详述如下 选择的依据, 预测过程: 为了能够同时预测出路径的带宽与往返时间,我 s [nln-1]=a(s [n-1In-1]) (5) 们首先构造了路径质量因子q:],表示为 最小预测均方误差矩阵(p×p): (10) M [nIn -1]=A [n-1]M [n -1In -1][n-1]+BOB". 园时*局) (6) 上式中,q:n]表示路径i在时刻n的路径质量,通过 卡尔曼增益矩阵(p×M): 在线观察和测量获得;b,n]代表路径i在时刻n的带 K [n]=M [nIn-1]H"[n](C [n]+ 宽;rtl:n]代表路径i在时刻n的往返时间,P:表示路 H [n]M [nIn-1]H [n]). (7) 径的丢包率,L表示路径丢包率的影响因子.考虑到 修正过程: 联合预测算法的复杂性,本文仅考虑对带宽与往返时 s [nln]=5 [nIn-1]+K [n](x(n)-h(s [nln-1])). 间进行联合预测,而路径的丢包率仅体现在对质量因 (8) 子q:]的优化上,具体表现为根据实际需求针对L 最小均方误差矩阵(p×p): 进行优化.另外,α表示可用带宽对路径质量的影响 M [nIn]=(I-K In]H [n])M [nIn-1].(9) 因子,B表示往返时间对路径质量的影响因子.实际 这里, 系统中,需要针对α和B进行优化,为了简化起见,本 文中a=2,B=2500. An-门=sn-Tm.、, 为了检验构造的质量因子的品质,我们选取四种
工程科学学报,第 37 卷,第 1 期 一种能够有效解决离散数据线性滤波问题的迭代算 法,不仅能够估计并纠正系统当前的状态信息,还能对 系统将来的状态进行预测. 卡尔曼滤波器只能对一般 意义上的离散时间过程的状态信息进行预测,而这种 离散时间过程往往由线性统计差分方程来描述. 然 而,实际研究过程中经常会碰到状态方程和观察方程 都不是线性的情况,此时线性卡尔曼滤波算法将不再 适用. 因此,学者提出了扩展卡尔曼滤波算法来解决 上述非线性问题. 在扩展卡尔曼滤波器中,不同于线 性卡尔曼滤波模型: s[n]= As[n - 1]+ Bu[n], ( 1) x[n]= H[n]s[n]+ w[n]. ( 2) 我们有: s[n]= a( s[n - 1]) + Bu[n], ( 3) x[n]= h( s[n]) + w[n]. ( 4) 这里,a 是 p 维函数,h 是 M 维函数. 其他矩阵和 矢量的维数与线性卡尔曼滤波算法相同. 另外,a( s[n - 1]) 表示对状态进行估计的真实物理模型; u[n]代 表模型误差,是不可预见的输入变量. 同时,h( s[n]) 表示没有噪声情况下从状态变量到理想观察变量的转 化函数. 对于这种情况,最小均方误差( MMSE) 估计 将变得十分复杂,唯一的解决办法是通过近似对 a 和 h 进行线性化处理,就像很多非线性系统中通常采用 的方法一样. 通过进行线性化处理,并在后续的处理 过程中采用卡尔曼滤波算法,从而实现扩展卡尔曼滤 波. 进一步推导可知,我们能够将 a( s[n - 1]) 表示为 关于 s[n - 1]或 ^ s[n - 1 | n - 1]的线性估计. 类似地, 为了决定 ^ s[n | n],我们需要将观察方程进行线性化处 理,此时 h( s[n]) 能够在获知过去数据 ^ s[n | n - 1]的 基础上表示成有关 s[n]的线性函数. 扩展矢量卡尔 曼滤波算法的迭代过程详述如下. 预测过程: ^ s[n | n - 1]= a( ^ s[n - 1 | n - 1]) . ( 5) 最小预测均方误差矩阵( p × p) : M[n|n - 1]= A[n - 1]M[n - 1 |n - 1][n - 1]+ BQBT . ( 6) 卡尔曼增益矩阵( p × M) : K[n]= M[n | n - 1]HT [n]( C[n]+ H[n]M[n | n - 1]HT [n]) - 1 . ( 7) 修正过程: ^ s[n|n]= ^ s[n|n - 1]+ K[n]( x( n) - h( ^ s[n|n - 1]) ) . ( 8) 最小均方误差矩阵( p × p) : M[n | n]= ( I - K[n]H[n]) M[n | n - 1]. ( 9) 这里, A[n - 1]= a s[n - 1] s[n - 1]= ^ s[n - 1 | n - 1] , H[n]= h s[n] s[n]= ^ s[n | n - 1] . 2 基于扩展矢量卡尔曼滤波的带宽与往返 时间联合预测算法 在文献[13 - 14]中,Zhang 等利用卡尔曼滤波算 法分别对数据传输时延与带宽进行了单独估计. 对对 称路径而言,传输时延能够反映数据从发送端传往接 收端,并从接收端返回确认信息给发送端这一双向过 程的传输效率,此时传输时延等于往返时间的一半,估 计出传输时延也意味着对往返时间进行了估计. 然 而,对非对称路径而言,传输时延并不能反映往返过程 的传输效率,此时需要采用往返时间来表征. 从这点 来看,Zhang 和 Nguyen 在文献[13]中依据估计的传输 时延设计的数据分发算法并不能达到最优的网络性 能. 另外,在某些无线通信系统中,路径在具有高带宽 的同时,往往具有很大的往返时间,典型的如卫星通信 系统. 对于这种同时具有高带宽和大往返时间的路径 而言,发送端收到接收端的确认信息的时间可能会晚 于另外一条具有较低带宽和较小往返时间的路径. 从 这个意义上说,往返时间与带宽均不能单独地对路径 状态进行全面而又准确地评价. 因此,文献[13 - 14] 中估计的结果必然会影响后面数据分发算法的有效 性,从而导致较低的网络吞吐量以及较慢的收敛速度. 这里,我们联合两者进行综合考虑,希望能够更好地反 映路径的当前状态,为后续路径选择算法提供更准确 的信息,从而提高算法的性能; 同时也希望利用带宽与 往返时间在迭代过程中的信息交互来加速算法收敛. 本文中,我们利用扩展矢量卡尔曼滤波算法对带 宽与往返时间进行联合预测,预测的结果将作为路径 选择的依据. 为了能够同时预测出路径的带宽与往返时间,我 们首先构造了路径质量因子 qi [n],表示为 qi [n] ( = αbi [n]+ β rtti [n]) 1 - p 1 / L i . ( 10) 上式中,qi [n]表示路径 i 在时刻 n 的路径质量,通过 在线观察和测量获得; bi [n]代表路径 i 在时刻 n 的带 宽; rtti [n]代表路径 i 在时刻 n 的往返时间,pi 表示路 径 i 的丢包率,L 表示路径丢包率的影响因子. 考虑到 联合预测算法的复杂性,本文仅考虑对带宽与往返时 间进行联合预测,而路径的丢包率仅体现在对质量因 子 qi [n]的优化上,具体表现为根据实际需求针对 L 进行优化. 另外,α 表示可用带宽对路径质量的影响 因子,β 表示往返时间对路径质量的影响因子. 实际 系统中,需要针对 α 和 β 进行优化,为了简化起见,本 文中 α = 2,β = 2500. 为了检验构造的质量因子的品质,我们选取四种 · 431 ·
李文等:基于带宽与往返时间联合预测的多路径并行传输性能优化算法 ·135 典型的无线通信场景进行验证,分别为长波、短波、超 当L分别取12,1,2,3,4和5时,根据式(10)计 短波和卫星.有关四者的路径参数如表1所示 算得出的上述四种典型无线通信场景的路径质量因子 表1四种典型无线通信场景的路径参数 分别如表2所示. Table 1 Path parameters of four typical communication systems 从表2可以看出,无论L取何值,构造的质量因子 序号 传输手段 带宽bps 往返时间/s 误码率 均能准确地反映路径质量优劣:卫星>超短波>短波 1 长波 >长波,符号“>”表示前者优于后者.另外,从表2中 0.1 360 10-5 还可以看出,四者相互之间的差距比较大,这与实际的 2 短波 1×103 2 10-4 情况也相吻合 3 超短波 1×104 0.2 10-5 综合考虑性能与计算复杂性后,下文中L取值为 4 卫星 1×107 1 10-6 2,此时质量因子表示为 表2L取不同值时四种典型无线通信场景的路径质量因子 Table 2 Corresponding quality factors of four typical communication systems 传输手段 L=1/2 L=1 L=2 L=3 L=4 L=5 长波 7.1444 7.1443 7.1002 6.8481 6.3966 5.8691 短波 3250 3247 2998 2233 1448 902 超短波 32500 32497 31450 25982 18120 11500 卫星 20002000 20002000 19669000 16907000 11754000 6925000 时-(时+贺) 1- A,n-1]=1, (14) (11) H,(n]= 图1表示丢包率分别为0.1与0.3时,路径质量 因子、带宽以及往返时间三者之间的关系。从图中可 2(1-26.nln-1]+ 2500 以看出,b:]越大,q:]值越大,此时路径质量越好: lain-1]) 而r:n]与P:越大,9:n]值越小,表示路径质量越 2500 差,这与实际情况相符 (15) 基于上述结论,SCTP-CMT系统中带宽与往返时 250 路径丢包率为0.1 间的联合预测过程如下 200 预测过程: 150 路径丢包率为0.3 5 [nln-1]=5 [n -1In -1]. (16) 100 最小预测均方误差矩阵: MChin-1]=M,tnn 0 .(17) 50 40 30 往返时间购 20 0202530 3540 卡尔曼增益矩阵: 10 带宽s M,[nIn-1]H [n] (18) 图1两种丢包率情况下路径质量因子与带宽以及往返时间的 K时=念+H时M,1n-日而° 关系示意图 修正过程: Fig.1 Relationships among quality factor,bandwidth and round trip 5:[nln]=5:[nln-1]+ time with path packet loss rates of 0.I and 0.3 K [n](x (n)-h (s,[nIn -1])). (19) 其次,我们建立状态模型与观测模型为 最小均方误差矩阵: s,]=s,n-1]+4n], (12) M:[nIn]=(I-K,[n]H [n])M,[nIn -1].(20) x[n]=h;(s:[n])+w;[n]. (13) 在上面的式子中,和表示预测过程中的噪 这里, 声方差,d表示观测噪声,K[n]s,nln]:nln-l] -a因:器 和s:n-1In-1]均为2×1维列矢量,H:[n]为1×2 维行矢量,M:nln]Mnln-1]和M:n-1In-1] 因此有, 都为2×2维矩阵.对式(19)进行展开,我们可以
李 文等: 基于带宽与往返时间联合预测的多路径并行传输性能优化算法 典型的无线通信场景进行验证,分别为长波、短波、超 短波和卫星. 有关四者的路径参数如表 1 所示. 表 1 四种典型无线通信场景的路径参数 Table 1 Path parameters of four typical communication systems 序号 传输手段 带宽/bps 往返时间/ s 误码率 1 长波 0. 1 360 10 - 5 2 短波 1 × 103 2 10 - 4 3 超短波 1 × 104 0. 2 10 - 5 4 卫星 1 × 107 1 10 - 6 当 L 分别取 1 /2,1,2,3,4 和 5 时,根据式( 10) 计 算得出的上述四种典型无线通信场景的路径质量因子 分别如表 2 所示. 从表 2 可以看出,无论 L 取何值,构造的质量因子 均能准确地反映路径质量优劣: 卫星 > 超短波 > 短波 > 长波,符号“> ”表示前者优于后者. 另外,从表 2 中 还可以看出,四者相互之间的差距比较大,这与实际的 情况也相吻合. 综合考虑性能与计算复杂性后,下文中 L 取值为 2,此时质量因子表示为 表 2 L 取不同值时四种典型无线通信场景的路径质量因子 Table 2 Corresponding quality factors of four typical communication systems 传输手段 L = 1 /2 L = 1 L = 2 L = 3 L = 4 L = 5 长波 7. 1444 7. 1443 7. 1002 6. 8481 6. 3966 5. 8691 短波 3250 3247 2998 2233 1448 902 超短波 32500 32497 31450 25982 18120 11500 卫星 20002000 20002000 19669000 16907000 11754000 6925000 qi [n] ( = 2bi [n]+ 2500 rtti [n]) ( 1 -槡pi ) . ( 11) 图 1 表示丢包率分别为 0. 1 与 0. 3 时,路径质量 因子、带宽以及往返时间三者之间的关系. 从图中可 以看出,bi [n]越大,qi [n]值越大,此时路径质量越好; 而 rtti [n]与 pi 越大,qi [n]值越小,表示路径质量越 差,这与实际情况相符. 图 1 两种丢包率情况下路径质量因子与带宽以及往返时间的 关系示意图 Fig. 1 Relationships among quality factor,bandwidth and round trip time with path packet loss rates of 0. 1 and 0. 3 其次,我们建立状态模型与观测模型为 si [n]= si [n - 1]+ ui [n], ( 12) xi [n]= hi ( si [n]) + wi [n]. ( 13) 这里, si [n]= bi [n] rtt [ i [n]]; hi ( si [n]) ( = 2bi [n]+ 2500 rtti [n]) 1 -槡pi . 因此有, Ai [n - 1]= 1, ( 14) Hi [n]= 2( 1 -槡pi ( ) 2b^ i [n|n - 1]+ 2500 rtti [n|n - 1]) -槡pi - 2500( 1 -槡pi ) rtt2 i [n|n - 1] ( 2b^ i [n|n - 1]+ 2500 rtti [n|n - 1]) -槡p i T . ( 15) 基于上述结论,SCTP--CMT 系统中带宽与往返时 间的联合预测过程如下. 预测过程: ^ si [n | n - 1]= ^ si [n - 1 | n - 1]. ( 16) 最小预测均方误差矩阵: Mi [n | n - 1]= Mi [n - 1 | n - 1]+ δ 2 b 0 0 δ [ 2 ]t . ( 17) 卡尔曼增益矩阵: Ki [n]= Mi [n | n - 1]HT i[n] δ 2 w + Hi [n]Mi [n | n - 1]HT i[n]. ( 18) 修正过程: ^ si [n | n]= ^ si [n | n - 1]+ Ki [n]( xi ( n) - hi ( ^ si [n | n - 1]) ) . ( 19) 最小均方误差矩阵: Mi [n | n]= ( I - Ki [n]Hi [n]) Mi [n | n - 1]. ( 20) 在上面的式子中,δ 2 b 和 δ 2 t 表示预测过程中的噪 声方差,δ 2 w 表示观测噪声,Ki [n]、^ si [n | n]、^ si [n | n - 1] 和^ si [n - 1 | n - 1]均为 2 × 1 维列矢量,Hi [n]为 1 × 2 维行矢量,Mi [n | n]、Mi [n | n - 1]和 Mi [n - 1 | n - 1] 都为 2 × 2 维 矩 阵. 对 式 ( 19 ) 进 行 展 开,我 们 可 以 · 531 ·
·136· 工程科学学报,第37卷,第1期 得到: M,[nln-1]H [n] 6;[nln] 6 [nin-1] +H.[n]M,EnIn -1]Hi [n] rtt,Cnln]rt,Cnln-1] 是一个2×1维列矢量.假设 M,[nIn -1]H:[n] [m nIn-1]m12 [nin-1]1 &+H,M,nln-]H万xn)- M,[nIn-1] m2.1nln-1]m2.2ln-1]' 2500 1- (26,ln-]+tn-可) 从上式可以推导出基于当前时刻观测值的带宽与往返 (21) 时间的预测值与基于过去时刻观测值的带宽与往返时 式(21)中,等号右边和式第二项前面的部分 间的估计值两者之间的关系为 x(m)-(26,nln-]+ 2500 、1-风 b;[nln]=b;[nIn-1]+ rtt nln-l叮/ (1-√P: +H [n]M,[nIn -1]H [n] in-了x -X- (26,ln-+tm-可) 25001-E ×(2m.1nln-1]rt[nln-1]-2500m1,2nln-1]): (22) 250011-m rtt,[nln]=rtl [nIn-1] ,(m)-(26,ln-+,n-可 (1-p) +H [n]M,[nln -1]H [n] nln-万× (26,1n-】+200)×(2 ma.oln-l1nln-】-2500man1n-1]. 容易看出,带宽的预测值b:nln]不仅与它自己 对拥塞控制窗口以及快速重传的影响.事实上,对于 的估计值b:nln-]有关,还与往返时间RTT的估计时延敏感的场景而言,式中第二项要比第一项大,因此 值tnln-1]有关.同理,往返时间的预测值rt,nlT:=O,/b,]+rt,]2;而对于时延和带宽都敏感的 n不仅与其估计值rtl Enin-l]相关,也与带宽的估 场景而言,恰好相反,第一项的值大于第二项的值,此 计值b:nln-1]有关,这正体现了联合预测的思想. 时T=(D+0,)/b,].根据式(23)计算的结果,数 算法通过对带宽与往返时间同时进行预测,不仅能够 据D将选择具有最小T:值的路径进行传输.借鉴文 更全面准确地反映路径状态,而且能够加速算法迭代 献4]中路径选择算法的思想,我们提出了如下 收敛,这将在后面的仿真中予以证明. SCTP一CMT中路径选择算法: 算法推导过程中,8和8均为扩展矢量卡尔 For each data packet to be sent 曼滤波算法的参数,且两者相互独立.其中,和6 for all path i within one SCTP association do 反映了系统模型的准确程度,8刻画了观测过程的准 calculate T according to Equation (23) 确程度.在实际应用过程中,这三个参数通常是未知 sort the destinations of paths with T,increasing 的或者只是近似已知.通常,与8在滤波迭代开始 end for 时进行估计,而对8的估计相对比较困难。事实上, select path i with the smallest value T for transmis- sion 当观测方差取值较小时,将导致较大的估计方差: while (Outstanding packets>CWND size)for path j 而⑧?取值较大时,估计方差将变小,但算法的收敛速 do 度将变慢.在下面的仿真过程中,6与8均取0.001, select pathj=j→next 8取值为1. end while 3 SCTP-CMT路径选择算法 send the data packet to the destination through path j 到达时间T:同时兼顾了带宽、往返时间以及发送 基于联合预测的带宽与往返时间,我们可以计算 端未被确认的数据三者对传输性能的影响,能够较好 出待传数据包经第i条路径到达接收端的时间为 地反映待传数据包到达接收端所需的时间.从式(23) D+0:0,t:n]1 T,=max(6,',而+2 (23) 可以看出,更宽的带宽b:[n]、更短的往返时间rt,[n] 以及更及时的数据确认将带来更好的数据传输性能 式中,D表示数据包大小,O,是路径i未经接收端确认 因此,本文提出的算法能够保证选择性能最好的路径 的数据块(outstanding chunk)的大小,b:n]与rt[n] 进行数据传输.由于路径选择算法只对协议的发送端 分别表示当前时刻估计路径i的带宽与往返时间.在 进行修改,接收端的接收缓存对所有路径而言是共用 式(23)中引入0,主要是为了考虑发送缓存占用情况 的,因此丢包引起的重传数据也将采用该算法进行路
工程科学学报,第 37 卷,第 1 期 得到: b^ i [n | n] rtt ( i [n | n]) = b^ i [n | n - 1] rtt ( i [n | n - 1]) + Mi [n | n - 1]HT i[n] δ 2 w + Hi [n]Mi [n | n - 1]HT i[n][ xi ( n) ( - 2b^ i [n | n - 1]+ 2500 rtti [n | n - 1]) ( 1 -槡pi ] ) . ( 21) 式( 21) 中,等号右边和式第二项前面的部分 Mi [n | n - 1]HT i[n] δ 2 w + Hi [n]Mi [n | n - 1]HT i[n] 是一个 2 × 1 维列矢量. 假设 Mi [n | n - 1]= m1,1[n | n - 1] m1,2[n | n - 1] [ m2,1[n | n - 1] m2,2[n | n - 1]], 从上式可以推导出基于当前时刻观测值的带宽与往返 时间的预测值与基于过去时刻观测值的带宽与往返时 间的估计值两者之间的关系为 bi [n | n]= bi [n | n - 1]+ xi ( n) ( - 2b^ i [n | n - 1]+ 2500 rtti [n | n - 1]) ( 1 -槡pi ) δ 2 w + Hi [n]Mi [n | n - 1]HT i[n] × ( 1 - 槡pi ) rtt2 i [n | n - 1]× ( 2b^ i [n | n - 1]+ 2500 rtti [n | n - 1]) -槡pi × ( 2·m1,1[n | n - 1]rtt2 i [n | n - 1]- 2500·m1,2[n | n - 1]) ; rtti [n | n]= rtti [n | n - 1]+ xi ( n) ( - 2b^ i [n | n - 1]+ 2500 rtti [n | n - 1]) ( 1 -槡pi ) δ 2 w + Hi [n]Mi [n | n - 1]HT i[n] × ( 1 - 槡pi ) rtt2 i [n | n - 1]× ( 2b^ i [n | n - 1]+ 2500 rtti [n | n - 1]) -槡pi × ( 2·m2,1[n | n - 1]rtt2 i [n | n - 1]- 2500·m2,2[n | n - 1]) . ( 22) 容易看出,带宽的预测值 bi [n | n]不仅与它自己 的估计值 bi [n | n - 1]有关,还与往返时间 RTT 的估计 值 rtti [n | n - 1]有关. 同理,往返时间的预测值 rtti [n | n]不仅与其估计值 rtti [n | n - 1]相关,也与带宽的估 计值 bi [n | n - 1]有关,这正体现了联合预测的思想. 算法通过对带宽与往返时间同时进行预测,不仅能够 更全面准确地反映路径状态,而且能够加速算法迭代 收敛,这将在后面的仿真中予以证明. 算法推导过程中,δ 2 b、δ 2 t 和 δ 2 w 均为扩展矢量卡尔 曼滤波算法的参数,且两者相互独立. 其中,δ 2 b 和 δ 2 t 反映了系统模型的准确程度,δ 2 w 刻画了观测过程的准 确程度. 在实际应用过程中,这三个参数通常是未知 的或者只是近似已知. 通常,δ 2 b 与 δ 2 t 在滤波迭代开始 时进行估计,而对 δ 2 w 的估计相对比较困难. 事实上, 当观测方差 δ 2 w 取值较小时,将导致较大的估计方差; 而 δ 2 w 取值较大时,估计方差将变小,但算法的收敛速 度将变慢. 在下面的仿真过程中,δ 2 b 与 δ 2 t 均取 0. 001, δ 2 w 取值为 1. 3 SCTP--CMT 路径选择算法 基于联合预测的带宽与往返时间,我们可以计算 出待传数据包经第 i 条路径到达接收端的时间为 Ti ( = max D + Oi bi [n], Oi bi [n]+ rtti [n] ) 2 . ( 23) 式中,D 表示数据包大小,Oi 是路径 i 未经接收端确认 的数据块( outstanding chunk) 的大小,bi [n]与 rtti [n] 分别表示当前时刻估计路径 i 的带宽与往返时间. 在 式( 23) 中引入 Oi,主要是为了考虑发送缓存占用情况 对拥塞控制窗口以及快速重传的影响. 事实上,对于 时延敏感的场景而言,式中第二项要比第一项大,因此 Ti = Oi / bi [n]+ rtti [n]/2; 而对于时延和带宽都敏感的 场景而言,恰好相反,第一项的值大于第二项的值,此 时 Ti = ( D + Oi ) / bi [n]. 根据式( 23) 计算的结果,数 据 D 将选择具有最小 Ti 值的路径进行传输. 借鉴文 献[14]中路径选择算法的思想,我 们 提 出 了 如 下 SCTP--CMT 中路径选择算法: For each data packet to be sent for all path i within one SCTP association do calculate Ti according to Equation ( 23) sort the destinations of paths with Ti increasing end for select path j with the smallest value Ti for transmission while ( Outstanding packets≥CWND size) for path j do select path j = j→next end while send the data packet to the destination through path j 到达时间 Ti 同时兼顾了带宽、往返时间以及发送 端未被确认的数据三者对传输性能的影响,能够较好 地反映待传数据包到达接收端所需的时间. 从式( 23) 可以看出,更宽的带宽 bi [n]、更短的往返时间 rtti [n] 以及更及时的数据确认将带来更好的数据传输性能. 因此,本文提出的算法能够保证选择性能最好的路径 进行数据传输. 由于路径选择算法只对协议的发送端 进行修改,接收端的接收缓存对所有路径而言是共用 的,因此丢包引起的重传数据也将采用该算法进行路 · 631 ·