NR RLC AM data transfer 中文翻译
2019-07-05 本文已影响0人
SnC_
Transmit operations
General
发送端应将 control PDU的优先级置于data PDU之上。
将包含已发送的SDU(或段)的PDU的优先级置于不包含的之上。
发送端应基于状态变量TX_Next_Ack
维护一个发送窗口,其范围为 [TX_Next_Ack , TX_Next_Ack+AM_Window_Size)
SN在此范围外的PDU,不能被发送。
当从上层接收到SDU时,RLC实体要:
- 将该SDU的SN设为TX_Next,构建一个PDU,也将其SN设为TX_Next
- TX_Next+1
当发送包含SDU段的PDU时,发送端RLC实体要:将该PDU的SN设为对应的SDU的SN。
发送端RLC实体接收ack的情况有:来自对等实体的STATUS PDU。
当接收到SN=x的SDU的ack消息时,发送端RLC实体要:
- 通知上层该SDU已成功发送。
- 设
TX_Next_Ack
为落在[TX_Next_Ack , TX_Next]范围内,但还没确认接收的最小SDU的SN值。
Receive operations
General
接收端应基于状态变量RX_Next
维护一个接收窗口,范围为 [RX_Next , RX_Next+AM_Window_Size)
当从下层接收到PDU时,接收端RLC实体应该:根据下文的机制判断将其丢弃或者保存至reception buffer。若保存至 reception buffer,则根据下文的机制更新一些状态变量,重组SDU并发送至上层,并start/stop t_Reassembly。
当t_Reassembly超时,接收端应该:根据下文的机制更新一些状态变量,并start t-Reassemly
Actions when an AMD PDU is received from lower layer
当一个SN为x,包含y到z字节段的PDU被接收,接收端要:
- 若x不在接收窗口范围内;或
- SN为x,字节段为y到z的SDU已经被接收:
丢弃该PDU。否则:
- 将PDU放入reception buffer
- 如果该PDU中包含的SDU有部分字节段已经被接收过,则丢弃重复的字节段。
Actions when an AMD PDU is placed in the reception buffer
当一SN=x的PDU被放在reception buffer里时,接收端RLC实体要:
- 若 x>=RX_Next_Highest,则RX_Next_Highest = x+1
- 若SN=x的SDU的所有字节都已被接收,则重组SDU,去掉RLC header,将其发到上层。
- 若x = RX_Highest_Status,则将RX_Highest_Status设为大于当前值,但还未接收所有字节的SDU中SN最小的值。
- 若x = RX_Next,则将RX_Next设为大于当前值,但还未接收所有字节的SDU中SN最小的值。
- 若 t-Reassembly正在运行,则:
- 若RX_Next_Status_Trigger = RX_Next;或
- 若RX_Next_Status_Trigger = RX_Next+1,并且SN = RX_Next的SDU的已接收段中没有残缺的段;或
- 若RX_Next_Staus_Trigger在接收窗口之外,并不等于RX_Next+AM_Window_Size,则
- stop and reset t_Reassembly
- 若t-Reassembly未运行(包括因为以上步骤导致的):
- 若RX_Next_Highest > RX_Next+1;或
- 若RX_Next_Highest = RX_Next+1且SN=RX_Next的SDU的已接收段中至少有一个残缺的段,则
- start t-Reassembly
- RX_Next_Status_Trigger = RX_Next_Highest
Actions when t-Reassembly expires
- 将RX_Highest_Status设为SN>=RX_Next_Status_Trigger,但还未接收所有字节的SDU中最小的SN值。(这一步是主要步骤。 下面的步骤与上面类似)
- 若RX_Next_Highest>RX_Highest_Status+1;或
- 若RX_Next_Highest = RX_Highest_Status+1,且SN=RX_Highest_Status的SDU的已接收段中至少有一个残缺的段,则:
- start t-Reassembly
- RX_Next_Status_Trigger = RX_Next_Highest