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作为未压缩包发送。

pdcp层的作用_NR PDCP层介绍相关推荐

  1. 4-1:TCP协议之传输层的作用及传输层协议TCP和UDP

    文章目录 一:传输层的定义 二:通信处理 三:传输层协议 四:TCP协议的可靠和性能 一:传输层的定义 前面说过,IP首部有一个协议字段用于标识网络层(IP)的上一层采用哪一种传输层协议.根据这个字段 ...

  2. SSM框架中MVC各层的作用以及运行流程

    这篇博文主要介绍的是SSM(Spring.SpringMVC.Mybatis)框架中,MVC各层的作用以及各层之间的交互和框架整体运行流程. 一.MVC各层级间的作用及关系 表现层(springMVC ...

  3. PADS中Layer25层的作用(Z)

    Layer25层的作用: Layer25层是插装的器件才有的,只是在出负片的时候才有用,一般只有当电源层定义为CAM Plane的时候geber文件才会出负片(split/Mixe也是出的正片),如果 ...

  4. 最细! 卷积神经网络的历史和 各层的作用

    目录 一 历史发展 二 卷积层 2.1 卷积层的作用 2.1.1提取图像的特征 2.1.2  局部感知,参数共享 2.1.3 二维卷积运算 2.1.4 特征图和感受野 2.1.5 卷积中的填充和步幅 ...

  5. 卷积神经网络中卷积层、池化层、全连接层的作用

    1. 卷积层的作用 卷积层的作用是提取输入图片中的信息,这些信息被称为图像特征,这些特征是由图像中的每个像素通过组合或者独立的方式所体现,比如图片的纹理特征,颜色特征. 比如下面这张图片,蓝色框框住的 ...

  6. pdcp层的作用_pdcp层的主要功能

    PDCP 层接收上行数 据/发送下行数据的业务总时长指标导致无法统计 QCI1 业务上/下行平均吞吐率,QCI1 业务上行平均吞 吐率的定义为:QCI 为 1 时 PDCP 层所...... PDCP ...

  7. pdcp层的作用_【LTE基础知识】PDCP子层协议概述

    PDCP层功能 LTE系统PDCP协议层的主要目的是发送或接收对等PDCP实体的分组数据.该子层主要完成以下几方面的功能:IP包头压缩与解压缩.数据与信令的加密,以及信令的完整性保护.下图给出了PDC ...

  8. 神经网络学习笔记(一):全连接层的作用是什么?

    以下是我看过最好的全连接层的解释! 原文链接:卷积神经网络(CNN)入门讲解关注专栏 以上图为例,我们仔细看上图全连接层的结构,全连接层中的每一层是由许多神经元组成的(1 × 4096)的平铺结构,上 ...

  9. Linux 网卡驱动学习(六)(应用层、tcp 层、ip 层、设备层和驱动层作用解析)

    本文将介绍网络连接建立的过程.收发包流程,以及其中应用层.tcp层.ip层.设备层和驱动层各层发挥的作用. 1.应用层 对于使用socket进行网络连接的服务器端程序,我们会先调用socket函数创建 ...

最新文章

  1. linux下的重要服务dns
  2. 神经网络中的权重初始化常用方法
  3. 提升 DevOps 效率,试试 ChatOps 吧!
  4. boost::mpl模块实现print相关的测试程序
  5. LeetCode 71. 简化路径(栈)
  6. 内部类详解————局部内部类
  7. composer 安装包时与php版本不符 提示报错
  8. AIX LV删除后,ORACLE数据库文件全部恢复成功
  9. Clojure 1.8提升了性能和开发体验
  10. (PPT)Linux服务器基础
  11. 关于航模的几点总结积累
  12. vb导出mysql字段名_VB获取数据库字段名
  13. Android长图文截图的实现(支持截取微博,知乎,头条等第三方app)
  14. Ubuntu 的ADSL设置(转)
  15. css黄金色渐变值,ps金色(ps金色渐变数值)
  16. springboot推送微信公众号消息,java推送微信公众号消息
  17. C语言4位BCD码加法器,四位二进制8421BCD码加法器.doc
  18. 上海海洋大学计算机专硕调剂,2019年上海海洋大学硕士研究生调剂政策和规则...
  19. [算法竞赛入门]第一章_算法概述
  20. 【Ubuntu】Ubuntu如何实现中文输入?

热门文章

  1. 《30岁前的每一天》读书笔记
  2. 解决 Successfully created project '' on GitHub, but initial push failed: Could not read from remote
  3. SAP第四代增强 BTE
  4. 100天精通Andriod逆向——第6天:Andriod 开发入门
  5. 170716 网线接口顺序
  6. azure不支持哪些语句 sql_SQL Azure vs SQL Server
  7. 计算机语言的发明者,Lisp语言发明者、“人工智能之父” John McCarthy与世长辞
  8. linux无法安装at命令,在Ubuntu/Debian/CentOS/Fedora下安装At及各种At命令的用法
  9. 安卓手机管理软件_留言帮忙找:手机清理软件合集 Android
  10. 阿里云云服务器 ECS SSHKEY登录