新浪博客

PDCP相关流程-part2(数据)

2021-03-01 17:08阅读:
传输侧行为
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(数据)

我的更多文章

下载客户端阅读体验更佳

APP专享