5GNR PDCP

image-20200314095604598.png

1 作用

  • 用戶面和控制面的數(shù)據(jù)傳輸宙橱。

  • 維護PDCP SNs

  • 使用ROHC協(xié)議對IP報頭進行壓縮/解壓縮姨俩,以減少空口傳輸?shù)谋忍財?shù)(只適用于用戶面數(shù)據(jù))。

  • 加密和解密數(shù)據(jù)(用戶面和控制面)师郑,發(fā)送端對數(shù)據(jù)進行加密环葵,接收端對數(shù)據(jù)進行解密。

  • 完整性保護和完整性驗證

  • 基于定時器的SDU丟棄宝冕,為了防止發(fā)送端的傳輸buffer溢出张遭,而丟棄那些長時間沒有被成功發(fā)送出去的SDU。

  • 對于split承載的路由地梨,雙連接下split承載同時跨越2個不同的cell group菊卷,PDCP發(fā)送端需要負責對報文進行路由缔恳,確保把數(shù)據(jù)發(fā)送到正確的cell group。PDCP接收端不需要進行路由洁闰。

  • 復制(duplication)歉甚,如果網(wǎng)絡配置了,PDCP會把數(shù)據(jù)發(fā)給對應的兩個RLC實體扑眉。主要用于URLLC場景纸泄。

  • 重新排序或者按序進行傳送,RLC層只要重組出一個完整的RLC SDU腰素,就把它發(fā)往PDCP層聘裁,也就是說,RLC層不會對SDU進行排序弓千,所以發(fā)給PDCP層的RLC SDU可能是亂序的衡便,這就需要PDCP的接收端對數(shù)據(jù)進行重排序,并按序傳送給上層计呈。

  • 亂序傳送砰诵,對于那些不需要按序傳送的業(yè)務,可以去使能重排序功能捌显,并直接發(fā)送給上層茁彭。

  • 丟棄重復數(shù)據(jù),由于使用UM模式的RLC實體不進行重復包檢測扶歪,PDCP層可能會收到重復的數(shù)據(jù)理肺。另外可能存在PDCP復制功能,接收端也可能收到重復的數(shù)據(jù)善镰。切換過程中也可能出現(xiàn)重復的PDCP PDU妹萨。

2 結(jié)構(gòu)

wps0ox34b.png

PDCP層位于RLC層之上,通過RLC channel與RLC層進行通信炫欺,通過SAP與SDAP/RRC層進行通信乎完。PDCP層的功能由PDCP實體來實現(xiàn)。PDCP實體從RLC層收發(fā)的數(shù)據(jù)稱為PDCP PDU品洛,從SDAP/RRC層收發(fā)的數(shù)據(jù)稱為PDCP SDU树姨。在NR協(xié)議棧中和上層的收發(fā)數(shù)據(jù)稱為SDU,同下層的收發(fā)數(shù)據(jù)稱為PDU桥状。

PDCP層只會用在映射到邏輯信道DCCH和DTCH的無線承載上帽揪,而不用于其它類型的邏輯信道上。

除了SRB0之外辅斟,每個無線承載都和一個PDCP實體相關(guān)聯(lián)转晰,一個UE可以建立多個無線承載,因此可以包含多個PDCP實體,每個實體只處理一個無線承載的數(shù)據(jù)查邢。取決于無線承載的特性(例如單向/雙向蔗崎,split/non-split)或RLC模式,每個PDCP實體可以關(guān)聯(lián)1/2/4個RLC實體:

  • 對于split承載或者配置了PDCP復制的無線承載侠坎,每個PDCP實體關(guān)聯(lián)2個UM RLC實體(相同方向)蚁趁,4個UM RLC實體(每個方向2個),或者2個AM RLC實體(相同方向)实胸。
  • 對于non-split承載他嫡,每個PDCP實體關(guān)聯(lián)1個UM RLC實體,2個UM RLC實體(每個方向各一個)庐完,或者1個AM RLC實體钢属。
  • RLC TM模式的數(shù)據(jù)不經(jīng)過PDCP傳輸。

3 流程

image-20200314091912991.png
  1. 分組數(shù)據(jù)發(fā)送到PCDP之后门躯,放到一個傳輸buffer中淆党,按照分組數(shù)據(jù)到達的順序進行分配序列號。接收端可以根據(jù)序列號對數(shù)據(jù)進行重排序讶凉。
  2. 然后對數(shù)據(jù)進行頭壓縮染乌,但是只是針對用戶面數(shù)據(jù),也可以配置成不進行頭壓縮懂讯『杀铮控制面數(shù)據(jù)不進行頭壓縮,這部分在上圖中沒有呈現(xiàn)出來褐望。
  3. 完整性保護
  4. 接下來對用戶面和控制面數(shù)據(jù)進行加密保護勒庄,以保證接收端和發(fā)送端之間傳遞的數(shù)據(jù)的保密性。
  5. 添加PDCP頭
  6. 如果建立了split承載瘫里,PDCP實體把數(shù)據(jù)路由到目標的承載实蔽。

4 PDU結(jié)構(gòu)

4.1 用于SRB的數(shù)據(jù)PDU

< 38.323-6.2.2.1-1: PDCP Data PDU format for SRBs >

image-20200314143609137.png

4.4 用于DRB的數(shù)據(jù)PDU

< 38.323-6.2.2.2: PDCP Data PDU format for UM DRBs and AM DRBs>

image-20200314144539958.png

4.5 用于PDCP狀態(tài)報告的控制PDU

< 38.323-6.2.3.1: PDCP Control PDU format for PDCP status report>

image-20200314145240003.png

4.6 用于interspersed ROHC feedback的控制PDU

image-20200314145938591.png

5 參數(shù)

5.1 PDCP SN

Length Description
12 UM DRBs, AM DRBs, and SRBs
18 UM DRBs, and AM DRBs

5.2 Data

  • 未壓縮的PDCP SDU(用戶面數(shù)據(jù)或者控制面數(shù)據(jù))
  • 壓縮的PDCP SDU(僅用戶面數(shù)據(jù))

5.3 MAC-I

長度:32bit

攜帶著鑒權(quán)碼,對于SRB來說這個參數(shù)一直存在谨读,如果沒有配置SRB的完整性保護局装,則其值為全0。對于DRB來說劳殖,只有網(wǎng)絡配置了完整性保護才有這個參數(shù)贼邓。

5.4 COUNT

COUNT的值是由HFN和PDCP SN組成,HFN部分的大忻颇颉(以比特為單位)等于32減去PDCP SN的長度。

image-20200314192136327.png

5.5 R

長度:1bit

R15版本中還用于保留女坑。

5.6 D/C

長度:1bit

Bit Description
0 Control PDU
1 Data PDU

5.7 PDU類型

長度:1bit

Bit Description
000 PDCP status report
001 Interspersed ROHC feedback
010-111 Reserved

5.8 FMC

長度:32bit

此字段指示在重新排序窗口內(nèi)的第一個丟失的PDCP SDU的COUNT值填具,即RX_DELIV。

5.9 Bitmap

Bit Description
0 PDCP SDU with COUNT = (FMC + bit position) modulo 2^{32} is missing.
1 PDCP SDU with COUNT = (FMC + bit position) modulo 2^{32} is correctly received.

該字段指示在接收PDCP實體中丟失了哪些SDU以及正確接收了哪些SDU。 Bitmap中第N個位的位置是N劳景,即Bitmap中第一個位的位置是1誉简。

5.10 Interspersed ROHC feedback

該字段包含一個僅具有反饋的ROHC數(shù)據(jù)包,即與PDCP SDU不相關(guān)的ROHC數(shù)據(jù)包盟广。

6 頭壓縮和解壓縮

ROHC框架定義了多個頭壓縮算法闷串,被稱為profile,目前R15中支持的頭壓縮協(xié)議和profile如下:

Profile Identifier Usage Reference
0x0000 No compression RFC 5795
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 6846
0x0101 RTP/UDP/IP RFC 5225
0x0102 UDP/IP RFC 5225
0x0103 ESP/IP RFC 5225
0x0104 IP RFC 5225

UE在接入網(wǎng)絡時會告訴NW自己支持那些算法筋量,NW會在配置PDCP時告訴UE選用哪種算法烹吵。

image-20200317234111243.png

數(shù)據(jù)經(jīng)過PDCP頭壓縮之后,如果PDCP SN為12bit桨武,則頭長度為2字節(jié)肋拔,否則頭長度為3字節(jié)。

7 重復

如果RRC參數(shù)pdcp-Duplication配置了呀酸,PDCP實體:

  • 對于SRB
    • 激活PDCP重復
  • 對于DRB
    • 如果指示激活了PDCP重復
      • 激活PDCP重復
    • 如果指示去激活了PDCP重復
      • 去激活PDCP重復

重復PDCP丟棄:

  • 若關(guān)聯(lián)的某個AM RLC實體成功的發(fā)送了PDCP data PDU
    • 指示另外一個AM RLC實體丟棄重復的DPCP data PDU
  • 若收到去激活PDCP重復指示
    • 指示第二個RLC實體丟棄所有的重復PDCP data PDU

TS38300-16.1.3

image-20200318222301616.png

如圖所示凉蜂,當無線承載配置了PDCP重復之后,就會給PDCP添加第二個RLC實體性誉,對應的邏輯信道是第二邏輯信道窿吩。這兩個RLC實體具有相同的模式,PDCP會生成兩個相同的PDU错览,分別發(fā)給兩個RLC實體纫雁。通過兩個獨立的傳輸路徑,提高了數(shù)據(jù)傳輸?shù)目煽啃曰壤档土说却龝r間先较,對于URLLC服務特別有利。

當DRB配置了duplication之后悼粮,RRC也同時設(shè)置了duplication的初始狀態(tài)(激活/不激活)闲勺,可以通過MAC CE進行動態(tài)控制是否激活。如果SRB配置了duplication扣猫,那么總是激活的菜循,而且不能動態(tài)控制。

8 PDCP配置

PDCP-Config ::= SEQUENCE {
   drb SEQUENCE {
      discardTimer ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200,ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, -- Cond Setup
      //PDCP SN長度12或18bits申尤,對于SRB只支持12bits
      pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
      pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2
      //頭部壓縮癌幕,可以配置成notUsed、rohc或者uplinkOnlyROHC
      headerCompression CHOICE {
         notUsed NULL,
         rohc SEQUENCE {
            maxCID INTEGER (1..16383) DEFAULT 15,
            profiles SEQUENCE {
               profile0x0001 BOOLEAN,
               profile0x0002 BOOLEAN,
               profile0x0003 BOOLEAN,
               profile0x0004 BOOLEAN,
               profile0x0006 BOOLEAN,
               profile0x0101 BOOLEAN,
               profile0x0102 BOOLEAN,
               profile0x0103 BOOLEAN,
               profile0x0104 BOOLEAN
               },
            drb-ContinueROHC ENUMERATED { true } OPTIONAL-- Need N
            },
         uplinkOnlyROHC SEQUENCE {
            maxCID INTEGER (1..16383) DEFAULT 15,
            profiles SEQUENCE {
               profile0x0006 BOOLEAN
               },
            drb-ContinueROHC ENUMERATED { true } OPTIONAL-- Need N
            },
         ...
         },
      integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC1
      //對于AM DRB昧穿,指示上行是否發(fā)送PDCP狀態(tài)報告
      statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM
      //指示是否進行亂序提交勺远,RB建立之后,此字段不可更改
      outOfOrderDelivery ENUMERATED { true } OPTIONAL-- Need R
      } OPTIONAL, -- Cond DRB
   //PDCP實體關(guān)聯(lián)多個RLC實體時时鸵,為上行數(shù)據(jù)傳輸配置此字段
   moreThanOneRLC SEQUENCE {
      //主RLC實體配置
      primaryPath SEQUENCE {
         cellGroup CellGroupId OPTIONAL, -- Need R
         //for CA
         logicalChannel LogicalChannelIdentity OPTIONAL-- Need R
         },
      ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer
      pdcp-Duplication BOOLEANOPTIONAL-- Need R
      } OPTIONAL, -- Cond MoreThanOneRLC
   //重排序定時器
   t-Reordering ENUMERATED {
      ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40,
      ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220,
      ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250,
      ms1500, ms1750, ms2000, ms2250, ms2500, ms2750,
      ms3000, spare28, spare27, spare26, spare25, spare24,
      spare23, spare22, spare21, spare20,
      spare19, spare18, spare17, spare16, spare15, spare14,
      spare13, spare12, spare11, spare10, spare09,
      spare08, spare07, spare06, spare05, spare04, spare03,
      spare02, spare01 } OPTIONAL, -- Need S
   ...,
   [[
   //
   cipheringDisabled ENUMERATED {true} OPTIONAL-- Cond ConnectedTo5GC
   ]]
}

示例:

pdcp-Config 
{
  drb 
  {
    discardTimer infinity,
    pdcp-SN-SizeUL len18bits,
    pdcp-SN-SizeDL len18bits,
    headerCompression notUsed : NULL,
    statusReportRequired true
  },
  t-Reordering ms200
}

這個是5GNR的EN-DC現(xiàn)網(wǎng)配置胶逢,PDCP SN上下行都是18bits厅瞎,不使用頭壓縮,需要發(fā)送狀態(tài)報告初坠。PDCP實體排序的時間為200ms和簸。

Reference

TS38323 Packet Data Convergence Protocol (PDCP) specification

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市碟刺,隨后出現(xiàn)的幾起案子锁保,更是在濱河造成了極大的恐慌,老刑警劉巖半沽,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爽柒,死亡現(xiàn)場離奇詭異,居然都是意外死亡抄囚,警方通過查閱死者的電腦和手機霉赡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幔托,“玉大人穴亏,你說我怎么就攤上這事≈靥簦” “怎么了嗓化?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谬哀。 經(jīng)常有香客問我刺覆,道長,這世上最難降的妖魔是什么史煎? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任谦屑,我火速辦了婚禮,結(jié)果婚禮上篇梭,老公的妹妹穿的比我還像新娘氢橙。我一直安慰自己,他們只是感情好恬偷,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布悍手。 她就那樣靜靜地躺著,像睡著了一般袍患。 火紅的嫁衣襯著肌膚如雪坦康。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天诡延,我揣著相機與錄音滞欠,去河邊找鬼。 笑死肆良,一個胖子當著我的面吹牛仑撞,可吹牛的內(nèi)容都是我干的赤兴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼隧哮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了座舍?” 一聲冷哼從身側(cè)響起沮翔,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎曲秉,沒想到半個月后采蚀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡承二,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年榆鼠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亥鸠。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡妆够,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出负蚊,到底是詐尸還是另有隱情神妹,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布家妆,位于F島的核電站鸵荠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伤极。R本人自食惡果不足惜蛹找,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哨坪。 院中可真熱鬧庸疾,春花似錦、人聲如沸齿税。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凌箕。三九已至拧篮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間牵舱,已是汗流浹背串绩。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留芜壁,地道東北人礁凡。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓高氮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親顷牌。 傳聞我的和親對象是個殘疾皇子剪芍,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容