pdcp层的作用_NR PDCP层介绍

PDCP层主要功能如下:

· 数据传输(用户平面或控制平面);

· PDCP-SNs的维护;

· 使用ROHC协议的头压缩和解压;

· 加密和解密;

· 完整性保护和完整性验证;

· 基于定时器的SDU丢弃;

· 切割承载,路由;

· 副本;

· 重新排序和有序传递;

· 无序传递;

· 副本丢弃。

两个常用缩写:PDU(Protocol Data Unit) SDU (Service Data Unit)

左面部分的流程(发送):

1. 进入PDCP的数据首先存储在传输缓冲区中,然后经过“Sequence Number”过程。这意味着PDCP将“Sequence Number”添加到每个传入的数据块中。一旦它添加了“Sequence Number”,它就必须管理这个号码。在接收端,我们可以找出很多问题,比如“数据是否按顺序交付?有没有重复的数据?如何将多个数据块组合成原始的大数据块?”

2. 然后进行头压缩。但它说“这只适用于 U-plane数据”。这意味着信令消息不经过此头压缩。对 U-plane数据(例如,IP分组数据)也可以禁用头压缩。

3. 从这里我们看到两条路径,一条通过“Integrity/Ciphering”,另一条直接进入最后一步。完整性保护仅适用于C-Plane数据(C-Plane据是指RRC/NAS消息,即DCCH数据,而不是DTCH数据)。同样,可以通过应用信令消息来禁用“完整性保护”步骤。

4. 然后进入加密过程。加密同时应用C-Plane和U-Plane数据。加密过程也可以通过应用信令消息来禁用,但我们需要等到RRC/NAS规范出来才能了解详细信息。

5. 接下来,添加一个PDCP头。

6. 如果建立了分割承载,PDCP将分组路由到预期承载。

右面部分流程(接收):

与LTE对比

PDCP SDU和PDU支持最大的Size是9000Bytes

从高层接收到PDCP SDU,PDCP实体将PDCP SDU的discardTimer,PDCP SDU的TX-NEXT相关的COUNT值

处理流程

PDCP实体建立

当高层为了无线承载请求PDCP实体建立,UE将执行的动作:

l 为无线承载建立一个PDCP实体

l 给PDCP实体变量设置一个初始值

PDCP实体重建

当高层请求一个PDCP实体重建,正发射的PDCP实体将执行:

l 对UM DRBs和AM DRBs,为上行重置头压缩流程并启动IR状态。

l 对UM DRBs和SRBs,将TX_NEXT设置一个初始值;

l 对SRBs, 丢弃所有的 PDCP SDUs和PDCP PDUs

l 在PDCP实体重建过程中向高层请求加密算法和Key值;

l 在PDCP实体重建过程中向高层请求完整性保护;

l 对UM DRBs, 对每一个已关联PDCP SN 的PDCP SDU,但其对应的PDU先前没有被提交到底层;

l 对挂起的AM DRBs, 对于已经与PDCP SN相关联的每个PDCP SDU,从第一PDCP SDU开始,其对应的PDCP数据PDU的成功传送尚未被较低层确认。

l 对于未挂起的AM DRBs,从第一个PDCP SDU开始,其对应的PDCP数据PDU的成功传送尚未被下层确认,在如下所述的PDCP实体重新建立之前,按照与PDCP SDU相关联的计数值的升序,重新传输或传输已经与PDCP SNs相关联的所有PDCP SDU。

当高层请求一个PDCP实体重建,正接收的PDCP实体将执行:

l 处理由于下层重建立而从下层接收的PDCP数据PDU;

l 对于SRB,丢弃所有存储的PDCP sdu和PDCP PDU;

l 对于SRB和UM DRB,如果t-Reordering正在运行:

· 停止并重置t-Reordering;

· 对于UM DRB,在执行头解压缩之后,将所有存储的PDCP SDU按相关计数值的升序传送到上层;

l 对于AM DRB,如果没有配置DRB ContinueROHC,则对所有存储的PDCP SDU执行头解压缩;

l 对于UM DRB和AM DRB,如果中未配置DRB ContinueROHC,则重置下行的报头压缩协议;

l 对于UM DRB和SRB,将RX_NEXT和RX_delive设置为初始值;

l 在PDCP实体重建过程中应用上层提供的加密算法和密钥;

l 在PDCP实体重建过程中,应用上层提供的完整性保护算法和密钥。

接收操作

接收操作层面定义了一些新的概念,如下:

- HFN(State Variable): the HFN part (i.e. the number of most significant bits equal to HFN length) of the State Variable;

- SN(State Variable): the SN part (i.e. the number of least significant bits equal to PDCP SN length) of the State Variable;

- RCVD_SN: the PDCP SN of the received PDCP Data PDU, included in the PDU header;

- RCVD_HFN: the HFN of the received PDCP Data PDU, calculated by the receiving PDCP entity;

- RCVD_COUNT: the COUNT of the received PDCP Data PDU = [RCVD_HFN, RCVD_SN].

在从低层接收PDCP data PDU时,接收PDCP实体应确定接收的PDCP data PDU的count值,即RCVD_COUNT,如下所示

if RCVD_SN < SN(RX_DELIV) – Window_Size:

RCVD_HFN = HFN(RX_DELIV) + 1.

else if RCVD_SN >= SN(RX_DELIV) + Window_Size:

RCVD_HFN = HFN(RX_DELIV) – 1.

else:

RCVD_HFN = HFN(RX_DELIV);

RCVD_COUNT = [RCVD_HFN, RCVD_SN]

接收到PDCP Data PDU = RCVD_COUNT的COUNT值之后,接收的PDCP实体将:

用COUNT = RCVD_COUNT执行PDCP数据PDU的解密和完整性验证,

如果完整性验证失败;

指示高层完整性验证失败

discard the PDCP Data PDU

如果RCVD_COUNT < RX_DELIV 或者

如果COUNT = RCVD_COUNT的PDCP Data PDU接收之前

discard the PDCP Data PDU

如果收到COUNT value = RCVD_COUNT的PDCP Data PDU, 正接收 PDCP entity 将:

在接收Buffer中存储PDCP SDU结果;

如果RCVD_COUNT >= RX_NEXT:

RX_NEXT = RCVD_COUNT + 1.

如果配置了outOfOrderDelivery:

发送PDCP SDU结果给高层

如果 RCVD_COUNT = RX_DELIV:

如果在执行头解压缩之前没有解压缩,则在执行头解压缩之后按关联计数值的升序传递到上层;

所有存储的连续相关COUNT 值得PDCP SDU,其计数值从COUNT=RX_delive开始

更新RX_DELIV 到COUNT第一个PDCP SDU值(未发送给高层) COUNT value > RX_DELIV;

if t-Reordering 仍在运行, 并且RX_DELIV >= RX_REORD:

stop and reset t-Reordering.

if t-Reordering不在运行(includes the case when t-Reordering is stopped due to actions above), 并且 RX_DELIV < RX_NEXT:

update RX_REORD to RX_NEXT;

start t-Reordering.

头压缩

报头压缩协议基于RFC 5795中定义的健壮报头压缩(ROHC)框架。有多种头压缩算法,称为profiles,为ROHC框架定义。每个配置文件都特定于特定的网络层、传输层或上层协议组合,例如TCP/IP和RTP/UDP/IP。

ROHC通道的详细定义是在RFC 5795中定义的ROHC框架的一部分。这包括如何在ROHC信道上复用不同的流(头是否压缩),以及如何在初始化该流的压缩算法期间将特定IP流与特定上下文状态相关联。

不包括ROHC框架功能和支持的头压缩配置文件功能的实现。

描述了对以下配置文件的支持:

如果配置了头压缩,头压缩协议将生成两种类型的输出数据包:

压缩包,每个与一个PDCP SDU相关联;

与PDCP SDU无关的独立数据包,即散布的ROHC反馈。

压缩包与相关PDCP SDU具有相同的PDCP SN和计数值。如果PDCP SDU中包含SDAP报头和SDAP控制PDU,则报头压缩不适用于SDAP报头和SDAP控制PDU。

散布的ROHC反馈与PDCP SDU无关。它们与PDCP SN没有关联,也没有加密。

注意:如果已为压缩流建立ROHC上下文的最大CID数,并且新的IP流与任何已建立的ROHC上下文不匹配,则压缩器应将新的IP流与为现有压缩流分配的ROHC CID之一相关联,或将属于IP流的PDCP sdu作为未压缩包发送。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值