第4章 分组数据汇聚协议子层

PDCP是一个薄的子层,用于控制平面和数据平面[23]。其主要功能是为控制和数据平面PDU提供完整性和安全保护。特别是,PDCP提供以下功能:

为发送的PDCP SDU分配序列号并处理接收到的PDCP SDU的序列号。

使用RoHC协议的报头压缩和解压缩用于上层分组(例如,IP层)。

控制和数据平面PDU的加密和解密。

仅适用于控制平面PDU的完整性保护和验证。

在转发到上层之前重新排序,按顺序传送和重复检测接收到的SDU。

4.1 PDCP(分组数据汇聚协议)架构

PDCP架构如图4.1所示,用于控制和数据RB。信令无线电承载SRB0和SRB1bis用于RRC PDU并且不通过PDCP子层。也就是说,在RRC和RLC子层之间交换SRB0和SRB1bis上的RRC PDU的所有传输和接收,而无需PDCP的干预。另一方面,信令无线承载SRB1通过PDCP。因此,可以对通过SRB1承载的任何RRC PDU进行加密或完整性保护。数据无线电承载,例如DRB0或DRB1,也通过PDCP子层并且可以进行加密。

图4.1:UE的PDCP架构。

通过PDCP的每个无线承载具有其自己的PDCP实体,其被映射到RLC AM或UM。映射到RLC AM的PDCP实体用于单播流量。映射到RLC UM的PDCP实体仅用于在SC-MCCH或SC-MTCH上接收多播流量,而不用于单播流量。每个PDCP实体意味着每个PDCP实体具有其自己的状态,状态变量和独立于其他实体的操作。

仅支持控制平面CIoT EPS优化的UE,如[20]中所述,其旁路的PDCP子层。对于支持控制平面CIoT EPS优化和数据平面CIoT EPS优化的NB-IoT UE,如[20]中所述,PDCP也被旁路(即,未使用),直到AS安全性被激活。

4.2 RRC配置参数

RRC向PDCP子层发信号通知配置参数,以配置完整性和加密算法,包头压缩算法或DRB,如表4.1所示。如第3.7.7节所述,在RRC连接建立过程期间,RRC从eNodeB接收PDCP配置参数。从上层(例如,TCP / IP)接收并由PDCP子层接收的数据平面分组被映射到由drb-Identity指示的DRB ID之一。如第3.7.8节所述,在RRC安全激活过程期间向PDCP发信号通知完整性和安全性算法。

表4.1 PDCP子层的RRC配置参数

参数

大小 (Bits)

含义

esp-BearerIdentity

4

表示EPS承载ID,如第8章所述

drb-Identity

5

表示用于建立的每个DRB的DRB ID

cipheringAlgorithm

4

密码算法用于加密信令和数据RB,如表3.16所示

integrity- ProtAlgorithmfor

4

用于保护信令RB的完整性算法如表3.17所示

discardTimer

4

丢弃定时器,单位为毫秒。 可能的值为{ms5120,ms10240,ms20480,ms40960,ms81920,infinity}

headerCompression

10

如果出现,则表示与PDCP实体一起使用的包头压缩(RoHC)配置文件。 可能的值如表4.3所示

SRB1使用完整性和安全性参数,但不使用其他参数。由于SRB0和SRB1bis不通过PDCP子层,因此它们不具有PDCP配置。

4.3 PDCP实体

图4.2:控制平面的PDCP实体(信令RB)。

图4.2和4.3分别说明了用于控制平面或数据平面的PDCP实体的结构。在图4.2中,首先为控制平面PDU或信令SRB PDU分配序列号(SN),完整性保护和加密,并且在将PDCP报头发送到RLC子层之前添加PDCP报头。

在图4.3中,数据平面PDU或数据DRB PDU不是完整性保护的,而是在为其分配SN之后对其进行加密;添加PDCP报头并将其传输到较低的子层。

PDCP PDU由标头和SDU组成。两者都是字节的倍数。 PDCP PDU由PDCP SDU和PDCP报头组成,如图4.4所示。 PDCP PDU的最大大小为1600个八位字节。 PDCP PDU可以是数据类型或控制数据类型。第一个意味着PDCP SDU携带信令或数据PDU(即控制平面或数据平面PDU),而后者意味着它携带控制信息,例如散布的RoHC反馈分组。

图4.3:数据平面的PDCP实体(数据RB)。

图4.4:PDCP SDU和PDU。

图4.5:用于信令PDU的PDCP PDU格式(5比特SN)。

图4.6:数据PDU的PDCP PDU格式(7位SN)。

图4.7:散布的RoHC反馈控制SDU的PDCP PDU格式。

图4.5显示了携带信令PDU的PDCP数据PDU格式。数据PDU使用5比特的序列号长度并携带映射到SRB的信令PDU。 MAC-I字段是由完整性算法计算并附加到PDCP SDU的消息认证码。

图4.6显示了携带数据PDU的PDCP数据PDU格式。 它使用7位的序列号长度并携带映射到DRB的数据PDU。 \ D / C“字段指示PDCP数据SDU是否包含数据或控制PDU。图4.7显示了包含控制PDU的PDCP控制PDU。表4.2总结了PDCP PDU报头字段。

表4.2 PDCP PDU字段

字段

含义

D/C

如果为1,表示数据PDU; 如果为0,表示控制PDU

SN

表示序列号。 SRB为5位,DRB为7位

Type R

如果为001,表示散布的RoHC反馈包保留

4.4加密和解密

加密和解密是指加密或解密PDCP PDU的过程。当接收RRC SecurityModeCommand PDU时,RRC子层激活加密。用于加密和解密的参数包括以下[24]:

KEY:KRRCencand KUP enc两个密钥都由RRC驱动,分别用于加密信令或数据平面PDU。密钥长128位。

BEARER:5位承载ID。

COUNT:32值,是HFN和PDCP PDU SN的串联。

方向:0表示上行链路,1表示下行链路。

加密仅应用于包括数据PDU(控制平面或数据平面PDU)的PDCP SDU,并且不适用于PDCP控制SDU。加密也应用于MAC-I字段,其携带完整性算法的消息认证码。

图4.8显示了与输入参数一起使用的EPS加密算法(EEA):KEY,BEARER,COUNT和DIRECTION。

Length输入参数是所需密钥流块的长度,通常设置为等于PDCP SDU的长度。一旦PDCP SDU被加密,它就通过空中传输并在另一侧使用相同的输入参数进行解密。

图4.8:加密和解密框图。

4.5完整性保护和验证

完整性是指向PDCP PDU添加散列值以验证其完整性并检测对PDU的任何篡改的过程。由于SecurityModeCommand过程,RRC子层激活完整性。用于完整性保护和验证的参数包括以下[24]:

KEY:密钥,KRRCint,由RRC驱动并用于完整性保护信令PDU。密钥长128位。

BEARER:5位承载ID。

COUNT:32值,是HFN和PDCP PDU SN的串联。

方向:0表示上行链路,1表示下行链路。

在加密之前,完整性保护仅应用于控制平面PDU的PDCP报头和有效载荷(PDCP SDU)。图4.9说明了验证信令PDU完整性的EPS完整性算法(EIA)。

发送器计算32位消息认证码(MAC-I)。发送时,MAC-I被附加到PDCP SDU。在接收方,接收方计算接收到的PDCP PDU的预期消息认证码(XMAC-I),与发送方计算的方式相同。如果MAC-I和XMAC-I匹配,则PDCP PDU通过完整性验证;否则,PDCP PDU未通过完整性验证。

图4.9:完整性框图。

4.6标题压缩和解压缩

每个PDCP实体根据RoHC框架支持报头压缩和解压缩。根据网络层使用的协议,有不同的压缩算法或配置文件。表4.3总结了UE支持的所有报头压缩和解压缩配置文件。报头压缩仅适用于数据无线电承载,但不适用于信令无线电承载。

RRC子层配置PDCP和每个PDCP实体,其中配置文件ID将用于其头压缩算法。

标头压缩或解压缩仅适用于数据平面PDU。也就是说,在加密之前,映射到单个PDCP PDU的网络层分组(例如,TCP / IP)被压缩。

压缩算法还可以生成另一个称为散布的RoHC反馈包的SDU,用于压缩算法的操作。反馈数据包封装在没有SN的PDCP PDU中,如图4.7所示。该PDCP PDU未加密。上

在接收方,该PDCP PDU既不被解密也不被解压缩。 PDCP头字段如表4.2所示。对于上行链路和下行链路,UE可以使用表4.3中定义的报头压缩算法。

表4.3头部压缩和解压缩算法

配置文件ID

传输/网络层协议

参考

0x0000

没有压缩

RFC 5795

0x0002

UDP/IP

RFC 3095, RFC 4815

0x0003

ESP/IP

RFC 3095, RFC 4815

0x0004

IP

RFC 3843, RFC 4815

0x0006

TCP/IP

RFC 6846

0x0102

UDP/IP

RFC 5225

0x0103

ESP/IP

RFC 5225

0x0104

IP

RFC 5225

4.7 PDCP传输

4.7.1上行链路上的数据和信令无线承载传输

PDCP子层从上层(即,PDCP SDU)接收分组,为其分配SN,对这些分组进行完整性和密码保护并将它们转发到RLC子层。

对于将PDCP PDU发送到RLC的PDCP实体,它为每个PDCP PDU维护丢弃定时器。此外,存在状态变量Next PDCP TX SN,其初始设置为零。在将数据PDU发送到下层时,启动与PDU相关联的丢弃定时器,并且PDCP将输出PDCP PDU的SN设置为下一个PDCP TX SN,执行报头压缩(仅用于DRB),完整性保护(仅用于SRB),加密,并递增Next PDCP TX SN。如图4.10所示。 SN为7比特(对于DRB)和5比特(对于SRB),并且如果Next PDCP TX SN超过127(对于DRB)或32(对于SRB),则计数器设置为零并且TX HFN递增1。表4.4总结了用于PDCP实体的状态变量。

图4.10:上行链路上的PDCP PDU传输。

图4.11:SRB的COUNT(SN为5位)。

图4.12:DRB的COUNT(SN为7位)。

当PDCP PDU被发送到RLC时,启动定时器discardTimer,使得如果没有从RLC子层接收到ACK或NACK(作为从eNodeB接收它的结果),则丢弃PDCP PDU并且不再次重发RLC。如果PDCP实体接收到针对所发送的PDCP PDU的ACK,则停止该定时器。

COUNT是32位状态变量,由SN和超帧号(HFN)的串联组成。 COUNT用作完整性和加密算法期间的参数。信令和数据无线承载的SN比特数不同(图4.11)。 SN是5比特用于信令,而7比特用于数据。 HFN的比特大小为27位(如果SN为5位)或25位(如果SN为7位)(图4.12)。

表4.4在上行链路上传输数据时由PDCP实体维护的状态变量

状态变量

初始值

含义

Next PDCP_ TX SN

0

表示要分配给要为给定PDCP实体传输的下一个PDCP PDU的SN

TX HFN

0

指示用于生成给定PDCP实体的COUNT值的HFN

4.8 PDCP接收

4.8.1下行链路RLC AM上的数据无线承载接收

每个PDCP实体维护一个重新排序窗口,该窗口始终是SN空间的一半。 此重新排序窗口的目的是接收位于窗口内的PDCP PDU,然后根据COUNT值对它们重新排序,并按顺序将它们传递给上层。 当接收到落在窗口外的PDCP PDU时,它被丢弃。 表4.5显示了PDCP实体使用的状态变量。

图4.13解释了窗口和状态变量重新排序的概念。 PDCP SN环绕并且如果接收到的PDCP SN落入窗口内,则将进一步处理; 否则,它被丢弃。 如果不丢弃PDCP,则根据图4.14更新RX HFN和状态变量。

表4.5映射到RLC AM的DRB的PDCP实体的状态变量

状态变量

初始值

含义

Last Submitted_PDCP_RX _SN

127

PDCP PDU的SN最后提交给给定PDCP实体的上层(IP层)

Next_PDCP_RX _SN

0

要为给定PDCP实体接收的下一个预期PDCP PDU的SN

PDCP_SN

0

为给定PDCP实体接收的PDCP PDU的SN

RX_HFN

0

HFN用于为给定的PDCP实体生成所接收的PDCP PDU的COUNT值

图4.13:重新排序窗口和PDCP实体(7位SN)状态变量。

图4.14:下行链路RLC AM上的数据接收。

图4.14示出了在下行链路上接收PDCP PDU的流程图,其中SN空间由7个比特(从0到127的SN)和SN的重新排序窗口的一半(63)组成。如果接收的PDCP PDU的SN在重排序窗口之外,则丢弃PDCP PDU。在丢弃PDCP PDU之前,仍然对其进行解密和解压缩以保持密码和解压缩算法的状态。确定RX HFN并将其与所接收的PDCP PDU相关联,以确定用于解密和完整性验证的COUNT值。

4.8.2下行链路RLC UM上的数据无线承载接收

与RLC UM一起使用的DRB分别用于在SC-MTCH或SC-MCCH上接收多播数据和信令PDU。这是因为RLC UM仅支持SC-MCCH和SC-MTCH。映射到RLC UM的PDCP实体不使用重新排序窗口。如果接收到这样的业务,则将所接收的PDCP的SN与状态变量Next PDCP RX SN进行比较。对流量进行解密并对报头进行解压缩(如果DRB由RRC配置用于报头压缩)并最终转发到上层。图4.15显示了在下行链路RLC UM上接收PDCP PDU的流程图。

4.8.3下行链路上的信令无线电承载接收

下行链路上的信令PDU接收如图4.16所示,没有重新排序窗口。如果接收到PDCP PDU,则对其进行解密并验证其完整性。根据其SN是大于还是小于接下来要接收的PDCP PDU的预期SN来选择HFN。 COUNT根据HFN和接收的SN计算。可以运行完整性和加密算法来解密和验证所接收的PDCP PDU的完整性。

图4.15:下行链路RLC UM上的数据接收。

图4.16:下行链路上的信令接收。

5G LTE窄带物联网(NB-IoT)7相关推荐

  1. 5G LTE窄带物联网(NB-IoT) 4

    第1章  物联网 1.1简介 在过去的几十年中,无线通信系统和设备已经出现并发展图1.1显示了从1G技术到今天的4G系统的无线技术和网络的演变在20世纪80年代,无线网络始于以语音为中心的通信系统,例 ...

  2. 5G LTE窄带物联网(NB-IoT) 5

    第2章  4G和5G系统 2.1 LTE历史 4G蜂窝技术,即E-UTRA或LTETM [2],已于2008年在3GPPTM第8版中被引入,作为超出IMT-2000要求的宽带蜂窝技术[1]. 4G具有 ...

  3. 5G LTE窄带物联网(NB-IoT) 1

    前言    9 致谢    10 作者    10 第1章  物联网    15 1.1简介    15 1.1.1本书概要    16 1.1.2如何阅读本书    17 第2章  4G和5G系统  ...

  4. 5G LTE窄带物联网(NB-IoT) 6

    第3章 无线电资源控制子层 3.1无线电资源控制子层能力 LTETM NB-IoT UE包含比其他类型的UE(例如,传统LTE UE,中继节点,侧链UE或高功率UE)少得多的特征.这是为了使UE复杂度 ...

  5. 5G LTE窄带物联网(NB-IoT) 3

    缩略语表 1G第一代移动通信  2G第二代移动通信  3G第三代移动通信  3GPP第三代合作伙伴计划  4G第四代移动通信  5G第五代移动通信  ACK确认  AES高级加密标准  AM确认模式 ...

  6. 5G LTE窄带物联网(NB-IoT)8

    第5章 无线电链路控制子层 RLC是LTETM NB-IoT协议栈中的重要子层.它负责将控制和数据平面PDU可靠且有保证地传输到接收器侧. RLC子层提供以下功能[25]: 与另一个对等体可靠地传输R ...

  7. 5G LTE窄带物联网(NB-IoT) 9

    第6章 媒体访问控制子层 MAC子层是直接与PHY子层接口的最低子层.因此,该子层几乎实时地执行其功能.该子层的功能如下[26]: 随机访问和争用解决程序. 将多个RLC PDU多路复用和解复用到单个 ...

  8. 工信部:推动窄带物联网、5G泛在信息基础设施

    据工信部网站17日消息,2016年11月16日,第十八届中国国际高新技术成果交易会在深圳开幕,工业和信息化部怀进鹏副部长出席高交会开幕式,并参观了"工业和信息化宽带中国专题展馆". ...

  9. 5G之前,千兆级LTE在铺路,LTE是物联网最理想的连接技术

    移动通信圈子里正热的话题,莫过于5G被提上日程.在国际无线标准化机构3GPP RAN1(无线物理层)87次会议的5G短码方案讨论中,华为力推的"Polar Code(极化码)"方案 ...

最新文章

  1. linux+tasks进程,linux命令之进程管理命令(上)
  2. 【ACL 2020】腾讯AI Lab解读三大前沿方向及入选的20篇论文
  3. 无缓冲channel
  4. Windows 2008在域中不能更改密码策略解决方法
  5. 【内网安全】域横向CobalStrikeSPNRDP
  6. Xcode中添加代码块的方式
  7. python解析pcap包已text格式输出_python分析pcap包
  8. mysql mssql 性能对比_MySQL最新版8.0与5.7之性能对比,看看它是如何改进的
  9. 尚硅谷设计模式笔记-适配器模式
  10. python字典统计字母出现次数_第三篇 python运用字典统计字符串中字母出现的次数...
  11. 【离散数学】集合论 第四章 函数与集合(2) 特殊函数类(单射、满射、双射及其性质、常/恒等函数、置换/排列)
  12. MyEclipse10破解,亲测实用
  13. 三菱FX系列PLC以太网连接组态王软件
  14. 4个终于被破译的世界级密码
  15. 【泛融顾问分享】互联网金融未来走向预测
  16. 焦点弦的垂直平分线和轴的交点到焦点的距离和焦点弦的距离之比为二分之e
  17. 记一次阿里云木马排查过程
  18. SOA面向服务的架构概念梳理
  19. STM32单片机使用W5500作为http server通过网页进行配参(一.使用VScode模拟试验)
  20. 装载M1芯片的Mac安装“AE”时,出现错误代码“501”怎么办?

热门文章

  1. POI解析Excel
  2. 清华姚班教授:​我见过太多博士生精神崩溃,身体垮掉,一事无成
  3. USB OVER Network的使用(共享usb端口)
  4. 语法转换_【语法专题】句型转换(下)
  5. OneNote英文字体自动变成Calibri的问题
  6. Java中的实体类(VO、PO、DO、DTO、BO、QO、DAO、POJO)
  7. [转]什么?你还不会写JQuery 插件
  8. 虚幻引擎_矢量场初探
  9. 易基因 | 精准医学:DNA甲基化图谱在发现和精确诊断神经肿瘤领域的应用
  10. 洛丽运动会 NFT 作品集第一弹