基于自适应网络编码的异构无线链路并发传输控制方法研究

2022-08-19 02:54朱晓荣倪钦崟
电子与信息学报 2022年8期
关键词:多路径数据包分组

赵 夙 王 伟 朱晓荣 倪钦崟

(南京邮电大学江苏省无线通信重点实验室 南京 210003)

1 引言

随着超高清视频直播、无人驾驶、虚拟现实等高速率业务的不断兴起,人们对带宽、时延的要求不断提高。利用多种异构网络实现并发传输成为一种有效的解决方案,该方案已经成为目前的研究热点。一方面,未来的网络将是5G,4G,Wifi等多种网络共存的异构网络,任何单一的网络将无法随时随地满足用户高速率业务需求,文献[1]对5G网络中异构网络应用场景以及未来的研究趋势进行了讨论。另一方面,随着智能硬件的不断普及,越来越多的终端设备配备有多种类型的网络接口,使得一个用户终端同时具有访问目标通信节点的多条链路,实现多路径并行传输,极大地提高传输速率。

多路径并行传输在有线网络中的应用已经相对成熟。然而,在无线网络环境中,由于无线链路本身具有动态性和不可靠性,加上终端的移动性导致无线网络状况复杂多变,多路径传输不可避免地会产生队头阻塞、缓冲区拥塞、不必要的快速重传、接收乱序等现象,严重影响了传输效率,降低传输性能。

目前已有大量文献深入研究了多路径传输问题[2–10]。多路径并行传输可以在应用层、传输层、网络层等网络协议栈的各个层面实施。目前研究较多的主要是在传输层实现,而现有的传输层协议并不支持多路径传输,因此需要对现有的传输协议进行扩展,其中较为典型的是对TCP及流控制传输协议SCTP(Stream Control Transmission Protocol)[11]的扩展。目前主要的改进版本有pTCP(parallel TCP)[12], mTCP(TCP on multicore system)[13],MPTCP(MultiPath TCP)[14]等。基于扩展的传输协议,大量文献针对无线网络场景下不同业务需求进行了研究,提出了各种不同的算法。文献[2]针对异构无线网络环境,使用SCTP进行多宿主高清视频通信,在多个无线接入网络进行单个高清视频流的端到端传输。文献[3]提出了一种新颖的质量感知自适应并发多路径传输解决方案CMT-QA,通过实时感知多路径的通信状态,根据路径处理能力的不同,将SCTP数据包分发到不同路径上。文献[4]提出了一种基于软件定义网络的分段路由多径传输方案以满足实时交互式多媒体业务对带宽和低端到端传输时延的要求。文献[5]建立了路径吞吐量与不同丢包率和延迟的拟合关系,并提出了路径加权算法CMT-PW。

针对数据包乱序问题,将网络编码和多路径传输相结合,可以有效解决接收端数据包乱序问题。文献[6]针对异构车联网场景提出了一种BigNum网络编码方案,该编码方案在编码灵活性和编解码效率之间有了更好的折中。文献[7]提出了一种网络编码感知的多路径路由协议NCAnt,通过最大化重编码机会实现可靠的端到端传输。文献[8]提出了一种基于网络编码的多路径并发传输解决方案CMTNC,该方案避免了数据重新排序以减轻缓冲区阻塞,但编码时延较大。文献[9]针对传统网络编码的缺点,提出了一种新颖的基于管道网络编码的MPTCP-PNC,但是该方案中分组大小的确定并不能根据网络状况实时动态调整。文献[10]提出了一种基于强化学习的多路径拥塞控制方法Smart-CC,该算法采用异步强化学习框架学习拥塞规则,发送方通过观察环境来自适应地调整子流的拥塞窗口,但是该方案并不能解决数据包乱序问题。

从以上文献可以看出,现有的研究主要通过数据包的合理调度和拥塞控制来解决数据包的乱序问题,但是只能减少数据包乱序,并不能从根本上解决乱序问题。因此,本文将强化学习和网络编码相结合,采用网络编码技术打破数据包序列号和交付顺序之间的强约束关系,基于强化学习,通过与环境交互,学习出最优的网络编码策略,从而解决了异构无线链路多路径传输存在的乱序问题,有效提升系统吞吐量。

2 系统模型

本文的系统架构如图1所示,分为发送端、异构无线网络环境和接收端3个部分。主要包含以下5个模块:强化学习模块、数据包分组模块、网络编码模块、基于路径质量分发模块以及网络解码模块。其中,强化学习模块主要用于获取最优的编码策略;数据包分组模块基于强化学习模块的结果对数据包进行分组;网络编码模块对数据包进行网络编码;基于路径质量分发模块根据路径的网络状况将编码数据包分发到路径缓存中,通过多路径异构无线网络环境,将数据包发送到接收端;网络解码模块对接收的数据包进行解码,解码完成后递交上层应用。

图1 系统架构图

3 基于Asynchronous Advantage Actorcritic(A3C)的自适应传输控制算法

3.1 A3C算法

强化学习通过智能体与环境不断地交互学习出最优的策略,已经被用于解决各种各样的问题。本文采用表现非常优异的异步强化学习算法A3C[15]算法,该算法通过异步学习框架,每个智能体和环境交互,分别计算神经网络损失函数的梯度,然后更新公共的神经网络。同时,智能体每隔一段时间从公共神经网络获取参数,指导自己与环境的交互过程。通过多个智能体不断地与环境交互,使得模型收敛更加迅速。

图2 A3C强化学习示意图

3.2 基于A3C的自适应编码决策

3.3 自适应网络编码算法

网络编码最基本的编码方式是对原始数据包进行线性组合。假设源节点有K个大小相同的数据包P1,P2,...,PK,则采用线性编码方式得到的编码数据包为

表1 基于A3C的自适应编码决策算法(算法1)

管道网络编码[9]采用“从一到全部”的渐进编码策略对数据包进行线性编码,编码矩阵是一个下三角矩阵。而管道网络编码分组大小和冗余大小的确定是根据网络参数值计算得出的,在网络参数值测量估计不准确的情况下,所得结果并不是最优,且实时性不足。本文在管道网络编码的基础上提出了自适应网络编码方案,首先根据强化学习模块获取的N和R值,网络编码模块对接收到的数据包进行网络编码,遵循“从一到全部”的渐进编码策略。在发送方和接收方约定编码矩阵,编码系数不需要携带在数据包中,以减轻编码数据包的大小,节省带宽资源。同时,在数据包中设置了不同的标志位,以区分该数据包是编码数据包还是冗余编码包,根据不同的标志从对应的矩阵选择编解码系数。由于编码分组的大小N和分组内冗余数据包大小R是由强化学习模块根据网络状况学习出的最优策略,所以该编码方案是一种自适应的网络编码方案。

如图3所示,Gk表 示第k个分组,Pk表 示第k个原始数据包,Ck表 示编码完成的第k个数据包。对于编码分组G1, 编码分组大小N=3,冗余大小R=1,表示将3个数据包作为1组进行编码,同时还需要一个冗余包C3(图中深灰色表示)。假设数据包C3在传输过程中由于网络原因造成数据包丢失,由于在发送端增加了冗余包C3,接收端仍可以恢复原始数据包,从而有效避免数据包的重传。同时,对于接收方来说,即使数据包乱序到达,只要收到足够数量的数据包即以可恢复原始的数据包,而不关心数据包的序列号。因此,网络编码打破了数据包序列号和交付顺序之间的强约束关系。本文采用的数据包编码矩阵Cp以及冗余数据包编码矩阵Cr定义为

图3 自适应网络编码示意图

4 基于路径质量的数据包分发算法

5 仿真分析和性能评估

基于Opnet仿真软件,搭建的仿真拓扑如图4所示,多模终端通过WiMax和WLAN两条链路发起视频会议,远程服务器通过两条链路传输视频流,最后在多模终端处进行合并,链路参数配置如表4所示。

表4 仿真参数设置

图4 仿真拓扑图

表2 自适应编码算法(算法2)

表3 基于路径质量的数据包分发算法(算法3)

5.1 仿真环境和参数设置

5.2 仿真结果与分析

表5 多流并发环境参数

表6 A3C算法参数

如图5所示,黑色实线表示分组大小N,灰色虚线表示分组内冗余数据包大小R。由于初始时刻网络状况未知,在仿真中将分组大小设置为15,分组内冗余的数据包大小设置为1。而在t=1时刻,由于网络状况较差,需要调整分组大小和分组内冗余数据包大小,从图中可以看出,分组大小的值为13,而分组内冗余数据包大小为3。在迭代过程中,根据网络状况动态调整分组大小和分组内冗余数据包大小,以适应不同的网络状况。

图5 决策结果示意图

本文采用两条链路并发传输视频,吞吐量对比如图6所示。图6(a)对多路径与单路径传输吞吐量进行对比,可以发现多路径传输可以获得较高的吞吐量;图6(b)黑色实线表示自适应网络编码方案总吞吐量,深灰色虚线表示管道网络编码方案MPTCPPNC总吞吐量,浅灰色虚线表示无网络编码方案总吞吐量。从图中可以看出,自适应网络编码方案相比于无网络编码方案能够获得较高的吞吐量。由于采用了网络编码,接收端只要接收足量的数据包就可以解码出原始的数据包。而不采用网络编码算法时,由于接收端存在乱序现象,可能产生队头阻塞现象,使得发送方降低发送速率,从而导致吞吐量的不合理的下降。而本文提出的自适应网络编码方案相比管道网络编码方案,吞吐量有一定的提升,两者变化趋势相同,而自适应网络编码方案能够快速应对网络的变化。

图6 吞吐量对比图

传输完成时间随数据包个数变化如图7所示,其中黑色实线表示采用自适应网络编码方案,灰色虚线表示不采用网络编码方案。从图中可以看出,随着传输的数据包个数增加,采用自适应网络编码方案完成视频传输所需要的时间较小,而当数据包个数较少时,不采用网络编码方案所需传输时间较小,因为编码存在一定时延。

图7 传输完成时间随数据包个数变化图

接收方缓存时间对比如图8所示,其中黑色实线表示采用自适应网络编码方案、深灰色虚线表示不采用网络编码方案、浅灰色虚线表示管道网络编码。从图中可以看出,采用自适应网络编码方案相比不采用网络编码算法能够更快地获得较大的缓存大小。自适应网络编码在7 s左右达到最大值(本文缓冲区容量设置为50 s),管道网络编码在9 s左右达到最大值,而不采用网络编码方案在12 s左右达到缓冲最大值,之后缓冲区大小一直保持在50 s左右。

图8 接收方缓存时间对比图

6 结束语

本文主要研究了异构网络环境下多路径并发传输问题,针对异构无线网络环境中多路径并发传输存在的数据包乱序问题,提出了一种基于自适应网络编码的异构无线链路并发传输控制算法。首先,强化学习模块通过智能体与环境的不断交互学习出最优的编码策略,获取最优编码分组大小和冗余大小。基于最优的编码策略对数据包进行编码传输,接收方不断接收编码的数据包,然后对数据包进行解码。最后,通过Opnet网络仿真数据对本文所提方法进行仿真,相比无网络编码方案以及管道网络编码方案,本文所提的自适网络编码算法能够获取更高的吞吐量。仿真结果表明,相比管道网络编码方案提高了10%左右的吞吐量,通过冗余编码解决了数据包的乱序问题,从而有效提升网络吞吐量,同时可以快速填满视频缓冲区,一直维持较高的缓冲时间。本文采用的网络编码算法没有考虑数据包内容之间的关联性,未来可以与视频编码相结合,进一步提高编码效率。

猜你喜欢
多路径数据包分组
二维隐蔽时间信道构建的研究*
多路径效应对GPS多普勒测速的影响
多路径助推肉牛产业稳定发展
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
分组搭配
基于5.8G射频的多路径识别技术应用探讨
C#串口高效可靠的接收方案设计
怎么分组
分组
多路径传输协议测试床构建与测试