栏目分类
互联网端到端多路径传输跨层优化研究综述
发布日期:2025-01-04 18:10 点击次数:142
随着虚拟现实、物联网等新技术的发展, 用户需要更高的网络带宽以及更低的端到端传输时延, 而使用单一的接入技术已经难以满足用户对网络更高的要求.与此同时, 一个终端具备多个网络接入能力的现象已经越来越普遍.智能终端目前已经既能通过WiFi接口, 也能通过蜂窝网络接口接入互联网.未来随着卫星以及临近空间组网技术的发展, 一台普通终端还将能够通过卫星网络接入互联网.此外, 终端还可以通过蓝牙和NFC等近场通信技术直接建立点对点的通信链路进行通信.面对一个终端上多样化的接入能力以及用户对网络更高的要求, 多路径传输技术应运而生.多路径传输技术旨在同时利用终端上多种接入能力进行数据的并发传输, 从而提高总的传输带宽和数据传输对网络动态性的适应能力.
目前, 主流的多路径传输协议是MPTCP(multipath TCP)协议[1].从网络分层体系结构的角度来看, MPTCP协议位于传输层.在传输层进行多路径传输有如下两个方面的好处:1)传输层是面向端到端的, 容易获得端到端的带宽、时延、丢包率的信息, 为MPTCP多路径传输的各项功能的实现提供了基础; 2)传输层位于应用层之下, 在传输层支持多路径传输能够避免相同的多路径传输功能在应用层上的重复实现.
MPTCP协议在协议格式上以传输层TCP协议为基础[2], 通过新增的TCP选项在收发双方交互多接口的地址信息, 对上与基于TCP协议的应用相兼容, 对下采用标准的TCP协议作为子流进行传输.MPTCP和TCP良好的兼容性使得包括苹果公司在内的各大厂商[3]选择通过支持MPTCP来进行多路径传输.
与仅使用1条路径进行传输相比, 采用多路径进行端到端传输能够带来如下几个方面的优势.
1) 具有更高的传输带宽.同一个应用的数据包被分配到不同的网络接口进行传输, 多路径传输聚合了同一个终端不同网络接口的带宽.
2) 具有更多样的接入选择.终端能够根据需要选择合适的若干网络接口同时进行传输, 或者仅仅选择其中一个接口进行数据传输, 以适应接口特性的动态变化.
3) 能够提供更好的移动性支持.无线网络往往通过在边缘重叠覆盖的方式来提高网络对用户移动性的支持, 通过在用户位于重叠覆盖区域同时建立多条连接的方式, 能够做到传输层的先连后断[4], 从而实现无缝切换.同时, 通过多路径传输的标识管理, 能够做到在IP地址发生改变时, 传输层连接不中断.
4) 能够更加高效地分配资源.从全网的角度来看, 终端同时使用多个接口能够将之前可能毫不相关的网络联系在一起, 形成统一的网络资源池[5, 6].然后, 在终端侧通过联合拥塞控制等方式进行协同资源分配, 从而实现网络负载更加均匀的分配.
端到端多路径传输的研究重点在于多条路径之间的智能协同, 而协同的基础在于相关信息的准确获取.以多路径传输的数据分配为例, 高效的数据分配离不开准确的端到端带宽、往返时延以及丢包率参数的估计, 同时还需要根据数据包的截止时间及其对于应用的重要程度等进行不同的优先级处理.因此, 仅仅依靠传统的传输层参数获取机制无法有效发挥多路径传输的优势, 还需要对其他层次的有关参数进行有效获取和利用.
在综述相关研究进展的过程中, 主要方法是以MPTCP、multipath transmission、cross layer optimization、video transmission等为关键词对多路径传输相关论文进行检索, 根据论文发表质量, 从中选出重点的有代表性的论文; 同时, 通过Google scholar查看引用相关论文的文献并进行筛选, 进而得到论文中的相关参考文献.图 1给出了本文所引用的论文在发表篇数以及论文发表时间的分布结果, 从中可以看出, 在最近5年, 均有较为稳定的在多路径传输跨层优化方向的论文成果, 利用物理层、链路层、网络层以及应用层的相关信息, 通过跨层优化的方式提升端到端多路径传输的性能是近年来的主要研究趋势.其中在节能方面, 2016年和2017年的论文数量与前3年相比有明显增加.新型网络技术(如SDN)的产生, 使得在结合网络层进行优化方面, 2015年~2017年的相关论文数量与前两年相比有明显的增加.
Fig. 1 Distribution for the number of published papers and paper publication year
图 1 论文发表篇数及论文发表时间分布
虽然已经有部分针对多路径传输的研究综述, 但是仍然缺少从体系结构各层全面地综述多路径传输跨层优化的综述论文.例如, 文献[7-10]重点从传输层综述了相关多路径传输的研究进展, 对于其他层的研究内容相对涉及较少; 文献[11, 12]重点综述了如何利用各层现有协议更好地实现带宽聚合的相关研究进展, 对于各层之间的协同方式以及节能相关的研究进展则较少涉及.因此, 本文的主要贡献在于:从各层的功能特点及其与多路径传输的关系着手, 系统地整理和比较了近年来利用跨层信息进行多路径传输优化的相关论文, 对其解决的主要问题和采用的主要研究方法进行了比较和分析, 并且对未来的研究方向进行了展望.
本文首先介绍多路径传输的主要挑战和进行跨层优化的重要性.然后, 分别从物理及链路层、网络层、应用层以及节能等方面介绍多路径传输跨层优化的主要研究进展并进行综合比较.最后, 对研究趋势进行展望.
1 基本功能组成及主要挑战
1.1 基本功能组成
根据MPTCP协议的主要功能[13, 14], 多路径传输的基本功能组成主要包括如下几个部分.
● 连接管理和子流选择
多路径传输协议的连接管理主要负责连接的建立和断开, 子流选择主要负责管理需要建立子流的数目. MPTCP在TCP协议基础上增加了新的MP_CAPABLE、MP_ADDR、MP_JOIN选项.MPTCP首先进行第1条子流的建立, 建立过程中, 在TCP三次握手建立连接的数据包选项中增加MP_CAPABLE, 用以标识通信双方都支持MPTCP, 并且在建立连接过程中生成标识连接的token信息.第1条连接建立完之后, MPTCP根据子流选择策略的配置进行后续连接建立, 后续子流在建连过程中通过MP_JOIN选项加入已有的多路径传输连接.同时, 当接收方有多个IP地址时, 接收方通过有MP_ADDR选项的数据包告知发送方.对于子流选择策略而言, 目前MPTCP中常用的有fullmesh、ndiffport等.其中, fullmesh策略是在发送方的n个IP地址和接收方的m个IP地址之间建立n×m条连接; 而ndiffport则支持在同一对源IP地址和目的IP地址之间建立多条子流, 具体建立的子流的数目可以通过配置系统文件进行设置.这方面的难点主要在于, 不同子流能够给多路径传输带来的收益不同, 并且所需要的子流管理开销、能量开销也不同, 需要根据各条子流的特点进行子流选择.
● 缓存管理
在发送方, 缓存管理需要保存已发送但是还没有确认的数据包; 在接收方, 缓存管理则需要将乱序的数据包或者应用程序无法及时读取的数据包保存下来, 等到数据包顺序到达或者应用程序读取了数据之后, 继续向应用层递交.多路径传输时, 缓存管理的难点主要在于各条子流传输参数的差异容易带来更多的乱序数据包, 需要结合子流的传输参数对接收缓存进行动态调整, 以避免因接收缓存不足造成发送方无法有效聚合带宽.MPTCP接收方常用的缓存管理方式是采用两级缓存[13]:第1级子流缓存用来缓存每条子流的乱序数据包, 第2级连接层缓存用来缓存连接层乱序或者还没有被接收方读取的数据包.在进行接收缓存大小设置方面, MPTCP通常的方式是在系统设置允许时, 动态地将连接层接收缓存大小设置为$2\times \sum{b{{w}_{i}}}\times rt{{t}_{\max }}, $rttmax为所有子流往返时延中的最大值, $\sum{b{{w}_{i}}}$为各条子流带宽的求和[13].
● 数据分配
数据分配的主要工作在发送方, 以决定每个数据包应该通过哪条子流进行发送以及什么时候进行发送.数据分配的难点主要在于各条子流的数据包是有关联的, 需根据每条子流的传输路径参数进行联合分配, 以达到整体传输的性能优化.MPTCP协议实现目前主要的数据分配算法包括default[15]、roundrobin[15]和redundant[16].其中, roundrobin在子流发送窗口允许的情况下, 轮流地向各条子流分配数据; default在多条子流发送窗口都允许数据发送时优先选取往返时延较小的子流; redundant则是将数据包冗余地在各条子流上发送.
● 联合拥塞控制
多路径联合拥塞控制[17]的目标一方面是能够公平地分配资源, 另一方面是能够有效地平衡多条子流的负载.它通过联合地调整各条子流的窗口变化来达到联合拥塞控制的目标.联合拥塞控制的难点主要在于各条子流的传输参数有差异并且会动态变化, 需要根据每条子流的传输参数及时且合理地对子流拥塞窗口进行联合地调整, 以达到资源的高效和公平分配.目前, MPTCP协议的联合拥塞控制算法主要有两类:一类是基于时延的联合拥塞控制算法, 如wvegas[6]; 另一类是基于丢包的联合拥塞控制算法, 包括lia[17]、balia[18]、olia[19]等.
1.2 主要挑战
1) 链路特性差异度大, 链路动态变化性强
端到端多路径传输的物理介质通常包括WiFi、蜂窝链路、卫星链路、以太链路以及光纤等, 它们的物理层和链路层传输特性存在巨大差异.链路特性差异度大, 容易造成不同子流间数据包的乱序问题.乱序到达的数据包一方面通过对接收缓存的占用抑制发送方的发送速率; 另一方面造成数据包无法及时向应用层递交, 进而影响用户体验.链路特性差异度大体现在如下几个方面.
● 在资源分配方式上, 蜂窝网络采用资源集中分配、用户独享资源的方式, 在时延、带宽等链路参数上相对稳定.而WiFi则是通过CSMA/CA分布式地竞争资源, 随着关联同一个AP的用户数目的增加, 每个用户竞争到的带宽会相应地减少, 同时时延的抖动也会增加.
● 在传输和覆盖范围上, 卫星传输距离相对较远, 地面的WiFi、蜂窝等链路则相对较近.传输距离的差异使得物理传输时延差异较大.例如, 地面WiFi网络的端到端往返时延通常为几十ms[20]的量级, 而经过高轨卫星中转后数据传输的往返时延能够达到几百ms[21].
● 在链路参数动态变化上, 传输带宽、往返时延、丢包率随着时间的不同会发生动态变化.以带宽为例, 造成带宽动态变化的原因主要有两个方面:其一是随着用户的动态接入和离开, 竞争瓶颈带宽用户数目的动态变化使得用户可用带宽相应地发生变化; 另一方面, 则是由无线信道的动态变化造成接收信号强度等参数的变化.而WiFi和蜂窝链路在链路层均采用了自适应调制编码(adaptive modulation coding, 简称AMC)机制, 随着信号强度参数的变化, 物理层采用的调制和编码机制也会相应地改变, 使得接入带宽相应地发生变化.
● 在移动性方面, WiFi、蜂窝链路、卫星链路都会出现随着用户和网络基础设施间的相对运动, 链路动态地连通和断开.而随着链路的连通和断开, 现有的通过多路径传输对链路通断状态的感知滞后, 使得多路径传输效率不高.在链路断开后联通的发现方面, MPTCP在超时链路上会继续采用TCP指数退避的方式调整超时时间并重传数据包, 收到确认后则认为链路重新连通.然而, 超时时间的指数退避的方式使得无法及时发现链路的连通并进行数据传输[22].
2) 网络进行路由选择时并未考虑终端的多路径传输特性
在相同的源和目的节点之间, 网络中往往有多条可达路径, 路由设备常常会采用多路径路由算法来平衡各条路径之间的负载, 以提高网络链路利用率.其中, ECMP(equal cost multipath routing)是工程上常用的负载均衡多路径路由机制.ECMP根据相关算法计算出来的代价相等的多条路径, 根据流IP地址和端口号信息进行hash之后, 将流随机地分配到不同路径上.
然而, 由于ECMP无法获得各条子流是否属于同一个MPTCP流, 在进行hash时将可能出现多条子流分配到同一段路径进行传输的情况.如果这些子流共用了瓶颈路径, 则难以发挥MPTCP的优势.同时, ECMP在进行流的分配时仅仅做到了将不同路径的流按照数量尽可能地平均, 并未考虑流的持续时间等问题, 因此仍然会有负载不均衡问题.此外, ECMP仅支持在多条代价相等(通常是代价相等且均为最优)的路径间进行负载均衡, 通常并不对代价次优的路径进行选择.
3) 上层应用中, 不同数据的重要性有差异
端到端多路径传输需要为上层各种类型的应用提供服务, 不同应用对多路径传输有不同的需求.对于大文件传输而言, 多路径传输只需要确保在文件传输过程中提供较高的平均带宽即可; 而对于网页这种小文件传输来说, 常见的评估指标是页面加载时间, 该时间越短越好; 对于视频点播业务, 服务器端已经存储了数据文件, 客户端只需通过一段时间的预加载之后就开始边下载边看, 为了避免客户端卡顿, 多路径传输需要提供较为平滑的聚合带宽; 实时流媒体则是要求预加载时间更短, 而且视频源数据是以一定比特速率产生的, 因此对传输过程中每个数据包的时延抖动容忍度更小.网页类小文件、按需流媒体和实时流媒体的业务特点给多路径传输的路径选择、数据分配等方面都提出了更高的要求.
同时, 应用层的数据在重要性方面往往也存在较大的差异, 如果在进行多路径传输时, 将不同重要性的数据包封装成相同的传输层数据段而不加区分地进行传输, 则会导致应用层数据传输效率的问题.以H.264视频编码文件传输为例, 为了压缩视频源文件大小, H.264标准对视频文件进行了相关性编码.I帧和P帧是两种常见的编码后帧类型, 其中, I帧是那些能够独立进行解码的帧, 而P帧通常需要依赖于I帧才能进行解码, 一个I帧之后往往会有若干数量的P帧.I帧一旦丢失, 就意味着后续一系列P帧无法解码, 因此在H.264编码的视频文件中, I帧的重要性要高于P帧, 在进行多路径传输时, 需要当对二者进行区别对待.
4) 不同网络接口具备不同的能耗特点, 而且能耗和接口带宽之间存在非线性关系
对WiFi接口和蜂窝网络接口而言, 二者具有完全不同的能耗特点.其中, 蜂窝网络接口具有尾能耗特性[23].对于开启的蜂窝网络接口而言, 在进行传输时, 接口处于高能耗状态, 而传输结束后的一段时间, 接口仍然会有一段较长时间处于高能耗状态, 之后才切换为空闲状态.对于WiFi接口而言, 则不会在传输的结束后仍然带来较高的能量消耗.因此在进行数据分配时, 需要结合接口能量特点, 将蜂窝网络接口的尾能耗特性考虑进来.
在数据中心场景下, 根据文献[24, 25]对多路径传输能耗测量的结果, 往返时延大的子流耗能更高; 同时, 在多条子流共用瓶颈路径时, 也会带来更多不必要的能量消耗.因此在进行拥塞控制、数据分配时, 应当优先考虑往返时延小的子流, 并且避免共用瓶颈路径.
从理论分析角度来看, 根据香农信道容量公式, 用户的信道容量和接收方信噪比的对数成正比, 使得在进行接口资源分配时, 能耗和用户性能两个目标互相冲突, 需要定义新的目标函数对二者进行权衡, 并在新的目标函数的指导下进行多路径传输的资源分配、子流选择等方面的优化.
1.3 主要研究分类
端到端多路径传输跨层优化研究分类如图 2所示.后文将按照图 2所示的结构逐一展开介绍.按照研究目标, 端到端多路径传输跨层优化研究首先可以分为两类:第1类是以提高带宽, 降低传输时延为目标; 第2类是在提升系统性能的同时, 降低系统能耗.
Fig. 2 Classification for end-to-end multipath transmission research with cross-layer optimization
图 2 端到端多路径传输跨层优化研究分类
● 围绕第1类目标, 相关研究分别结合了物理层、链路层、网络层、应用层信息进行了多路径传输的优化.在利用物理及链路层信息方面, 主要包括3个方面:链路通断状态的感知、链路参数的估计与预测和与资源分配的协同; 在利用网络层信息方面, 主要是利用网络层信息进行子流的路由选择; 在利用应用层信息方面, 主要包括3个方面:截止时间和重要性感知、失帧率感知和结合应用层文件大小.
● 围绕第2类目标, 相关研究主要结合了物理层、应用层进行多路径传输的优化:在利用物理层信息方面, 主要利用了物理接口的能耗特点; 在利用应用层信息方面, 主要结合了应用的失真率需求和带宽需求.
2 结合物理及链路层的跨层优化
在进行多路径传输时, 需要准确感知链路状态信息以及链路的无线资源分配方式的特点, 以更好地提升多路径传输性能.利用物理及链路层信息进行链路状态信息感知主要包括两个方面:其一是链路通断状态的感知, 其二是链路参数的估计与预测.在与无线资源分配方式进行协同时, 主要结合链路的无线资源分配方式的特点对子流选择、拥塞控制等方面进行调整, 从而达到单个终端或者全网性能的提升.
2.1 链路通断状态的感知
端到端多路径传输通过获得链路通断状态的信息来实现对子流连接管理的优化.底层链路通断状态信息可以通过数据链路层或物理层获得.
对于数据链路层, 主要是利用链路层的重传信息进行链路通断状态的感知.为了获得链路层的重传信息, 一种方式是直接修改数据链路层, 每重传1个包就记录下来供上层读取; 另一种方式则是直接读取数据链路层的相关参数, 例如对于802.11系列协议, 可以直接读取其MIB库中[26]的dot11FailedCount和dot11retrycount, 前者记录了发送后没有传输成功的帧的数目, 后者记录了经过1次或者对此重传之后发送成功的帧的数目, 二者求和能够得到所有重传帧的数目的计数.
利用链路层的重传信息进行链路通断状态的感知的相关研究主要有文献[22, 27].文献[22]对实际的安卓终端进行了测量, 发现虽然用于终端切换发现的信号强度变化较大, 但是数据链路层的重传率和链路通断关系有较强的关联性.所以在进行链路通断状态感知时, 文献[22]在判断当前发送速率为终端最低发送速率之后, 首先统计链路重传率, 在重传率超过一定阈值之后记录信号强度, 并依据记录的信号强度进行链路状态判断链路的通断状态.文献[27]考虑到切换过程中可能会出现的高丢包的情况, 在切换过程中采用在多条子流传输相同数据的方式提高可靠性.为了避免在网络中传输过多的冗余数据, 文献[27]在不发生切换的过程中, 采用单条子流进行数据传输.在采用多条子流和采用单条子流两种模式进行切换时, 以链路层重传率作为判断指标:当链路层重传率高于一定阈值之后, 采用多条子流同时进行数据传输的模式; 当链路重传率低于一定阈值并且并且稳定之后, 则采用单条子流单独进行数据传输的模式.
在物理层, 主要是利用信号强度进行链路通断状态的感知.该方面的相关研究主要有文献[28-31].其中, 文献[28]利用当Wifi信号强度连续小于一定阈值达到一定时长之后, 开始进行切换; 文献[29]利用采用切换前后信号强度是否相差超过一定阈值来进行切换判决, 并且根据信号强度估计链路可用带宽并相应地对传输层拥塞窗口进行设置以提升传输性能; 文献[30]对信号强度、可用带宽进行归一化, 基于归一化之后的值进行切换判决和选择; 文献[31]将机器学习引入到MPTCP的子流选择当中, 基于信号强度、往返时延、吞吐率、同一个区域干扰AP的数目构造随机决策森林, 根据决策森林的输出结果对子流进行选择.文献[28, 29]在进行切换时仅仅考虑了链路的信号强度, 其优势在于算法较为简单; 然而由于考虑的参数较少, 难以有效地提升切换性能.文献[30]在进行切换时将多个参数考虑进来, 文献[31]在进行机器学习时同时考虑了历史信息.文献[30, 31]在切换算法的复杂度上相对较高, 带来的优势是切换性能的提升更加明显.
2.2 链路参数的估计与预测
不同子流所经过的链路在带宽、时延等方面差异度大且动态变化, 使得不同子流的数据包乱序地到达接收方, 在接收缓存受限的情况下, 乱序程度越高对发送聚合带宽影响越大, 并且发送速率慢的子流还会抑制发送速率快的子流.有效的数据分配和选择路径状态好的子流是确保高聚合带宽的两种主要方法.二者都需要以每条子流的端到端路径参数(包括带宽、往返时延、丢包率)作为优化依据, 因此需要对链路参数进行更加准确的估计和预测.
为了应对端到端传输往返时延动的动态变化, 文献[32-34]对时延估计方法及多路径传输数据分配进行了修改.其中, 文献[32]基于链路误帧率计算出链路层的平均时延以及对应的端到端往返时延, 并基于改进后的往返时延进行数据分配.文献[32]适用于链路误帧率较高、对端到端延时影响比较明显的场景.文献[33]将卡尔曼滤波器引入对端到端传输时延的预测中, 相应地也基于预测后的时延进行数据分配.文献[34]在文献[33]的基础上同时以往返时延和带宽进行联合的卡尔曼滤波预测, 将预测出来的带宽和往返时延同时作为数据分配算法的输入.和文献[33]相比, 文献[34]的预测输入参数更多, 从而提高了预测的准确度.文献[33, 34]采用卡尔曼滤波对传输参数进行预测, 比文献[32]适用范围更广.
为了应对端到端传输带宽的动态变化, 文献[35-38]对带宽估计方法及多路径传输子流选择或者数据分配进行了修改.文献[35-37]基于链路层的误帧率以及端到端往返时延, 利用经典TCP吞吐率理论计算公式估计可用传输带宽, 并将可用传输带宽作为链路质量的评估指标, 在感知到接收方缓存发生阻塞时, 及时在发送方删除链路质量差的路径, 从而降低质量差路径对接收方乱序情况的影响.文献[35-37]都需要以准确的误帧率和往返延时为基础, 同时, 在TCP版本上仅仅适用于标准TCP.随着TCP版本的变化, 需要相应地对吞吐率模型加以调整.文献[38]利用LTE, HSPDA+网络在物理层的特点, 即基站根据终端返回的信号强度CQI信息调整传输块大小, 在基站侧利用传输块信息计算用户下行带宽并据此进行数据分配.文献[39]根据WiFi和WIMAX链路层的传输时长估计不同路径传输带宽, 并根据传输带宽比例在各条路径分配数据.和文献[35-37]相比, 文献[38, 39]则需要更多的物理层信息, 在参数获取的复杂度方面要更高.
2.3 与无线资源分配的协同
无线资源分配主要是指无线传输中对频率、时隙等资源的分配.现有的移动通信或者WiFi网络通常具有链路多速率的特点, 如果将过多地时间片分配给低速率终端, 则会使系统整体吞吐率降低, 因此在多路径传输需要合理地对并发传输的子流进行选择, 从而在确保终端传输性能的同时保持较高的系统整体吞吐率.文献[40, 41]设计了系统整体性能最优的比例公平效用函数, 并通过集中求解得到了每个终端应当和哪些基站建立连接, 从而达到系统整体最优.和文献[40, 41]不同, 文献[42, 43]则是以单用户总体性能为目标.其中, 文献[42]在其不同子流所经过的AP的链路速率并不相同而且会产生相互干扰时, 通过调整不同子流的流量分配将更多的流量分配到链路速率高的AP上.文献[43]针对同时使用移动通信和WiFi网络的MPTCP和仅使用WiFi网络的TCP的下行流在竞争带宽时TCP流抢得更多带宽的问题, 通过调整AP侧针对MPTCP流和TCP流的丢包率, 使两种类型的流的丢包率大致相等, 来实现MPTCP下行流和TCP下行流竞争带宽时的公平性.
在WiFi系统中, 上下行的流量需要共同竞争可用传输时间, 二者相互之间会产生影响.这一特点对于需要传输ACK报文的TCP来说表现更为明显, TCK ACK和TCP DATA同时竞争无线时间片, 使得用户发送TCP DATA的时间片降低, 用户的吞吐率也相应地降低.文献[44, 45]提出了在多接口终端将WiFi接口的TCP ACK信息转移到用户的另一个蜂窝网络接口进行发送, 从而既利用了蜂窝网络接口本来已经固定分配的无线资源, 同时还提高了WiFi接口可用于数据发送的时间, 从而整体地提高了多路径传输聚合带宽.
2.4 小结
端到端多路径传输与物理及链路层相结合的研究方案主要从链路通断状态感知、链路参数估计与预测、与无线资源分配的协同这3个方面开展优化.各研究方案的对比见表 1.从表中可以看出, 链路通断状态感知主要用于优化多路径传输的连接管理模块, 链路参数估计与预测主要用于优化多路径传输的数据分配和子流选择模块, 而与无线资源分配的协同主要用于优化多路径传输的数据分配、子流选择以及拥塞控制模块.在进行链路通断感知时, 采用物理层的信号强度相对而言要比采用链路层的重传率更为及时, 但是由于信号强度会不断地发生变化, 需要确保获得的信号强度能够及时、准确地反映出当前无线链路的状态.并且目前链路通断感知和链路参数估计与预测主要采用的是终端测量的方式, 终端测量出来的链路相关参数通常会比较滞后, 需要进一步与当前网络状态相关参数进行结合, 以提高预测结果的准确性.
Table 1 Comparison of research schemes which combine end-to-end multipath transfer with physical and mac layer schemes
表 1 端到端多路径传输与物理及链路层相结合的研究方案对比
3 结合网络层的跨层优化
结合网络层的跨层优化的主要目标是为多路径传输的各条子流选择合适的路径, 并确定合适的子流数目.为了实现该目标, 主要包括3个模块:首先是子流关系的识别模块, 即辨别出属于同一条多路径传输的多条子流, 基于此, 才能为各条子流选出合适的路径; 其次是路由调整模块, 即基于什么协议在路由器执行算法的计算结果; 最后是子流的路由和子流的数目计算模块.在完成了算法设计之后, 各个研究在各自设计的应用场景下进行了算法验证.
3.1 子流关系的识别
子流关系的识别主要有3类, 包括:1)终端直接识别; 2)网络根据MPTCP建连时的选项进行识别; 3)网络根据MPTCP的序列号映射关系选项进行识别.
1) 终端直接识别
这类方案的特点是在网络基础设施之上架设代理, 而终端可以获得所有可用的代理信息, 等价于终端获得了网络中的路由信息, 并且可以进一步通过代理的选择来决定数据包的走向.此时, 终端在建立连接时就已经知道子流之间的相互关系, 下一步则是进行代理的选择.相关研究工作具体包括文献[46-48].
2) 网络根据MPTCP建连时的选项进行识别
MPTCP的连接建立时序图如图 3所示.该图对应的是一个有2个IP地址的客户端向一个有2个IP地址的服务器端获取网页时的连接建立过程[13].MPTCP采用fullmesh的方式进行连接的建立, 相应地也就建立了4条子流.如图 3所示, 这4条子流建立过程有先后顺序:首先, 通过在第1对IP地址建立连接是通过MP_CAPABLE标识双方均支持MPTCP并进行第1条连接的建立; 在收到第1条连接建立完成的ACK之后, 客户端通过IP 2和服务器IP 1再进行第2条连接建立; 当客户端收到服务器通过IP 1发来有MP_ADDR选项的数据包之后, 进一步分别通过客户端的IP 1和IP 2与服务器的IP 2建立连接, 此时建立连接的选项中均有MP_JOIN.根据MPTCP连接建立过程, 网络侧识别出第1次建立连接的MPTCP_CAPABLE选项以及后续增加连接的MP_JOIN选项之后, 就能判断出各条子流是否属于同一条流.相关研究工作具体包括文献[49, 50]等.
Fig. 3 Sequence chart for MPTCP connection setup with two source addresses and two destination addresses[13]
图 3 MPTCP在2个源地址和2个目的地址之间采用fullmesh方式建立连接的时序图[13]
3) 网络根据MPTCP的序列号映射关系选项进行识别
第3类的方案是根据MPTCP数据包中所包含的连接层序列号和子流层序列号之间的映射关系.因为MPTCP建连的控制信息只在建立连接时通过少量数据包进行传输, 文献[51]考虑到网络在进行采样时可能会没有采样到这些数据包, 进一步利用相同MPTCP连接不同子流在连接层序列号上一般会覆盖相同的区间范围但是并不相交的特点对子流间的关系进行识别.
3.2 子流路由调整机制
由于需要根据终端的多路径传输特点进行相应地路由选择, 现有研究通常基于可灵活修改路由器策略的协议进行.主要基于的方案包括SDN(software defined networking)、MPLS(multiprotocol label switching)、LISP (locator/identifier separation protocol)和源路由.
文献[49, 50]等研究采用基于SDN的方式进行协同, 其主要思路是, 利用SDN控制器和交换机之间交互的消息来辅助进行子流关系识别, 并利用SDN集中控制的特点进行子流路由表的下发.SDN通常的工作方式是通过集中的控制器对网络路由进行管理, 在路由器上, 通过流表的方式对数据包进行匹配和转发.当流表中没有与当前数据包的匹配条目时, 数据包被分装成packet in报文并发送给控制器.此时, 控制器SDN控制器需要为数据包计算路径并通过packet out下发给路由器.为了支持对不同子流关系的识别, 在控制器收到packet in报文之后, 还需要识别其中的MPTCP选项, 根据MPTCP选项识别出子流的关系, 并相对应地进行流表的下发.由于packet in报文只有在数据包无法匹配时才会产生, 为了避免其他流表项的模糊匹配造成路由器不发送packet in报文, 要求控制器在下发流表时的粒度比较细, 最好是为每一条流或者每一对IP地址对设置相应的流表项.
基于MPLS的方案有文献[52].MPLS基于标签为数据包进行选路.在数据包进入支持MPLS的网络时, 边界路由器打上相应的标签, 网络中其他路由器根据打上的标签进行选路.在数据包出MPLS网络后, 标签相应地被删除.和SDN类似, 在MPLS协议基础上, 也需要有相应的设备集中搜集网络设备的状态信息, 并根据状态信息下发标签, 并与终端进行交互.由于MPLS并没有类似SDN的发送packet in报文的机制, 需要对路由器进行相应的修改, 以根据前述3种方案中的一种进行多路径子流关系的发现.
采用LISP的方案有文献[53, 54].LISP本身并没有提供修改网络路由的方案, 但在边缘网络具有多个出口的场景下, LISP能够同时通过其边界路由器进行传输.
采用源路由的方案有文献[55].源路由一般首先需要通过一定量的消息交互来发现路由, 然后通过终端在IP包头中指定每一跳所经过的路由器进行具体选路.与SDN、MPLS的方案相比, 源路由在进行路由发现时的代价更高, 路由发现报文会给网络带来更大的负担.
3.3 子流的路由选择
在进行子流的路由选择时, 主要的研究方案有两类.
● 第1类是只根据路由可达性为子流进行选路, 具体包括文献[49, 53, 55, 56].这类研究的主要目标是为不同子流选择链路不相交的路径, 以避免传输过程中不同子流共用瓶颈路径的问题.以文献[49]中的算法为例, 算法首先计算最短路径, 之后将最短路径删除后重新计算一条最短路径.其他文献中采用了类似的选路算法, 包括仅仅选出k条不相交路径[55]、选出k条不相交路径的同时使最小带宽路径最大[56].
● 第2类是在进行选路或者子流选择的同时考虑链路负载.当网络中可以提供的路径比多路径传输子流数目多时, 文献[57, 58]根据每条路径上的负载信息优先选择负载较轻的路径分配给各条多路径传输的子流.文献[59]选出带宽差异较小且带宽较高的子流进行传输.文献[60, 61]在进行路由选择时, 同时考虑了上层应用的需求.其中, 文献[60]从所有子流中逐步删除可用带宽最小的, 直到上层应用带宽得到满足; 文献[61]根据上层业务的优先级比例分配可用的路径和链路带宽资源.
3.4 应用场景的拓扑特点
在进行算法验证时, 上述研究采用了不同的应用场景, 主要包括简单拓扑、随机拓扑、数据中心拓扑、广域网拓扑和卫星网络拓扑.其中, 文献[49, 52]采用了较为简单的网络拓扑, 主要特点是, 虽然包括路由节点数目相对较少, 但是在源和目的节点之间有多条可达路径, 通过在给定网络拓扑中进行多路径传输和只采用单条路径的传输进行对比, 突出了多路径传输的优势.文献[56]中在进行实验验证时采用了随机拓扑, 随机拓扑中节点相对于简单拓扑而言数目更多, 在源节点和目的节点直接的可达路径也更多.
采用数据中心网络拓扑的研究包括文献[57, 58, 62, 63], 其采用的拓扑包括FatTree、Jellyfish、Dual-homed Jellyfish、Bcube.数据中心网络中路径冗余度高, 并且源节点和目的节点之间的多条可达路径的计算有规律可循.同时, 由于近年来数据中心的研究相对较多, 数据中心的常见的流量类型也有较多的可用选择.文献[56]采用了实际广域网的拓扑结构, 包括CERNET2、Abilene、Internet 2.这类拓扑本身都具有多条可达路径, 能够为多路径传输实验验证提供基础.采用这类拓扑进行算法的验证也能提高算法的说服力.文献[55]采用了卫星网络中铱星的拓扑.在铱星的拓扑中, 每个卫星与周围的4个相邻卫星相连, 通过卫星相互之间建立的链路形成卫星网络, 从而达到对地球覆盖的目标.采用铱星拓扑对多路径传输进行验证, 适用于那些将多路径传输应用场景设置为卫星网络的研究.
3.5 小结
端到端多路径传输与网络层相结合的研究方案包括子流关系识别、子流路由调整机制以及子流路由选择这3大模块, 并且基于不同的应用场景进行验证.各研究方案的对比见表 2.在进行子流路由选择时, 主要有平衡网络负载、多路径用户不共用瓶颈或聚合尽可能多带宽、满足用户应用的需求这3大类目标.在子流路由计算时, 有集中式和分布式两种.集中式的子流路由计算主要在统一的控制器中进行, 分布式的子流的路由计算主要发生在终端或者路由器上.由于集中式的计算方式能够拿到更多的信息, 在子流路由选择的结果上更容易挑选出对于子流而言质量更好的路径.不过, 在路由计算的可扩展性方面, 分布式的计算方式要比集中式的计算方式要好.在应用场景拓扑方面, 主要包括4种:简单拓扑、广域网拓扑、数据中心拓扑以及铱星拓扑.其中, 后3种拓扑要比第1种更加接近实际环境, 并且可选择的端到端路径也比第1种要多, 更适合用于相关研究方案的验证.在子流路由选择满足用户需求方面, 现有的研究主要针对的是具有一定带宽需求的业务, 而对目前被广泛采用的码流动态自适应的流媒体业务考虑较少.码流动态自适应的流媒体业务具有根据网络状况动态调整视频码率的特点.该特点有待于进一步与网络层相关技术进行结合以提高多路径传输性能.
Table 2 Comparison of research schemes which combine end-to-end multipath transfer with network layer schemes
表 2 端到端多路径传输与网络层相结合的研究方案对比
4 结合应用层的跨层优化
传统的多路径传输所针对的上层业务主要是大文件传输.在大文件传输过程中, 每个数据包之间没有相关性, 也没有严格的截止时间要求, 多路径传输所需实现的主要目标就是尽可能地提高多路径传输平均聚合带宽.而视频点播、实时流媒体等业务在进行多路径传输时, 对多路径传输的各项基本功能提出了更高的要求, 需要结合应用层的特点进一步开展多路径传输的优化.相关研究主要分为3类:第1类是截止时间和重要性感知, 第2类是失真率感知, 第3类是结合应用层文件大小.
4.1 截止时间和重要性感知
如果多路径传输能够感知到数据包的截止时间等信息, 则可以相应地接收端调整向上层应用递交数据的策略和在发送的调整数据分配方式, 以提高整体传输效率.对于应用层已经超过播放时间的数据包而言, 如果再耗费时间进行重传或者等待该数据包的到达, 将导致已经到达接收方的数据包无法及时向上层递交, 从而引发后续数据包连续发生超过播放时间的问题.因此, 需要在数据包截止时间之前及时向上层递交.PR-SCTP[59]中设计了部分可靠机制, 应用层数据包的生存时间被携带到传输层SCTP的报文中, 当发现当前发送的数据包已经超过了其生存时间后, 不再对该数据包进行重传并且通知接收方将当前期望接收的下一个数据包序列号指针向后移动.PR-CMT[66]将PR-SCTP部分可靠的机制应用于多路径并发传输中, 并利用已经超过生存时间的包的确认来调整拥塞窗口.PR-MPTCP+[67]将部分可靠性应用于MPTCP协议中, 通过新的部分可靠选项进行是否支持部分可靠功能的协商, 在检测到网络拥塞造成的丢包时, 只对没有超过生存时间的数据包且优先级最高的数据包进行重传.PR-CMT和PR-CMT主要利用了应用截止时间特性, 而文献[68]在利用截止时间的同时考虑了优先级特性, 在MPTCP检测到网络发生拥塞时, 通过主动丢弃低优先级数据包来保证高优先级包的传输.同时, 在接收方为数据包设置了缓存时间阈值, 当接收方缓存时间超过缓存时间阈值之后, 直接将接收方缓存的数据包向上递交, 并回复相应的ACK.
应用层的数据在重要性方面往往也存在较大差异(如H.264视频编码文件中的I帧和P帧), 如果多路径传输能够感知到数据包的重要性差异等信息, 则可以结合各条子流的传输特点相应地对其数据分配策略进行调整, 以提高整体传输效率.从编码方式上看, 在MPEG-2和H.264/AVC编码中, 主要的帧类型有I帧、P帧、B帧.I帧能够独立进行解码, 而P帧, B帧则需要依赖I帧才能够成功解码, 所以I帧的重要性要高于P帧和B帧.H.264/ SVC编码利用视频在时间、空间、信噪比等方面的可扩展特性将视频分成多层进行编码, 接收方收到的编码层级越高, 接收方所看到的视频质量就越高.而高层级的码流在进行解码时需要依赖于低层级的码流, 因此, 低层级的码流的重要性要高于高层级码流.
在面向数据包重要性差异的多路径传输优化方面, 文献[69]以应用层时延允许的生存时间为数据分配单位, 在这个时间内, 发送方首先将一系列I帧、P帧保存下来, 按照各条路径的时延带宽积比例分配数据, 并且将I帧优先分配丢包率低的路径.文献[70]的数据分配单位视频编码基本单位, 即一组数据帧GoP(group of picture), 算法先将I帧、P帧以及B帧分配放入两个队列中, 同时将路径根据丢包率从低到高排序, 首先从队列1中读取I帧、P帧, 并通过丢包率最低且能确保数据帧按时到达接收方的路径发送, 在I帧、P帧分配完之后再分配B帧.文献[71]将文献[70]的算法应用在SVC视频帧的数据分配中.文献[72]从理论上通过求解整数规划的方式得到了改进后的数据分配算法.该数据分配算法结合数据包发送时间、接收时间、H.264视频编码中I帧、P帧、B帧的关系进行数据分配.改进的数据分配算法和MPTCP数据分配算法进行对比后的结果表明, 改进的数据分配方式能够明显提升传输性能.
4.2 失真率感知
视频帧具备一定的抗误码特性, 利用这个特性能够为多路径传输提供更大的优化空间.视频帧的抗误码特性具体体现在少量视频帧的丢失能够通过前后帧的补偿进行恢复, 同时, 视频帧部分区域的误码或者丢失从用户的直观感受上影响可能并不大.失真率(distortion rate)[73]用来衡量接收到的视频帧与源视频帧相比的视频质量损失.失真率随着视频编解码方式的不同以及用户在观看完源视频和接收到的视频的直观感受, 往往有着不同的计算方式.在多路径传输的场景下, 相关研究将失真率引入之后作为总体优化的目标函数, 通过调整数据包分配方式、重传策略、冗余程度等方式来最小化失真率.相关研究可以分为没有考虑帧类型差异和考虑了帧类型差异两种.
● 在没有考虑帧类型差异的相关研究中, 进行数据包分配、重传策略、冗余度等方面的调整时不对不同类型的帧加以区分.文献[73]中采用的视频失真率函数中, 视频失真率随着视频源码率的增加而减少, 随着误码率的增加而降低.将该失真率函数引入到多路径视频传输后, 将链路丢包和超过播放时间的丢包联合考虑成路径丢包, 构造了以最小化失真率函数为目标、以视频帧源码率为决策变量的最优化问题, 通过求解最优化问题得到了视频发送的码率.文献[74]采用了和文献[73]相同的失真率函数, 而在决策变量上, 在考虑视频源码率的同时, 将LTE和WCDMA物理及链路层中的调制编码方式(modulation coding scheme)和扩频因子(spreading factor)同时加入为决策变量, 并设计了启发式算法, 在确保视频帧能够按时解码的同时, 按照视频源码率、调制编码方式(modulation coding scheme)和扩频因子(spreading factor)依次决定相应决策变量的取值.文献[75, 76]也采用了和文献[73]相同的失真率函数, 在决策变量上加入了前向纠错(forward error correction)冗余度的计算, 通过求解以最小化失真率函数为目标的最优化问题, 得到了视频源速率和冗余度的分配结果.
● 在考虑帧类型差异的相关研究中, 随着帧的重要性不同, 在进行数据包分配、重传策略、冗余度等方面的调整时也有所不同.文献[77-81]在现有失真率函数基础上进一步考虑了由于帧一部分包丢失带来的截断失真以及漂移失真的影响.增加了截断失真、漂移失真的失真率函数能够更有效地反映出帧丢失对失真率的影响.文献[77]针对全网用户开展优化, 文献[78-81]的优化则针对单一用户进行.文献[77]通过离线拟合的方式得到考虑截断失真、漂移失真的失真率函数的相关系数.并建立了以最小全网所有用户的失真率为目标, 以决定每个帧的数据包的分配路径的整数优化问题, 通过求解得到了每个用户的视频源码率和数据包分配方式.文献[78, 79]均通过在线模拟帧丢失以及并进行帧解码, 帧差错恢复后, 将源视频和解码视频进行对比来估计失真率函数.文献[78]基于估计出的失真率分别以帧为单位对I帧进行增加冗余和以若干个P帧为一组对P帧增加冗余.文献[79]以估计出的失真率作为马尔可夫决策过程的目标来调整拥塞窗口的变化, 同时, 在进行数据分配时感知到I帧、P帧的重要性差异后, 发送方带宽不足时优先丢弃优先级较低的P帧.文献[80]通过函数乘积的方式将漂移失真加入失真率函数中, 基于相应的失真率函数, 计算了采用Raptor编码的冗余度, 并且根据由往返时延、丢包率、带宽、路径可用性组成的路径质量指标进行数据分配.文献[81]在基于失真率函数计算Raptor编码的冗余度的同时, 通过马尔可夫决策过程进行数据分配, 决策过程的回报效用函数同时考虑了失真率和视频速率.在数据包重传时, 将重传包通过最短时延的路径发送, 并且对可以通过冗余编码进行恢复的数据包不进行重传.
4.3 结合应用层文件大小
文献[82]通过在实际WiFi和蜂窝网络的测量结果表明, 文件大小将直接影响到多路径传输的性能.在文件较小且链路差异度较大的情况下, 文件通过多路径传输所需的时间有可能反而高于通过单路径传输的时间.
在此基础上, 文献[23]设计了基于回归森林的多路径传输子流选择算法.算法的数据包括历史搜集到的网络状态信息、对应的文件通过各条子流进行传输所需时间以及同时通过多条子流进行传输所需时间.算法根据历史数据构造回归森林, 在进行实际传输时, 根据当前网络状态, 通过回归森林进行子流选择决策.文献[83]根据固定文件大小阈值进行区分:当文件大小大于阈值时, 在多条路径进行并发传输; 当文件大小小于阈值时, 则将文件冗余地发送给各条路径, 并在数据中心网络场景中进行了验证.文献[83]简单地根据文件大小进行算法调整, 更适用于链路参数差异较小的数据中心场景, 难以适用于链路参数差异度大的场景.文献[23]在算法设计时考虑了更多的输入参数, 并且利用了历史数据, 使得算法的适用场景更多, 其代价是算法复杂度更高.
4.4 小结
视频点播、实时流媒体等业务给多路径传输基本功能带来了更高的要求, 相关研究主要从截止时间、重要性差异、失真率、应用层文件大小这4个方面开展优化.端到端多路径传输与应用层相结合的研究方案对比见表 3.从表 3中可以看出, 截止时间主要影响的是可靠性; 重要性差异主要用于优化数据分配/子流选择以及可靠性; 失真率主要用于优化数据分配/子流选择、可靠性以及拥塞控制; 应用层文件大小主要用于子流选择的优化.现有的研究在进行多路径传输时对应用层具备不同特点的数据包加以区别对待, 从而提升了多路径传输性能.由于要对不同的应用层数据包加以区分, 面向字节流、完全可靠的多路径传输的编程模型已不再适用, 现有的研究往往针对各自的应用特点分别对传输层内核进行修改, 而没有设计更加通用的传输层编程接口, 使得相关研究难以快速地大规模部署.
Table 3 Comparison of research schemes which combine end-to-end multipath transfer with application layer schemes
表 3 端到端多路径传输与应用层相结合的研究方案对比
5 以节能为目标的跨层优化
终端节能问题一直以来都是研究的热点.终端同时开启多个网络接口进行多路径传输后, 在端到端传输性能得到提升的同时, 也相应地带来更多的能量消耗.由于不同子流往往具有不同的能耗特点, 因此, 面向节能的优化为多路径传输引入了新的研究问题.相关研究工作主要可以分为两类:其一是结合物理层的节能优化, 主要是结合物理层不同网络接口的能耗特点进行数据分配、网络接口开关等方面的优化; 其二是结合应用层的节能优化, 即在以节能为优化目标的同时, 将应用层失帧率或者带宽需求作为约束条件考虑进来.
5.1 结合物理层的节能优化
物理层接口能耗具有如下4个方面的特点:1)接口开启时间越长, 能耗越高; 2)蜂窝网络接口在不同状态下能耗不同, 且在传输完之后仍然保持一段时间高能耗状态[23]; 3)往返时延大的子流耗能更高, 同时在多条子流共用瓶颈路径时, 也会带来更多不必要的能量消耗[24, 25]; 4)物理层的功率分配和用户得到带宽关系可以通过理论公式进行估算.
● 针对特点1, 文献[85]通过动态地开关多块WiFi网卡来实现在确保性能的同时降低能耗, 并考虑终端可以通过多块网卡同时关联多个AP的场景.该文献利用多块网卡在网络性能上的相关性, 利用正在工作的网卡的性能预测未关联网卡的性能, 根据预测结果以及当前正在工作的网卡利用率是否高于一定阈值来决定是否需要开启其他网卡.
● 针对特点2, 文献[23]利用机器学习预测上层业务的传输时间, 在上层业务传输时间较短时, 不通过蜂窝网络接口而直接采用WiFi接口进行数据传输.
● 针对特点3, 文献[24, 25]在确保多路径传输TCP友好的情况下, 通过动态调整多路径联合拥塞控制算法的相关比例因子, 将多路径传输更多的负载调整到往返时延小的子流上.同时, 文献[25]利用共用瓶颈路径子流在RTT的相关性的特点进行共用瓶颈子流的发现, 并及时关闭多余子流.
● 针对特点4, 文献[86, 87]为了权衡吞吐率和能耗两个方面的目标, 将全网传输每比特数据所消耗的能量作为总的优化目标.文献[86]通过求解优化目标, 得到每个终端应当和哪个基站相关联以及该分配多少资源给对应的终端.文献[87]进一步考虑了信号强度信息CSI的动态变化, 根据最优化问题的求解和CSI的信息, 动态地调整各个多路径传输终端在各条子流上应当分配的数据量.
5.2 结合应用层的节能优化
视频类应用对多路径传输提出了更高的实时性要求, 为此, 需要同时量化各个接口的实时性需求和能耗需求.相关研究可以分为针对单个终端和针对全网用户的多路径视频传输优化两类.
● 对于单个终端的多路径视频传输方案来说, 定义了优化目标之后, 往往能够通过调整子流的选择以及子流流量的分配来达到满足视频实时性需求和低能耗需求的两个目标.其中, 文献[88]主要针对视频点播业务开展研究, 按需视频传输当客户端缓存文件小于一定阈值后, 客户端需要停止播放等待缓存文件达到一定大小后再继续播放, 此时, 相对应地增加了播放总时间.因此, 文献[88]以播放总时间来量化按需视频业务的实时性要求:首先求解最小化播放总时间为目标的最优化问题, 在求出了最小播放总时间之后, 再将最小播放总时间作为约束条件求解最小化能量消耗为目标的最优化问题, 进而得到子流数据分配方案.文献[89]针对实时流媒体业务开展研究, 其将实时视频传输类业务的性能指标考虑为视频传输的失真度, 通过建立以能量为约束条件之一, 最小化视频失真度的最优化问题并进行求解得到子流的数据分配和能量分配方案.文献[90]在文献[89]的基础上考虑到物理信道的时变特性, 建立了在能量约束下最小化随机化的视频质量指标问题, 通过求解得到子流的数据分配和能量分配方案.文献[91]针对自适应码流的视频类业务传输开展研究, 将能耗和视频的失真率进行比例求和后作为优化的目标函数; 同时, 在接口能耗模型上考虑了蜂窝网接口处于不同传输状态时的能耗差异, 通过求解目标函数得到了视频主要应当采用的编码速率、每条子流传输的数据分配方式.文献[93-97]针对实时视频传输类业务开展研究, 将视频实时性需求作为约束条件之一, 以最小化能量消耗作为目标函数建立最优化问题.其中, 在将实时性需求作为约束条件方面, 文献[92]的约束条件为最小应当达到的净吞吐率; 文献[93-96]的约束条件为最小应当达到的失真率.在求解过程中, 文献[92-96]均求出了每条子流应当分配的传输速率.此外, 文献[92]还计算出每条子流采用FEC编码时应当采用的冗余度.文献[93, 94]在文献[92]的基础上采用Raptor编码, 并且为I帧、P帧分别增加不同的冗余度.
● 对于全网多路径视频传输的节能问题而言, 除了每个终端在各条子流调整传输带宽之外, 还需要在多个用户之间的资源分配上进行协同, 以达到系统性能和能耗两方面的综合提升.文献[97]将全网多路径视频传输的节能问题建模为以最大化多个用户中的最小吞吐率和能量比为目标, 将视频传输所需要的带宽作为约束条件之一.为了得到分布式的资源分配方式, 首先通过引入一个参数将比值型的目标函数调整为减法型的目标函数, 进而通过求解拉格朗日对偶得到分布式的能量、带宽分配算法.
5.3 小结
以节能为目标的相关研究主要通过结合物理层接口的能耗特点以及应用层的业务需求两个方面开展多路径传输的节能优化, 主要研究方案对比见表 4.从表 4中可以看出, 上层业务主要可以分为文件业务、视频点播业务、实时流媒体业务这3类.各个研究的优化对象主要有全网用户和单一用户两种:针对全网用户的优化主要是结合接口能耗特点以及业务需求对多接口资源分配或者拥塞控制机制进行修改; 针对单一用户的优化中, 结合文件类业务特点优化的主要是多路径传输的拥塞控制机制以及接口开关策略, 结合视频点播和实时流媒体业务特点优化的主要是可靠性、数据分配以及多接口资源分配或者拥塞控制.能耗模型选取和优化目标的制定是以节能为目标的跨层优化的主要难点.基于实际测量结果拟合出来的能耗模型更加准确, 已经逐步被用于多路径传输各个功能的优化.而基于理论计算出来的能耗模型由于表达方式较为简洁, 目前主要用于多路径传输资源分配相关功能的优化.
Table 4 Comparison of research schemes which use energy saving as the optimization goal
表 4 端到端多路径传输以节能为目标的研究方案对比
6 研究趋势展望
在应用场景上, 需要研究应用于空间互联网的多路径传输.目前, 多路径传输的主要应用场景包括在异构无线移动网络和数据中心网络.近年来, 随着火箭发射成本的降低, 空间互联网再次成为各方关注的焦点.空间互联网具备了更多的覆盖手段, 相同的物理位置能够同时被位于不同高度的低轨、中轨、高轨卫星重叠覆盖, 这也使得空间互联网适合采用多路径传输技术.与此同时, 空间互联网具有高误码、大时延、链路差异度大、切换频繁等特点, 也给多路径传输带来了新的挑战.目前, 关于空间互联网的多路径传输还相对较少, 未来应进一步围绕多路径传输关键技术优化以及实际环境下的传输性能测量与分析开展研究.
在跨层优化方面, 应当进一步与各层新兴技术进行深入融合, 具体包括如下面几个方面.
1) 与新的物理及链路层关键技术进行协同
802.11协议族一直都在不断地更新物理及链路层技术, 以达到更高地无线接入速率.如802.11n协议中链路层的信道绑定、帧聚合以及物理层的MIMO技术, 802.11ac协议中的信道绑定以及MU-MIMO技术, 802.11n以及802.11ac物理及链路层的技术改进也需要新的链路层自适应调制编码机制.新的物理及链路层技术进展可以通过与应用层、接口能耗特点相结合加以体现.与此同时, 目前主要的多路径传输相关研究主要还是基于蜂窝网络和WiFi网络两大类的无线接入技术开展研究, 新的底层接入技术层出不穷, 如毫米波通信、电力线通信等, 虽然已经有少量研究将这些底层接入技术纳入到多路径传输当中, 如文献[98, 99], 未来仍有待于进一步加强.
2) 与新型网络技术的深入融合
为了应对上层多种多样的业务需求, 5G网络中采用基于SDN/NFV的网络切片技术, 将物理网络切分为适合不同应用特点的网络切片.网络运营商需要根据其需要定义一系列的切片, 而终端也需要根据其自身业务特点在切片之间进行选择[100].与此同时, 具备多接口的终端还能同时感知到多个运营商不同的网络切片, 需要根据上层业务特点以及网络切片的负载状态进行合理的选择和数据分配.
3) 面向360°VR/AR视频应用的多路径传输
随着用户观看的角度的不同, 360°VR/AR视频应用将不同的视频流呈现给用户, 从而带来更好的用户体验.这类应用的推出带来了对网络更高的带宽和时延需求.利用多路径传输进行360°VR/AR视频的传输, 能够通过有效聚合多条链路的带宽来满足其对网络更高的需求.同时, 360°VR/AR视频应用在视频编码方式[101]以及用户体验方面的特点, 也给多路径传输带来了新的优化空间.
4) 多层之间优化方案的协同
根据目前综述的相关文献, 相关应用层和节能的优化主要还是应用层、传输层以及链路层之间的相互协同, 与网络层的协同较少, 没有有效地发挥网络层的优势和特点.例如, 对于具有广播特性的网络(如无线mesh网络)而言, 能够通过网络编码来进一步提高传输性能和可靠性.网络层多路由特性、组播/广播等特点, 都应当能够通过与其他层改进方案的协同来进一步提升多路径传输的性能.
在多路径传输性能评估方面, 需要在实际环境中进行全面的测量与分析.目前, 关于多路径传输测量, 相关研究采用的主要是安卓和笔记本终端, 并通过安装MPTCP协议的现有实现进行测量与分析, 如文献[82, 91, 102].本文中综述的大部分论文的相关验证或者是在仿真环境中进行的, 或者是在人为设定链路参数的半实物环境中进行的, 还缺乏有真实流量的环境的验证.与此同时, iphone从ios 11开始搭载MPTCP协议, 这也为在iphone上进行多路径传输的测试提供了可能.
7 总结
本文首先从端到端多路径传输的基本功能出发, 分析了其面临的主要挑战; 然后, 从体系结构各层的功能特点及其与多路径传输基本功能的关系着手, 并考虑了将节能作为新的优化要素, 对近年来利用跨层信息的多路径传输相关研究进行了较为系统和全面的比较和分析.
通过比较可以发现, 多路径传输的基本功能的实现离不开各层信息的获取和协同, 多路径传输能够感知到的信息越多, 它能够带来的优化空间也就越大.本文还结合当前体系结构各层的研究热点对未来研究趋势进行了展望, 为相关研究人员下一步研究的开展提供了一个可供参考的思路.