协议定义:DAPS(DualActive Protocol Stack)切换可定义为在接收到RRC消息(切换命令)进行切换后,保持源gNB连接,直到成功随机接入目标gNB后释放源小区的切换过程。

DAPS切换特性:

•UE在接收到HO请求后继续在源小区发送/接收;

•UE同时从源小区和目标小区接收用户数据;

•完成RACH程序后,UE可以向目标小区进行上行用户数据传输;

•DAPS通过在建立目标小区无线链路的同时保持源小区无线链路(包括数据流),减少了切换过程中接近0毫秒的中断;

•可通过接口Xn和N2进行DAPS切换;

•DAPS切换可用于RLC-AM或RLC-UM承载;

我们为什么需要DAPS切换呢?

在传统的4G LTE网络和5G NR直到R15,UE通常在与目标小区建立连接之前从源小区释放连接(硬切换)。因此,上下行传输在UE开始与目标小区通信之前在源小区完成,从而导致UE和基站之间的通信中断几十毫秒。这种中断对于使用5G的URLCC用例/应用程序非常致命。因此协议提出了一种解决方案来解决这个问题,作为R16的一部分,称为双活动协议栈(DAPS),其中UE与源小区连接以保持对用户数据的收发,直到它能够在目标小区中发送和接收用户数据。这对UE端提出了新的要求,即在切换过程中,短时间内同时在源小区和目标小区收发数据。类似于软切换。

如上图所示,为了支持DAHO,UE必须保持双栈处于活动状态。一个用于目标小区的用户平面协议栈,包含PHY、MAC和RLC层,同时保持层2用户平面协议栈处于活动状态,以便在源小区中传输和接收用户数据。

UE同时从源小区和目标小区接收用户数据,PDCP层被重新配置为源和目标用户平面协议栈的一个公共PDCP实体。为了确保用户数据的顺序传送,在整个切换过程中都保持PDCP序列号(SN)的连续性。因此,在单个PDCP实体中提供了一个通用的(用于源和目标)重新排序和复制功能。根据下行链路/上行链路数据包的来源/目的地,需要在公共PDCP实体中分别处理加密/解密和报头压缩/解压缩。

DAPS切换流程:

DAPS切换流程如下图所示。在Xn和N2接口上都可以进行DAPS切换。这里我们考虑了基于Xn接口的HO。

  1. 源gNB配置UE测量程序,UE根据策略配置然后上报Measurement Report。源gNB根据测量报告和RRM信息决定UE切换
  2. 源gNB向目标gNB发出一条HandoverRequest 消息,传递一个透明的RRC容器,其中包含在目标侧准备切换所需的信息。
  3. 目标gNB准备切换并向源gNB发送HANDOVERREQUEST ACKNOWLEDGE,源gNB包括一个透明容器,作为RRC消息发送到UE以执行切换。目标gNB还指示是否接受DAPS切换
  4. 源gNB通过向UE发送RRCReconfiguration消息来触发Uu口切换
  5. 对于配置有DAP的DRB,源gNB发送EARLY STATUS TRANSFER
  6. UE与目标小区同步,通过向目标gNB发送RRC Reconfiguration Complete消息来完成RRC切换过程
  7. 目标gNB向源gNB发送HANDOVERSUCCESS消息,通知UE已成功访问目标小区
  8. 源gNB根据EARLY STATUS TRANSFER,向配置有DAPS的DRB发送SN STATUSTRANSFER消息

DAPS 切换的承载处理

DAPS切换可用于RLC-AM或RLC-UM承载。对于配置了DAPS的DRB,还应用了以下原则。

下行:

  • 在HO准备期间,始终建立一个转发通道;
  • 源gNB负责分配下行链路PDCP SN,直到SN分配被切换到目标gNB和数据转发。也就是说,源gNB在接收到HANDOVER SUCCESS 消息并将 SN STATUS TRANSFER消息发送到目标gNB之前,不会停止向下行链路分组数据分配PDCP SN;
  • 当源gNB分配下行链路PDCP sn时,它开始调度源无线链路上的下行链路数据,并开始将下行链路PDCP sdu连同分配的PDCP sn一起转发到目标gNB;
  • 对于安全同步,对于转发的下行链路sdu,使用源gNB分配的PDCP SN维护HFN。源gNB发送EARLYSTATUS TRANSFER消息来传送DL COUNT值,指示源gNB转发给目标gNB的第一个PDCPSDU的PDCP SN和HFN
  • 在序列号分配切换给目标gNB后,一直维护HFN和PDCP序列号。SN STATUS TRANSFER消息指示要分配给尚未具有PDCP序列号的分组数据的下一个DL PDCP SN,即使对于RLC-UM也是如此;
  • 在切换执行期间,源GNB和目标GNB分别执行ROHC头压缩、加密和添加PDCP头;
  • 在切换执行期间,UE继续接收来自源gNB和目标gNB的下行链路数据,直到通过来自目标gNB的显式释放命令来释放源gNB连接
  • 在切换执行期间,UE-DAPS-PDCP维护与每个gNB相关联的单独的安全性和ROHC报头解压缩,同时保持通用的重排序功能、重复检测、丢弃功能以及PDCP sdu按顺序传送到上层。配置了daps的RLC-AM和UM-drb都支持PDCP-SN连续性。

上行:

  • UE向源gNB发送UL数据,直到成功完成对目标gNB的随机访问过程。然后UE将其UL数据传输切换到目标gNB。
  • 即使在交换其UL数据传输之后,UE继续向源gNB发送UL L1 CSI反馈、HARQ反馈、L2RLC反馈、ROHC反馈、HARQ数据重传和RLC数据重传。
  • 在切换执行期间,UE维护单独的安全上下文和ROHC头压缩上下文,用于向源和目标gNB的上行链路传输。UE维护公共ULPDCP SN分配。配置了daps的RLC-AM和UM-drb都支持PDCP-SN连续性。
  • 在切换执行期间,源gNB和目标gNB维护自己的安全性和ROHC头解压缩上下文来处理从UE接收的UL数据。
  • 建立转发通道是可选的。
  • HFN和PDCP SN保留在目标gNB中。SN STATUS TRANSFER 消息指示目标应开始向5GC发送的第一个丢失的UL COUNT ,即使对于RLC-UM也是如此。

当接收到DAPS切换命令消息时,UE暂停源小区srb,停止向源小区发送和接收任何RRC控制平面信令,并为目标小区建立srb。在DAPS切换执行成功后,UE在接收到来自目标小区的源小区释放指示时,释放源小区SRB配置。当DAPS切换到目标小区失败并且如果源小区链路可用,则UE恢复到源小区配置并激活源小区srb以进行控制平面信令。

开源协议栈 rlc rrc_NR 双激活协议栈(DAPS)切换相关推荐

  1. DAPS~5G NR双激活协议栈

    目录 DAPS的切换特性: 为什么需要DAPS切换? DAPS切换呼叫流程: DAPS切换中承载处理(38.300): 下行链路: 上行链路: 3GPP在TS38.300 R16(Stage2)中定义 ...

  2. 5G NR双激活协议栈(DAPS)~导入

    名词解释 3GPP在TS38.300 R16(Stage2)中定义了支持"双激活协议栈(DAPS-Dual Active Protocol Stack)"切换. 在双激活协议栈切换 ...

  3. ubuntu20.0.4切换清华源_NR 双激活协议栈(DAPS)切换

    协议定义: DAPS(Dual Active Protocol Stack)切换可定义为在接收到RRC消息(切换命令)进行切换后,保持源gNB连接,直到成功随机接入目标gNB后释放源小区的切换过程. ...

  4. R16 5G NR双活动协议栈(DAPS)

    3GPP在TS38.300 R16(Stage2)中定义了支持"双活协议栈(DAPS-Dual Active Protocol Stack)"切换:在双活协议栈切换中终端在接收到含 ...

  5. Linux用户态协议栈好处,关于用户态协议栈的思考

    一直以来我一直以为操作系统内核是高大上的东西,但是实际上用户态的应用才是! 上周的一次技术交流中,一家网络加速卡厂商声称他们的协议栈是用户态的协议栈,用来提高性能,我对其产品直接就泄了气,然而会后,我 ...

  6. 网络分层 之 五层因特网协议栈和七层因特网协议栈

    网络层次可划分为五层因特网协议栈和七层因特网协议栈. [1] 五层 因特网协议栈共有五层:应用层.传输层.网络层.链路层和物理层.不同于OSI七层模型这也是实际使用中使用的分层方式. (1)应用层 支 ...

  7. Python量化交易实战-38使用开源项目回测双均线策略

    B站配套视频教程观看 使用PyAlgoTrade回测双均线策略 双均线策略:长短周期均线,通过金叉,死叉的方式买入卖出股票,获取收益的策略. 回顾上节课代码的部分,上节课完成了可视化代码的部分, 主要 ...

  8. Delphi 使用双缓冲解决图片切换时的闪烁问题 good

    Delphi 使用双缓冲解决图片切换时的闪烁问题 good 参考文章: (1)Delphi 使用双缓冲解决图片切换时的闪烁问题 good (2)https://www.cnblogs.com/find ...

  9. ventura 双系统win之间切换蓝牙设备自动连接教程

    ventura 双系统win之间切换蓝牙设备自动连接教程      见论坛有小伙伴在咨询ventura跟win双系统切换蓝牙鼠标无法自动连接上的问题,现在说说具体怎么设置才能实现双系统互换自动连接的教 ...

最新文章

  1. java程序设计输入输出实验_20145320《Java程序设计》第五次实验报告
  2. mybatis 需要注意的点 MyBatis 插入空值时,需要指定JdbcType (201
  3. oracle11g导出表时会发现少表,空表导不出解决方案。
  4. web前端网页设计作业_网页前端设计快速入门技巧
  5. 解决jquery的scrollTop()置顶的浏览器兼容
  6. 【javascript权威指南】类型转换
  7. linux以预置密码进行验证拒绝访问,Linux重置MySQL密码
  8. 构造函数必须是public吗_谈谈 constructor 的private和public
  9. Reboot运维开发Python-03
  10. 【通信】基于matlab量子密钥分发密钥率仿真【含Matlab源码 1662期】
  11. 2014年物联网Internet of Things应用简介
  12. SpringBoot实现微信授权登录、二维码登录
  13. JT/T 808-2013 道路运输车辆卫星定位系统北斗兼容车载终端通讯协议技术规范
  14. 50个最新TypeScript面试题合集 – TypeScript开发教程
  15. PPT制作毛玻璃效果
  16. 第二章 Caché JSON 创建和修改动态实体
  17. 台式机外接显示器后没有声音
  18. 企业微信推送消息延迟_微信接收消息总是延迟?没有提醒,这3个功能赶紧设置一下...
  19. 数字孪生核电站促进界面监测的应用实践
  20. Excel2010分成两个或者多个独立窗口

热门文章

  1. 论文笔记:Dual-Level Collaborative Transformer for Image Captioning
  2. 转载的一些计算机面试的东西
  3. padstack editor制作表贴焊盘
  4. Python将DOCX转换为markdown文件
  5. Android中测量控件的宽和高
  6. 盛迈坤电商:店铺标题的优化方法
  7. 【OpenCV】Python的Opencv环境配置(可自选对应版本)
  8. 电子科技大学---操作系统课程实验(一)
  9. 各厂商放疗设备的参数对照表及说明
  10. vue:分页页码组件