PDCP/RLC/MAC分層負責
LTE第二層通訊協定把關QoS

長程演進計畫(Long Term Evolution, LTE)是第三代夥伴計畫(3GPP)定義的新一代通訊協定,相對於目前所廣泛使用的寬頻分碼多重存取(WCDMA)等第三代行動技術,LTE也稱為第四代行動技術(4G)。
在LTE中,為了提高系統彈性及資源使用效率,在設計上導入動態排程機制,藉由將不同服務對應到不同資料流,以提供足夠的服務品質(QoS)給不同類型的應用服務。由於QoS機制和LTE通訊協定中的第二層(Layer 2),亦即資料傳輸層密切相關,因此本文將針對此層做深入介紹。  

在LTE通訊協定的第二層中,主要包含封包資料匯聚通訊協定(Packet Data Convergence Protocol, PDCP)、無線電連結控制(Radio Link Control, RLC)、媒體存取控制(Medium Access Control, MAC)三個子層(Sublayer),因此欲了解LTE通訊協定第二層,必須先由這些子層的功能職掌著手。  

PDCP把守第二層頭關  

圖1為第二層的架構示意圖,從傳送的觀點來看,資料從上層進入第二層的第一道關卡,便是PDCP子層。PDCP子層自上層無線承載(Radio Bearer, RB)取得資料後,會將資料傳送到RLC子層與MAC子層,再由MAC子層進入透過實體層(Physical Layer)進行無線傳輸。資料在各個子層中進行相對應的封裝,子層從上層收到的資料視為此子層的服務資料單元(Service Data Unit, SDU),經過子層封裝後成為協定資料單元(Protocol Data Unit, PDU),再傳遞給下一個子層。接收端接收的處理程序大致與傳送反向,子層會對資料進行相對應的處理以及解封裝,在圖1中標示各個子層主要的功能。  

在協定中,子層間的溝通大致上以通道(Channel)的方式進行對應(Mapping)。RLC子層與MAC子層間透過邏輯通道(Logical Channel)對應,MAC子層與實體層則是藉由傳輸通道(Transport Channel)對應,實體層以下為實體通道(Physical Channel)用來對應到另一端的實體層。在圖1中,筆者僅就一般的資料流走向進行說明,其他用於控制及廣播的資料流,其處理流程則和一般資料流不盡相同。

圖1 LTE第二層架構示意圖

封包標頭浪費資源 ROHC對症下藥

PDCP子層負責的主要功能有資料封包的標頭(Header)壓縮與解壓縮、資料加密/解密、資料完整性的保護。  

PDCP的協定資料單元格式分成兩種,分別是攜帶資料和序號(Sequence Number, SN)的PDCP Data PDU和攜帶PDCP狀態報告(Status Report)或標頭壓縮控制(Header Compression Control)資訊的PDCP控制PDU。  

在LTE通訊協定的設計中,每個無線承載都由一個PDCP實體(Entity)來負責管理,而根據無線承載的不同特性(單向或雙向),以及RLC是以承認模式(AM)或非承認模式(UM)來傳輸資料,一個PDCP實體可能會對應到一或兩個RLC實體。  

此外,值得注意的是,無線承載還可分為專用無線承載(Dedicated Radio Bearer, DRB)和信令無線承載(Signaling Radio Bearer, SRB)兩種,PDCP實體提供無線承載的功能雖然均包含使用者面(User Plane)與控制面(Control Plane)資料傳送、PDCP序號維護、資料加解密、剔除過時資料封包和確保上層資料封包於重建時的順序正確和不重複,但標頭壓縮/解壓縮功能只適用於DRB,資料完整性保護亦僅適用於SRB。  

除了對無線承載提供服務外,每個PDCP實體也會對其對應的RLC實體會提供服務,包含承認資料傳送服務(包含PDCP PDU成功傳送通知)、非承認資料傳送服務,同時也負責保證資料封包順序和防止封包重複的任務。  

在PDCP實體所負責的各種功能中,標頭壓縮/解壓縮是最重要的功能之一。由於愈來愈多無線連結技術採用以網際網路通訊協定(IP)為基礎的封包資料架構來傳送資料,因此IP標頭(Header)占用的經常性資源(Overhead)問題也越來越嚴重。例如在IP化的語音應用中,一個即時傳輸協定(RTP)的封包所包含的IP標頭、使用者數據電報協定(UDP)標頭和RTP標頭,便會固定占用共40個位元組的傳輸資源,但每一個資料封包中實際包含的語音資料,卻可能只有15~20位元組左右。換言之,一個資料封包中,有高達三分之二的資源未被有效利用。  

此外,無線連線比有線連線來得容易遺失封包,且也具有較長往返時間(Round-trip Time),因此特別需要一種強固的封包標頭壓縮/解壓縮方法。為了提升無線資源的利用率和連結的強固性,網際網路工程任務小組(IETF)在RFC 3095標準中制定了強固標頭壓縮(ROHC)協定技術,並以這個框架(Framework)為基礎定義了四個設定檔(Profile),分別是No Compression、RTP/UDP/IP、UDP/IP與壓縮安全酬載(ESP)/IP。除了這四種基本設定檔之外,後來業界還陸續研發了其他設定檔。在LTE中支援的ROHC設定檔如表1。

表1 LTE支援的ROHC設定檔
Profile Identifier 用途 參考

0x0000

No compression RFC 4995
0x0001 RTP/UDP/IP RFC 3095, RFC 4815
0x0002 UDP/IP RFC 3095, RFC 4815
0x0003 ESP/IP RFC 3095, RFC 4815
0x0004
IP RFC 3843, RFC 4815
0x0006
TCP/IP RFC 4996
0x0101
RTP/UDP/IP RFC 5225
0x0102
UDP/IP RFC 5225
0x0103
ESP/IP RFC 5225
0x0104 IP RFC 5225

在ROHC中定義了一個ROHC通道,這是一個從壓縮器到解壓縮器的單向邏輯通道,而各組壓縮器和解壓縮器會維護各自的文本資訊(Context),這個文本資訊包含了壓縮器和解壓縮器用來壓縮與解壓縮的資訊。此外,由於不同組壓縮器和解壓縮器會多工使用同一個ROHC通道,因此在ROHC封包格式中會帶有一個文本身分(Context ID, CID),用來區別不同的文本,且ROHC通道有自己的CID空間(CID Space),可分為12位元與4位元兩種大小。在ROHC協定技術中明言ROHC通道有些參數必須設定,這些參數如下:  

MAX_CID
  最大可能的CID值,由上層設定。
LARGE_CID
  這是一個布林值,若為真代表,就使用12位元CID Space;否則就使用4位元CID Space,這個值並不由上層設定,PDCP可由MAX_CID是否大於15來判斷此布林值的真假,若大於15代表為真;否則為假。
PROFILES
  一組Profile ID代表用戶端裝置(UE)允許使用的設定檔,這組設定檔由上層設定。 值得注意的是,雖然ROHC協定要求必須設定FEEDBACK_FOR和MRRU兩項參數,但LTE的PDCP子層不使用這些參數。

除了標頭壓縮/解壓縮外,PDCP實體亦負責維護資料完整性和加解密工作。一個PDCP實體須要負責使用者面與控制面的資料加解密,但由於只有控制面須進行資料完整性保護,因此,不管是加解密還是資料完整性保護,都是由上層決定是否啟動,如果啟動的話,執行工作所需的參數也都由上層設定下來。

此外,在加/解密與資料完整性保護的演算法中,還需要一個計數器(COUNTER)參數,這個計數器值是一個32位元的值,其最低的幾個位元就是每個Data PDU的序號,其餘的位元稱為HFN。當傳送端的PDCP實體每送出一個Data PDU時,其對應的SN值便會一直加1,直到超過其序號位元可表示的最大值時,序號便會歸零,HFN的值加1,接著HFN和SN組成計數器值,用計數器值當參數進行加密。接收端的PDCP實體收到一個PDCP Data PDU時,便會用其中夾帶的序號跟它維護的HFN值組合成計數器值,並以此作為參數去進行解密動作。  

掌管資料切割/重組/ARQ RLC子層角色多元  

當資料進入RLC子層後,該子層主要的功能為對資料SDU進行切割及組合,使之成為適當大小的PDU。RLC子層負責的另一項重要工作則是在封包遺失時進行自動重傳請求(Automatic Repeat Request, ARQ)。  

在整個LTE第二層中,RLC子層扮演配合上下層互動進行資料單元收發的角色。在資料的傳送方面,RLC層接收上層給予的SDU,利用緩衝區(Buffer)將之暫存,待獲得來自MAC子層的指示後,組成對應的PDU,然後再將此PDU交予MAC層進行下一步的處理。在資料的接收方面,RLC層接受由MAC層所傳遞上來的PDU,利用緩衝區暫存,將成功組成的SDU傳送給上層。  

在RLC子層PDU格式中包含標頭部分(Header)及資料部分(Data Field),資料部分由SDU經過切割組合而成,標頭部分則是針對資料部分所採取的SDU切割組合過程加以描述,接收方可以利用標頭資訊將PDU資料部分解回SDU。另外標頭部分也加入了序號(SN),透過序號的使用,傳送端可以知道哪些PDU要進行重傳,接收端則可針對收到的PDU進行重新排序、偵測重複接收的狀況。  

而在ARQ部分,則必須視RLC子層的操作模式而定。如前所述,RLC子層的操作模式可分為三類,分別為透明模式(TM)、非承認模式及承認模式。透明模式為直接穿透模式,資料不須在RLC層進行重新封裝的工作,SDU即為PDU。

而在承認和非承認模式下,RLC子層均須將所收到的SDU進行切割和重組,以組成MAC子層所要求的PDU。承認和非承認模式之間的主要差別,便是由是否支援ARQ功能進行區分。承認模式須支援ARQ功能,而非承認模式則不支援ARQ功能。在承認模式下,MAC必須在接收端對於PDU接收的結果進行回報,回報結果為接收成功(ACK)或接收失敗(NACK),當結果為NACK時,RLC的傳送端必須進行重傳。  

ARQ機制旨在克服PDU遺失的問題。在傳送端會將組成的PDU暫存在緩衝區內,用以進行PDU的重傳。在重傳時,若是傳輸空間大小不足以容納須要重傳的PDU時,可以針對已經組成的PDU再次進行切割(Re-segment),以組成PDU進行傳送。在接收端亦會對收到的PDU進行暫存動作,嘗試將收到的PDU解封裝成為SDU並且維持SDU的先後順序傳送給上層。  

MAC子層肩負排程/多工重任  

當資料送到MAC子層後,MAC子層將接手執行排程(Scheduling)、多工(Multiplexing)等任務,以組成MAC子層PDU。此外,在MAC子層端,為防止RLC提供的PDU遺失,還具備混合式自動回覆請求重傳(HARQ)等功能。  

多工的目標,在於將多個不同邏輯通道的資料組合在同一個傳輸通道中傳送,在MAC子層中會將一或多個邏輯通道得到的SDU封裝在同一個 MAC PDU中,然後在傳輸通道中進行傳送。相反的接收時亦會對MAC PDU進行解多工 (De-multiplexing)的動作,將在同一個傳輸通道中的PDU拆解為一至多個邏輯通道SDU,即在接收端將SDU對應到原屬的邏輯通道。  

在MAC PDU的格式中包含了MAC標頭及MAC酬載(Payload)兩部分,MAC標頭裡面包含了一或多個MAC副標頭(Subheader),其功能為描述MAC酬載中對應攜帶的資訊內容。MAC酬載則包含了一或多個控制元素(Control Element)與MAC SDU,其中控制元素攜帶MAC層的控制資訊。MAC副標頭可利用不同的邏輯通道識別碼(Logical Channel ID, LCID)來分辨不同的邏輯通道或是控制元素,藉此達到多工功能。  

在排程方面,還可進一步細分為用戶端裝置及基地台端(eNode B)。在用戶端裝置方面,會針對所被配置上傳的資源組成MAC子層PDU,PDU的組成必須經過排程,當同時有多個邏輯通道的資料要傳送時,原則上排程以優先權(Priority)高低為主,Bj變數則為輔助機制。因為在正常狀況下,優先權高的通道會較優先權低的通道先被排程,但若是沒有Bj參數的設計,則在最糟的情況下,高優先權的邏輯通道將持續占用所有上傳資源。Bj參數的設計目的是為避免優先權較低的通道產生此一飢餓(Starvation)現象。  

進一步來看Bj參數的運作機制。在LTE的用戶端設備上,每個邏輯通道都有一個變數Bj記錄最多可分配到資源,Bj值會隨著每個單位時間增加一個優先順序位元率(Prioritized Bit Rate, PBR)大小,直到抵達上限為止。當該邏輯通道配置到空間可以進行傳輸時,MAC子層會把Bj值減去已被排程的大小,當Bj小於等於零時,優先權高的通道便會讓出優先被排程的權利,因此優先權高的邏輯通道就不會占用所有的上傳資源,剩餘的資源可以分配給其他的邏輯通道使用。  

在基地台端排程方面,可分為上行方向(Uplink)及下行方向(Downlink)兩種狀況。在上行方向,僅能以用戶端裝置為單位進行排程,而無法針對用戶端裝置的個別邏輯通道進行排程,因此基地台端必須考量用戶端裝置的個別邏輯通道需要的資源進行加總,決定此用戶端裝置可得到的總資源配置。此外,由於在eNB底下有多個用戶端裝置進行競爭,因此在排程時也必須將用戶端裝置間通道的優先順序加入考量。  

而在下行方向,基地台端可以進行個別邏輯通道的優先順序、QoS參數進行先後順序的排程,決定哪些邏輯通道可以進行傳送以及可傳送的資料量。在基地台端完成排程後,會將排程的結果放在下行控制資訊(Downlink Control Information, DCI)中進行傳送,用戶端裝置會依據DCI結果決定哪些資料要進行接收,在哪些時段要進行資料的傳送。  

在LTE中,除了一般即時的排程之外,另外提供一種半持續性排程(Semi-Persistent Scheduling, SPS),SPS機制在於接收雙方預先溝通何時可以傳送資料,當資料正常傳送時,eNB毋須藉由DCI告知用戶端裝置進行傳送接收資料的動作,兩端會依據先前SPS的溝通結果自動進行接收或傳送。一般而言,SPS的運作是以固定週期進行,在每一個週期時間內,用戶端裝置可以固定得到一個上行或下行的資料傳輸空間,適用於定期定額的資料流。  

ARQ/HARQ遙相呼應  

除了RLC子層的ARQ之外,在LTE的第二層中,MAC子層亦具備HARQ功能,兩者為互相對應的窗口。MAC子層的HARQ提供快速的重傳機制,使用多個等停式HARQ(Stop-and-wait HARQ)來完成多通道HARQ,其中下行傳輸採用非同步式HARQ(Asynchronous HARQ),上行傳輸則採用同步式HARQ(Synchronous HARQ)。同步式HARQ指的是發送端與接收端確知在何時要進行重傳,重傳的時間點可以自動對應到正確的HARQ處理程序(HARQ Process)進行重傳,因此毋須仰賴HARQ處理的編號來進行溝通,非同步式HARQ重傳則必須要特別告知HARQ處理的編號以茲確認。  

在HARQ重傳方面,可以分為非調適性重傳(Non-adaptive Retransmission)及調適性重傳(Adaptive Retransmission),非調適性重傳傳輸一般指的是傳輸屬性(Attribute)的變更不須經由接收與發送端再次溝通,兩端默認。相對的,調適性重傳則必須透過溝通確認重傳的傳輸屬性。基地台端會依據當下環境因素以及排程的結果決定使用哪一種重傳的機制進行HARQ重傳。  

在LTE中,HARQ上行的運作機制為當用戶端裝置進行一次傳送後,會知道何時進行HARQ重傳,即哪一個子訊框(Subframe)進行重傳,在此時若有收到DCI指示重傳,此重傳為調適性重傳,反之則為非調適性重傳。調適性重傳依據DCI的內容決定傳輸屬性,非調適性重傳則大致上僅有冗餘版本(Redundancy Version)屬性改變,其餘屬性比照前次傳輸。下行方面,用戶端裝置被排程將收到資料,此時會被告知HARQ處理編號,重傳必須等待基地台利用DCI告知HARQ處理編號進行重傳。  

除了排程、多工和自動重傳外,MAC子層還具備其他功能,如隨機存取流程(Random Access Procedure)、緩衝區狀態回報(Buffer Status Report, BSR)、功率餘裕回報(Power Headroom Report, PHR)、非連續接收(Discontinuous Reception, DRX)、上行傳輸時間對齊(Uplink Time Alignment)等。其中,隨機存取流程應用在當用戶端裝置無明確可使用的上傳空間時,利用競爭方式來與基地台建立連線或是要求上傳頻寬。BSR則是用戶端裝置向基地台回報緩衝區狀態的機制,以告知基地台有多少資料已經準備完成可以傳送。功率餘裕回報則是用來讓用戶端裝置向基地台回報功率上限與目前傳送功率的差異值。非連續接收則允許用戶端裝置和基地台之間預先溝通,讓用戶端裝置可以在特定時間內不聽取基地台的資訊,以達成省電目的。上行傳輸時間對齊則是用來確保用戶端裝置上傳訊號的時間準確性。  

LTE通訊協定規格繁複  

LTE協定中希望藉由使用新的實體層技術及接取技術的改進,為行動通訊提供更大的系統頻寬,以供語音、網路等各項服務使用。由於LTE為相當複雜的系統,本文礙於篇幅,僅能就LTE技術與資料傳輸相關的第二層進行簡單的說明。下一期LTE無線通訊系統探究專欄,亦將繼續介紹LTE通訊協定層的相關規範。  

(本文作者任職於資策會網路多媒體研究所)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!