5G NR标准 第13章 重传协议

news2024/12/22 15:24:34

第13章 重传协议

通过无线信道的传输容易出错,例如,由于接收信号质量的变化。 在某种程度上,这种变化可以通过第 14 章中讨论的链路适配来抵消。但是,接收机噪声和不可预测的干扰变化无法抵消。 因此,几乎所有无线通信系统都采用某种形式的前向纠错 (FEC),为传输信号增加冗余,允许接收器纠正错误,并将其根源追溯到香农 [69] 的开创性工作。 在 NR 中,LDPC 编码用于纠错,如第 9.2 节所述。 尽管有纠错码,但仍会接收到错误的数据单元,例如,由于噪音或干扰水平过高。 混合自动重复请求 (HARQ),首先由 Wozencraft 和 Horstein [72] 提出,依赖于错误数据单元的纠错编码和重传的组合,因此在许多现代通信系统中普遍使用。 尽管纠错编码错误的数据单元被接收机检测到,它请求发射机重传。 在 NR 中,三个不同的协议层都提供重传功能——MAC、RLC 和 PDCP——正如第 6 章的介绍性概述中已经提到的那样。采用多级重传结构的原因可以在快速和可靠之间的权衡中找到 状态报告的反馈。 MAC 层中的混合 ARQ 机制以非常快的重传为目标,因此,在每个接收到的传输块之后,都会向 gNB 提供关于下行链路传输成功或失败的反馈(对于上行链路传输,不需要作为接收方传输显式反馈) 和调度程序在同一个节点中)。 虽然原则上可以获得非常低的混合 ARQ 反馈错误概率,但它是以传输资源(例如功率)为代价的。 在许多情况下,0.1±1% 的反馈错误率是合理的,这会导致类似阶数的混合 ARQ 剩余错误率。 在许多情况下,此残留错误率足够低,但也有情况并非如此。 一个明显的案例是需要超可靠数据传输和低延迟的服务。 在这种情况下,要么需要降低反馈错误率并且必须接受反馈信令中增加的成本,要么可以在不依赖反馈信令的情况下执行额外的重传,这会降低频谱效率。 低错误率不仅对 URLLC 类型的服务感兴趣,而且从数据速率的角度来看也很重要。 TCP 的高数据速率可能需要将数据包几乎无错误地传送到 TCP 层。 例如,对于超过 100 Mbit/s 的可持续数据速率,需要小于 1025 的丢包概率 [65]。 原因是 TCP 假定数据包错误是由于网络拥塞造成的。 因此,任何数据包错误都会触发 TCP 拥塞避免机制,并相应降低数据速率。 与混合 ARQ 确认相比,RLC 状态报告的传输频率相对较低,因此获得 1025 或更低可靠性的成本相对较小。 因此,混合 ARQ 和 RLC 的组合实现了小往返时间和适度反馈开销的良好组合,其中两个组件相互补充——混合 ARQ 机制带来的快速重传和 RLC 带来的可靠数据包传递 . PDCP 协议还能够处理重传,以及确保按顺序传送。 PDCP 级重传主要用于 gNB 间切换的情况,因为在这种情况下较低的协议被刷新。 尚未确认的 PDCP PDU 可以转发到新的 gNB 并传输到设备。 在设备已经接收到其中一些的情况下,PDCP 重复检测机制将丢弃重复项。 PDCP 协议还可用于通过在多个载波上传输相同的 PDU 来获得选择分集。 在这种情况下,接收端的 PDCP 将删除任何重复信息,以防在多个载波上成功接收到相同的信息。 在以下部分中,将更详细地讨论混合 ARQ、RLC 和 PDCP 协议背后的原理。 请注意,这些协议也存在于 LTE 中,它们在很大程度上提供相同的功能。 但是,NR 版本得到增强以显着减少延迟。

13.1 带软合并的HARQ

混合 ARQ 协议是 NR 中处理重传的主要方式。 在错误接收到数据包的情况下,请求重传。 然而,尽管不可能对数据包进行解码,但接收到的信号仍然包含信息,这些信息会因丢弃错误接收的数据包而丢失。 这个缺点由具有软组合的混合 ARQ 解决。 在具有软组合的混合 ARQ 中,错误接收的数据包存储在缓冲存储器中,然后与重传组合以获得比其组成部分更可靠的单个组合数据包。 纠错码的解码对组合信号进行操作。 尽管协议本身主要位于 MAC 层,但也有以软组合形式涉及的物理层功能。 从规范的角度来看,代码块组的重传,即传输块的一部分的重传,由物理层处理,尽管它同样可以被描述为 MAC 层的一部分。 与 LTE 类似,NR 混合 ARQ 机制的基础是具有多个停止和等待协议的结构,每个协议都在单个传输块上运行。 在停止等待协议中,发送器在每个传输块之后停止并等待确认。 这是一个简单的方案; 唯一需要的反馈是一个位,表示对传输块的肯定或否定确认。 然而,由于发送器在每次传输后停止,因此吞吐量也很低。 因此,使用并行运行的多个停止等待过程,使得在等待来自一个过程的确认时,发送器可以将数据发送到另一个混合ARQ过程。
在这里插入图片描述

如图 13.1 所示; 在处理在第一个混合 ARQ 过程中接收到的数据时,接收器可以使用第二个过程继续接收,等等。这种结构,多个混合 ARQ 过程并行运行以形成一个混合 ARQ 实体,结合了停止的简单性 -and-wait 协议,同时仍允许连续传输数据,并用于 LTE 和 NR。 接收器连接到的每个载波都有一个混合 ARQ 实体。 超过四层的空间复用到下行链路中的单个设备,其中两个传输块可以在相同传输信道上并行传输,如第 9.1 节所述,由具有两组混合 ARQ 的混合 ARQ 实体支持 具有独立混合 ARQ 确认的进程。 NR 在下行链路和上行链路中都使用异步混合 ARQ 协议,即,与下行链路或上行链路传输相关的混合 ARQ 过程作为下行链路控制信息 (DCI) 的一部分明确地发信号通知。 LTE 对下行链路使用相同的方案,但对上行链路不使用,其中 LTE 使用同步协议(尽管后来的 LTE 版本也增加了对异步协议的支持)。 NR 在两个方向上采用异步协议有几个原因。 原因之一是同步 hybridARQ 操作不允许动态 TDD。 另一个原因是,在以后的 NR 版本中引入的未许可频谱操作在异步操作中更有效,因为它不能保证无线电资源在同步重传时可用。 因此,NR 在上行链路和下行链路中选择了最多 16 个进程的异步方案。 混合 ARQ 进程的最大数量大于 LTE1 的动机是远程无线电头端的可能性,这会导致一定的前传延迟,以及高频时隙持续时间更短。但重要的是,更大数量的最大混合 ARQ 进程并不意味着更长的往返时间,因为并非所有进程都需要使用,它只是可能处理的进程数量的上限。 大型传输块大小在编码之前被分成多个代码块,每个代码块都有自己的 24 位 CRC(除了整体传输块 CRC 之外)。 这在第 9.2 节中已经讨论过,原因主要是复杂性; 代码块的大小足以提供良好的性能,同时仍然具有合理的解码复杂度。 由于每个代码块都有自己的 CRC,因此可以在各个代码块以及整个传输块上检测到错误。 一个相关的问题是重传是否应限于传输块,或者仅重传错误接收的代码块是否有好处。 对于用于支持每秒几千兆位数据速率的非常大的传输块大小,传输块中可以有数百个代码块。 如果其中只有一个或几个错误,则与仅重传错误的代码块相比,重传整个传输块会导致频谱效率低。 只有一些代码块出错的一个例子是突发干扰的情况,其中一些 OFDM 符号比其他符号受到更严重的命中,如图 13.2 所示,
在这里插入图片描述

例如,由于一个下行链路传输抢占另一个,如第 14.1.2 节中讨论的 . 要正确接收上述示例的传输块,重传错误的代码块就足够了。 同时,如果单独的代码块可以通过混合 ARQ 机制寻址,则控制信令开销会太大。 因此,定义了所谓的代码块组(CBG)。 如果配置了按 CBG 重传,则按 CBG 而不是按传输块提供反馈,并且仅重传错误接收的代码块组,这比重传整个传输块消耗的资源更少。 可以配置两个、四个、六个或八个代码块组,每个代码块组的代码块数量根据初始传输中的代码块总数而变化。 请注意,代码块所属的代码块组是根据初始传输确定的,并且在传输尝试之间不会改变。 这是为了避免在两次重传之间重新划分代码块时可能出现的错误情况。 从规范的角度来看,CBG 重传作为物理层的一部分进行处理。 这没有根本的技术原因,而是一种减少 CBG 级重传对规范影响的方法。 其结果是,在同一混合 ARQ 过程中,不可能将属于另一个传输块的新 CBG 的传输与属于错误接收的传输块的 CBG 的重传混合。

13.1.1 软合并

混合 ARQ 机制的一个重要部分是软组合的使用,这意味着接收器组合来自多次传输尝试的接收信号。 根据定义,混合 ARQ 重传必须表示与原始传输相同的信息比特集。 然而,可以不同地选择在每次重传中传输的编码比特集,只要它们表示相同的信息比特集。 根据是否要求重传的比特与原始传输相同,软合并方案通常被称为 Chase 合并,最早在参考文献 1 中提出。 [22],或增量冗余(IR),用于 NR。 使用增量冗余,每次重传不必与原始传输相同。 相反,会生成多组编码位,每组代表同一组信息位 [67,71]。 NR 的速率匹配功能,如第 9.3 节所述,用于生成不同的编码比特集,作为冗余版本的函数,如图 13.3 所示。
在这里插入图片描述

除了累积接收的 Eb/N0 增益外,增量冗余还会导致每次重传的编码增益(直到达到母码率)。 对于高初始码率 [24],与纯能量积累(Chase 组合)相比,增量冗余的增益更大。 此外,如参考文献所示。 [33],与 Chase 组合相比,增量冗余的性能增益还取决于传输尝试之间的相对功率差异。 在到目前为止的讨论中,假设接收器已经接收到所有先前传输的冗余版本。 如果所有冗余版本都提供相同数量的数据包信息,则冗余版本的顺序并不重要。 然而,对于某些代码结构,并非所有冗余版本都同等重要。 NR 中使用的 LDPC 码就是这种情况; 系统位比奇偶校验位更重要。 因此,初始传输至少应包括所有系统位和一些奇偶校验位。 在重传中,可以包括初始传输中没有的奇偶校验位。 这就是为什么在 9.3 节中首先将系统位插入循环缓冲区的背景。 循环缓冲区中的起点被定义为使得RV0和RV3都是可自解码的,即包括典型场景下的系统位。 这也是 RV3 位于图 13.3 中九点钟之后的原因,因为这允许在传输中包含更多的系统位。 使用冗余版本 0、2、3、1 的默认顺序,每秒重传通常是可自解码的。 具有软组合的混合 ARQ,无论是否使用 Chase 或增量冗余,都会通过重传导致数据速率的隐式降低,因此可以被视为隐式链路自适应。 然而,与基于瞬时信道条件的显式估计的链路自适应相反,具有软组合的混合ARQ基于解码的结果隐式地调整编码率。 就整体吞吐量而言,这种隐式链路适配优于显式链路适配,因为仅在需要时才添加额外的冗余——也就是说,当先前的更高速率传输无法正确解码时。 此外,由于它不会尝试预测任何信道变化,因此无论终端移动的速度如何,它都同样有效。 由于隐式链路适配可以提高系统吞吐量,一个有效的问题是为什么显式链路适配是必需的。 具有显式链路适配的一个主要原因是减少延迟。 尽管从系统吞吐量的角度来看,仅依靠隐式链路适配就足够了,但从延迟的角度来看,最终用户的服务质量可能无法接受。 为了软组合的正确操作,接收器需要知道何时在解码之前执行软组合以及何时清除软缓冲区 - 也就是说,接收器需要区分初始传输的接收(在此之前软缓冲区 应清除)和接收重传。 类似地,发送器必须知道是重新发送错误接收的数据还是发送新数据。 这由新数据指示符处理,如下面分别针对下行链路和上行链路混合 ARQ 进一步讨论的那样。

13.1.2 下行HARQ

在下行链路中,重传以与新数据相同的方式安排——也就是说,它们可以在下行链路小区带宽内的任意时间和任意频率位置发生。 调度分配包含必要的混合 ARQ 相关控制信令——混合 ARQ 进程号、新数据指示符、CBGTI 和 CBGFI(如果配置了 per-CBG 重传),以及处理确认传输的信息 上行链路,如定时和资源指示信息。 在接收到 DCI 中的调度分配后,接收器尝试解码传输块,可能在与先前的尝试进行软组合之后,如上所述。 由于传输和重传通常使用相同的框架进行调度,因此设备需要知道传输是新传输(在这种情况下应刷新软缓冲区)还是重传(在这种情况下应执行软合并)。 因此,作为在下行链路中传输的调度信息的一部分,针对调度的传输块包括显式新数据指示符。 新数据指示器针对新的传输块进行切换——也就是说,它本质上是一个单位序列号。 在接收到下行链路调度分配后,设备检查新数据指示符以确定当前传输是否应该与当前在软缓冲区中的接收数据软组合以用于所讨论的混合 ARQ 过程,或者软缓冲区是否应该被清除 . 新数据指示器在传输块级别上运行。 但是,如果配置了 perCBG 重传,则设备需要知道重传哪些 CBG 以及是否应刷新相应的软缓冲区。 如果配置了每个 CBG 重传,这将通过 DCI 中存在的两个附加信息字段来处理,即 CBG 传输指示符 (CBGTI) 和 CBG 刷新指示符 (CBGFI)。 CBGTI 是一个位图,指示某个 CBG 是否存在于下行链路传输中(见图 13.4)。
在这里插入图片描述

CBGFI是单个比特,指示CBGTI所指示的CBG是否应该被刷新或者是否应该进行软组合。 解码操作的结果(解码成功时为肯定确认,解码不成功时为否定确认)作为上行链路控制信息的一部分反馈给 gNB。 如果配置了 CBG 重传,则会反馈每个 CBG 一位的位图,而不是代表整个传输块的一位。

13.1.3 上行HARQ

上行链路使用与下行链路相同的异步混合 ARQ 协议。 必要的混合 ARQ 相关信息——混合 ARQ 进程号、新数据指示符,如果配置了 per-CBG 重传,则 CBGTI——包含在调度授权中。 为了区分数据的新传输和重传,使用了新数据指示符。 切换新数据指示符请求传输新的传输块,否则应该重新传输此混合 ARQ 过程的先前传输块(在这种情况下,gNB 可以执行软组合)。 CBGTI的使用方式与下行链路类似,即在per-CBG重传的情况下指示要重传的码块组。 请注意,上行链路不需要 CBGFI,因为软缓冲区位于 gNB 中,gNB 可以根据调度决策决定是否刷新缓冲区。

13.1.4 上行确认的定时

在LTE中,从下行链路数据接收到确认发送的时间在规范中是固定的。 这对于全双工传输是可能的,例如 FDD,在这种情况下,在 LTE 中数据接收结束后将近 3 毫秒发送确认。 2 如果上行链路下行链路分配是半静态配置的,则可以使用类似的方法 半双工操作的情况,例如 LTE 中的半静态 TDD。 不幸的是,这种具有用于确认的预定义定时时刻的方案不能很好地与动态 TDD(NR 的基石之一)融合,因为由于上行链路下行链路方向是 由调度程序动态控制。 当需要或可能在上行链路中传输时,与同一频带中其他 TDD 部署的共存也可能会施加限制。 此外,即使可能,也可能不希望在每个时隙中将传输方向从下行链路改变到上行链路,因为这会增加切换开销。 因此,在 NR 中采用了一种更灵活的方案,能够动态控制何时发送确认。 下行链路DCI中的混合ARQ定时字段用于控制上行链路中确认的传输定时。 该三位字段用作 RRC 配置表的索引,提供有关何时应发送混合 ARQ 确认相对于 PDSCH 接收的信息(参见图 13.5)。
在这里插入图片描述

在此特定示例中,在上行链路中传输确认之前在下行链路中调度三个时隙。 在每个下行链路分配中,使用了不同的确认定时索引,这与 RRC 配置表结合导致所有三个时隙同时被确认(这些确认在同一时隙中的多路复用将在下面讨论)。 此外,NR 在设计时考虑到了非常低的延迟,因此能够在下行链路数据接收结束后比相应的 LTE 定时关系更快地发送确认。
在这里插入图片描述

所有设备都支持表 13.1 中列出的基准处理时间,某些设备可选择支持更快的处理时间。 该能力是按子载波间隔报告的。 处理时间的一部分在不同子载波间隔的符号中是恒定的,即以微秒为单位的时间与子载波间隔成比例,但还有一部分处理时间以微秒为单位固定并且与子载波间隔无关。 因此,表中列出的处理时间与子载波间隔不成正比,尽管存在相关性。 还依赖于参考信号配置; 如果设备在时隙后面配置了额外的参考信号时机,则设备不能开始处理,直到至少接收到这些参考信号中的一些并且总处理时间更长。 然而,由于强调了 NR 设计中低延迟的重要性,处理速度比相应的 LTE 情况快得多。 对于确认的正确传输,设备仅知道何时传输是不够的,这是从上面讨论的定时字段中获得的,而且在资源域中的位置(频率资源和对于某些 PUCCH 格式,代码域) . 在最初的 LTE 设计中,这主要是从调度传输的 PDCCH 的位置获得的。 对于在确认传输时间上具有灵活性的 NR,这样的方案是不够的。 在指示两个设备同时发送它们的确认的情况下,即使它们被安排在不同的时刻,也有必要为这些设备提供单独的资源。 这是通过 PUCCH 资源指示符处理的,它是一个三位索引,选择八个 RRC 配置的资源集之一,如第 10.2.7 节所述。

13.1.5 HARQ确认的复用

在上一节中,示例中混合 ARQ 确认的时间安排需要同时确认多个传输块。 需要在上行链路中同时传输多个确认的其他示例是载波聚合和每 CBG 重传。 因此,NR 支持将设备接收到的多个传输块的确认复用到一个多位确认消息中。 可以使用半静态码本或动态码本复用多个比特,并在两者之间选择 RRC 配置。 半静态码本可以被视为由时域维度和分量载波(或 CBG 或 MIMO 层)维度组成的矩阵,两者都是半静态配置的。 时域中的大小由表 13.1 中配置的最大和最小混合 ARQ 确认定时给定,载波域中的大小由跨所有分量载波的同时传输块(或 CBG)的数量给定。
在这里插入图片描述

图 13.6 提供了一个示例,其中确认时间分别为一、二、三和四,并且配置了三个载波,一个具有两个传输块,一个具有一个传输块,一个具有四个 CBG。 由于码本大小是固定的,混合 ARQ 报告中要传输的比特数是已知的(在图 13.6 的示例中为 4 7 5 28 比特),并且可以为上行链路控制信令选择适当的格式。 矩阵中的每个条目代表相应传输的解码结果、肯定或否定确认。 在此示例中,并非所有可能的码本传输机会都被使用,并且对于矩阵中没有对应传输的条目,传输否定确认。 这提供了稳健性; 在丢失下行链路分配的情况下,会向 gNB 提供否定确认,gNB 可以重传丢失的传输块(或 CBG)。 半静态码本的一个缺点是混合 ARQ 报告的尺寸可能很大。 对于少量的分量载波和没有 CBG 重传,这不是什么大问题,但如果配置了大量的载波和代码块组,而其中只有少量被同时使用,这可能会成为一个大问题。 为了解决某些场景下半静态码本可能较大的缺点,NR 还支持动态码本。 事实上,这是默认使用的密码本,除非系统另外配置。 对于动态码本,报告中只包含已调度运营商3的确认信息,而不是半静态码本的情况,而不是所有运营商,无论是否已调度。 因此,码本的大小(图 13.6 中的矩阵)作为调度载波数量的函数动态变化。 本质上,只有图 13.6 中的示例中的粗体条目将包含在混合 ARQ 报告中,具有灰色背景的非粗体条目(对应于非预定运营商)将被省略。 这减少了确认消息的大小。 如果下行链路控制信令中没有错误,动态码本将很简单。 然而,在下行链路控制信令中存在错误的情况下,设备和 gNB 可能对调度载波的数量有不同的理解,这将导致不正确的码本大小并可能破坏所有载波的反馈报告,并且不仅 对于那些丢失了下行链路控制信号的那些。 例如,假设设备被安排在两个后续时隙中进行下行链路传输,但错过了 PDCCH,因此错过了第一个时隙的调度分配。 作为响应,设备将仅传输第二个时隙的确认,而 gNB 尝试接收两个时隙的确认,从而导致不匹配。为了处理这些错误情况,NR 使用包含在包含下行链路分配的 DCI 中的下行链路分配索引 (DAI)。 DAI 字段进一步分为两部分,计数器 DAI (cDAI) 和在载波聚合情况下的总 DAI (tDAI)。 DCI 中包含的计数器 DAI 指示直到以载波第一、时间第二的方式接收到 DCI 时调度的下行链路传输的数量。 DCI中包含的总DAI表示截至该时间点所有载波下行传输的总数,即当前时间点的最高cDAI(示例见图13.7)。
在这里插入图片描述

计数器 DAI 和总 DAI 用十进制数字表示,没有限制; 实际上,每个使用两位,编号将环绕,也就是说,发出信号的是图中的数字模四。 如本例所示,动态密码本需要考虑 17 个确认(编号为 0 16)。 这可以与无论传输次数多少都需要 28 个条目的半静态密码本进行比较。 此外,在该示例中,分量载波五上的一次传输丢失。 如果没有 DAI 机制,这将导致设备和 gNB 之间的码本未对齐。 然而,只要设备接收到至少一个分量载波,它就会知道总 DAI 的值以及此时码本的大小。 此外,通过检查为计数器 DAI 接收的值,它可以断定遗漏了哪个分量载波,并且应该在码本中为该位置假定否定确认。 在为某些载波配置CBG重传的情况下,动态码本被分成两部分,一部分用于非CBG载波,另一部分用于CBG载波。 根据上述原则处理每个密码本。 拆分的原因是对于CBG载波,设备需要根据最大的CBG配置为这些载波中的每一个生成反馈。

13.2 RLC

无线电链路控制 (RLC) 协议以 RLC SDU 的形式从 PDCP 获取数据,并使用 MAC 和物理层中的功能将它们传送到接收器中相应的 RLC 实体。 RLC 和 MAC 之间的关系,包括将多个逻辑信道复用到单个传输信道中,如图 13.8 所示。
在这里插入图片描述

每个为设备配置的逻辑信道有一个 RLC 实体,RLC 实体负责以下一项或多项:

  • RLC SDU 的分段;
  • 重复删除; 以及
  • RLC 重传。

与 LTE 不同,RLC 协议不支持级联或顺序传送。 这是为减少整体延迟而做出的有意选择,如以下各节中进一步讨论的那样。 它还影响了页眉设计。 此外,请注意,每个逻辑信道有一个 RLC 实体,每个小区(分量载波)有一个混合 ARQ 实体,这意味着 RLC 重传可以发生在与原始传输不同的小区(分量载波)上。 这不是混合 ARQ 协议的情况,其中重传绑定到与原始传输相同的分量载波。 不同的服务有不同的要求; 对于某些服务(例如,大文件的传输),无差错的数据传输很重要,而对于其他应用程序(例如,流媒体服务),少量丢失数据包不是问题。

因此,根据应用程序的要求,RLC 可以在三种不同的模式下运行:

  • 透明模式 ™,其中 RLC 是完全透明的,基本上被绕过。 没有重传,没有重复检测,也没有分段/重组发生。 此配置用于控制平面广播信道,例如 BCCH、CCCH 和 PCCH,信息应到达多个用户。 选择这些消息的大小,以便以高概率到达所有预期设备,因此既不需要分段来处理变化的信道条件,也不需要重传来提供无差错数据传输。 此外,重传对于这些信道是不可行的,因为由于没有建立上行链路,设备不可能反馈状态报告。
  • 未确认模式(UM) 支持分段但不支持重传。 当不需要无差错传送时使用此模式,例如 IP 语音。
  • 确认模式(AM) 是DL-SCH 和UL-SCH 的主要操作模式。 支持切分、去重、错误数据重传。 在以下部分中,将描述 RLC 协议的操作,重点是确认模式。

13.2.1 序列编号和分段

在未确认和已确认模式下,序列号附加到每个传入的 SDU,未确认模式使用 6 或 12 位,已确认模式使用 12 或 18 位。 序列号包含在图 13.9 中的 RLC PDU 报头中。
在这里插入图片描述

在非分段 SDU 的情况下,操作很简单; RLC PDU 只是带有标头的 RLC SDU。 请注意,这允许提前生成 RLC PDU,因为在没有分段的情况下,标头不依赖于预定的传输块大小。 从延迟的角度来看,这是有益的,也是标头结构与 LTE 中使用的结构相比发生变化的原因。 然而,根据 MAC 复用后的传输块大小,传输块中(最后一个)RLC PDU 的大小可能与 RLC SDU 大小不匹配。 为了解决这个问题,可以将一个 SDU 分成多个段。 如果不进行分段,则需要使用填充来代替,从而导致频谱效率下降。 因此,动态改变用于填充传输块的 RLC PDU 的数量,以及用于调整最后一个 RLC PDU 大小的分段,确保传输块得到有效利用。 分割很简单; 最后预处理的 RLC SDU 可以分成两段,更新第一段的标头,并向第二段添加新的标头(这不是时间关键的,因为它不在当前传输块中传输)。 每个 SDU 段携带与原始未分段 SDU 相同的序列号,并且该序列号是 RLC 标头的一部分。 为了区分PDU是包含一个完整的SDU还是一个segment,分段信息(SI)字段也是RLC头的一部分,表示PDU是否是一个完整的SDU,SDU的第一个segment,SDU的最后一个segment ,或 SDU 的第一段和最后一段之间的段。 此外,在分段 SDU 的情况下,除了第一个分段之外的所有分段中都包含一个 16 位分段偏移量 (SO),用于指示该分段代表 SDU 的哪个字节。 报头中还有一个轮询位 §,用于请求确认模式的状态报告,如下所述,以及一个数据/控制指示符,指示 RLC PDU 是否包含进/出逻辑信道的数据或所需的控制信息 用于 RLC 操作。 上面的头部结构适用于确认模式。 未确认模式的标头类似,但不包括轮询位或数据/控制指示符。 此外,仅在分段的情况下包括序列号。 在 LTE 中,RLC 还可以将 RLC SDU 级联为单个 PDU。 但是,为了减少延迟,NR 中不存在此功能。 如果支持级联,则在收到上行链路授权之前无法组装 RLC PDU,因为事先不知道调度的传输块大小。 因此,必须提前很长时间接收到上行链路许可,以便在设备中留出足够的处理时间。 在没有级联的情况下,RLC PDU 可以在接收上行链路授权之前提前组装,从而减少接收上行链路授权和实际上行链路传输之间所需的处理时间。

13.2.2 确认模式和RLC重传

重传丢失的 PDU 是确认模式下 RLC 的主要功能之一。 虽然大多数错误都可以由 hybridARQ 协议处理,但正如本章开头所讨论的那样,将二级重传机制作为补充是有好处的。 通过检查接收到的 PDU 的序列号,可以检测到丢失的 PDU,并从发送端请求重传。 NR 中的 RLC 确认模式类似于 LTE 中的对应模式,但有一个例外——NR 不支持重新排序以确保按顺序交付。 从 RLC 中移除按顺序传送也有助于减少整体延迟,因为后面的数据包在传送到更高层之前不必等待较早丢失的数据包的重传,而是可以立即转发。 这也导致缓冲需求减少,从而对用于 RLC 缓冲的内存量产生积极影响。 在 LTE 中,它确实支持 RLC 协议的不顺序传送,除非已正确接收到所有先前的 SDU,否则无法将 RLC SDU 转发到更高层。 例如,由于瞬时干扰突发,单个丢失的 SDU 可能会在相当长的一段时间内阻止后续 SDU 的传送,即使这些 SDU 对应用程序有用,这种特性在针对非常多的系统中显然是不可取的。 低延迟。 在确认模式下,RLC 实体是双向的——也就是说,数据可以在两个对等实体之间双向流动。 这是必要的,因为 PDU 的接收需要向传输这些 PDU 的实体确认。 有关丢失 PDU 的信息由接收端以所谓的状态报告的形式提供给发送端。 状态报告可以由接收器自主传输或由发射器请求。 为了跟踪传输中的 PDU,使用标头中的序列号。 两个 RLC 实体都在确认模式下维护两个窗口,分别是传输窗口和接收窗口。 只有传输窗口中的 PDU 才有资格传输; 序列号低于窗口开始的 PDU 已经被接收 RLC 确认。 类似地,接收器只接受序列号在接收窗口内的 PDU。 接收器还丢弃任何重复的 PDU,因为每个 SDU 只应传送一个副本到更高层。
在这里插入图片描述

通过图 13.10 中的简单示例,也许可以最好地理解 RLC 关于重传的操作,其中说明了两个 RLC 实体,一个在发送节点中,一个在接收节点中。 当在确认模式下运行时,如下面假设的那样,每个 RLC 实体都具有发送器和接收器功能,但在本示例中仅讨论其中一个方向,因为另一个方向是相同的。 在示例中,编号从n到n 1 4的PDU在传输缓冲器中等待传输。 在时间 t0,序号为 n 的 PDU 已被传输并正确接收,但接收方仅确认了序号为 n 2 1 的 PDU。 如图所示,传输窗口从 n 开始,第一个尚未确认的 PDU,而接收窗口从 n 1 1 开始,下一个预期接收的 PDU。 在接收到 PDU n 后,SDU 被重组并传送到更高层,即 PDCP。对于包含完整 SDU 的 PDU,重组只是简单地去除报头,但对于分段 SDU,在接收到包含所有分段的 PDU 之前,无法交付 SDU。 PDU 的传输继续进行,并且在时间 t1,已经传输了 PDU n 1 1 和 n 1 2,但是在接收端,只有 PDU n 1 2 到达了。 一旦收到完整的 SDU,它就会被传送到更高层,因此 PDU n 1 2 被转发到 PDCP 层,而无需等待丢失的 PDU n 1 1。PDU n 1 1 丢失的一个原因可能是它是 由 hybrid-ARQ 协议重传,因此尚未从 hybridARQ 传送到 RLC。 与上图相比,传输窗口保持不变,因为接收方没有确认任何 PDU n 和更高版本。 因此,这些 PDU 中的任何一个都可能需要重传,因为发射机不知道它们是否已被正确接收。 当 PDU n 1 2 到达时,接收窗口不会更新,原因是丢失了 PDU n 1 1。相反,接收器启动一个定时器,即 t-Reassembly 定时器。 如果在定时器到期之前没有收到丢失的 PDU n 1 1,则请求重传。 幸运的是,在这个例子中,丢失的 PDU 在时间 t2 从混合 ARQ 协议到达,在计时器到期之前。 当丢失的 PDU 到达时,接收窗口提前并且重组计时器停止。 PDU n 1 1 被交付用于重组为 SDU n 1 1。重复检测也是 RLC 的责任,使用与重传处理相同的序列号。 如果 PDU n 1 2 再次到达(并且在接收窗口内),尽管它已经被接收到,但是它被丢弃。 传输继续使用 PDU n 1 3、n 1 4 和 n 1 5,如图 13.11 所示。
在这里插入图片描述

在时间 t3,已经传输了多达 n 1 5 个 PDU。 只有 PDU n 1 5 到达,而 PDU n 1 3 和 n 1 4 丢失。 与上述情况类似,这会导致重新组装计时器启动。 然而,在这个例子中,没有 PDU 在定时器到期之前到达。 计时器在时间 t4 到期触发接收器向其对等实体发送包含状态报告的控制 PDU,指示丢失的 PDU。 控制 PDU 的优先级高于数据 PDU,以避免状态报告被不必要地延迟并对重传延迟产生负面影响。 在时间 t5 收到状态报告后,发射机知道已正确接收到最多 n 1 2 个 PDU,并且传输窗口提前。 丢失的 PDU n 1 3 和 n 1 4 被重新传输,并且这次被正确接收。 最后,在时间 t6,包括重传在内的所有 PDU 都已由发射机传送并成功接收。 由于 n 1 5 是传输缓冲区中的最后一个 PDU,发送器通过在最后一个 RLC 数据 PDU 的标头中设置标志来请求来自接收器的状态报告。 在接收到带有标志设置的 PDU 后,接收器将通过发送请求的状态报告来响应,确认所有 PDU,直到并包括 n 1 5. 发送器接收到状态报告导致所有 PDU 被声明为正确接收 传输窗口提前。 如前所述,状态报告可能因多种原因而被触发。 然而,为了控制状态报告的数量并避免返回链路被过多的状态报告淹没,可以使用状态禁止定时器。 使用这样的定时器,状态报告在由定时器确定的每个时间间隔内发送的次数不能超过一次。 上面的例子基本上假设每个 PDU 都携带一个非分段的 SDU。 分段的 SDU 以相同的方式处理,但是在接收到所有分段之前,无法将 SDU 传递给 PDCP 协议。 状态报告和重传对个别段进行操作; 只有丢失的 PDU 段需要重传。 在重传的情况下,所有 RLC PDU 可能不适合为 RLC 重传安排的传输块大小。 在这种情况下,使用与原始分割相同的原则进行重新分割。

13.3 PDCP

分组数据汇聚协议 (PDCP) 负责:

  • 报头压缩;
  • 加密和完整性保护;
  • 分离承载的路由和复制;
  • 重传、重新排序和SDU 丢弃。

可以在接收器端配置具有相应解压缩功能的报头压缩,用于减少通过无线电接口传输的位数。 特别是对于 IP 语音和 TCP 确认等小负载,未压缩的 IP 标头的大小与负载本身在同一范围内,IP v4 为 40 字节,IPv6 为 60 字节,并且可以占大约 发送总比特数的 60%。 因此,将此标头压缩为几个字节可以大大提高频谱效率。 NR 中的标头压缩方案基于稳健标头压缩 (ROHC) [38],这是一种标准化的标头压缩框架,也用于其他几种移动通信技术,例如 LTE。 定义了多个压缩算法,表示为配置文件,每个特定于特定的网络层和传输层协议组合,例如 TCP/IP 和 RTP/UDP/IP。 报头压缩是为了压缩 IP 数据包而开发的。 因此,它仅应用于数据部分,而不应用于 SDAP 标头(如果存在)。 完整性保护可确保数据来自正确的来源,并且加密可防止窃听。 如果配置的话,PDCP 负责这两个功能。 完整性保护和加密用于数据平面和控制平面,并且仅应用于有效载荷,而不应用于 PDCP 控制 PDU 或 SDAP 标头。 对于双连接和分离承载(参见第 6 章,关于双连接的更深入讨论),PDCP 可以提供路由和复制功能。 对于双连接,一些无线电承载由主小区组处理,而其他无线电承载由辅助小区组处理。 也有可能跨两个小区组拆分承载。 PDCP 的路由功能负责将不同承载的数据流路由到正确的小区组,并在以下情况下处理中央单元 (gNB-CU) 和分布式单元 (gNB-DU) 之间的流量控制 分裂的gNB。 复制意味着相同的数据可以在两个单独的逻辑信道上传输,其中配置确保两个逻辑信道映射到不同的载波。 这可以与载波聚合或双连接结合使用,以提供额外的多样性。 如果使用多个载波来传输相同的数据,则在至少一个载波上正确接收数据的可能性增加。 如果接收到相同 SDU 的多个副本,接收端 PDCH 将丢弃副本。 这导致选择多样性,这对于提供非常高的可靠性至关重要。 重传功能,包括重新排序以确保按顺序传送的可能性,也是 PDCP 的一部分。 一个相关的问题是当在较低层中有两个其他重传功能,即 RLC ARQ 和 MAC 混合 ARQ 功能时,为什么 PDCP 能够重传。 原因之一是 gNB 间切换。 切换时,未交付的下行链路数据包将由 PDCP 从旧 gNB 转发到新 gNB。 在这种情况下,在新 gNB 中建立新的 RLC 实体(和混合 ARQ 实体)并且 RLC 状态丢失。PDCP 重传功能确保没有数据包因该切换而丢失。 在上行链路中,设备中的 PDCP 实体将处理所有尚未交付给 gNB 的上行链路数据包的重传,因为混合 ARQ 缓冲区在切换时被刷新。 RLC 不确保按顺序交付以减少整体延迟。 在许多情况下,数据包的快速交付比保证按顺序交付更重要。 但是,如果按顺序传送很重要,则可以配置 PDCP 来提供此功能。 重传和按顺序传送(如果已配置)在同一协议中联合处理,该协议与 RLC ARQ 协议的操作类似,只是不支持分段。 所谓的计数值与每个SDU相关联,其中计数是PDCP序列号和超帧号的组合。 计数值用于识别丢失的 SDU 并请求重传,以及在配置重新排序之前重新排序接收到的 SDU,然后再传送到上层。 重新排序基本上是缓冲接收到的 SDU,并且在交付所有编号较低的 SDU 之前不会将其转发到更高层。 参考图 13.10,这类似于在成功接收和传送 n 1 1 之前不传送 SDU n 1 2。 也可以为每个 PDCP SDU 配置一个丢弃定时器; 当计时器到期时,相应的 SDU 将被丢弃并且不会被传输。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字化时代,聊一聊企业的信息化整合

现如今,企业搭建的OA、ERP、CRM、HR、BI 以及财务软件等软件系统,其数据格式、数据库类别、操作系统、应用系统等不尽相同,位置分散相互独立,甚至有的企业在同一个系统下的财务、办公、销售、生产等系统也各自独立,相互…

蓝牙资讯|消息称苹果正开发 AirPods Lite 耳机

据 9to5Mac 报道,苹果目前正销售四种不同型号的 AirPods,包括第二代 AirPods 到定位更高端的 AirPods Max。虽然 AirPods 已成为非常受欢迎的耳机,但其并不便宜。 据海通国际分析师 Jeff Pu 爆料,苹果目前正在研发新的“AirPods…

SAP入门技术分享二:数据类型

数据类型1.概要2.数据类型的种类(1)ABAP基本数据类型(2)局部数据类型(3)全局数据类型3.DATA语句(1)TYPE type(2)LIKE num(3)VALUE int…

智能车|ROS主控与STM32建立通信软硬件全方位讲解

智能车|ROS主控与STM32建立通信软硬件全方位讲解前言智能车控制器功能通信内容硬件连接软件设置更新电平转换芯片的serial创建设备别名使用设备别名ROS与STM32串口通信代码ROS主控读取stm32发送的数据ROS主控向stm32发送数据前言 通常复杂的机器人会存在多个控制器,…

吴恩达《机器学习》——神经网络与反向传播

神经网络与反向传播1. 神经网络1.1 神经网络的前馈传播1.2 利用反向传播求梯度1.2.1 正则化梯度2. 目标函数(损失函数)2.1 PyTorch官方文档版本2.2 吴恩达讲解版本2.3 两种版本的区别在哪?2.4 正则化目标函数3. Python实现3.1 梯度校验3.2 封…

hcie-路由引入与控制

关于本实验:本实验主要介绍了路由选择工具ACL和IP-Prefix的配置,路由引入的配置以及路由策略的配置方法及注意事项。 实验目的:掌握路由选择工具的配置方法,路由策略与策略路由的配置与注意事项。 实验组网介绍: 实验…

美颜sdk人脸美妆代码分析、算法流程

美颜sdk人像美妆是非常重要的一个功能,目前深受广大用户喜爱,本篇文章小编将为大家讲解一下美颜sdk人像美妆功能的代码以及算法实现流程。 1、人像美妆算法流程 首先进行妆容模板制作,主要由Photoshop等编辑软件制作,最终由设计…

解微信弹性布局--简单搭建一个页面

Flex布局简介布局的传统解决方案,基于盒状模型,依赖 display属性 position属性 float属性什么是flex布局?Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Fle…

SpringBoot连接MySQL报错CommunicationsException: Communications link failure

情况说明 一个定时任务查询数据进行汇总,查询时间大约在20-30秒,应用链接报错。 CommunicationsException: Communications link failureThe last packet successfully received from the server was 10,026 milliseconds ago. 环境 MySQL8.0 mysql…

Java Eclipse如何调试代码

下面通过一个简单的例子来了解一下 Eclipse 调试程序的方法。上述代码完成的主要功能是如果 i 值满足小于或等于 5 的条件,就一直执行输出语句。可以看到 for 关键字后面的小括号中有三个表达式,第一个表达式int i0的作用是定义一个 int 类型的变量并赋初…

193:vue+openlayers 多边形的绘制,编辑feature,删除所选feature和清空功能

第193个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayer中使用select来选择feature元素,选中的元素可以编辑,也可以删除,同时可以删除整个图层的source内容。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果; 注意如果OpenStreetMap无法加载,…

IOS技术分享| IOS快对讲调度场景实现

前言 “快对讲” 是基于 anyRTC 音视频技术 对讲业务的产品,为客户提供专业对讲、多媒体对讲和可视化调度功能。 主要功能包含: 频道与会话多频道对讲、监听、锁定、强拆音视频单人、多人呼叫、呼叫调度台图片、视频上报视频回传、监看位置回传即时消息…

【CUDA】C++实现warpaffine仿射变换及其逆变换

目录仿射变换矩阵工具类进行前向仿射变换:i->d进行仿射变换逆向变换d->i仿射变换矩阵工具类 假设有图片i,要将其仿射变换至图片d,使用下面的类计算仿射变换矩阵i2d及d2i: 在调用compute函数后,输入i及d的尺寸&a…

[3] Jenkins 系列:如何获取出发Jenkins Job的用户信息?

Jenkins提供两种方式的Script,一种是基于声明式的,一种是基于脚本式的。 Jenkins申明式的格式 Jenkins脚本式的格式 Jenkins 官方推荐使用申明式的方式定义Jenkins的Pipeline。 有的时候我们需要在Pipeline给开发团队发消息或者邮件,告知当…

MAC(m1)-VMWare Fusion安装CentOS7.9

下载安装VMWare Fusion,安装完成后打开 https://blog.csdn.net/ZHOU_VIP/article/details/128513824 centos7.9安装镜像拖过来: 打开自定义设置: 换文件夹: 问题出来了,点击install闪一下,就没了&#xff…

C进阶:结构体的内存对齐

目录 本篇文章注意讲解结构体的内存对齐。 🕊️🐲一.为什么存在内存对齐 🤖👻二.内存对齐规则 🐬🐱三.实例 🐇例1. 🦄 例2. 🐯例3. 😼例4. 一.为什么…

二十四节气-小寒。文案、海报分享,小寒料峭 年味渐浓。

小寒,是二十四节气中的第23个节气,冬季的第5个节气,正处在“二九”“三九”期间,可以说是一年中最冷的时段。 中国古代将“小寒”分为三候:“一候雁北乡,二候鹊始巢,三候雉始鸲。” 大雁开始向…

Java堆空间(Heap Space)

Java 堆空间(Heap Space)概述在Java程序中,堆是JVM内存空间中最大的一块,同时我们知道,每个线程都拥有一个虚拟机栈,但是堆不同,Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。在《Java虚拟机…

STM32——TIM输入捕获

文章目录一、TIM输入捕获输入捕获简介频率测量二、通用定时器的输入捕获通道通用定时器框图通道的输出部分三、主从触发模式主模式从模式四、输入捕获基本结构五、PWMI基本结构六、输入捕获模式测频率电路设计关键代码七、PWMI模式测频率占空比电路设计关键代码八、定时器库函数…

分而治之——图的连通性问题及板子

连通性的判断 两大算法:并查集 和 图的遍历(DFS BFS) 分而治之的题目与解答 在这道题的下面 3587. 连通图 - AcWing题库 连通性的判断 两种方法 1.这里连通性的判断是判断连通分支是否包含所有的点。 2.也可以不开cnt数组,直接…