摘要:針對LTE系統的高數據速率和海量信息容量的特點,對分組數據匯聚協議(PDCP)在功能上進行了改進。對壓縮算法進行了簡化,支持完整性保護和加密(UMTS的加密在RLC的非TM模式和MAC的TM模式下實現)功能,分析了新的上下行數據傳輸方式以及在切換時的PDU重排序,最后設計了在OPNET中PDCP的具體實現方式。
關鍵詞:LTE;分組數據匯聚協議;OPNET;UMTS
0 引言
3GPP希望通過升級諸如HSDPA和HSUPA這樣的無線接口技術,來確保未來10年或者更長的時間內,保持競爭能力。因此LTE長期演進主要是以降低時延、提高用戶數據速率、改善系統容量以及覆蓋,并且降低運營商的成本為目標。為了實現這些目標,LTE系統設計涵蓋了無線接口和無線網絡架構兩個方面。
本文研究的分組數據匯聚協議(Packet Data Convergence Protocol,PDCP)層屬于無線接口協議棧的第二層,處理控制平面上的無線資源管理(RRC)消息以及用戶平面上的因特網協議(IP)包。在用戶平面上,PDCP子層得到來自上層的IP數據分組后,可以對IP數據分組進行頭壓縮和加密,然后遞交到RLC子層。PDCP子層還向上層提供按序提交和重復分組檢測功能。在控制平面,PDCP子層為上層RRC提供信令傳輸服務,并實現RRC信令的加密和一致性保護,以及在反方向上實現RRC信令的解密和一致性檢查。
1 PDCP子層功能
PDCP子層的主要功能如圖1所示。
PDCP協議包括以下具體支持的功能:
(1)用戶平面數據的報頭壓縮和解壓縮。
(2)安全性功能:
①用戶和控制平面協議的加密和解密;
②控制平面數據的完整性保護和驗證。
(3)數據的傳輸功能:
①下層重建時,對向上層發送的PDU順序發送和重排序;
②對映射到AM模式的RB的下層SDU進行重排序。
(4)數據包的丟棄。
1.1 報頭壓縮
在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的反饋包。
壓縮包總是與相應的PDCP SDU采用相同的PDCP SN和COUNT值;ROHC反饋包不是由PDCPSDU產生的,沒有與之相關的PDCP SN,也不加密。
1.2 安全性功能
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相同,則完整性保護驗證成功。
1.3 數據的傳輸
控制平面的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所示。
1.4 數據包丟棄
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)在重建過程中,應用高層提供的加密以及完整性保護算法。
2 PDCP在OPNET中的實現
2.1 PDCP傳輸的實現
在OPNET中PDCP傳輸的實現是通過直接改變數據包的大小來仿真網絡流量,PDCP在OPNET中壓縮側的實現流程圖如圖4所示。
PDCP的傳輸過程是在收到來自上層的數據流時調用,進入strm==FROM_HIGHER分支之后執行lte_gmm_client_packet_process(pkptr)函數,在這個函數中GMM層完成對上層數據包的處理,并生成向RLC轉發的數據包rlc_pkptr以及接口控制信息ICI包pdu_iciptr,并將ICI包綁定在傳給RLC的數據包上。當獲取ICI中斷,如果有ICI的中斷,那說明當前狀態為收到上層發來的IP數據包,如果沒有ICI中斷,那么需要轉發的是命令消息。但是不管是數據包還是命令包,都進入lte_suppor_pdcp_header_comp_size_compute函數得到壓縮后的大小,公式為:
這里的comp_ratio就是從GMM屬性中獲取的PDCP壓縮率,保存在pdcp_comp_info變量之中。
2.2 仿真結果
為了驗證頭壓縮在LTE中空口的應用,設計了一個簡單的網絡模型,主要由用戶終端UE、eNodeB、核心網CN和外部網絡FTP組成。分別對UE設定在采用PDCP和沒有采用PDCP的兩種情況下,仿真eNo-deB的上下行吞吐量性能。在這個場景中,設置了30個移動終端UE執行FTP業務,并且假設已經建立了PS信令連接,并且在仿真期間一直保持。
這種FTP背景類業務對吞吐量要求很高,圖5表示從eNodeB采集到的上行吞吐量性能,采用了PDCP壓縮技術的曲線(虛線),相對于沒有使用PDCP的曲線(實線)的吞吐量緩慢的提升,這是由于FTP這種業務特性決定的。當用戶激活背景類業務時,網絡首先對該類用戶進行接入控制,判斷網絡是否有剩余容量接入該用戶,如果有容量則允許該用戶接入,但是并不給該業務預留帶寬。當系統擁塞時,允許對該類型用戶進行丟棄操作。背景類業務對時延和時延抖動要求較低,采用盡力而為的方式進行轉發。圖6顯示的是下行鏈路的吞吐量情況,采用PDCP技術后吞吐量得到了明顯的提升。
3 結論
LTE作為3GPP中GSM和UMTS家族的技術演進,被看作完成了業務擴展這一趨勢,即從簡單的語音業務向建立多業務空中接口的轉變,并且所有的業務都是基于分組交換模式,這就對系統容量的需求非常大。諸如在實時業務VoIP中,空中接口資源有限,應用PDCP層中優化的頭壓縮技術,能夠有效地降低包頭的開銷,提高空口的傳輸效率,而且PDCP層還支持加密功能,讓傳輸更具有可靠性。由此可見,LTE中的PDCP層的設計,在功能上體現了LTE系統的高數據速率、低時延和分組優化的設計目標。