陶 洋,周 玄
(重庆邮电大学 通信与信息工程学院,重庆400065)
近年来,无线通信技术已经经历了一个极度快速的发展。通过最近科学技术的支持,移动设备也变得越来越智能,许多设备都已经装有多网络接口[1]。通过无线网络,各个领域的大量日益复杂的服务和应用,包括商业和娱乐,都被广泛提供给这些移动设备的用户,并且充分利用无处不在的访问支持[2,3]。然而,无线网络环境的异构性要求额外的方案去解决平滑高质量的服务配置[4]。SCTP 的多穴特性[5]和其动态的重构扩展[6]使其在无线异构网络中支持高效的数据传输,包括无缝切换,都有着广阔的发展前景。
CMT 利用SCTP的多穴特性同时分配数据,在多条独立的端到端的路径上传输[7]。装有多网络接口的移动设备可以利用CMT 来获得带宽聚合,以提高数据的吞吐量、带宽源利用以及系统的鲁棒性[8]。CMT 被认为是异构无线网络中有严格时延和丢包率限制要求的实时多媒体流应用的理想解决方案[9,10]。
然而,仍有许多SCTP CMT 的挑战需要解决。经典的CMT 策略主要用统一循环的方法分割所有路径中的SCTP数据包,就带宽、时延以及其它QoS 相关网络参数而言,不考虑路径质量的差异性。在无线异构网络中,用这种盲目的循环方法调度数据块毫无疑问的会引起严重的问题。因此,CMT 经常遭受重大接收端缓冲区阻塞问题,这必将降低系统的传输效率。无序数据和选择应答 (SACK)段的增加会导致更多不必要的快速重发,拥塞窗口[11]数量的进一步减少和由于SACKs引起的更高的开销。
目前,CMT已经引起了大量学术研究的兴趣。Dreibholz等[12]在IETE中研究了连续不断的SCTP标准化进程,且在并行多路径传输和安全领域给出了活动和挑战的总体概述。Wallace等[13]提出SCTP的综合回顾,并讨论了3个相关领域的贡献:并行多路径传输、切换管理和跨层活动。CMT 被高度评价为在基于多穴SCTP的环境中最热门的研究之一。
Huang等[14]提出一种快速重传策略,在车载网中,通过使用CMT 继电器网管 (RG-CMT)来处理包丢失。当包由于移交而发生丢失时,RG-CMT 从继电器网管到车辆实现快速重传,这将会节约传输时间和带宽。仿真和分析结果显示,在无线自组织网络中,WCMT-SCTP 可以大大提高系统的吞吐量。
Natarajan等[15]提出一种具有潜在失效状态的CMT。一条经历过单一超时的路径就被标示为 “潜在失败”(PF),表明这条路径的通信可靠性存在疑问。一条PF路径是不会用来传输数据的,直到它返回完全活跃状态。CMT-PF 减少了链路失败的探测等待时间,提高了CMT 的吞吐量。然而CMT-PF用的是和CMT 同样的循环时间表对所有路径均等的分配数据包,并没有考虑它们不同的处理能力。
由于异构无线网络中的多穴通信,时延、带宽和替代路径的丢包率都是不同的。如果使用一个循环数据交付策略,较慢路径就很容易超负荷,而较快路径仍处于未充分利用状态。为避免不平衡的传输,减少接收端的数据乱序,减缓由于使用不同路径并行传输导致的接收端缓冲区阻塞问题,本文提出一种在异构无线网络中用于数据交付的并行多路传输路径质量评估模型,本模型主要贡献如下:①精确的感知每条路径当前的传输状态,并实时评估每条路径的数据处理能力;②根据不同路径对数据的处理能力动态分配数据流量,实现路径充分利用。
本文提出的路径质量评估模型,通过选择一个合理的估计区间来计算每条路径进入和离开发送端缓冲区的数据处理速率,以描述了每条路径的通信质量。任何一个不良状况,包括丢包率、链路时延、路由器缓冲区的大小、信道容量、其它数据量的数量等等,都引起路径处理能力的性能下降。PQEM 用了一个综合的评估方法来反应以上因素在通信质量方面的影响。PQEM 发送端缓冲区的数据处理速率描述了更好的端到端的数据交付情况,因为它更短的估计时间能使它更及时的反应当前路径的通信状态。此外,分配数据进入和离开发送端缓冲区时间区间的采样值可以通过预测路径质量变化趋势轻松获得。
RTT 通常用作路径质量估计最重要的参数,其计算涉及到数据传输时间、数据在接收端的处理时间和SACK 传输的时间。在CMT 中,SACK 可以在不同的路径上传输,因此有不同的时延,从而导致错误的RTT 估计。此外,通过计算每条路径上发送每个包的RTT 单个采样方法不能正确反映RTT 的变化过程,也不能很好的估计路径质量变化的趋势。CMT-QA 不直接利用RTT 信息来分配在发送端等待的数据,相反,PQEM 根据分配数据的发送情况,把发送数据的总时间划分成不同的时期。PQEM 收集发送的数据量,并计算发送数据和接收其相应SACKs的时间间隔,以上过程就是用来计算进入和离开发送端缓冲区的分布式数据的速率。通过这种方法,传输层就可以很好的估计每条端到端路径的传输能力。
当前的CMT 主张共享一个发送端缓冲区,这就不可能获得每个路径的通信信息。与此同时,发送端也可能发生传输阻塞。当数据块被发送到接收机时,直到发送端接收到ACK,这些数据块才被存储在发送端缓冲区,并被标注有突出地位。当路径中存在重大传输能力差异时,共享发送端缓冲区中的较慢路径就会经常出现充满标有突出地位的数据块。在这种情况下,即使当前的拥塞和流控制机制允许,也没有新的数据块可以在快的路径上进行传输。为了正确的估计每条路径的质量,提高传输效率,在PQEM中,共享发送端缓冲区被分成两部分。一部分是每条路径的个人发送子缓冲区,另一部分是每个路径连接独立管理其自己发送子缓冲区。PQEM 用一个动态的缓冲区分配机制,根据路径当前的传输能力来为每条路径分配不同的缓冲区空间大小。
基于以上为多路径单独发送缓冲区的结构设计,我们可以用式 (1)来计算路径的质量
式中:Tfi是一组分布式数据块中第一个数据块进入路径i的发送端缓冲区的时间,它可以通过记录数据块进入发送端的时间获取。Tli是一组分布式数据块中最后一个数据块离开路径i的发送端缓冲区的时间,Tli可以通过记录数据块在发送端相应的SACK 离开时间来获取。缓冲区大小就表示路径i发送端缓冲区的大小,在传输过程中,首先被数据块占用,然后又被释放出来,即在一段特殊时期内,单位时间进入和离开路径i的发送端的数据量。Qi表示路径i的发送端缓冲区的数据处理速率。Qi的值越小,表示当前路径i的质量就越高。路径i的缓冲区大小反应了当前路径i在整个发送数据过程中的通信状态。
确定了路径质量因子,接下来就应该确定多长时间来计算和更新路径i的估计值Qi。在无线的情况下,如果这个估计区间太短了 (例如短于或者和RTT 一样短),那么当数据块由于无线网络情况发生变化而导致的数据块随机丢失时,它也许就不能正确的反应路径的状况。但是,如果估计间隔设置太长,它又不能及时的反应动态的路径状态。因此,间隔需要基于历史信息,并且选择一个合适长度的间隔来精确的更新Q 的值。置信区间的值被广泛用来量化统计不确定性。基于先前的序列统计样本,PQEM 使用置信区间来确定下一个间隔,并计算Q 的值。我们选择没有包丢失的时间间隔作为样本。起初,PQEM 需要3次间隔作为初始样本。如果发生包丢失的情况,那么从第一个包进入发送端到包丢失前的最后一个包进入发送端的时间段作为一个样本。图1就描述了这个抽样的过程。
图1 收集一个间隔样值
采样算法显示了路径i的样本是怎样采集的。每一条路径都有一个相关的个体重传计时器T3-rtx,以确保在没有收到接收端任何反馈信息时进行数据交付。在数据分配区间,当第一个数据块被发送出去的时候,它的发送时间记为一个成功传输时间区间的初始时间。当一个数据块被发送到任何一条路径时 (包括重传),如果和那条路径相关联的T3-rtx计时器还没有开始工作,发送端就启动计时器,以便它超时重传后就失效。如果哪条路径的时间计时器已经开始运作,当一个优秀的数据块在早些时候被送来重传时,发送端就要重启计时器。每当收到一个SACK 时,就表示收到了来自此路径的一个有优秀传输序列号的数据块,这时,这条路径的T3-rtx计时器就需要用它当前的RTO(超时重传时间)来重新启动 (如果这条路上仍有一个优秀的数据)。如果所有的优秀的数据都被送到一条路径上,并且已经得到认可,那这条路径的T3-rtx计时器就可以关闭了。如果这个数据块通过累计ACK 并且得到认可,它就能从发送端的重传队列缓冲区中移除。如果出现包丢失的情况,不管是被RTO 探测到,还是被连续不断的SACKs报道,发送端都应该立刻重传丢失的数据块以减轻重新排序。在丢包的情况下,最后一个数据块的时间戳 (指示发送时间)被记为一个成功数据传输区间的结束时间。在收集了最新的数据之后,我们就需要重新计算这条路径的处理能力,并且更新Q 值。Q 值的更新分两种情况:包丢失的情况和考虑置信区间的情况。
采样算法:收集一个采样
1:对于任一目的地址di,初始化di.初始数据=TRUE;END=0;
2:while(!END)
3: if(di.初始数据==TRUE)
4: 记录当前时间作为初试时间
5: di.初始数据=FALSE;
6: end if
7: 传输一个数据块
8: 记录当前时间作为数据块的时间戳;
9: if(di.rxt时间计时器已经启动==FALSE)
10: 启动T3-rtx时间计时器
11: di.rxt时间计时器已经启动=TURE;
12: end if
13: if(杰出数据的应答到达)
14: 重启T3-rtx时间计时器
15: end if
16: if (T3-rtx 时 间 计 时 器 在RTO 后 期 满||SACK 报告4次丢失)
17: 记录最后一个数据块的时间戳作为结束时间
18: END=1;
19: 立刻重传;/*发生丢包*/
20: end if
21:end while
22:计算区间采样 (结束时间-开始时间)
如上文算法所示,在收集样本后,通过与历史区间样本相结合,我们可以计算出每条路径的置信区间。假设一条路径的时间间隔样本为x1;x2;x3;…;xn,我们就可以使用下面的公式计算出时间间隔样本的平均值
式中:xi——每一个时间样本都没有出现丢包的成功传输区间,N——样本数量,——平均时间间隔。
式 (2)描述了计算平均值的基本公式。为避免在发送端存储所有收集到的样本,我们可以用一个迭代的方法去计算时间迭代平均值
相似的,式 (4)就可以用来计算标准差
式中:xi——每一个采样都没有丢包的成功传输间隔。N——样本的数量,——平均的时间间隔,SN——所有样本的标准差。
式 (4)是计算样本标准差的一个基本公式。我们也可以用迭代的方法去计算标准差以避免在发送端存储所有的样本,以减小计算复杂度
式 (5)显示,我们可以用4个变量来计算信的标准差SN+1:先前的时间标准差SN、先前的平均时间间隔、当前的时间样本xN+1和先前的样本数量N。
当计算一个成功传播的变异系数 (标准差/平均值)后,我们就可以适用这个估计区间。在从式 (3)和式 (5)中获得平均值和标准差后,就可以用中心极限定理来计算置信区间
式中:N——样本数量,1-α——置信标准。S是所有样本的标准差。——所有样本的平均值。
假设没有丢包传输的概率设置为98%,即α =0.02。如表1 所示,我们就可以用查表的方法得到Z1-α2 =2.326。因此,我们就可以获得置信区间u,并作为进一步评估的参考去更新路径质量和预测其趋势。
置信区间的值也被用来作为一个参考,帮助选择路径。如果它小于RTO,包丢失就可能发生在很短的时间内,这就意味着这条路经的通信状态不是很良好,我们无法检测它直至一段相对较长的时间后。如果我们用它来并行传输数据块,我们就需要等待这条路径重传丢失的数据块,因此,传输效率就会下降。所以,我们需要用一个不活跃的状态去标注成功传输间隔小于RTO 的路径。我们选择高质量路径的子集进行传输,保证数据包能有序的接受,并且重传率远远小于传统的方式。
表1 置信标准及相应的α和Z值
本文分别对经过PQEM 的并行多路传输 (下面以CMT-PQEM 表示)和传统的CMT 以及具有潜在失效状态的CMT (下面以CMT-PF 表示)在NS2 仿真软件下进行了性能评测与比较。
在异构无线网络环境下,本文分别对3种传输方式在不同丢包率的情况下进行了平均吞吐量和平均重传进行了比较,图2 (a)为仿真环境下异构无线网络拓扑,仿真结果如图2 (b)、图2 (c)所示。
图2 仿真结果
从图2 (b)可以看出,不管是CMT,CMT-PF,还是CMT-PQEM,随着丢包率的增加,它们的平均吞吐量都会随之下降,但是在同一丢包率的情况下,CMT-PQEM 的平均吞吐量都优于其它两个。从图2 (c)可以看出,随着丢包率的逐步增加,CMT、CMT-PF和CMT-PQEM 的平均重传都相应增加,但是在丢包率相同时,CMT 的平均重传是最高的,而CMT-PQEM 的平均重传是三者中最低的。综合图2可得:CMT-PQEM 的性能优于CMT及CMT-PF。
鉴于以往CMT 的局限性,本文提出一种路径质量评估模型,该模型能实时计算和评估网络当中每条路径的质量,充分考虑了不同路径之间数据传输能力的差异,并根据之前以及当前的数据来预测之后的路径状态,从而实现对网络资源的优化分配,实现了负载均衡,适用于无线异构网络数据并行传输。通过仿真验证,本系统可以提高系统的平均吞吐量,降低平均重传,实现对网络资源的合理分配。
[1]HUANG Weiwei.Research on SCTP parallel multiplex transmission based on wireless LAN [D].Xi’an:Xidian University,2012 (in Chinese).[黄威威.无线局域网中基于SCTP并行多路传输的研究 [D].西安:西安电子科技大学,2012.]
[2]JIANG Daoxia,PAN Shouwei,ZHOU Yao,et al.A kind of TCP congestion control algorithm based on end to end Ad Hoc network [J].Computer Science,2010,37 (7):105-110 (in Chinese).[蒋道霞,潘守伟,周曜,等.一种基于端到端的Ad Hoc 网 络TCP 拥 塞 控 制 改 进 算 法 [J].计 算 机 科 学,2010,37 (7):105-110.]
[3]Natarajan P,Ekiz N,Amer PD,et al.Concurrent multipath transfer during path failure [J].Computer Communications,2009,32 (15):1577-1587.
[4]XU Deli,SONG Fei,GAO Deyun,et al.The parallel multipath transmission based on SCTP in wireless environment[J].Journal of Computer Applications,2010,30 (9):2515-2518 (in Chinese). [许德力,宋飞,高德云,等.无线环境下基于SCTP的并行多路经传输 [J].计算机应用,2010,30(9):2515-2518.]
[5]Mirani FH,Boukhatem N,Tran MA.A data-scheduling mechanism for multi-homed mobile terminals with disparate link latencies[C]//VTC 2010-Fall,2010:1-5.
[6]CUI Yong,CAI Yunfeng,GUO Renwei.The system and scheduling method to send packet in MPTCP [P].China,201110115777.9,2011-09-14 (in Chinese). [崔勇,蔡云峰,郭仁伟.MPTCP中发送数据包调度方法及系统 [P].中国,201110115777.9,2011-09-14.]
[7]Caro A,Iyengar J.NS-2SCTP module[D].Newark:Protocol Engineering Laboratory (PEL ), University of Delaware,2012.
[8]Jabalameli H,Malekpour A,Hassani R,et al.An add-on for security on concurrent multipath communication SCTP[C]//International Conference on Advanced Information Networking and Applications Workshops:[s.n.],2013:713-719.
[9]Huang CM,Lin MS.Multimedia streaming using partially reliable concurrent multipath transfer for multihomed network [J].IET Comm,2011,5 (5):587-597.
[10]Liu Luo,Cuthbert Laurie.A novel QoS in node-disjoint routing for ad hoc networks[C]//ICC Workshops,2008:202-206.
[11]TAO Yang,LI Pan,WU Jun.An update mechanism of CMT congestion window based on Westwood [J].Video Engineering,2011,35 (21):89-91 (in Chinese). [陶洋,李攀,武俊.一种基于Westwood的CMT 拥塞窗口更新机制[J].电视技术,2011,35 (21):89-91.]
[12]Raiciu C,Barre S,Pluntke C.Improving datacenter performance and robustness with multipath TCP [C]//ACM,2011:266-277.
[13]Adhari H,Dreibholz T,Becke M,et al.Evaluation of concurrent multipath transfer over dissimilar paths [C]//International Conference on Advanced Information Networking and Applications Workshops,2011:708-714.
[14]Budzisz L,Ferrus R,Casadevall F,et al.On concurrent mutipath transfer in SCTP-based handover scenarios [C]//Proceedings of the IEEE International Conference on Communications.Dresden:IEEE,2009:1-6.
[15]Xu C,Fallon E,Qiao Y,et al.Performance evaluation of distributing real-time video over concurrent multipath [C]//Proc IEEE Conf Wireless Comm and Networking Conf,2009:1-6.