一种5G系统NSA模式下的PDCP分流技术
2022-03-30张晓华李鹏鹏
齐 勇,张晓华,李鹏鹏
(重庆市信息通信咨询设计院有限公司,重庆 400041)
0 引言
在5G网络NSA组网架构中,终端可同时连接到2个基站,利用不同的频谱资源提高传输可靠性和传输速率。双连接(Dual Connectivity,DC)下,数据在分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)子层进行分流传输到不同的基站,然后在接收端对等PDCP层聚合[1-3]。由于链路端到端特性不同,而且是实时变化的,数据在不同链路传输时,按序发送的数据包抵达接收方时可能会发生乱序,导致不必要的重传及阻塞接收缓冲区,致使链路并行传输性能和系统资源利用效率下降。合理的分流算法能够使2个基站的无线资源得到充分利用,最大限度地提升5G系统性能[4]。
在5G无线网络中,无线信道的衰弱和移动性导致用户信道条件会实时性持续变化。对于数据分流需要综合考虑缓存状态、链路时延、信道质量、带宽和丢包率等网络参数,再进行数据分配[5]。文献[6]提出最优的分流比例为2个网络的吞吐量之比,但是当链路丢包率相差较大时,可能导致接收端接收数据乱序,降低系统性能。文献[7]对PDCP调度功能进行实现,基于路损、业务负荷以及流速反馈确定数据分流比例。文献[8]基于信道参数建立四维评价函数,对分流到WiFi和LTE网络的数据比例进行判决。文献[7-8]所提算法均通过计算信道参数,实时监控链路状态,动态改变分流比例,但是由于链路状态的实时变化,存在数据包乱序到达的情况,当数据量过大时,接收端的重排序可能会消耗系统资源,增加重排序时延,降低系统性能。文献[9]利用GLPK(GNU Linear Programming Kit)求解最大吞吐量,将分流问题转化为混合整数线性规划问题。文献[10]建立了以总时延最小为目标的固定比例分流线性规划结合缓存实现动态分流,但未考虑接入技术差异性导致的传输时延。
上述研究只考虑了部分系统和网络参数,未能考虑接收方PDCP层重排序可能会影响系统吞吐量,降低系统性能的问题。本文针对5G NSA组网模式下数据分流问题,分析传统分流算法的不足与缺陷,提出了一种适用于双连接架构并且能够使接收端PDCP层数据聚合乱序程度最小化、系统速率最大化的数据分流方案。
1 5G NSA架构分流模式研究
1.1 LTE/5G双连接协议架构
在LTE双连接技术基础上,3GPP在TR 38.801中定义了LTE和5G联合组网的双连接方式[11],包括3/3a/3x,4/4a和7/7a/7x等多种组网方式[12-13],如图1~图5所示。当终端处于双连接通信模式时,可以使用2个基站的无线数据资源进行通信,不同的主辅基站负责管理各自的小区域并完成不同的通信任务,主基站MeNB负责管理各个宏小区,实现数据覆盖范围和数据移动性;辅基站SgNB分别负责管理小区,实现无线数据在两基站间实时分流传输。主基站和辅基站之间的数据传输由Xx接口负责。双连接下的分流承载需要利用PDCP实体下的数据分流和聚合功能,将数据按序、正确地传送给高层。双连接技术可以实现全网络化覆盖,提高系统资源利用率,降低传输时延。
图1 双连接3/3a模式协议架构Fig.1 Protocol architecture in dual connection 3/3a mode
图2 双连接3x模式协议架构Fig.2 Protocol architecture in dual connection 3x mode
图3 双连接4/4a模式协议架构Fig.3 Protocol architecture in dual connection 4/4a mode
图4 双连接7/7a模式协议架构Fig.4 Protocol architecture in dual connection 7/7a mode
图5 双连接7x模式协议架构Fig.5 Protocol architecture in dual connection 7x mode
1.2 PDCP分流聚合方案研究
图6展示了在LTE/5G双连接处理模式3下,用户端数据的流向。主基站MeNB直接负责传输上行用户信息,并且在分流机制启动后主基站会自动建立分离式承载,然后经由PDCP层完成用户信息的路由和分流转发。在分离式承载情况下,PDCP发送实体对PDU进行编号,缓存后的数据包可通过Xx接口转发至5G SgNB,或直接将下行PDCP PDU传送到本地的无线链路控制(Radio Link Control,RLC)层,在此过程中,主基站会实时接收基站的反馈。分流机制使同一承载数据包由2条链路进行传输,极大地提高了网络的传输速率和吞吐量[14]。
图6 双连接下的用户面数据流Fig.6 User plane data flow under dual connection
相较于LTE系统,5G PDCP层负责接入层数据的安全性管理,实现加密、完整性保护和头压缩等功能[15],当UE处于双连接状态,PDCP层可能会关联到多个RLC实体[16],负责控制主基站MeNB和辅基站SgNB之间的数据分流和聚合。
图7为用户平面协议栈PDCP层分流聚合的设计方案。通过合理的分流算法来调度2条链路的资源,能够最大程度地提高链路的利用率,提升系统性能。因此,根据链路的实时状态确定合适的分流比例对PDCP层至关重要。
图7 用户平面PDCP分流聚合方案设计Fig.7 PDCP offloading and aggregation scheme design in the user plane
2 改进型分流算法设计
由于无线信道环境的多样性和实时性,链路参数总是呈动态变化。为消除误差,首先根据待发送的数据流量确定是否选择分流机制,然后根据链路吞吐量、数据包长度等动态控制链路分流比例,估计出链路时延。通过链路时延重新排序需要发送的数据包,这样可以减少接收端数据乱序的情况和系统重排序时间,提高系统性能。改进型分流算法可以分为以下3个模块:
(1) 门限判别模块,基于流量负荷判断是否添加SgNB,启动双连接建立触发机制:统计终端的数据流量以及待调度的数据总量,设置PDCP层数据分流的阈值,将终端的流量或者待调度的数据与阈值相比较,判断是否进行分流;
(2) 数据流量控制模块,对2条链路的网络参数进行滤波,根据时延、系统吞吐量链路以及队列长度的准确估计值判断链路的变化趋势,基于链路传输能力和缓存队列来获得最优的分流比例P;
(3) 时延补偿模块,估计链路时延,对链路进行时延差控制,保证实际分流数据包可以按序接收。
改进型分流算法方案如图8所示。
图8 改进型分流算法方案Fig.8 Improved shunting algorithm scheme
2.1 门限判别
图9为LTE/5G双连接模式3下添加SgNB的流程。当终端接入网络后,MeNB会周期性地接收终端的测量报告,分析满足SgNB添加条件的5G邻区并保存,根据报告结果做出决策,判断是否发起分流承载建立过程启动PDCP分流机制[17]。本文选择基于终端流量进行SgNB添加的方法,来保证双连接的系统性能。
主基站的无线资源控制(Radio Resource Control,RRC)层为PDCP层设置分流数据的阈值,并实时分析统计终端的数据流量或者待调度的数据总量,将阈值与终端待调度数据量进行对比,若超过该分流门限,则主基站根据测量报告选择一个最好的5G邻区添加,发起SgNB的自动添加流程并同时启动数据分流策略,否则就只能通过单链路进行数据传输。因此设置合理的分流数据阈值对双连接的最终性能至关重要。
阈值精度0~6 553 600,具体取值参照无线链路控制层的配置情况[10]。PDCP层的计数定时器开启后,将从虚拟网卡处读取并统计上层待传输数据量。然后将统计的数据总量与分流阈值做比较,若系统待发送的数据总容量小于系统分流阈值,则系统无需进行分流,直接进行单链路传输;否则进行数据流量判断确定分流比例。
图9 分流承载建立过程Fig.9 Flow chart of establishment process of the offloading bearer
2.2 数据流量控制
在实际场景中,网络实时传输能力和链路缓存的业务数据量都是实时变化的,因此实时监控链路状态,结合系统吞吐率和链路缓存长度动态调整PDCP分流比例,能够避免链路数据积压,提高系统的传输能力[18]。
通过利特尔法则(Little’s Law)对稳定队列中每个数据包的等待时间进行计算:
TIME=PDUSIZE/Throughput,
(1)
式中,PDUSIZE为需要传输的PDU数据长度;Throughput链路的吞吐率。在双连接下,可通过式(1)计算得到分离承载的PDCP队列经过主基站链路和辅基站链路共同传输的总时延。
将发送数据分别送入MeNB链路和SgMB链路的缓存区,当缓存数据量增加,说明该链路状态差,需要基于当前2条链路上的系统吞吐量、缓存队列长度以及总数据包长度确定发往链路的数据包大小,以根据2条链路的传输能力分配数据量,2条链路数据分流比例P确定方法如下:
P=PDUSize1/PDUSize2,
(2)
(3)
式中,Length1,Length2为链路1和链路2的缓存队列长度;Throughput1,Throughput2为链路1和链路2的吞吐量;PDUSize1,PDUSize2为链路1和链路2的待分配数据量;M为本次待调度的数据总量。
2.3 链路时延补偿
在单连接情况下,数据包按照PDCP序列号进行按序递交不需要进行重排序,但是在双连接时,发送端在PDCP进行分流操作,由2条传输链路独立传输数据,尽管各RLC按序递交数据包,但是由于各链路具有不同的传输时延,2个RLC收到的数据包可能存在乱序现象。为此,提出对链路进行时延补偿,以减少接收端重排序带来的资源消耗。
MeNB上的传输定义为链路1,其时延为:
t1=PDUSize1/Throughput1,
(4)
式中,PDUSize1为决定经过MeNB进行传输的数据量;Throughput1为MeNB上的平均传输速率。SgNB上的传输定义为链路2,其时延为:
t2=XxLatency+PDUSize2/Throughput2,
(5)
式中,PDUSize2为决定通过SgNB传输的数据量;XxLatency为Xx接口的传输时延;Throughput2为SgNB上的平均传输速率。
数据包开始发送时,默认首个数据包由主基站链路1发送,然后再分配,具体时延补偿策略如下:
(1) 基于内部调度器实时获取链路的平均传输速率和缓存队列长度;
(2) 根据式(4)和式(5)估计出链路时延值,更新Δtd=t2-t1;
(3) 若Δtd≥Δb1,此时Δtd%Δb1=0,链路1发送数据包[1,Δp],链路2发送Δp+1;Δtd%Δb1!=0,链路1发送数据包[1,Δp+1],链路2发送Δp+2;
(4) 若Δtd<Δb1,链路2在进行时延补偿Δb2=2×Δb1-Δtd时间后再发送数据。
其中,td为链路时延差;Δb1为链路1的发包时间间隔;Δb2为链路2发包时间间隔;Δp为链路1,2的发包间隔数。时延补偿的具体流程如表1所示。
表1 时延补偿算法伪代码
通过上述分流时延补偿算法,能够找到2条链路按序或同时到达的数据包的发送顺序,减少重排序造成的时延或者丢包问题,实现快速按序地向上层递交,从而提升系统吞吐量。
3 结果分析
3.1 仿真参数设置
为了验证本算法的有效性,将提出的分流算法与经典分流算法进行比较。通过仿真设置主基站和辅基站链路吞吐率、丢包率和PDU长度,记录合适分流比例算法、OMS算法和本文分流算法的分流情况,对比算法的性能。仿真具体参数设置如表2所示。
表2 仿真参数设置
在仿真过程,每0.05 s记录链路的传播时延并更新时延差。接收端每次在接收到100个连续的数据PDU时,计算一次数据吞吐量,并实时记录当前每个缓冲区数据占用量的情况。
3.2 仿真结果分析
将本文所提的改进分流算法与经典的合适分流比例算法、OMS算法进行比较,得到系统吞吐率和重排丢包率的仿真结果,如图10和图11所示,图10是不同分流算法下系统吞吐量的比较结果,图11是不同分流算法下重排序丢包率的对比情况。
图10 系统吞吐率对比Fig.10 System throughput comparison
由图10可以看出,在系统参数环境相同的情况下,本文改进的分流算法系统的吞吐率高于目前较为流行的合适分流比例算法吞吐率30 Mb/s,较OMS算法系统吞吐率提升40 Mb/s。这是由于改进算法可以实时估计信道参数,可根据系统情况实时调整分流比例,而OMS算法忽略了链路处理能力不同会导致数据分流不合理的问题,导致系统性能下降,合适分流比例算法考虑2条链路的吞吐量作为确定分流比例的依据,但在链路丢包率更高的链路上,存在较多需要重传的数据包,此时合适分流比例算法无法得出正确的分流比例,导致系统性能下降。
图11 系统重排序丢包率对比Fig.11 Comparison of system reordering packet loss rates
由图11可以看出,在系统参数环境相同的情况下,本文改进的分流算法使系统的重排序丢包率低于目前较为流行的合适分流比例算法系统重排序丢包率35%,较OMS算法系统重排序丢包率降低了50%。这是由于改进综合补偿了发送端2路的时延差,尽可能地保证了接收端数据能够按序到达,减少收端重排序操作。
4 结束语
5G PDCP层相较LTE新增分流聚合和重排序功能,然而,现有分流算法仅从发端进行考虑,存在接收端乱序严重,且复杂度较高。针对上述问题,本文通过设置分流阀值,结合链路实际传输能力和缓存队列动态实现流量控制,然后对链路时延进行有效并确定的时延补偿,解决了传统分流算法造成的接收包乱序和系统吞吐率低的问题。仿真结果表明,所提出算法性能较好,与目前较流行的分流算法相比,该算法能有效减少接收端收到的乱序包数量,提高系统有效吞吐率。本文提出的分流算法简单且实用性高,适用于实际工程应用。尽管流量控制以及时延补偿能够减少数据包的乱序接收,但是仍然存在接收乱序的情况,因此接收端PDCP层仍需要支持重排序,如何降低重排序的资源消耗,是下一步研究的重点。