加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

PDCP相关流程-part2(数据)

(2021-03-01 17:08:07)
标签:

杂谈

分类: 5GNR系统概述
传输侧行为



NR PDCP在UE传输侧的操作与LTE很相似,具体如下, 在从GTPU接收到一个PDCP SDU之后,传输侧PDCP实体应当:
  • 开启一个与该PDCP相关联的discard Timer定时器;
  • 将与TX_NEXT(指示下一个将要传输的PDCP SDU的COUNT数值,初始值为0)对应的COUNT数值关联到该PDCP SDU;
  • 对该PDCP SDU执行头压缩;
  • 使用TX_NEXT对该PDCP SDU执行完整性保护和加密;
  • 设置该PDCP数据PDU的PDCP SN = PDCP相关流程-part2(数据)
  • TX_NEXT = TX_NEXT + 1;
  • 将按照以上步骤处理过的该PDCP数据PDU提交到RLC层。

PDCP相关流程-part2(数据)


对于一个PDCP与2个RLC实体相关联的场景,由于PDCP duplication时NR PDCP新增的功能,因此与此相关的操作时LTE PDCP所没有的;而对于split bearer的操作,也是略有不同。请看LTE PDCP相关的描述,这里不再展开讲述:
PDCP相关流程-part2(数据)



接收侧行为



对于NR PDCP而言,当从RLC接收到一个PDCP数据PDU时,接收侧PDCP实体应当按照如下步骤确定接收到的PDCP数据PDU的COUNT值,即RCVD_COUNT:
  • 如果RCVD_COUNT < SN(RX_DELIV) - Window_Size, RCVD_HFN = HFN(RX_DELIV) + 1
  • 否则如果RCVD_SN >= SN(RX_DELIV) + Window_Size,RCVD_HFN = HFN(RX_DELIV) - 1
  • 否则,RCVD_HFN = HFN(RX_DELIV) 
  • RVCD_COUNT = [RCVD_HFN, RCVD_SN]

这里,我们要解释一下上面的计算结果,首先我们看一下以上内容中各种变量是什么意思:

HFN:超帧号,PDCPSN在一个超帧中从0开始依次递增,当达到最大SN之后,PDCN SN重新从0开始依次递增,HFN = HFN + 1

SN: PDCP的序列号,长度为12或者18bit,对应的最大SN分别为4095262143

RX_DELIV:指示了第一个没有递交到GTPU层的PDCP SDUCOUNT数值;

RCVD_SN:当前接收到的PDCP数据PDUPDCN SN,包括PDU header

RCVD_HFN:当前接收的PDCP数据PDUHFN,由接收侧PDCP实体计算得出;

RCVD_COUNT:当前接收到的PDCPshujuPDUCOUNT数值,COUNT = [RCVD_HFN, RCVD_SN]

Window_Size: 重排序窗口的长度,其长度等于一个HFN中最大PDCP SN的一半:PDCP相关流程-part2(数据)


PDCP相关流程-part2(数据)

 

 


为了便于举例证明,我们假设1个HFN最多包含10个PDCP SN, 这样一个Window_Size = 5。下面我们来通过举例解释一下上述内容:
1. 对于RCVD_SN < SN(RX_DELIV) – Window_Size的场景,我们可以知道SN(R_DELIV)位于一个HFN的后半部分,因此我们假设SN(R_DELIV) = 7, RCVD_SN = 1,满足该条件的RCVD_SN有三种可能:
PDCP相关流程-part2(数据)

我们知道,PDCP接收端可以接收的PDCPSN必须位于重排序窗口中,以上例子中满足条件的RCVD_SN只有Case C,此时RCVD_SN所在的HFNRX_DELIV所在的HFN + 1,即RCVD_HFN = HFN(RX_DELIV) + 1。


2. 对于RCVD_SN >= SN(RX_DELIV) + Window_Size的场景,我们可以知道SN(R_DELIV)位于一个HFN的前半部分,因此我们假设SN(R_DELIV) = 2, RCVD_SN = 8,满足该条件的RCVD_SN有三种可能:
PDCP相关流程-part2(数据)

同样PDCP接收端可以接收的PDCPSN必须位于重排序窗口中,因此以上例子中满足条件的RCVD_SN只有Case A,此时RCVD_SN所在的HFNRX_DELIV所在的HFN - 1,即RCVD_HFN = HFN(RX_DELIV) - 1。


3. 对于以上两种场景除外的其他场景,比如SN(R_DELIV) = 2, RCVD_SN = 6,满足该条件的RCVD_SN有以下三种可能:
PDCP相关流程-part2(数据)

PDCP接收端可以接收的PDCPSN必须位于重排序窗口中,因此以上例子中满足条件的RCVD_SN只有Case B,此时RCVD_SN所在的HFN等于为RX_DELIV所在的HFN,即RCVD_HFN = HFN(RX_DELIV)。 

N.B. LTEPDCP存在类似的处理,逻辑流程基本相同,所不同的是在判断流程中使用的变量略有不同,此处不再做详细分析,请大家自行查阅相关资料。


PDCP相关流程-part2(数据)

PDCP相关流程-part2(数据)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有