PDCP

PDCP

PDCP(Packet Data Convergence Protocol)分組數據匯聚協定

PDCP 是對分組數據匯聚協定的一個簡稱。 它是UMTS中的一個無線傳輸協定棧, 它負責將IP頭壓縮和解壓、傳輸用戶數據並維護為無損的無線網路服務子系統(SRNS)設定的無線承載的序列號。

基本介紹

  • 中文名分組數據匯聚協定
  • 外文名:Packet Data Convergence Protocol
  • 作用:IP頭壓縮和解壓、傳輸用戶數據
  • 簡稱:PDCP
PDCP的含義,PDCP的工作原理,結構,功能,PDCP子層功能,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信令的解密和一致性檢查。
無線接口可分為三個協定層:物理層(L1)、數據鏈路層(L2)和網路層(L3)。
1、L1主要用於為高層業務提供傳輸的無線物理通道。
2、L2包括MAC(Medium Access Control)、RLC(Radio Link Control)、BMC(Broadcast/Multicast Control)和PDCP(Packet Data Convergence Protocol)四個子層。
3、L3包括接入層中的RRC子層和非接入層的MM(Mobility Management,移動性管理)和CC(Call Control,呼叫控制)。無線接口協定如圖2所示。
PDCP屬於無線接口協定棧的第二層,處理控制平面上的無線資源管理(RRC)訊息以及用戶平面上的網際網路協定(IP)包,在用戶平面上,PDCP子層得到來自上層的IP數據分組後,可以對IP數據分組進行頭壓縮和加密,然後遞交到RLC子層。PDCP子層還向上層提供按序提交和重複分組檢測功能,反方向的,PDCP也具有解頭壓縮和解加密的功能。在控制平面,PDCP子層為上層RRC提供信令傳輸服務,並實現RRC信令的加密和一致性保護,以及在反方向上實現RRC信令的解密和一致性檢查。
圖 2 無線接口協定示意圖圖 2 無線接口協定示意圖

結構

每個PS域的無線接入承載(RAB)都和1個RB相關聯,每個RB又和1個PDCP實體相關聯。根據RLC模式的不同,每個PDCP實體可和1個或2個RLC相關聯,1個PDCP可和2個非確認模式/透明模式的RLC實體(1個上行和1個下行)或1個確認模式(AM)RLC實體相關聯。PDCP可使用1種減多種壓縮算法(RFC 2507和RFC3095,當前只使用RFC2507),也可不使用壓縮算法。
在實現PDCP功能時,可將PDCP分為2個子模組:PDCP控制部分,主要完成對PDCP控制服務接入點的處理,通過PDCP和RRC接口傳送原語,並產生、配置和刪除PDCP實體,RRC給PDCP配置所有首部壓縮所需參數,並把PDCP和RAB、RB關聯起來;二是PDCP用戶部分,主要完成從RB接收數據,在上行鏈路上,壓縮IP分組數據包首部,然後傳送到相應的實體;在下行鏈路上,PDCP從RLC接收首部壓縮數據,進行解壓縮後傳送到上層。

功能

PDCP實現的功能有:一是在傳送方或接收方的PDCP實體中IP數據流的頭壓縮和解壓縮。頭壓縮是針對特定的網路層、傳輸層或上層協定組合。當一個PDP上下文被激活時需知道網路層協定,PDCP可以通過PID值標識頭壓縮協定的不同類型。PDCP配置由UTRAN設定;用戶數據的傳輸,這個功能被用於在PDCP服務的用戶之間的數據匯聚。PDCP實例被配置成功後可進行數據傳輸,在上行鏈路數據傳輸過程中PDCP收到RABM傳送的數據,根據配置信息將數據組裝成PDU以原語形式傳送給RLC。在下行鏈路數據傳輸過程中PDCP收到RLC送來的數據後將數據組裝成PDCP SDU傳送到RABM實體;如果PDCP套用於SRNS重定位,則PDCP需要保存對於RB的SDU序列號。只有當RLC配置為確認模式(AM)且順序傳輸時才支持無丟失SRNS重定位。雖然RLC提供可靠的數據傳輸服務,但是當SRNS重定位時並不能保證傳輸的可靠性,所以PDCP在SRNS重定位時需要保存PDCP序列號以避免數據丟失。

PDCP子層功能

PDCP子層的主要功能

PDCP子層的主要功能如圖1所示。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所示。
報頭壓縮協定可以產生兩種類型的輸出包:
PDCP
(1)壓縮分組包,每一個壓縮檔都是由相應的PDCP SDU經過報頭壓縮產生的;
(2)與PDCP SDU不相關的獨立包,即ROHC的反饋包。
壓縮檔總是與相應的PDCP SDU採用相同的PDCP SN和COUNT值;ROHC反饋包不是由PDCPSDU產生的,沒有與之相關的PDCP SN,也不加密。

安全性功能

LTE的安全性是在PDCP層負責的,通過加密(控制平面RRC數據和用戶平面數據)及完整性保護(僅控制平面數據)實現。
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狀態報告)既不使用加密,也不適用完整性保護。
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~4095時,即“最大PDCP SN”的值為4 095時,重排序視窗的大小為2048。
在非切換狀態下,RLC子層位為PDCP子層提供按序提交和重複包丟棄服務。而在切換狀態下,由於UE與兩個eNodeB同時通信,因此其RLC子層無法保證按序提交和重複包丟棄,從而需要由PDCP子層來完成這些功能。
下面以UE側的操作為例說明PDCP子層的傳送和接收流程。
1、上行傳送
每一個PDCP SDU對應一個Discard Timer,一旦由高層接收到一個PDCP SDU,即啟動該SDU對應的Discard Timer。同時,進行傳送相關的狀態變數更新及加密、完整性保護等,具體過程如圖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序列號,具體流程如圖4所示。
PDCP

數據包丟棄

LTE的PDCP層的丟棄功能基於定時器,發射機從高層接收到每一個PDCP SDU時該定時器啟動,當定時器溢出時UE仍未發起PDCP SDU傳輸,那么丟棄該PDCP SDU。如果定時器被設定到一個合適的值來滿足無線承載所要求的QoS,這一丟棄機制可以防止發射機的過渡延時和排隊現象。具體的處理過程如下:
1、上行傳送
當高層要求PDCP重建時,映射到RLC AM模式的DRB處理過程:
(1)重置上行頭壓縮協定。
(2)在重建過程中,套用高層提供的加密算法以及密鑰
(3)由第一個還沒有確認成功傳送的PDCP SDU開始執行重傳,或者按COUNT升序,優先於重傳過程傳送所有已關聯了PDCP序列號的PDCP SDU。
①按照第一節報頭壓縮中提及的壓縮算法,執行PDCP SDU報頭壓縮過程。
②按照安全性功能介紹的加密過程,執行PDCPSDU加密過程。
③將經過上述處理的PDCP數據PDU遞交給下層。
2、下行接收
當高層要求PDCP重建時,映射到RLC AM模式的DRB處理過程:
(1)處理所有由於下層重建而由下層接收的PDCP數據PDU。
(2)重置下行頭壓縮協定。
(3)在重建過程中,套用高層提供的加密以及完整性保護算法。

相關詞條

熱門詞條

聯絡我們