APP下载

带宽节省的多路径传输协议动态分包算法

2017-02-27许长桥朱军龙

计算机应用与软件 2017年2期
关键词:包率误码率字节

黄 辉 许长桥 朱军龙

(北京邮电大学网络与交换国家重点实验室 北京 100876)

带宽节省的多路径传输协议动态分包算法

黄 辉 许长桥 朱军龙

(北京邮电大学网络与交换国家重点实验室 北京 100876)

随着移动互联网和多接口技术的发展,并行多路径传输已成为当前的研究热点,然而现有的机制存在带宽资源浪费问题。首先通过实验分析的方法,发现传输过程中的分包大小对带宽资源利用率存在较大的影响。在此基础上,对数据分包传输过程进行数学建模,分析获得期望最高的带宽资源利用率时应该满足的条件。在所建模型的基础上,设计了一种动态分包算法,能够根据链路的丢包情况,动态调整数据包大小。实验结果表明,与采用固定大小的分包策略相比,所提算法能够有效减少多路径传输中带宽资源的浪费。

动态分包 协议优化 MPTCP CMT

0 引 言

近年来,随着互联网的高速发展,涌现了大量高带宽传输需求的业务,比如以流媒体、在线视频等为代表的业务。虽然移动互联网的发展推动了无线接入技术的不断变革和并行多路传输技术的发展,但是无线链路的动态性和不稳定性导致的大量数据包重传造成了比较严重的网络资源浪费。针对此类问题,现有一些解决方案通过引入网络编码的思想来弱化丢包的影响,从而提高资源的使用效率[1-3]。文献[1]提出了NC-MPTCP,通过将网络编码的思想应用到多路径传输协议(MPTCP[4])子流的子集中,减缓因丢包造成的接收端阻塞。文献[2]将网络编码的思想应用到MPTCP的所有子流中,以应对无线异构网络环境下链路的随机丢包。课题组将网络编码的思想同CMT-SCTP[5]结合,优化无线网络环境下的数据传输过程,提高了传输效率[3]。虽然采用网络编码的思想,可以打破传输序列号同数据包之间的严格绑定关系,在一定程度上弱化了丢包带来的影响,但是现有基于网络编码的传输协议中采用的还是固定大小的分包方式,难以适应网络环境的变化,造成带宽资源的浪费。此外,在基于网络编码的方案中,发送端和接收端都需要进行协议的修改。

除了以上解决方案,文献[6]提出了一种基于TCP的自适应压缩传输方案,通过将应用数据压缩传输,在接收端解压缩的方式,降低对带宽资源需求的同时提高了传输效率。然而,采用压缩方案,只能用于传输那些还可以被压缩的应用数据,而对于图片和音视频等主流媒体类型的数据已经很难再压缩,此时带宽资源节省的效果有限。文献[7]通过对MAC层的通信过程构建分析模型,分析了802.11b的数据分包效率,并提出了一种最优分包策略,可以减少与蓝牙设备间的干扰。然而,传输协议固定的分包方式将对MAC层的优化造成干扰。

因此,本文提出一种带宽节省的传输协议动态分包算法,可以应用于以数据包为传输单元的多路传输方案中,比如MPTCP、SCTP等,能够减少带宽资源的浪费,进一步提高这些传输方案的性能。所提算法只需在协议的发送端部分进行修改,降低了实现和部署的难度。

1 问题发现

本节基于仿真软件NS-2[8]设计一个实验,结合当前最流行的多路径传输协议MPTCP,对传输过程中数据包大小以及丢包率对带宽资源的使用情况进行分析,使用的拓扑如图1所示。

图1 实验环境使用的网络拓扑

图1场景描述的是使用智能手机与服务器通信的过程。智能手机同时通过Wi-Fi接口和LTE接口接入网络,手机端和服务器端使用的传输协议是MPTCP。具体的网络环境参数如表1所示。

表1 实验拓扑环境参数

本实验通过分别变化子流中数据包大小和丢包率,检查在传输10 MB数据时,消耗多少的带宽资源。数据包净荷大小的变化范围为100字节到1400字节,步长为100字节。

图2描述了路径1的传输情况,误码率为2×10e-5。从图中可以看出在数据包大小过小或者过大的时候,都存在比较严重的带宽浪费现象。在数据包过大的时候,一个错误的比特影响到的数据量更多,使得重传的冗余数据增加,浪费过多的带宽资源;在数据包过小时,由于每个数据包都需要携带一个固定大小的包头,造成过多的带宽资源都浪费在头部的传输开销中,使得传输的效率下降。

图2 数据传输量随着数据包大小的变化

在另一组实验中,无线链路的误码率在1.0×10e-5到2.3×10e-5内变化,在固定数据包大小时,考查实际的数据传输量随着误码率的变化情况。数据包净荷的大小分别为1000和500字节。实验结果如图3所示,从图中可以看出,随着误码率的增大,实际传输的数据总量呈现一个近似线性的增长趋势。在相同的误码率时,两种数据包大小在实际传输的数据总量之间的差异进一步说明了数据包分包大小对带宽资源的使用率会造成影响。

图3 固定包大小时实际传输量随误码率的变化

2 问题建模

通过上一节的实验分析发现,数据包的大小对网络资源的使用率有较大的影响。本节通过数学分析的方法探索使网络资源得到最高效利用的数据包大小。建模过程中的变量及其具体的含义如表2所示。

表2 模型中变量及其含义

在已知BER的情况下,成功传输一个数据包的概率为[9]:

ps=(1-BER)8(x+h)

(1)

其中,x+h表示一个完整的数据包的大小,单位为字节。因此,一个数据包期望的传输次数为:

(2)

为了分析期望传输的数据总量与数据包净荷大小的关系,定义期望传输的数据总量为:

(3)

(4)

为了分析是否存在最优解使得f(x)取得最小值,可以通过证明f(x)是一个凸函数,并求解极小值。f(x)的一阶导数和二阶导数为:

(5)

(6)

由式(6)可知,f″(x)>0,所以f(x)是一个凸函数,极值点存在且唯一[10]。令f′(x)=0,即:

(7)

因为x>0,h>0,又x2(1-BER)8(x+h)≠0,则式(7)可写为:

h+8x(x+h)ln(1-BER)=0

(8)

从而得到最优解(过滤负值):

(9)

通过以上分析,在已知误码率时,可以得到最优的数据包大小。图4是通过式(4)获得的曲线,其中,头部大小为40字节,误码率为BER=10-5,需要传输的数据总量为10 000字节,数据包的净荷从90字节到1 440字节变化,步长为10字节。在数据包净荷大小取值480字节的时候(图中虚线处),f(x)取得最小值11 773字节。

图4 数据传输量随着数据包大小的变化

从图4可以看出,在数据净荷过小或者过大的时候,都无法获得最好的传输效果,与实验的结果相吻合。

3 算法设计

在前面实验和数学分析的基础上,提出一个动态分包算法,能够减少带宽资源的浪费,算法的设计将以MPTCP作为载体。该算法也可以应用到其他以数据包为传输单元的传输协议中。

首先,需要能够获得对底层链路误码率一个比较准确的估计,但在传输层要完成这项任务还需要一些辅助技术。因此,根据相关工作[9],误码率为:

(10)

其中,pe为丢包率。

如果传输方案在没有办法获取误码率时,可以按照式(10)所示的方法,基于丢包率进行估算,虽然会使准确率降低,但是采用这种估计后还是可以减少带宽资源的浪费。

下面说明如何采用统计抽样的方法计算丢包率,抽样的周期确定为每一条子流发送一个窗口数据的时间。在每个周期可以收集一个样本psample,然后和历史值进行加权平滑。考虑到在一个动态无线网络环境下,太久的历史数据并没有多大的意义。因此,丢包率的抖动因子定义为:

(11)

其中,vpe为pe的标准差。加权因子为:

(12)

其中,⎣v」符号表示小于等于v的最大整数值。丢包率更新为:

pe=(1-β)·pe+β·psample

(13)

其中,psample为采集的一个丢包率样本。Pjitter用来衡量当前丢包率的抖动情况,在抖动较大时,历史信息将占更小的权重(1-β),使得最新的样本能够尽快地反映到最新的估计值中。

在确定了误码率后,按照式(9)计算当前最合适的数据包大小。这里需要考虑以下几个问题:

(1) 数据包过小问题。比如比头部的大小还小的时候,通过设定一个数据包大小的下界,保证最后的数据包大小不会小于该值。之所以这样处理,一方面数据包太小,引入的头部开销导致的资源浪费比较严重,另一方面会使传输进程处理的开销增大,需要在带宽资源和处理资源之间进行权衡。本文下界值设置为400字节,可根据不同协议调整。

(2) 数据包过大问题。当数据包大小超过了底层链路的最大传输单元(MTU)时,通过设定一个数据包大小的上界,保证最后的数据包大小不会大于该值。一般上界值设置为最大传输单元减去头部开销后的值(1 440),可根据不同协议调整。

(3) 对齐问题。在计算出了最合适的数据包大小之后,还需要考虑到数据包对齐问题,在保证不触发以上两个问题的基础上,保证数据包的字节数是4的整数倍。

完整的算法描述:

for 每一条路径ido

if当前发送窗口的数据已经发送完then

if能成功获取MAC层的BERthen获取BER;

else

根据发送和丢失的数据包计算psample;

按照式(11)-式(13)更新pe;

endif

else

if不能获取MAC层的BERthen

记录当前周期内发送和丢失的数据包数量;

endif

endif

if丢包率估计值或者获取的BER有变化then

按照式(9)更新路径i的数据包分包大小Size;

Size=(Size%4<=1 ? 4*⎣Size/4」 : 4*「Size/4⎤);

ifSize<400thenSize=400

elseifSize>1440thenSize=1440

endif

endif

if有新的数据需要发送then

根据最新Size确定发送数据包的大小;

endif

endfor

4 仿真评估

仿真采用如图5所示的拓扑,终端设备通过三条路径和服务器通信。其中,路径1和路径2经过的链路存在共享的瓶颈。路径3形成一条独立的路径。具体的网络参数设置如表3所示。

表3 仿真拓扑参数设置

为了使得仿真拓扑更加接近现实的场景,添加如图5所示的背景流量。背景流量采用VBR流量生成器生成,包含TCP和UDP两种类型的流量,具体的流量比例分配参考文献[3]。比较对象为传统的MPTCP。在传统的MPTCP中,数据包净荷大小设置为1 440字节。主要的评估指标包括传输量随丢包率的变化、期望数据包大小的分布图。主要考察的是路径1的传输情况。无线链路的误码率在0.1×10e-5到3.0×10e-5内变化。

图5 仿真拓扑

4.1 传输数据量随丢包率的变化

如图6所示,描述的是实际数据传输量随着误码率的增大的变化曲线。传输的数据量为10 MB。随着误码率的增大,实际传输的字节数也在增加。在误码率大于0.7×10e-5的时候,实际传输的总字节数随着误码率的变化趋势开始变缓。同时,通过同静态分包的方式(固定数据包净荷大小为1440字节)相比较,发现在误码率比较低时,实际传输量很接近,因为在低丢包率时,动态分包倾向于分配比较大的数据包大小。但是,随着误码率的增大,动态分包方式和静态分包方式之间的差距也越来越大,在3×10e-5的误码率时,动态分包方式实际传输的数据总量为13 454 KB,而静态分包方式为15 826 KB,可以节省17%左右的带宽资源。

图6 数据传输量随着误码率的变化

4.2 频率最高的数据包大小随着误码率的变化

图7描述了在不同的误码率情况下,实际传输过程中数据包大小分布的最大值曲线图,从图中可以看出,随着丢包率的上升,数据包的大小趋向于变小,和理论分析的结果一样。同时,这种变小的趋势随着丢包率的继续上升也变得平缓,因此,当数据包的大小在小于算法设定的下边界值而被截取时,对算法的效果影响不大。在误码率很低或者很高的时候,数据包的大小受到算法所规定的上下边界限制。

图7 频率最高的数据包大小随着误码率的变化

5 结 语

本文首先通过实验的方法,发现数据包大小和丢包率对实际数据传输量存在一定影响。然后,建立了一个数学模型进行分析,证明了使得资源浪费最少的最优解的存在,并导出了最优解。在此基础上,提出了一个动态分包算法,可以应用于以数据包为传输单元的传输协议中,对带宽资源的使用进行优化配置,减少带宽资源的浪费。基于MPTCP的仿真结果显示,提出的算法能够有效地减少带宽资源的浪费,相比于没有优化的解决方案,最好时可以节约17%左右的带宽资源。

[1] Li M,Lukyanenko A,Cui Y.Network coding based multipath TCP[C]//Computer Communications Workshops (INFOCOM WKSHPS),2012 IEEE Conference on.IEEE,2012:25-30.

[2] Cloud J,Calmon F D P,Zeng W,et al.Multi-path TCP with network coding for mobile devices in heterogeneous networks[C]//2013 IEEE 78th Vehicular Technology Conference (VTC Fall).IEEE,2013:1-5.

[3] Xu C,Li Z,Zhong L,et al.CMT-NC:improving the concurrent multipath transfer performance using network coding in wireless networks[J].IEEE Transactions on Vehicular Technology,2016,65(3):1735-1751.

[4] Bagnulo M.Threat analysis for TCP extensions for multipath operation with multiple addresses[DB].RFC 6181,2011.

[5] Iyengar J R,Amer P D,Stewart R.Concurrent multipath transfer using SCTP multihoming over independent end-to-end paths[J].IEEE/ACM Transactions on Networking,2006,14(5):951-964.

[6] 牟璇,王俊峰,王敏,等.TCP自适应压缩传输方案研究[J].计算机应用与软件,2013,30(11):279-282.

[7] Howitt I,Awad F.Optimizing IEEE 802.11b packet fragmentation in collocated bluetooth interference[J].IEEE Transactions on Communications,2005,53(6):936-938.

[8] NS-2 Documentation and Software Version 2.35[OL].http://www.isi.edu/nsnam/ns.

[9] Mirani F H,Zhang X,Boukhatem N,et al.Cross-layer FPS:a SCTP-based cross-layer data scheduling approach[C]//2011 IEEE Consumer Communications and Networking Conference (CCNC).IEEE,2011:192-197.

[10] Boyd S,Vandenberghe L.Convex optimization[M].Cambridge,UK:Cambridge university press,2004.

DYNAMICALLY BANDWIDTH-SAVING PACKETIZATION ALGORITHM FOR MULTIPATH TRANSMISSION PROTOCOLS

Huang Hui Xu Changqiao Zhu Junlong

(StateKeyLaboratoryofNetworkingandSwitchingTechnology,BeijingUniversityofPostsandTelecommunications,Beijing100876,China)

With the rapid development of the Mobile Internet and Multi-interface technology, Concurrent Multipath Transmission (CMT) has been a research hotspot. However, the waste of bandwidth resources is still a challenging problem in CMT. Firstly, it is found that the packet size has a great impact on the utilization of bandwidth resources through experiments. Based on the results of the experiments, a mathematical model about the data transmission process is proposed and the solution to the maximum resource utilization is derived. Based on the derived solution, a dynamic packetization algorithm is designed to achieve flexible scheduling of packet size according to the packet loss rate and bit error rate of the link. Simulation results demonstrate that the designed algorithm outperforms the fixed-size packetization strategy in terms of bandwidth resources utilization.

Dynamically fragmentation Protocol optimization MPTCP CMT

2016-01-19。国家自然科学基金面上项目(61372112);北京市自然科学基金项目(4142037)。黄辉,硕士生,主研领域:计算机网络,互联网传输协议。许长桥,教授。朱军龙,博士生。

TP393

A

10.3969/j.issn.1000-386x.2017.02.027

猜你喜欢

包率误码率字节
支持向量机的船舶网络丢包率预测数学模型
面向通信系统的误码率计算方法
一种基于喷泉码的异构网络发包算法*
No.8 字节跳动将推出独立出口电商APP
电磁线叠包率控制工艺研究
利用混合RF-FSO 系统改善深空通信的研究
一种快速同步统计高阶调制下PN 码误码率的方法∗
No.10 “字节跳动手机”要来了?
轻量级分组密码Midori64的积分攻击
超短波跳频通信系统抗梳状谱干扰性能分析