AM模式简介 5 A/ I5 h: P+ Y8 }! E+ C
AM模式是Acknowledged Mode的简称,即“确认模式”。顾名思义,对使用AM模式的RLC实体而言,发送端在发送完数据后,需要等待对端的确认信息。接收端在收到数据后,需要给对端发送其是否正确收到数据的确认信息。发送端在收到确认信息后,需要重新发送确认信息中指示接收失败的数据。
& U4 y% S5 u9 w$ z6 c' G AM模式通过错误检测和重传,提供了一种可靠的传输服务。AM模式主要用于对错误敏感(error-sensitive)、允许一定延时(delay-tolerant)且可靠性要求较高的非实时性(non-realtime)业务。大多数的交互式或后台运行类业务属于这一范畴,如网页浏览、e-mail和文件下载等。在控制面,除使用TM模式的那些RRC消息外,其它RRC消息均使用AM模式,以利用AM模式的确认和重传机制来保证传输的可靠性。
7 y- J1 S. a! l* F& u/ r AM模式既支持用户面的数据传输,也支持控制面的数据传输。AM模式支持通过逻辑信道DL/UL DCCH或DL/UL DTCH来接收/发送RLC PDU。除SRB0外的其它SRB,固定使用AM模式。对于DRB,可以使用UM或AM模式。 : O' p2 R+ B c
在gNB或UE侧,一个AM实体既包含接收侧,又包含发送侧,即能够同时收发数据。AM实体提供了双向的数据传输服务。这主要是因为发送的数据需要被确认,因此有双向的数据传输需求。
) E( a& x* C6 u# N AM实体发送/接收2种类型的PDU: - RLC data PDU:也称为AMD PDU,该PDU可能包含一个完整的RLC SDU,也可能包含一个RLC SDU分段。(NR中不存在AMD PDU segment)
- RLC control PDU:即STATUS PDU。
f1 T7 S/ c8 G% L% w" z : S+ @ }6 ]5 d! Z! p0 y5 |8 a
1 E4 @- z9 @# z$ g( ?3 `; U图1:AM实体模型 $ @& b" `: F! r1 ]" i) G
图1(对应38.322的Figure 4.2.1.3.1-1)是AM实体的功能模型。可以看出:
4 `- k' y; O, M0 U9 p AM实体在发送端主要做以下几件事:$ A+ Q. f* `/ L" S2 e
- AM实体在收到来自上层(PDCP层)的RLC SDU后,会立即为每一个RLC SDU生成一个RLC头部,并缓存在传输buffer(transmission buffer)中。
- 当MAC层通知AM实体发送RLC PDU时,由MAC层指定的所有RLC PDU的总大小通常不能保证所有的RLC SDU都能完整的发送出去,所以在发送端需要对最后一个传输的RLC SDU进行分段并重新生成RLC头部,以便参与这次传输的所有RLC PDU的总大小匹配MAC层指定的大小。
- 最后为参与这次传输的所有RLC SDU或RLC SDU分段添加RLC头部,以生成RLC PDU。
- AM实体的发送端支持RLC SDU或RLC SDU分段的重传(ARQ):发给MAC层的RLC PDU同时会放在重传buffer(retransmission buffer)中,以便支持可能存在的重传。如果收到了对应整个RLC SDU的ACK,则对应的RLC PDU将从重传buffer中删除;如果收到了对应整个或部分RLC SDU的NACK,则会重传整个或部分SDU。
- 如果在一次传输机会中,MAC层指定的所有RLC PDU的总大小无法保证需要重传的RLC SDU或RLC SDU分段(包括RLC头部)完整地发送出去,则需要对RLC SDU进行分段,或对RLC SDU分段进行重分段。重分段的次数是没有限制的。每个分段将以一个独立的AMD PDU进行传输(但属于同一RLC SDU的不同分段的SN都相同,等于原始RLC SDU的SN值),并重新生成头部以指示新的AMD PDU是如何生成的(不同分段会在不同的传输机会里传输)。+ {$ e% F% A; s1 b
$ ^: r2 _2 B* A( j2 ^" L
AM实体在接收端主要做以下几件事: - 判断收到的AMD PDU是否是重复包(duplication)。如果是的话,丢弃该重复包。
- 检测MAC层是否丢失了ADM PDU。如果丢失了,请求对端的AM实体重传该PDU对应的RLC SDU。
- 基于接收到的AMD PDU的重组出RLC SDU。只要生成了一个完整的RLC SDU,就立即递送给PDCP层。
$ n! n8 p6 ^! Z
. G$ q' z Y/ b+ e7 v 可以看出,AM接收端是不会对RLC SDU进行重排序的,因此送往PDCP层的数据可能是乱序的。除了重传、重复包检测和协议错误检测外,AM模式与UM模式提供了类似的RLC层功能,如分段/重组以及重组SDU等等。 % S# M( b6 p7 B) F" u, Q' ^& L3 E
|