NR RLC ARQ procedures 中文翻譯

ARQ procedures僅在AM mode下實(shí)施。

Retransmission

AM RLC實(shí)體的發(fā)送端,可以通過其對等實(shí)體的STATUS PDU,接收到某個(gè)SDU或段的nack消息。

當(dāng)接收到這樣的消息時(shí),RLC 實(shí)體應(yīng):

  • 若SN在 [TX_Next_Ack , 發(fā)送到下層的PDU中SN最高的值] 范圍內(nèi),則考慮將此SDU或段重傳。

ACK_SN指示的SDU不需要被重傳。

當(dāng)一個(gè)SDU或段被考慮重傳時(shí),RLC實(shí)體的發(fā)送端應(yīng):

  • 若此SDU或段是第一次被重傳,則將其RETX_COUNT設(shè)為0
  • 否則,RETX_COUNT+1
  • 若RETX_COUNT = maxRetxThreshold,通知上層重傳次數(shù)已達(dá)上限

當(dāng)重傳一個(gè)SDU或段時(shí),RLC實(shí)體的發(fā)送端應(yīng):

  • 若需要,將SDU或段進(jìn)行分段
  • 生成符合下層在傳輸機(jī)會中關(guān)于total size規(guī)定的新PDU
  • 發(fā)送PDU到下層

當(dāng)生成新PDU時(shí),RLC實(shí)體應(yīng):

  • 只將原始SDU或段映射到新PDU中的data field
  • 根據(jù)AMD PDU的格式規(guī)定,修改新PDU的header
  • 根據(jù)輪詢的規(guī)定,設(shè)置P字段

Polling

當(dāng)RLC實(shí)體需要請求對等實(shí)體的STATUS reporting時(shí),就需要用到輪詢機(jī)制。

Transmission of a AMD PDU

將要傳到下層的PDU包含未被傳過的SDU或段,RLC實(shí)體的傳輸端應(yīng):

  • PDU_WITHOUT_POLL+1
  • BYTE_WITHOUT_POLL增加PDU的data field中新byte數(shù)
  • 若PDU_WITHOUT_POLL>=pollPDU;或
  • 若BYTE_WITHOUT_POLL>=pollByte,則
    • 在此PDU中加入輪詢

當(dāng)收到下層的傳輸機(jī)會時(shí),對于每一個(gè)已經(jīng)發(fā)送的PDU,RLC實(shí)體應(yīng):

  • 若發(fā)送PDU后,transmission buffer和retransmission buffer都變?yōu)榭?除了已發(fā)送,但還在等待確認(rèn)的SDU或段);或
  • 若發(fā)送PDU后,由于各種原因(如窗口堵塞),沒有新的SDU可被發(fā)送,則
    • 在此PDU中加入輪詢。

要在PDU中加入輪詢,RLC的發(fā)送端應(yīng):

  • 將PDU中的P字段設(shè)為1
  • 將PDU_WITHOUT_POLL設(shè)為0
  • 將BYTE_WITHOUT_POLL設(shè)為0

當(dāng)發(fā)送一個(gè)帶有輪詢的PDU到下層時(shí),RLC實(shí)體應(yīng):

  • 將POLL_SN設(shè)為已發(fā)送的PDU中SN最大的值。
  • 若t-PollRetransmit未運(yùn)行,將其啟動;否則將其重啟。

Reception of a STATUS report

當(dāng)收到對等實(shí)體的接收端傳來的STATUS report時(shí),RLC實(shí)體的發(fā)送端應(yīng):

  • 若STATUS report包含的是SN=POLL_SN的SDU的ack/nack消息,則
    • 若t-PollRetransmit正在運(yùn)行,stop and reset it

Expiry of t-PollRetransmit

當(dāng)t-PollRetransmit超時(shí)時(shí),RLC實(shí)體的發(fā)送端應(yīng):

  • 若transmission buffer和retransmission buffer都為空(不包括已發(fā)送,但還在等待確認(rèn)的SDU或段);或
  • 由于各種原因(如窗口堵塞),沒有新的SDU可被發(fā)送,則
    • 考慮將已發(fā)送的SDU中SN值最大的那個(gè)重傳。
    • 考慮將每一個(gè)未被ack的SDU重傳

此二者執(zhí)行哪個(gè)貌似并沒有硬性規(guī)定,都可以。執(zhí)行1比較簡單,執(zhí)行2比較可靠。

  • 在PDU中加入輪詢

Status reporting

RLC實(shí)體發(fā)送STATUS PDU給其對等實(shí)體,是為了通知SDU或段的ack/nack情況。

觸發(fā)STATUS reporting的條件包括:

  • 來自對等實(shí)體的輪詢
    • 當(dāng)SN=x且p字段=1的PDU從下層被接收時(shí),RLC實(shí)體的接收端應(yīng)該:
      • 若根據(jù)判斷,該P(yáng)DU應(yīng)該被丟棄;或
      • 若x<RX_Highest_Status 或 x>=RX_Next+AM_Window_Size,則
        • 觸發(fā)STATUS report
      • 否則,等待,直到滿足x<RX_Highest_Status 或 x>=RX_Next+AM_Window_Size,再觸發(fā)STATUS report

    該機(jī)制保證了RLC status report在HARQ reordering之后再發(fā)送

  • 發(fā)現(xiàn)PDU接收失敗
    • RLC實(shí)體的接收端應(yīng)該在t-Reassemly超時(shí)后再觸發(fā)STATUS report

t-Reassembly超時(shí)會導(dǎo)致RX_Highest_Status更新和STATUS report的觸發(fā),但是后者應(yīng)該在前者之后發(fā)生。

當(dāng)觸發(fā)了STATUS report時(shí),RLC實(shí)體的接收端應(yīng)該:

  • 若t-StatusProhibit未運(yùn)行,則在下層通知的第一個(gè)傳輸機(jī)會中,構(gòu)建STATUS report,將其傳到下層。
  • 否則,即使t-StatusProhibit運(yùn)行期內(nèi)STATUS report已經(jīng)觸發(fā)了多次,也到等到t-StatusProhibit超時(shí)后的第一個(gè)傳輸機(jī)會時(shí),再構(gòu)造STATUS report,并傳出。

當(dāng)一個(gè)STATUS PDU被傳輸?shù)较聦訒r(shí),RLC實(shí)體應(yīng)該:啟動t-StatusProhibit

在構(gòu)建STATUS PDU的過程中,RLC實(shí)體應(yīng):

  • 對于那些SN值在 [RX_Next , RX_Highest_Status)范圍內(nèi),且未被完整接收的SDU,它們的SN都放到STATUS PDU中,結(jié)果STATUS PDU的大小仍滿足下層關(guān)于PDU的總大小的規(guī)定的:
    • 對于一個(gè)byte都沒有收到的SDU,在 STATUS PDU中包含NACK_SN,其值設(shè)為此SDU的SN值
    • 對于部分被接收到,但還有一連續(xù)字節(jié)段沒被接收到的SDU,在STATUS PDU中包含一個(gè)NACK_SN,SOstart,SOend的集合。
    • 對于還未被接收到的一段連續(xù)的SDU序列:
      • 在STAUS PDU中包含一個(gè)NACK_SN和NACK range的集合
      • 如果需要的話,在STATUS PDU中包含一對SOstart和SOend。
  • 將ACK_SN的值設(shè)為:未被確認(rèn)收到,但未在STATUS PDU中標(biāo)為丟失(也就是沒有在NACK_SN中被標(biāo)出過)的下一個(gè)SDU的SN值。

比如現(xiàn)在有SN為1~100這一百個(gè)SDU需要狀態(tài)報(bào)告的反饋,即RX_Next=1,RX_Highest_Status=100.
如果在構(gòu)建STATUS PDU過程中,將1~100之間沒成功接收的SDU的SN都放到STATUS PDU的NACK_SN字段中,結(jié)果填到SN為70的時(shí)候,STATUS PDU大小已經(jīng)達(dá)到了下層規(guī)定的上限,那么STATUS PDU的ACK_SN的值就填70.
剩下的71~100中未被成功接收的SDU的SN值如果在下個(gè)STATUS PDU中能被全部放進(jìn)去,那么下一個(gè)STATUS PDU的ACK_SN值就為這些未成功接收的SDU中最大的SN值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Transmit operations General 發(fā)送端應(yīng)將 control PDU的優(yōu)先級置于data P...
    SnC_閱讀 1,539評論 0 2
  • 計(jì)算機(jī)網(wǎng)絡(luò)分層結(jié)構(gòu) 兩個(gè)系統(tǒng)中實(shí)體間的通信是一個(gè)很復(fù)雜的過程 ,為了降低協(xié)議設(shè)計(jì)和調(diào)試過程的復(fù)雜性,也為了便于對網(wǎng)...
    CodeKing2017閱讀 3,021評論 0 4
  • 1 introduction L2CAP向上層提供面向連接的和無連接的數(shù)據(jù)服務(wù),包含了協(xié)議的多路復(fù)用功能和分段重組...
    lucca_x閱讀 3,895評論 0 1
  • Nathan Tse #LTE ##PHY ###REG 一個(gè)REG 所包含的所有RE 必須位于同一RB 內(nèi),所以...
    jedwin閱讀 1,325評論 0 1
  • 轉(zhuǎn):https://blog.csdn.net/acs713/article/details/8740974?ut...
    right_33cb閱讀 2,589評論 0 7

友情鏈接更多精彩內(nèi)容