PDCP协议学习总结 - 图文

更新时间:2024-06-03 07:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

PDCP简介 PDCP的含义

PDCP(Packet Data Convergence Protocol)分组数据汇聚协议 PDCP 是对分组数据汇聚协议的一个简称。 它是UMTS中的一个无线传输协议栈, 它负责将IP头压缩和解压、传输用户数据并维护为无损的无线网络服务子系统(SRNS)设置的无线承载的序列号。

压缩技术可以根据二者之一 RFC 2507 或 RFC 3095. RFC 1144年 罐头为一些背景知识也使用,并且,虽然技术在RFC没有用于现代 TCP/IP 实施,它仍然显示什么压缩或解压技术看似。

如果 PDCP 配置为 没有压缩 它将送IP小包,不用压缩,它根据它的配置将压缩小包由上层并且附有a PDCP 倒栽跳水和送小包。 它使用更低的层数提供的服务称Radio键路控制(RLC)。

PDCP 倒栽跳水包括二个领域: PID和PDU类型。

PDU类型 领域表明PDU是否是数据PDU或顺序编号PDU。

PID 领域价值表明倒栽跳水 压缩协议 键入使用的和小包类型或CID。 PDCP的工作原理

分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)层属于无线接口协议栈的第二层,处理控制平面上的无线资源管理(RRC)消息以及用户平面上的因特网协议(IP)包。在用户平面上,PDCP子层得到来自上层的IP数据分组后,可以对IP数据分组进行头压缩和加密,然后递交到RLC子层。PDCP子层还向上层提供按序提交和重复分组检测功能。在控制平面,PDCP子层为上层RRC提供信令传输服务,并实现RRC信令的加密和一致性保护,以及在反方向上实现RRC信令的解密和一致性检查。

2PDCP子层功能

PDCP子层的主要功能

PDCP子层的主要功能如图1所示。

PDCP实体的结构

PDCP协议包括以下具体支持的功能: (1)用户平面数据的包头压缩和解压缩。 (2)安全性功能:

①用户和控制平面协议的加密和解密; ②控制平面数据的完整性保护和验证。 (3)数据的传输功能:

①下层重建时,对向上层发送的PDU顺序发送和重排序; ②对映射到AM模式的RB的下层SDU进行重排序。 (4)数据包的丢弃。 报头压缩

在LTE系统中,规定PDCP子层支持由IETF(互联网工程任务组)定义的健壮性报头压缩协议(ROHC)来进行报头压缩。在LTE中,因其不支持通过电路交换域(CS)传输的语音业务,为了在分组交换域(PS)提供语音业务且接近常规电路交换域的效率,必须对IP/UDP/RTP报头进行压缩,这些报头通常用于VoIP业务。 典型的,对于一个含有32 B有效载荷的VoIP分组传输来说,IPv6报头增加60 B,IPv4报头增加40 B,即188%和125%的开销。 为了解决这个问题,在LTE系统中,设定在激活周期内PDCP子层采用ROHC报头压缩技术,在压缩实体初始化之后,这一开销可被压缩成4~6个字节,即12.5%~18.8%的相对开销,从而提高了信道的效率和分组数据的有效性。

IETF在“RFC 4995”中规定了一个框架,ROHC框架中有多种头压缩算法,称为Profile,每一个Profile与特定的网络层、传输层和更上层的协议相关,如TCP/IP和RTP/UDP/IP等。具体的报头压缩协议及属性如表1所示。

报头压缩协议可以产生两种类型的输出包:

(1)压缩分组包,每一个压缩包都是由相应的PDCP SDU经过报头压缩产生的;

(2)与PDCP SDU不相关的独立包,即ROHC(鲁棒性头压缩robust header compression)的反馈包。

压缩包总是与相应的PDCP SDU采用相同的PDCP SN和COUNT值;ROHC反馈包不是由PDCPSDU产生的,没有与之相关的PDCP SN,也不加密。 安全性功能

LTE的安全性是在PDCP层负责的,通过加密(控制平面RRC数据和用户平面数据)及完整性保护(仅控制平面数据)实现。 1.2.1 加密/解密

在LTE系统中,加密功能位于PDCP实体中,加密对象包括:

(1)控制平面,被加密的数据单元是PDCP PDU的数据部分(未压缩的用户面或控制面的PDCP SDU或压缩的用户平面PDCP SDU)和MAC—I域(完整性消息鉴权码)。 (2)用户平面,被加密的数据单元是PDCP PDU的数据部分。

PDCP实体所使用的加密算法和密钥(KEY)由高层协议配置。一旦激活安全功能,加密功能即被高层激活,该功能应用于高层指示的所有PDCP PDU。PDCP用于加密的参数包括以下2个:COUNT;DIRECTION(传输的方向)。

RRC协议提供给PDCP加密功能所需要的参数包括以下2个:BEARER;KEY(控制平面使用KRRCenc,用户平面使用KUPenc)。

加密是通过对消息和加密流做异或(XOR)运算来实现的,这里加密流是由基于接入层(AS)导出密钥、无线承载ID、传输方向(上行或下行)以及COUNT值的加密算法所生成的。加密仅适用于PDCP数据PDU。控制PDU(如ROHC反馈或PDCP状态报告)既不使用加密,也不适用完整性保护。 1.2.2 完整性保护

完整性保护功能包括完整性保护和完整性验证两个过程,完整性保护功能仅应用于SRB。用于PDCP实体的完整性保护功能的算法和KEY由上层配置。一旦激活安全功能,完整性保护功能即被高层激活,该功能应用于高层指示的所有PDCP PDU。PDCP用于完整性保护的参数包括以下2个:COUNT;DIREC-TION(传输的方向)。

RRC协议提供给PDCP完整性保护功能的参数包括以下2个:BEARER;KEY(控制平面使用KRRCint)。

UE基于上述输入的参数计算X-MAC,进行PDCP PDU的完整性验证。如果计算出的X-MAC与MAC-I相同,则完整性保护验证成功。 数据的传输

控制平面的PDCP PDU和用户平面的PDCP数据PDU都拥有一个序列号SN字段,PDCP子层的发送和接收实体就是通过设置和检查SN字段来实现PDCPPDU的按序发送和接收。PDCP子层在发送侧和接收侧分别维护一个重排序窗口的大小是SN范围的50%。当SN为0~4 095时,即“最大PDCP SN”的值为4 095时,重排序窗口的大小为2 048。

在非切换状态下,RLC子层位为PDCP子层提供按序提交和重复包丢弃服务。而在切换状态下,由于UE与两个eNodeB同时通信,因此其RLC子层无法保证按序提交和重复包丢弃,从而需要由PDCP子层来完成这些功能。 下面以UE侧的操作为例说明PDCP子层的发送和接收流程。

1.3.1 上行发送

每一个PDCP SDU对应一个Discard Timer,一旦由高层接收到一个PDCP SDU,即启动该SDU对应的Discard Timer。同时,进行发送相关的状态变量更新及加密、完整性保护等,具体过程如图2所示。

数据上行流程图

1.3.2 下行接收

在不需重建的普通工作模式下,PDCP实体在接收到RLC AM实体提交的PDCP PDU时,不需执行重排序过程,因为RLC AM在向PDCP实体提交PDCPPDU时,已保证顺序递交。以切换引起的PDCP重建为例,UE先从源eNodeB收到一些PDCP SDU,重建开始后从目的eNodeB接收PDCP SDU(其中部分是源eNodeB转给目的eNodeB的,并且有一些是源eNodeB已发给UE但尚未得到确认的),因此,UE的PDCP实体收到的PDCP SDU可能是乱序并且有重复的,因此对于RLC AM模式,在重建情况下,PDCP接收实体需对接收的PDCP SDU进行重排序和重复检测。

综合上述各种情况,对映射到RLC AM模式的DRB接收处理过程如下:定义接收的PDCP序列号为SN,接收端上一次提交给高层的PDCP SDU序列号为Last_Submitted_PDCP_RX_SN,Reordering_Window为序列号空间50%长度的重排序窗,RX_HFN为接收端当前HFN,Next_PDCP_RX_SN为接收端期待的下一个接收的PDCP序列号,具体流程如图3所示。

数据包丢弃

LTE的PDCP层的丢弃功能基于定时器,发射机从高层接收到每一个PDCP SDU时该定时器启动,当定时器溢出时UE仍未发起PDCP SDU传输,那么丢弃该PDCP SDU。如果定时器被设置到一个合适的值来满足无线承载所要求的QoS,这一丢弃机制可以防止发射机的过渡延时和排队现象。具体的处理过程如下: 1.4.1 上行发送

当高层要求PDCP重建时,映射到RLC AM模式的DRB处理过程: (1)重置上行头压缩协议。

(2)在重建过程中,应用高层提供的加密算法以及密钥。 (3)由第一个还没有确认成功发送的PDCP SDU开始执行重传,或者按COUNT升序,优先于重传过程发送所有已关联了PDCP序列号的PDCP SDU。

①按照第一节报头压缩中提及的压缩算法,执行PDCP SDU报头压缩过程。 ②按照安全性功能介绍的加密过程,执行PDCPSDU加密过程。 ③将经过上述处理的PDCP数据PDU递交给下层。 1.4.2 下行接收

当高层要求PDCP重建时,映射到RLC AM模式的DRB处理过程: (1)处理所有由于下层重建而由下层接收的PDCP数据PDU。 (2)重置下行头压缩协议。

(3)在重建过程中,应用高层提供的加密以及完整性保护算法。

PDCP协议学习总结 1、PDCP架构

UE/E-UTRANPDCP entiy Radio BearersPDCP-SAPPDCP-SAPC-SAPPDCP entityPDCP entity...PDCP sublayerPDCP - PDURLC - SDU ...RLC UM-SAPRLC AM-SAPRLC sublayer

2、PDCP实体:

UE/E-UTRANTransmitting PDCP entityReceiving PDCP entityE-UTRAN/UESequence numberingHeader Compression (u-plane only)Packets associated to a PDCP SDU Integrity Protection (c-plane only)Ciphering Packets not associated to a PDCP SDUIn order delivery and duplicate detection (u-plane only)Header Decompression (u-plane only) Packets associated to a PDCP SDUIntegrity Verification (c-plane only) DecipheringPackets not associated to a PDCP SDUAdd PDCP headerRemove PDCP HeaderRadio Interface (Uu)

一个UE可以定义多个PDCP实体,可以对携带用户面数据的每个PDCP实体进行配置,来使用头压缩。每个PDCP实体携带一个无线承载的数据。根据无线承载所携带的数据,PDCP实

体对应于控制平面或者用户平面

3、PCDP层服务 向上层提供的服务:(PDCP提供服务给UE的RRC层和用户面高层) (1)数据传输 (2)头压缩 (3)加密

(4)完整性保护 从下层得到的服务:(RLC层向PDCP层提供服务)

(1)确认的数据传输业务,包括PDCP PDU成功传输的指示 (2)非确认的数据传输业务

(3)有序传送,除了在切换时的情况 (4)重复丢弃,除了在切换时的情况

4、PDCP层功能

(1)发送和接收实体利用ROHC协议对IP数据流进行相应的头压缩和解压缩 (2)用户面数据或者控制面数据的传输

(3)维护RLC AM模式下的映射的无线承载的PDCP SN (4)下层重建时,上层PDU的有序传送

(5)下层重建时,RLC AM模式下的映射的无线承载的下层SDU重复消除 (6)用户面数据和控制面数据的加密和解密 (7)控制面数据的完整性保护与完整性验证 (8)基于计时器的丢弃 (9)重复丢弃

5、PDCP过程(具体过程见page 3) (1)PDCP数据传输过程 上行数据传输过程:每一个PDCP SDU对应一个Discard Timer,一旦由高层接收到一个PDCP

SDU,即启动该SDU对应的Discard Timer。同时,进行发送相关的状态变量更新及加密、完整性保护等,具体过程如图2所示。

下行数据传输过程:在不需重建的情况下,PDCP实体在接收到RLC AM实体提交的PDCP PDU

时,不需执行重排序过程,因为RLC AM在向PDCP实体提交PDCP PDU时,已保证顺序递交。若UE先从源eNodeB收到一些PDCP SDU,重建开始后从目的eNodeB接收PDCP SDU(其中部分是源eNodeB转给目的eNodeB的,并且有一些是源eNodeB已发给UE但尚未得到确认的),因此,UE的PDCP实体收到的PDCP SDU可能是乱序并且有重复的,因此对于RLC AM模式,在重建情况下,PDCP接收实体需对接收的PDCP SDU进行重排序和重复检测。

(2)重建过程

上行数据传输过程:映射到RLC AM的DRB过程 映射到RLC UM的DRB过程 SRB过程

下行数据传输过程:映射到RLC AM的DRB过程 映射到RLC UM的DRB过程

SRB过程 (3)PDCP状态报告 传输: 接收:

(4)PDCP丢弃:PDCP SDU的Discard_Timer超时或PDCP SDU的成功传输有PDCp状态报告确认,UE丢弃PDCP SDU及相应的PDCP PDU (5)头压缩与解压缩:

(6)加密和解密:加密不用于PDCP控制PDU

控制面:PDCP PDU中数据部分及MAC-I

用户面:PDCP PDU的数据部分

(对消息和加密流做异或(XOR)运算来实现的,这里加密流是由基于接入层(AS)导出密钥、无线承载ID、传输方向(上行或下行)以及COUNT值的加密算法所生成的。)

(7)完整性保护及确认:该功能仅用于SRB

(8)未知的、意外的以及错误的协议数据的处理

6、PDCP协议数据单元及格式

PDCP数据PDU传送:一个PDU SDU SN、包含一个基于非压缩的PDCP SDU用户面数据、包含一个基于压缩的PDCP SDU用户面数据、控制平面数据、只有SRB的MAC-I域 PDCP控制PDU传送:PDCP状态报告、头压缩信息

7、参数

(1)PDCP SN:

(2)DATA:未压缩PDCP SDU(用户面或控制面数据)/压缩PDCP SDU(用户面数据) (3)MAC-I:消息认证码、未经过完整性保护的控制面数据MAC-I用0填充 (4)COUNT:HFN+PDCP SN (5)R:保留位

(6)D/C:控制PDU或数据PDU

(7)PDU type:status/ROHC/received

(8)FMS:第一个丢失的PDCP SDU的PDCP SN值

(9)Bitmap:PDCP SDU是否被接收并正确的进行选择性解压

8、变量

PDCP实体发送端

(1)Next_PDCP_TX_SN:给定PDCP实体的下一个PDCP SDU的PDCP SN,实体重建时置0 (2)TX_HFN:sehngcheng COUNT值的HFN值(COUNT值用于一个给定的PDCP实体的PDCP PDU),实体重建时置0 PDCP实体接收端

(1)Next_PDCP_RX_SN:下一个期望的PDCP SN,有一个给定PDCP实体的接收方给出,实体重建时置0

(2)RX_HFN:生成COUNT值的HFN值,实体重建时置0

(3)Last_Submitted_PDCP_RX_SN:传输到上层的最后一个PDCP SDU的SN,实体重建4095

9、常量

(1)Reordering_Window:2048,PDCP SN的一半,用于无线承载应设在RLC AM上的情况 (2)Maximum_PDCP_SN:

10、定时器

(1)Discard_Timer丢弃定时器 (2)Flush_Timer清空定时器

5.1 数据传输过程

5.1.1 上行

从上层接收到PDCP SDU后

UE启动与此PDCP相关量的discardTimer 对于从上层接收到的PDCP SDU

UE应关联相应于Next_PDCP_TX_SN的PDCP SN到PDCP SDU UE应执行PDCP SDU头压缩 UE应执行完整性保密

UE应使用基于TX_HFN的COUNT以及关联于PDCP SDU的PDCP SN值进行加密 UE将Next_PDCP_TX_SN加1

若果Next_PDCP_TX_SN﹥Maximum_PDCP_SN UE应将Next_PDCP_TX_SN置0 UE应将TX_HFN加1

UE应将最后产生的PDCP Data PDU传送给低层

5.1.2 下行 一、DRB过程

1、映射到RLC AM的DRB过程

对于映射到 RLC AM的DRB,在接收到低层的PDCP Data PDU时

(1)如果接收到的PDCP SN-Last_Submitted_PDCP_RX_SN>reordering_Window

或0≤Last_Submitted_PDCP_RX_SN-接收到的PDCP SN<Reordering_Window

Last_Submitted_PDCP_RX_SN0Maximum_PDCP_SNReordering_WindowNext_PDCP_RX_SNReceived PDCP SNRX_HFN-1

图5.1 Received PDCP SN-Last_Submitted_PDCP_RX_SN>reordering_Window

1) 如果接收到的PDCP SN>Next_PDCP_RX_SN

0Last_Submitted_PDCP_RX_SNMaximum_PDCP_SNNext_PDCP_RX_SNReceived PDCP SNRX_HFN-1且received PDCP SN>Next_PDCP_RX_SN

图5.2 0≤Last_Submitted_PDCP_RX_SN-received PDCP SN<Reordering_Window

UE应使用基于RX_HFN-1的COUNT与接收到的PDCP SN值,解密此PDCP 2) 否则

0Last_Submitted_PDCP_RX_SNMaximum_PDCP_SNReceived PDCP SNNext_PDCP_RX_SNRX_HFN图5.3 0≤Last_Submitted_PDCP_RX_SN-received PDCP SN<Reordering_Window

且Next_PDCP_RX_SN >received PDCP SN

UE应使用基于RX_HFN的COUNT与接收到的PDCP SN值,解密此PDCP PDU 3)UE应执行头压缩

4)UE应丢弃此PDCP SDU

(2)否则,如果Next_PDCP_RX_SN-接收到的PDCP SN>Reordering_Window

0Last_Submitted_PDCP_RX_SNMaximum_PDCP_SNReceived PDCP SNRX_HFN 1)UE应将Next_HFN加1

Next_PDCP_RX_SN

图5.4 Next_PDCP_RX_SN -received PDCP SN>Reordering_Window

2)UE应使用基于RX_HFN的COUNT与接收到的PDCP SN解密此PDCP PDU 3)UE应将Next_PDCP_RX_SN置为刚接收到的PDCP SN+1

(4)否则,如果接收到的PDCP SN-Next_PDCP_RX_SN≥Reordering_Window

0Last_Submitted_PDCP_RX_SNMaximum_PDCP_SNNext_PDCP_RX_SNReceived PDCP SNRX_HFN-1

图5.5 received PDCP SN-Next_PDCP_RX_SN>Reordering_Window

1)UE应使用基于RX_HFN-1的COUNT与接收到的PDCP SN解密此PDCP PDU (5)否则,如果接收到的PDCP SN≥Next_PDCP_RX_SN

Last_Submitted_PDCP_RX_SN0Maximum_PDCP_Reordering_WindowNext_PDCP_RX_SNReceived PDCP SNRX_HFN

图5.6 Received PDU SN≥Next_PDCP_RX_SN(1)

Last_0Submitted_PDCP_RX_SNMaximum_PDCP_SNNext_PDCP_RX_SNReceived PDCP SNRX_HFN

图5.7 Received PDU SN≥Next_PDCP_RX_SN(2)

Last_0Submitted_PDCP_RX_SNMaximum_PDCP_SNNext_PDCP_RX_SNReceived PDCP SNRX_HFN

图5.8 Received PDU SN≥Next_PDCP_RX_SN(3)

1)UE应使用基于RX_HFN的COUNT与接收到的PDCP SN解密此PDCP PDU 2)UE应将Next_PDCP_RX_SN置为接收到的PDCP SN+1 3)如果Next_PDCP_RX_SN>Maximum_PDCP_SN UE应将Next_PDCP_RX_SN置0 UE应将RX_HFN加1

(6)否则,如果接收到的PDCP SN<Next_PDCP_RX_SN

Last_Submitted_PDCP_RX_SN0Maximum_PDCP_SNReordering_WindowReceived PDCP SNRX_HFNNext_PDCP_RX_SN

图5.9 Received PDU SN<Next_PDCP_RX_SN(1)

0Last_Submitted_PDCP_RX_SNMaximum_PDCP_SNReceived PDCP SNRX_HFN

Next_PDCP_RX_

图5.10 Received PDU SN<Next_PDCP_RX_SN(2)

0Last_Submitted_PDCP_RX_SNMaximum_PDCP_SNReceived PDCP SNNext_PDCP_RX_SNRX_HFN图5.11 Received PDU SN<Next_PDCP_RX_SN(3)

1)UE应使用基于RX_HFN的COUNT值域接收到的PDCP SN值解密此PDCP PDU (7)如果上面没有丢弃此PDCP PDU

1)UE应执行PDCP PDU的解密与头压缩

2)如果一个具有相同PDCP SN值的PDCP PDU被存储 UE应丢弃此PDU 3)否则

UE应存储此PDCP SDU

4)如果由于下层重建导致PDCP没有接收到此PDCP PDU UE应把相关的COUNT值按照升序传递给上层:

a.所有存储的,相关COUNT值小于接收PDCP SDU的COUNT值的PDCP SDU

b.所有存储的,从接收到的PDCP SDU的COUNT值开始,连续COUNT值对

应的PDCPSDU

UE应将Last_Submitted_PDCP_RX_SN置为最后递交给高层的PDCP SDU的PDCP SN值

5)否则,如果接收到的PDCP SN=Last_Submitted_PDCP_RX_SN﹢1,

6)或者接收到的PDCP SN=Last_Submitted_PDCP_RX_SN-Maximum_PDCP_SN

UE应把相关COUNT值按照升序传递给上层

a.所有存储的,从接收到的PDCP SDU的COUNT值开始,连续COUNT值对应的PDCP SDU

UE应将Last_Submitted_PDCP_RX_SN置为最后递交给高层的PDCP SDU的

PDCP SN值

2、映射到RLC UM的DRB过程

对于映射到RLC UM的DRN,在接收到低层的PDCP Data PDU以后 (1)如果接收到的PDCP SN<Next_PDCP_RX_SN 1)UE应将RX_HFN加1

(2)UE应使用基于RX_HFN的COUNT值与接收到的PDCP SN值来解密此PDCP Data PDU (3)如果Next_PDCP_RX_SN>Maximum_PDCP_SN 1)UE应将Next_PDCP_RX_SN置0 2)UE应将RX_HFN﹢1

(4)执行已解密的PDCP Data PDU的头压缩 (5)UE应将最后产生的PDCP SDU递交给上层 二、SRB过程

对于SRB,在接收到低层的PDCP Data PDU后

(1)如果接收的PDCP SN<Next_PDCP_RX_SN

1)UE应使用基于RX_HFN﹢1的COUNT与接收到的PDCP SN值来解密此PDU以及

确认其完整性

(2)否则

1)UE应使用基于RX_HFN的COUNT与接收到的PDCP SN值来解密此PDU以及确认

其完整性

(3)如果完整性确认使用并成功通过,或 (4)如果完整性确认不适用

1)如果接收的PDCP SN<Next_PDCP_RX_SN UE应将RX_HFN加1

2)UE应将Next_PDCP_RX_SN置为接收到的PDCP SN﹢1 3)如果Next_PDCP_RX_SN>Maximum_PDCP_SN UE应将Next_PDCP_RX_SN置0 UE应将RX_HFN加1

4)UE应将最后产生的PDCP SDU递交给上层 (5)否则,如果完整性确认适用,但失败

1)UE应丢弃接收到的PDCP Data PDU

2)UE应将完整性确认失败报告递交给上层

5.2 重建过程

5.2.1 上行

1、映射到RLC AM的DRB过程 当上层请求一次PDCP重建时

(1)UE应重置上行链路的头压缩协议

(2)重建过程期间,UE应使用加密算法及上层提供的密钥加密

(3)从第一个对应的PDCP PDU成功传递但没有被下层确认的PDCP SDU开始,在如PDCP

重建之前,执行所有由与此PDCP SDU对应的COUNT开始的,按照COUNT升序排列的PDCP SN值对应的PDCP SDU的重传或传输 (4)UE应执行DCP SDU的头压缩

(5)UE应使用与此PDCP SDU关联的COUNT值来加密此PDCP SDU (6)UE应将最后产生的PDCP Data PDU传递给下层 2、映射到RLC UM的DRB过程 当上层请求一次PDCP重建时

(1)UE应重置上行链路的头压缩协议

(2)UE应置Next_PDCP_TX_SN以及TX_HFN为0

(3)重建过程期间,UE应使用加密算法及上层提供的密钥加密

(4)对于每一个已经对应于一个PDCP SN,但相应的PDU没有事先传递给低层的PDCP SDU 1)UE认为此PDCP SDU是从上层接收而来

2)在PDCP重建之前,在不重启discardTimer的情况下,UE应按照与PDCP SDU

关联的COUNT值的升序传输PDCP SDU

3、SRB过程

当上层请求一次PDCP重建时

(1)UE应置Next_PDCP_TX_SN及TX_HFN为0

(2)UE应丢弃所有存储的PDCP SDU和PDCP PDU

(3)重建过程期间,UE应使用加密和完整性保护算法,以及使用上层提供的密钥进行加密

5.2.2 下行

1、映射到RLC AM的DRB过程 当上层请求一次PDCP重建时

(1)UE应处理由于下层重建而从下层接收到的PDCP Data PDU (2)UE应重置下行链路的头压缩协议

(3)重建过程期间,UE应使用加密算法和上层提供的密钥进行加密 2、映射到RLC UM的DRB过程 当上层请求一次PDCP重建时

(1)UE应处理由于下层重建而从下层接收到的PDCP Data PDU (2)UE 应重置下行链路的头压缩协议

(3)UE应将Next_PDCP_RX_SN及RX_HFN置0

(4)重建过程奇迹,UE应使用加密算法和上层提供的密钥进行加密 3、SRB过程

当上层请求一次PDCP重建时

(1)UE应丢弃由于下层重建而从下层接收来的PDCP Data PDU (2)UE应将Next_PDCP_RX_SN及RX_HFN置0 (3)UE应丢弃所有存储的PDCP SDU和PDCP PDU

(4)重建过程期间,UE 应使用加密和完整性保护算法,以及使用上层提供的密钥进行加密

5.3 PDCP状态报告

5.3.1 传输

对于映射到RLC AM的RB当上层请求一次PDCP重建时

如果此RB被上层配置用于在上行链路发送一个PDCP状态报告,在处理完因下层重建而从下层接收来的PDCP Data PCU以后,UE应按下述指示进行状态报告: (1)UE应将FMS置为第一个丢失的PDCP SDU的PDCP SN值

(2)如果至少有一个失序PDCP SDU被存储,则UE分配一个Bitmap field,长度等于从第

一个丢失的PDCP SDU开始知道最后一个失序的PDCP SDU结束的PDCP SN的个数,四舍五入到下一个8的倍数

(3)UE将所有低层指示还未接受到的PDCP SDU以及任意解压缩失败的PDCP SDU在Bitmap

field中对应的区域置0

(4)对于其他的PDCP SDU,对应区域置1 5.3.2 接收

当在下行链路接收到一个PDCP状态报告时,对已映射到RLC AM的RB

对于每个PDCP SDU,如果在Bitmap中对应的bit位为1,或者相关联的COUNT值小于FMS字段确定的PDCP SDU的COUNT值,则相应PDCP SDU的成功传输将被确认,且UE应按照PDCP丢弃过程的规定来处理此PDCP。

5.4 PDCP丢弃

当用于PDCP SDU的discardTimer终止,或PDCP SDU的成功传输被PDCP状态报告确认,UE

应就其此PDCP SDU及其对应的PDCP PDU。如果对应的PDCP PDU已经成功传递给下层,则丢弃需要指示给下层。

5.5 头压缩与解压缩

5.5.1 协议与简表

头压缩协议基于可靠性头压缩(ROHC)框架,存在多种头压缩算法,成为简表,定义用于ROHC框架。每个简表为特定的网络层、传输层或上层集合所专用。 5.5.2 头压缩配置

与DRB关联的PDCP实体可被上层配置来使用头压缩 5.5.3 协议参数

压缩与解压缩端之间定义了必须有上层配置的强制配置参数,定义ROHC信道(单行信道,上行或下行),属于同一个PDCP实体的信道使用相同的配置。 M、N/A、LARGE_CIDs、PROFILES(M)、FEEDBACK_FOR(N/A)、MRRU(N/A) 5.5.4 头压缩

生成两种类型的输出数据包:

(1)压缩包,各自关联于一个PDCP SDU(与相关PDCP SDU相同的PDCP SN和COUNT关联) (2)独立数据包,为关联于PDCP SDU,即零散的ROHC反馈包(不与PDCP SDU关联,不与PDCP SN关联,不加密) 5.5.5 头解压缩

如果上层为关联与用户平面数据的PDCP实体配置了头解压缩,则PDCP PDU将在执行解密程序后由头解压协议进行解压缩

5.6 加密和解密

1、对于控制平面,加密的数据单元是PDCP PDU以及MAC-I的部分数据 2、对于用户平面,加密的数据单元是PDCP PDU的部分数据 3、加密不适用于PDCP控制PDU 4、加密算法和密钥由上层配置

5、加密功能由上层激活,激活后,应用于所有上层指示的上下行PDCP PDU 6、加密功能请求的输入:COUNT、DIRECTION

7、PDCP请求的,由上层提供的参数:BEARER、KEY(控制面/用户面) (1)BEARER:承载的标识,用于RB身份的标识

(2)DIRECTION:标识传输的方向,0用于上行、1用于下行

(3)KEY:控制平面和用户平面的加密密钥分别为KRRCenc与KUPenc

5.7 完整性保护及确认

1、完整性保护+完整性确认 2、用于与SRB关联的PDCP

3、受完整性保护的数据单元为:PDU头和加密前的PDU部分数据 4、完整性保护算法和密钥由上层提供

5、完整性保护功能由上层激活,激活后,应用于从上层指定的PDU之后的上下行PDCP PDU 6、完整性保护算法的输入:COUNT、DIRECTION 7、PDCP请求的,由上层提供的数:BEARER、KEY

8、传输时,UE计算MAC-I字段的值

接收时,UE通过基于以上指定的输入参数计算X-MAX来确认PDCP PDU的完整性。如果计算得到的X-MAC与接收的MAC-I值相对应,则完整性保护确认成功

5.8 未知的、意外的以及错误的协议数据的处理

PDCP收到一个包括保留值或非法值的PDCP PDU时,PDCP实体应丢弃收到的PDU

补充PDCP实现LTE 接入层安全性过程

PDCP层通过接受高层的安全配置信令,进入相应的状态后才能对数据和信令进行加密及完整性保护,在正常的RRC连接建立完成并且通过层三的鉴权完成后,启动接入层的安全模式命令。网络端首先获得由非介入层的AKA(Authentication and Key Agreement)过程产生密钥KASME,然后RRC由该参数计算得到KeNB,再由KeNB计算得到控制平面的完整性保护密钥KRRCint,以及用户平面和控制平面需要的密钥KUPenc、KRRCenc,在组装成安全模式命令(SecurityModiCommand),发送给终端,配置中端的安全性参数。当网络端发出SecurityModeCommand消息后开始对下行数据进行加密,终端的PDCP层接收到

SecurityModeCommand消息后,先将其发送到RRC进行解码操作,得出网络端配给终端的完整性保护算法,再将完整性保护算法和相应的密钥发给PDCP层,PDCP就可以对

SecurityModeCommand消息进行完整性校验。如果没有通过完整性校验,则向网络端发送安全模式失败(SecurityModeFailure);如果通过,则取出里面包含的加密算法,并向网络发送安全模式完成(SecurityModeComplete)消息,对其进行完整性保护但是不加密,自此后开始对上行数据加密,下行数据解密。网络端收到该消息后开始对上行数据解密,安全性建好后,开始对信令进行完整性保护。

接入层的安全性是通过加密算法和完整性保护算法来实现的。 接收时,UE通过基于以上指定的输入参数计算X-MAX来确认PDCP PDU的完整性。如果计算得到的X-MAC与接收的MAC-I值相对应,则完整性保护确认成功

QCI

QCI (QoS Class Identifier)是一个标度值,用于衡量特定的提供给SDF(服务数据流)的包转发行为(如丢包率,包延迟预算),它同时应用于GBR和Non-GBR承载,用于指定访问节点内定义的控制承载级分组转发方式(如调度权重、接纳门限、队列管理门限、链路层协议配置等),这些都由运营商预先配置到接入网节点中。

根据QoS的不同, 承载(Bear)可以划分为两大类: GBR(Guranteed Bit Rate) 和 Non-GBR。所谓GBR,是指承载要求的比特速率被网络“永久”恒定的分配,即使在网络资源紧张的情况下,相应的比特速率也能够保持。MBR(Maximum Bit Rate)参数定义了GBR Bear在资源充足的条件下,能够达到的速率上限。MBR的值有可能大于或等于GBR的值。相反的,Non-GBR指的是在网络拥挤的情况下,业务(或者承载)需要承受降低速率的要求,由于Non-GBR承载不需要占用固定的网络资源,因而可以长时间地建立。而GBR承载一般只是在需要时才建立。

在接口上使用QCI而不是传输一组QoS参数主要是为了减少接口上的控制信令数据传输量,并且在多厂商互连环境和漫游环境中使得不同设备/系统间的互连互通更加容易,由此,需要规定一定数量的处理行为(类似于DiffServ中规定的Per-Hop行为)。

以下是LTE里关于不同QCI的说明: GBR:

QCI=1: Example Services: Conversational voicemscbsc QCI=2: Conversational Video (Live streaming) QCI=3: Real Time Gaming

QCI=4: Non-conversational voice (buffered streaming) Non-GBR:

QCI=5: IMS signaling

QCI=6: Video (buffered streaming), TCP-based (e.g. www, email, chat, ftp, p2p file sharing, progressive video,etc)

QCI=7: Voice, Video (live streaming), interactive gaming

QCI=8: Video (buffered streaming), TCP-based (e.g. www, email, chat, ftp, p2p file sharing, progressive video,etc)

QCI=9: Video (buffered streaming), TCP-based (e.g. www, email, chat, ftp, p2p file sharing, progressive video,etc)

本文来源:https://www.bwwdw.com/article/9re6.html

Top