工程科学学报,第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 ·
李文等:基于带宽与往返时间联合预测的多路径并行传输性能优化算法 ·137 径选择. 最后利用NS-2软件对算法性能进行评估. 从上文容易看出,路径选择算法的时间复杂度取 4.1仿真场景 决于计算式(23)所需的时间以及对所有路径的T:值 (1)带宽敏感场景.图2表示仿真中采用的带宽 进行排序需要的时间,而排序运算对后文中进行性能 敏感仿真场景拓扑图,这是一种典型的客户端一服务 比较的三种算法而言都是相同的,因此时间复杂度主 器的拓扑.左边的终端A表示拥有两个802.11b无线 要取决于对式(23)进行计算所需的时间.本文提出的 接口的多家乡客户端.右边的终端B表示拥有两个有 基于扩展矢量卡尔曼滤波的联合预测算法在更准确预 线接口的多家乡服务器.假设终端A和终端B都是静 测带宽与往返时间的同时,收敛速度要比其他估计算 止的,在仿真中,A拥有的两个802.11b无线接口被分 法更快,因此能够以更短的时间获得每条路径的T: 别分配至两个不同的信道,这样能够避免两者间的互 值,从而具有更低的时间复杂度 扰.同时假设有线链路中不存在数据包丢失,传输层 中路径1无线链路的丢包率固定为1%,而路径2的丢 4仿真及结果 包率在区间ū%,10%]中变化.另外,假设路径1与 为了更全面地验证本文所提算法的性能并与文献 路径2上传输时延均为45s.对这种仿真场景而言, ū4]中算法进行比较,我们主要采用两类仿真场 虽然路径1与路径2的传输时延相同,往返时间也相 景一带宽敏感场景以及时延和带宽都敏感的场景, 近,但是两者的丢包率不同,导致两者实际的可用带宽 其中带宽敏感场景仍然采用文献14]中的仿真场景. 也将不同,因此我们称其为带宽敏感的仿真场景 802.11b ((o) 路径1 因特网 b2 路径2 图2带宽敏感的仿真场景拓扑结构图 Fig.2 Simulation topology of bandwidth sensitive scene (2)时延和带宽都敏感的场景.图3表示仿真中 不同的网络接口F1和F2.路径1表示从终端A的 采用的时延和带宽都敏感的仿真场景拓扑图.该场景 接口F1传往终端B的接口FI的链路,路径2表示 假设移动终端A在全球移动无线通信系统-2000(i- 从终端A的接口F2传往终端B的接口F2的链路 ternational mobile telecommunications-2000,IMT-2000) 根据MT-2000与PHS的实际通信能力,假设终端A 与个人手持电话系统(personal handy-phone system, 的接口F1的最大传输速率为128kbps(PHS),接口 PHS)两种网络重叠的区域间漫游.移动终端A与固 F2的最大传输速率为384kbps(IMT-2000):终端B 定终端B能够进行实时通信,终端A与B均支持两种 的接口F1和F2的最大传输速率均为I0Mbps(采用 路径1 50ms,1% 个人手持 电话系统 以太网 128 kbps API 100 Mbps Router 1 100 Mbps 移动终端A 固定终端B 全球移动无线 通信系统-2000 384 kbps IF2 AP2 以太网 Router2 IF2 100 Mbps 100 Mbps 路径2 100m%.1%-5% 图3时延和带宽都做感的仿真场景拓扑图 Fig.3 Simulation topology of time and bandwidth sensitive scene
李 文等: 基于带宽与往返时间联合预测的多路径并行传输性能优化算法 径选择. 从上文容易看出,路径选择算法的时间复杂度取 决于计算式( 23) 所需的时间以及对所有路径的 Ti 值 进行排序需要的时间,而排序运算对后文中进行性能 比较的三种算法而言都是相同的,因此时间复杂度主 要取决于对式( 23) 进行计算所需的时间. 本文提出的 基于扩展矢量卡尔曼滤波的联合预测算法在更准确预 测带宽与往返时间的同时,收敛速度要比其他估计算 法更快,因此能够以更短的时间获得每条路径的 Ti 值,从而具有更低的时间复杂度. 4 仿真及结果 为了更全面地验证本文所提算法的性能并与文献 [14]中 算 法 进 行 比 较,我们主要采用两类仿真场 景———带宽敏感场景以及时延和带宽都敏感的场景, 其中带宽敏感场景仍然采用文献[14]中的仿真场景. 最后利用 NS--2 软件对算法性能进行评估. 4. 1 仿真场景 ( 1) 带宽敏感场景. 图 2 表示仿真中采用的带宽 敏感仿真场景拓扑图,这是一种典型的客户端--服务 器的拓扑. 左边的终端 A 表示拥有两个 802. 11b 无线 接口的多家乡客户端. 右边的终端 B 表示拥有两个有 线接口的多家乡服务器. 假设终端 A 和终端 B 都是静 止的,在仿真中,A 拥有的两个 802. 11b 无线接口被分 别分配至两个不同的信道,这样能够避免两者间的互 扰. 同时假设有线链路中不存在数据包丢失,传输层 中路径1 无线链路的丢包率固定为1% ,而路径2 的丢 包率在区间[1% ,10%]中变化. 另外,假设路径 1 与 路径 2 上传输时延均为 45 ms. 对这种仿真场景而言, 虽然路径 1 与路径 2 的传输时延相同,往返时间也相 近,但是两者的丢包率不同,导致两者实际的可用带宽 也将不同,因此我们称其为带宽敏感的仿真场景. 图 2 带宽敏感的仿真场景拓扑结构图 Fig. 2 Simulation topology of bandwidth sensitive scene 图 3 时延和带宽都敏感的仿真场景拓扑图 Fig. 3 Simulation topology of time and bandwidth sensitive scene ( 2) 时延和带宽都敏感的场景. 图 3 表示仿真中 采用的时延和带宽都敏感的仿真场景拓扑图. 该场景 假设移动终端 A 在全球移动无线通信系统--2000 ( international mobile telecommunications-2000,IMT-2000 ) 与个 人 手 持 电 话 系 统( personal handy-phone system, PHS) 两种网络重叠的区域间漫游. 移动终端 A 与固 定终端 B 能够进行实时通信,终端 A 与 B 均支持两种 不同的网络接口 IF1 和 IF2. 路径 1 表示从终端 A 的 接口 IF1 传往终端 B 的接口 IF1 的链路,路径 2 表示 从终端 A 的接口 IF2 传往终端 B 的接口 IF2 的链路. 根据 IMT--2000 与 PHS 的实际通信能力,假设终端 A 的接口 IF1 的最大传输速率为 128 kbps ( PHS) ,接口 IF2 的最大传输速率为 384 kbps( IMT--2000) ; 终端 B 的接口 IF1 和 IF2 的最大传输速率均为 10 Mbps ( 采用 · 731 ·
·138· 工程科学学报,第37卷,第1期 l0 Base T Ethernet):路径1与路径2中间有线链路的 最大传输速率为100Mbps.另外,根据路径传输时延 Roun小-Robin算法 口卡尔曼滤波算法 与最大传输速率的对应关系以及性能比较的需要,我 口扩展矢量卡尔曼滤波算法 们进一步假设路径1的传输时延为50ms,丢包率固定 为1%:路径2的传输时延为100ms,丢包率在区间 15 0%,5%]中变化.在这种仿真场景中,虽然路径2 的最大传输速率高于路径1的最大传输速率,即路径 10 2的瓶颈带宽高于路径1的瓶颈带宽,然而路径2的 传输时延同样高于路径1的传输时延,此时根据式 (23)计算得出的T,值并不一定比T,值小,因此也就 不能保证一定会选择路径2对数据进行传输,故我们 称其为时延和带宽都敏感的仿真场景, 为了方便起见,将基于Round--Robin的CMT算法 图4带宽敏感场景下算法的重排程度比较(路径1的丢包率为 记为RR-CMT;文献D4]中Zhang采用的卡尔曼滤波 1%,路径2的丢包率为8%) 算法表示为Kalman-CMT,而我们采用的扩展矢量卡 Fig.4 Reordering degree comparison in bandwidth sensitive scene (Path 1 packet loss rate is 1%,and Path 2 packet loss rate is 8%) 尔曼滤波算法表示为Ext-Vec-Kalman--CMT.为了确 保仿真结果的置信度能够达到99%以上,仿真曲线中 Round--Robin算法的性能优势也随之增大.图5的结 每个点的值表示3000次仿真结果的平均值. 果同样表明,扩展矢量卡尔曼滤波算法比卡尔曼滤波 4.2仿真结果 算法的吞吐量最少能提高120kbps,此时路径2丢包 (1)带宽敏感场景的仿真结果.对图2构造的带 率为10%;在路径2丢包率为6%时吞吐量最大能提 宽敏感仿真场景而言,图4比较了Round--Robin算法、 高310kbps 卡尔曼滤波算法和扩展矢量卡尔曼滤波算法这三种算 45 法接收端数据包的乱序程度.仿真中,假设路径2的 -。-Round-Robin算法 ··卡尔曼滤波算法 丢包率为8%.图中,直方图表示n一重排的程度,以百 4.0 。扩展矢量卡尔曼滤波算法 分比表示.x轴n的取值范围为1~4,表示如果数据 35 包i是n一重排的,则任何先于数据包i接收的数据包 的序列号均大于i.因此,一重排的程度反映了接收端 3.0 数据乱序的程度.数值上,n一重排程度由n一重排的数 2.5 据包个数与接收端接收的总数据包个数的比值来决 定.从图中可以看出,我们提出的扩展矢量卡尔曼滤 2.0 波算法具有比Round--Robin算法和卡尔曼滤波算法更 低的一重排程度,即表明我们所提算法能够减轻接收 1500.010020.030.040.050.060.070.080.090.1001 端数据乱序的程度.例如,1一重排程度将由Roud一 路径2丢包率 图5带宽敏感场景在不同路径2丢包率情况下的吞吐量比较 Robin算法的22%以及卡尔曼滤波算法的19.5%降为 Fig.5 Throughput comparison in bandwidth sensitive scene with var- 17.5%.对于图中的每一个n而言,我们所提算法的 iable packet loss rate of Path 2 一重排程度都有一定程度的降低,从而能够带来网络 性能的提高。 为了比较带宽敏感场景下三种算法的收敛速度, 图5比较了上述三种算法在带宽敏感仿真场景中 图6与图7分别刻画了路径2丢包率为1%和8%时 的吞吐量性能.在仿真中,为了更全面地验证不同路 网络吞吐量与仿真时间的关系曲线.从图中可以看 径特征下的算法性能,我们假设路径2的丢包率从 出,扩展矢量卡尔曼滤波算法能够比Round-一Robin算 1%变化到10%.从图上可以看出,三条曲线均随着路 法和卡尔曼滤波算法更快地达到稳定的吞吐量.另 径2丢包率的增加而降低,扩展矢量卡尔曼滤波算法 外,我们也可以看出,扩展矢量卡尔曼滤波算法所达到 的吞吐量性能在所有丢包率范围内均优于Round-一 的稳定吞吐量要高于后两种算法,这与图5的仿真结 Robin算法和卡尔曼滤波算法.另外,随着路径2丢包 果相一致.例如,当路径2的丢包率为8%时,扩展矢 率的增加,扩展矢量卡尔曼滤波算法较之Round-Rob- 量卡尔曼滤波算法的稳定吞吐量能接近2.91Mbps,而 in算法的性能优势将明显变大,卡尔曼滤波算法较之 卡尔曼滤波算法与Round--Robin算法的稳定吞吐量分
工程科学学报,第 37 卷,第 1 期 10 Base-T Ethernet) ; 路径 1 与路径 2 中间有线链路的 最大传输速率为 100 Mbps. 另外,根据路径传输时延 与最大传输速率的对应关系以及性能比较的需要,我 们进一步假设路径 1 的传输时延为 50 ms,丢包率固定 为 1% ; 路径 2 的传输时延为 100 ms,丢包率在区间 [1% ,5%]中变化. 在这种仿真场景中,虽然路径 2 的最大传输速率高于路径 1 的最大传输速率,即路径 2 的瓶颈带宽高于路径 1 的瓶颈带宽,然而路径 2 的 传输时延同样高于路径 1 的传输时延,此时根据式 ( 23) 计算得出的 T2 值并不一定比 T1 值小,因此也就 不能保证一定会选择路径 2 对数据进行传输,故我们 称其为时延和带宽都敏感的仿真场景. 为了方便起见,将基于 Round--Robin 的 CMT 算法 记为 RR--CMT; 文献[14]中 Zhang 采用的卡尔曼滤波 算法表示为 Kalman--CMT,而我们采用的扩展矢量卡 尔曼滤波算法表示为 Ext--Vec--Kalman--CMT. 为了确 保仿真结果的置信度能够达到 99% 以上,仿真曲线中 每个点的值表示 3000 次仿真结果的平均值. 4. 2 仿真结果 ( 1) 带宽敏感场景的仿真结果. 对图 2 构造的带 宽敏感仿真场景而言,图 4 比较了 Round--Robin 算法、 卡尔曼滤波算法和扩展矢量卡尔曼滤波算法这三种算 法接收端数据包的乱序程度. 仿真中,假设路径 2 的 丢包率为 8% . 图中,直方图表示 n--重排的程度,以百 分比表示. x 轴 n 的取值范围为 1 ~ 4,表示如果数据 包 i 是 n--重排的,则任何先于数据包 i 接收的数据包 的序列号均大于 i. 因此,n--重排的程度反映了接收端 数据乱序的程度. 数值上,n--重排程度由 n--重排的数 据包个数与接收端接收的总数据包个数的比值来决 定. 从图中可以看出,我们提出的扩展矢量卡尔曼滤 波算法具有比 Round--Robin 算法和卡尔曼滤波算法更 低的 n--重排程度,即表明我们所提算法能够减轻接收 端数据乱序的程度. 例如,1--重排程度将由 Round-- Robin 算法的 22% 以及卡尔曼滤波算法的 19. 5% 降为 17. 5% . 对于图中的每一个 n 而言,我们所提算法的 n--重排程度都有一定程度的降低,从而能够带来网络 性能的提高. 图 5 比较了上述三种算法在带宽敏感仿真场景中 的吞吐量性能. 在仿真中,为了更全面地验证不同路 径特征下的算法性能,我们假设路径 2 的丢包率从 1% 变化到 10% . 从图上可以看出,三条曲线均随着路 径 2 丢包率的增加而降低,扩展矢量卡尔曼滤波算法 的吞吐 量 性 能 在 所 有 丢 包 率 范 围 内 均 优 于 Round-- Robin 算法和卡尔曼滤波算法. 另外,随着路径 2 丢包 率的增加,扩展矢量卡尔曼滤波算法较之 Round--Robin 算法的性能优势将明显变大,卡尔曼滤波算法较之 图 4 带宽敏感场景下算法的重排程度比较( 路径 1 的丢包率为 1% ,路径 2 的丢包率为 8% ) Fig. 4 Reordering degree comparison in bandwidth sensitive scene ( Path 1 packet loss rate is 1% ,and Path 2 packet loss rate is 8% ) Round--Robin 算法的性能优势也随之增大. 图 5 的结 果同样表明,扩展矢量卡尔曼滤波算法比卡尔曼滤波 算法的吞吐量最少能提高 120 kbps,此时路径 2 丢包 率为 10% ; 在路径 2 丢包率为 6% 时吞吐量最大能提 高 310 kbps. 图 5 带宽敏感场景在不同路径 2 丢包率情况下的吞吐量比较 Fig. 5 Throughput comparison in bandwidth sensitive scene with variable packet loss rate of Path 2 为了比较带宽敏感场景下三种算法的收敛速度, 图 6 与图 7 分别刻画了路径 2 丢包率为 1% 和 8% 时 网络吞吐量与仿真时间的关系曲线. 从图中可以看 出,扩展矢量卡尔曼滤波算法能够比 Round--Robin 算 法和卡尔曼滤波算法更快地达到稳定的吞吐量. 另 外,我们也可以看出,扩展矢量卡尔曼滤波算法所达到 的稳定吞吐量要高于后两种算法,这与图 5 的仿真结 果相一致. 例如,当路径 2 的丢包率为 8% 时,扩展矢 量卡尔曼滤波算法的稳定吞吐量能接近 2. 91 Mbps,而 卡尔曼滤波算法与 Round--Robin 算法的稳定吞吐量分 · 831 ·
李文等:基于带宽与往返时间联合预测的多路径并行传输性能优化算法 ·139 别为2.78Mbps和2.10Mbps左右 径2的吞吐量小,这正反映了扩展矢量卡尔曼滤波算 法在状态参数预测以及路径选择方面的优越性,但这 o Round-Robin算法 种优势不是太明显,主要是因为路径1与路径2的性 +卡尔曼滤波算法 ·扩展矢量卡尔曼滤波算法 能差异主要体现在丢包率不同带来的可用带宽不同 上,而两者的传输时延完全相同 4 4.0- +卡尔曼滤波算法路径1 卡尔曼滤波算法路径2 3.0 ◆扩展矢量卡尔曼滤波算法路径1 扩展矢量卡尔曼滤波算法路径2 2.0 20406080100120140160180200 仿真时间s 1.0- 09- 08- 图6带宽敏感场景在路径2丢包率为1%时吞吐量收敛速度 0.7 比较 0.6 Fig.6 Throughput convergence speed comparison in bandwidth sen- 0.5 101520253035404550 sitive scene with a Path 2 packet loss rate of 1% 仿真时间/s 图8 带宽敏感场景在路径2丢包率为1%时两条路径吞吐量 比较 7 o Round-Robin算法 Fig.8 Throughput comparison between Path I and Path 2 in band- 6 ·卡尔曼滤波算法 width sensitive scene with a Path 2 packet loss rate of 1% 5 ·扩展矢量卡尔曼滤波算法 4 和◆的c 2 10 Py0>◆w⊙r6 220408010120140160180200 +卡尔曼滤波路径1 -+.卡尔曼滤波路径2 仿真时间作 ·扩展矢量卡尔曼滤波路径」 ◆扩展矢量卡尔曼滤波路径2 图7带宽敏感场景在路径2丢包率为8%时吞吐量收敛速度 比较 Fig.7 Throughput convergence speed comparison in bandwidth sen- 101520253035404550 sitive scene with a Path 2 packet loss rate of 8% 仿真时间s 图9带宽敏感场景在路径2丢包率为8%时两条路径吞吐量 为了更好分析卡尔曼滤波算法与扩展矢量卡尔曼 比较 滤波算法中每条路径的稳定吞吐量情况,图8和图9 Fig.9 Throughput comparison between Path I and Path 2 in band- width sensitive scene with a Path 2 packet loss rate of 8% 分别刻画了路径2丢包率为1%和8%时路径1和路 径2在两种算法下的吞吐量曲线.从图中可以看出, 针对带宽敏感的仿真场景,表3列出了路径2丢 当路径2丢包率为1%时,路径1和路径2的状态完全 包率从1%变化到10%时三种算法的收敛时间以及 相同,此时两种算法中路径1和路径2的吞吐量几乎 稳定吞吐量的对比结果。从表中可以看出,对带宽敏 相等,而扩展矢量卡尔曼滤波算法两条路径的吞吐量 感的仿真场景而言,扩展矢量卡尔曼滤波算法比卡 略高于卡尔曼滤波算法中两条路径的吞吐量、随着路 尔曼滤波算法和Round--Robin算法收敛得更快,吞吐 径2丢包率的增加,两种算法中路径1的吞吐量分别 量性能较后两者也有一定程度地提高.表4比较了 高于对应路径2的吞吐量.考察两条路径吞吐量之间 不同的路径2丢包率情况下路径1和路径2在卡尔 的差距可以看出,扩展矢量卡尔曼滤波算法要大于卡 曼滤波算法和扩展矢量卡尔曼滤波算法下的吞吐量 尔曼滤波算法,此时前者路径1的吞吐量要高于后者 性能.从表中同样能看出:当路径2丢包率为1% 路径1的吞吐量,而前者路径2的吞吐量要比后者路 时,无论对于哪种算法,路径1和路径2的吞吐量都
李 文等: 基于带宽与往返时间联合预测的多路径并行传输性能优化算法 别为 2. 78 Mbps 和 2. 10 Mbps 左右. 图 6 带宽敏感场景在路径 2 丢包率为 1% 时吞吐量收敛速度 比较 Fig. 6 Throughput convergence speed comparison in bandwidth sensitive scene with a Path 2 packet loss rate of 1% 图 7 带宽敏感场景在路径 2 丢包率为 8% 时吞吐量收敛速度 比较 Fig. 7 Throughput convergence speed comparison in bandwidth sensitive scene with a Path 2 packet loss rate of 8% 为了更好分析卡尔曼滤波算法与扩展矢量卡尔曼 滤波算法中每条路径的稳定吞吐量情况,图 8 和图 9 分别刻画了路径 2 丢包率为 1% 和 8% 时路径 1 和路 径 2 在两种算法下的吞吐量曲线. 从图中可以看出, 当路径 2 丢包率为 1% 时,路径 1 和路径 2 的状态完全 相同,此时两种算法中路径 1 和路径 2 的吞吐量几乎 相等,而扩展矢量卡尔曼滤波算法两条路径的吞吐量 略高于卡尔曼滤波算法中两条路径的吞吐量. 随着路 径 2 丢包率的增加,两种算法中路径 1 的吞吐量分别 高于对应路径 2 的吞吐量. 考察两条路径吞吐量之间 的差距可以看出,扩展矢量卡尔曼滤波算法要大于卡 尔曼滤波算法,此时前者路径 1 的吞吐量要高于后者 路径 1 的吞吐量,而前者路径 2 的吞吐量要比后者路 径 2 的吞吐量小,这正反映了扩展矢量卡尔曼滤波算 法在状态参数预测以及路径选择方面的优越性,但这 种优势不是太明显,主要是因为路径 1 与路径 2 的性 能差异主要体现在丢包率不同带来的可用带宽不同 上,而两者的传输时延完全相同. 图 8 带宽敏感场景在路径 2 丢包率为 1% 时两条路径吞吐量 比较 Fig. 8 Throughput comparison between Path 1 and Path 2 in bandwidth sensitive scene with a Path 2 packet loss rate of 1% 图 9 带宽敏感场景在路径 2 丢包率为 8% 时两条路径吞吐量 比较 Fig. 9 Throughput comparison between Path 1 and Path 2 in bandwidth sensitive scene with a Path 2 packet loss rate of 8% 针对带宽敏感的仿真场景,表 3 列出了路径 2 丢 包率从 1% 变化到 10% 时三种算法的收敛时间以及 稳定吞吐量的对比结果. 从表中可以看出,对带宽敏 感的仿真场景而言,扩展矢量卡尔曼滤波算法比卡 尔曼滤波算法和 Round--Robin 算法收敛得更快,吞吐 量性能较后两者也有一定程度地提高. 表 4 比较了 不同的路径 2 丢包率情况下路径 1 和路径 2 在卡尔 曼滤波算法和扩展矢量卡尔曼滤波算法下的吞吐量 性能. 从表 中 同 样 能 看 出: 当 路 径 2 丢 包 率 为 1% 时,无论对于哪种算法,路径 1 和路径 2 的吞吐量都 · 931 ·
·140 工程科学学报,第37卷,第1期 相等,且扩展矢量卡尔曼滤波算法的路径吞吐量略 路径1的吞吐量要高于卡尔曼滤波算法下路径1的 高于卡尔曼滤波算法对应路径的吞吐量:当路径2 吞吐量,而扩展矢量卡尔曼滤波算法下路径2的吞 丢包率大于1%时,无论对于哪种算法,路径1的吞 吐量要比卡尔曼滤波算法下路径2的吞吐量小,这 吐量都要高于路径2,且扩展矢量卡尔曼滤波算法下 与前文中分析的结果相吻合 表3带宽敏感场景下三种算法的收敛速度和稳定吞吐量对比 Table 3 Convergence speed and throughput comparison in bandwidth sensitive scene for three algorithms Round--Robin算法 卡尔曼滤波算法 扩展矢量卡尔曼滤波算法 路径2丢包率 吞吐量/Mbps 收敛时间/s 吞吐量/Mbps 收敛时间/s 吞吐量/Mbps 收敛时间/s 0.01 3.90 6.78 4.10 7.09 4.24 3.83 0.02 3.47 6.93 3.90 7.55 4.12 4.17 0.03 3.10 7.22 3.81 8.16 3.99 4.56 0.04 2.83 7.48 3.53 8.79 3.80 4.78 0.05 2.60 7.65 3.37 9.04 3.60 5.02 0.06 2.41 8.07 3.09 9.59 3.40 5.60 0.07 2.20 9.15 2.98 10.27 3.22 6.65 0.08 2.10 10.01 2.78 11.25 2.91 7.27 0.09 1.99 11.16 2.69 11.89 2.83 8.59 0.10 1.81 12.35 2.60 12.47 2.72 9.38 表4带宽敏感场景下扩展矢量卡尔曼滤波算法与卡尔曼滤波算法两条路径的吞吐量对比 Table 4 Throughput comparison of each path in bandwidth sensitive scene for Ext-Vec-Kalman-CMT and Kalman-CMT 卡尔曼滤波算法 扩展矢量卡尔曼滤波算法 路径2丢包率 路径1吞吐量Mbps 路径2吞吐量/Mbps 路径1吞吐量/M凸bps 路径2吞吐量/Mbps 0.01 2.05 2.05 2.12 2.12 0.02 2.11 1.79 2.35 1.77 0.03 2.17 1.64 2.39 1.60 0.04 2.15 1.38 2.49 1.31 0.05 2.16 1.21 2.45 1.15 0.06 2.10 0.99 2.48 0.92 0.07 2.12 0.86 2.41 0.81 0.08 2.03 0.75 2.23 0.68 0.09 2.07 0.62 2.26 0.57 0.10 2.08 0.52 2.23 0.49 (2)时延和带宽都敏感场景的仿真结果.对图3 700 构造的时延和带宽都敏感的仿真场景而言,图10比较 650 -。-Round-Robin算法 了上述三种算法的吞吐量性能.在仿真中,路径1的 600 ·卡尔曼滤波算法 ·扩展矢量卡尔曼滤波算法 丢包率固定为1%,路径2的丢包率变化区间为%, 550 5%].从图上可以看出,三条曲线均随着路径2丢包 500 率的增加而降低,扩展矢量卡尔曼滤波算法的吞吐量 450 性能较Round--Robin算法和卡尔曼滤波算法有大幅度 4001 提高.如当路径2的丢包率为5%时,扩展矢量卡尔曼 350 滤波算法的吞吐量达到470kbps左右,而Round--Robin 300 算法与卡尔曼滤波算法分别只有约345kbps与356kb- 250 ps,增幅分别达到36.2%和32%. 2080100.0150.0200.0250.0300.0350.0400.0450.050 为了比较时延和带宽都敏感场景下三种算法的收 路径2丢包率 图10时延和带宽都敏感场景在不同路径2丢包率情况下的吞 敛速度,图11与图12分别刻画了路径2丢包率为1% 吐量比较 和5%时网络吞吐量与仿真时间的关系曲线.从图中 Fig.10 Throughput comparison in time and bandwidth sensitive 可以看出,扩展矢量卡尔曼滤波算法能够比Round-一 scene with variable packet loss rate of Path 2
工程科学学报,第 37 卷,第 1 期 相等,且扩展矢量卡尔曼滤波算法的路径吞吐量略 高于卡尔曼滤波算法对应路径的吞吐量; 当 路 径 2 丢包率大于 1% 时,无论对于哪种算法,路径 1 的吞 吐量都要高于路径 2,且扩展矢量卡尔曼滤波算法下 路径 1 的吞吐量要高于卡尔曼滤波算法下路径 1 的 吞吐量,而扩展矢量卡尔曼滤波算法下路径 2 的吞 吐量要比卡尔曼滤波算法下路径 2 的吞吐量小,这 与前文中分析的结果相吻合. 表 3 带宽敏感场景下三种算法的收敛速度和稳定吞吐量对比 Table 3 Convergence speed and throughput comparison in bandwidth sensitive scene for three algorithms 路径 2 丢包率 Round--Robin 算法 卡尔曼滤波算法 扩展矢量卡尔曼滤波算法 吞吐量/Mbps 收敛时间/ s 吞吐量/Mbps 收敛时间/ s 吞吐量/Mbps 收敛时间/ s 0. 01 3. 90 6. 78 4. 10 7. 09 4. 24 3. 83 0. 02 3. 47 6. 93 3. 90 7. 55 4. 12 4. 17 0. 03 3. 10 7. 22 3. 81 8. 16 3. 99 4. 56 0. 04 2. 83 7. 48 3. 53 8. 79 3. 80 4. 78 0. 05 2. 60 7. 65 3. 37 9. 04 3. 60 5. 02 0. 06 2. 41 8. 07 3. 09 9. 59 3. 40 5. 60 0. 07 2. 20 9. 15 2. 98 10. 27 3. 22 6. 65 0. 08 2. 10 10. 01 2. 78 11. 25 2. 91 7. 27 0. 09 1. 99 11. 16 2. 69 11. 89 2. 83 8. 59 0. 10 1. 81 12. 35 2. 60 12. 47 2. 72 9. 38 表 4 带宽敏感场景下扩展矢量卡尔曼滤波算法与卡尔曼滤波算法两条路径的吞吐量对比 Table 4 Throughput comparison of each path in bandwidth sensitive scene for Ext-Vec-Kalman-CMT and Kalman-CMT 路径 2 丢包率 卡尔曼滤波算法 扩展矢量卡尔曼滤波算法 路径 1 吞吐量/Mbps 路径 2 吞吐量/Mbps 路径 1 吞吐量/Mbps 路径 2 吞吐量/Mbps 0. 01 2. 05 2. 05 2. 12 2. 12 0. 02 2. 11 1. 79 2. 35 1. 77 0. 03 2. 17 1. 64 2. 39 1. 60 0. 04 2. 15 1. 38 2. 49 1. 31 0. 05 2. 16 1. 21 2. 45 1. 15 0. 06 2. 10 0. 99 2. 48 0. 92 0. 07 2. 12 0. 86 2. 41 0. 81 0. 08 2. 03 0. 75 2. 23 0. 68 0. 09 2. 07 0. 62 2. 26 0. 57 0. 10 2. 08 0. 52 2. 23 0. 49 ( 2) 时延和带宽都敏感场景的仿真结果. 对图 3 构造的时延和带宽都敏感的仿真场景而言,图 10 比较 了上述三种算法的吞吐量性能. 在仿真中,路径 1 的 丢包率固定为 1% ,路径 2 的丢包率变化区间为[1% , 5%]. 从图上可以看出,三条曲线均随着路径 2 丢包 率的增加而降低,扩展矢量卡尔曼滤波算法的吞吐量 性能较 Round--Robin 算法和卡尔曼滤波算法有大幅度 提高. 如当路径 2 的丢包率为 5% 时,扩展矢量卡尔曼 滤波算法的吞吐量达到470 kbps 左右,而 Round--Robin 算法与卡尔曼滤波算法分别只有约 345 kbps 与 356 kbps,增幅分别达到 36. 2% 和 32% . 为了比较时延和带宽都敏感场景下三种算法的收 敛速度,图 11 与图 12 分别刻画了路径 2 丢包率为 1% 和 5% 时网络吞吐量与仿真时间的关系曲线. 从图中 可以看出,扩展矢量卡尔曼滤波算法能够比 Round-- 图 10 时延和带宽都敏感场景在不同路径 2 丢包率情况下的吞 吐量比较 Fig. 10 Throughput comparison in time and bandwidth sensitive scene with variable packet loss rate of Path 2 · 041 ·
李文等:基于带宽与往返时间联合预测的多路径并行传输性能优化算法 141 Robin算法和卡尔曼滤波算法更快地达到稳定的吞吐 上,对于卡尔曼滤波算法而言,由于不考虑两者的传输 量.另外,我们也可以看出,扩展矢量卡尔曼滤波算法 时延,此时路径1的吞吐量约为路径2的13:而扩展 所达到的稳定吞吐量明显高于后两种算法,这与图10 矢量卡尔曼滤波算法由于综合考虑了带宽与往返时 的仿真结果相一致.例如,当路径2的丢包率为5% 间,此时路径2与路径1之间的吞吐量差距并不像卡 时,扩展矢量卡尔曼滤波算法的稳定吞吐量能接近 尔曼滤波算法那么大,并且无论对于路径1还是路径 470kbps,而卡尔曼滤波算法和Round--Robin算法的稳 2而言,扩展矢量卡尔曼滤波算法路径吞吐量均高于 定吞吐量分别为356kbps和345kbps左右. 卡尔曼滤波算法对应路径的吞吐量.随着路径2丢包 600 率的增加,扩展矢量卡尔曼滤波算法中路径2与路径 1的吞吐量差距会越来越小,而卡尔曼滤波算法中两 500 者的差距缩小的幅度并不大,这主要是由于丢包率与 往返时间对发送端未经确认的数据包数量有较大的影 400叶 响,从而降低发送端缓存空间的释放速度,扩展矢量卡 300 尔曼滤波算法考虑了这种影响,而卡尔曼滤波算法却 没有考虑 20o/8 o Round-Robin算法 10 ·卡尔曼滤波算法 100 ·扩展矢量卡尔曼滤波算法 0哈 204060 80100120140160180200 仿真时间/s 图11时延和带宽都敏感场景在路径2丢包率为1%时吞吐量 10° 收敛速度比较 Fig.11 Throughput convergence speed comparison in time and →卡尔曼滤波算法路径1 bandwidth sensitive scene with a Path 2 packet loss rate of 1% ~+,卡尔曼滤波算法路径2 +扩展矢量卡尔曼滤波算法路径1 一◆:扩展矢量卡尔曼滤波算法路径2 700 o Round-Robin算法 10 600 +卡尔曼混波算法 101520253035404550 ·扩展矢量卡尔曼滤波算法 仿真时向s 500 wwnvingiw 图13时延和带宽都敏感场景在路径2丢包率为1%时两条路 径吞吐量比较 Fig.13 Throughput comparison between Path I and Path 2 in time 300 and bandwidth sensitive scene with a Path 2 packet loss rate of 1% 露 200¥ 10学 100 6 0620406080100120140160180200 仿真时间/s 图12时延和带宽敏感场景在路径2丢包率为5%时吞吐量收 10 敛速度比较 Fig.12 Throughput convergence speed comparison in time and +卡尔曼滤波算法路径1 -卡尔曼滤波算法路径2 bandwidth sensitive scene with a Path 2 packet loss rate of 5% ◆扩展矢量卡尔曼滤波算法路径1 扩展矢量卡尔曼滤波算法路径2 为了更好分析卡尔曼滤波算法与扩展矢量卡尔曼 滤波算法中每条路径的稳定吞吐量情况,图13与图 1005101520253035404550 14分别刻画了路径2丢包率为1%和5%时路径1和 仿真时间s 路径2在两种算法下的吞吐量曲线.从图中可以看 图14时延和带宽都敏感场景在路径2丢包率为5%时两条路 出,当路径2丢包率为1%时,虽然路径1和路径2的 径吞吐量比较 丢包率相同,由于两者的瓶颈带宽和传输时延不同,无 Fig.14 Throughput comparison between Path I and Path 2 in time 论对哪种算法,路径1和路径2的吞吐量不同.实际 and bandwidth sensitive scene with a Path 2 packet loss rate of 5%
李 文等: 基于带宽与往返时间联合预测的多路径并行传输性能优化算法 Robin 算法和卡尔曼滤波算法更快地达到稳定的吞吐 量. 另外,我们也可以看出,扩展矢量卡尔曼滤波算法 所达到的稳定吞吐量明显高于后两种算法,这与图 10 的仿真结果相一致. 例如,当路径 2 的丢包率为 5% 时,扩展矢量卡尔曼滤波算法的稳定吞吐量能接近 470 kbps,而卡尔曼滤波算法和 Round--Robin 算法的稳 定吞吐量分别为 356 kbps 和 345 kbps 左右. 图 11 时延和带宽都敏感场景在路径 2 丢包率为 1% 时吞吐量 收敛速度比较 Fig. 11 Throughput convergence speed comparison in time and bandwidth sensitive scene with a Path 2 packet loss rate of 1% 图 12 时延和带宽敏感场景在路径 2 丢包率为 5% 时吞吐量收 敛速度比较 Fig. 12 Throughput convergence speed comparison in time and bandwidth sensitive scene with a Path 2 packet loss rate of 5% 为了更好分析卡尔曼滤波算法与扩展矢量卡尔曼 滤波算法中每条路径的稳定吞吐量情况,图 13 与图 14 分别刻画了路径 2 丢包率为 1% 和 5% 时路径 1 和 路径 2 在两种算法下的吞吐量曲线. 从图中可以看 出,当路径 2 丢包率为 1% 时,虽然路径 1 和路径 2 的 丢包率相同,由于两者的瓶颈带宽和传输时延不同,无 论对哪种算法,路径 1 和路径 2 的吞吐量不同. 实际 上,对于卡尔曼滤波算法而言,由于不考虑两者的传输 时延,此时路径 1 的吞吐量约为路径 2 的 1 /3; 而扩展 矢量卡尔曼滤波算法由于综合考虑了带宽与往返时 间,此时路径 2 与路径 1 之间的吞吐量差距并不像卡 尔曼滤波算法那么大,并且无论对于路径 1 还是路径 2 而言,扩展矢量卡尔曼滤波算法路径吞吐量均高于 卡尔曼滤波算法对应路径的吞吐量. 随着路径 2 丢包 率的增加,扩展矢量卡尔曼滤波算法中路径 2 与路径 1 的吞吐量差距会越来越小,而卡尔曼滤波算法中两 者的差距缩小的幅度并不大,这主要是由于丢包率与 往返时间对发送端未经确认的数据包数量有较大的影 响,从而降低发送端缓存空间的释放速度,扩展矢量卡 尔曼滤波算法考虑了这种影响,而卡尔曼滤波算法却 没有考虑. 图 13 时延和带宽都敏感场景在路径 2 丢包率为 1% 时两条路 径吞吐量比较 Fig. 13 Throughput comparison between Path 1 and Path 2 in time and bandwidth sensitive scene with a Path 2 packet loss rate of 1% 图 14 时延和带宽都敏感场景在路径 2 丢包率为 5% 时两条路 径吞吐量比较 Fig. 14 Throughput comparison between Path 1 and Path 2 in time and bandwidth sensitive scene with a Path 2 packet loss rate of 5% · 141 ·