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

第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子层并且可以进行加密。

5G LTE窄带物联网(NB-IoT)7_第1张图片

图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实体

5G LTE窄带物联网(NB-IoT)7_第2张图片

图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反馈分组。 

 

5G LTE窄带物联网(NB-IoT)7_第3张图片

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

5G LTE窄带物联网(NB-IoT)7_第4张图片

图4.4:PDCP SDU和PDU。

5G LTE窄带物联网(NB-IoT)7_第5张图片

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

5G LTE窄带物联网(NB-IoT)7_第6张图片

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

5G LTE窄带物联网(NB-IoT)7_第7张图片

图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被加密,它就通过空中传输并在另一侧使用相同的输入参数进行解密。

5G LTE窄带物联网(NB-IoT)7_第8张图片

图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未通过完整性验证。

5G LTE窄带物联网(NB-IoT)7_第9张图片

图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实体的状态变量。

 5G LTE窄带物联网(NB-IoT)7_第10张图片

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

5G LTE窄带物联网(NB-IoT)7_第11张图片

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

5G LTE窄带物联网(NB-IoT)7_第12张图片

图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值

5G LTE窄带物联网(NB-IoT)7_第13张图片

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

5G LTE窄带物联网(NB-IoT)7_第14张图片

图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的完整性。

 

5G LTE窄带物联网(NB-IoT)7_第15张图片

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

5G LTE窄带物联网(NB-IoT)7_第16张图片

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

 

你可能感兴趣的:(IoT)