L2层差错控制与HARQ协议介绍
一、差错控制技术简介
差错控制数据链路层层是一个非常重要的功能,数据链路层层需要在不太可靠的物理层来尽量实现可靠的链路层传输,靠的就是差错控制。所谓差错控制,就是发送端对传输的数据信息检错编码、纠错编码,接收端对接收到的数据进行错误检测,加以恰当的纠错、并进行确认的处理过程。
检错是指接收方通过各种方法能发现数据中的错误并且通知发送方进行重传该信息,常见的检错技术包括CRC。纠错是指当发现错误地时候直接能够改正,而不是通过反馈给发送方进行重传。
传输出错分下面几种情况:
(1)数据丢失,(2)数据受到干扰出错

那么和上面错误对应的就是差错控制的功能:
- 正确接收,肯定确认:这个是最基本的情况,只要接收端认为自己收到数据是对的,就发送一个ACK告知发送方。
- 数据丢失,超时重发:这个对应的是发送数据和确认丢失的情况。
- 数据错误,否定确认:这个用于数据错误之后的重发 。
通过以上情况考虑,设计出来的协议就是差错控制。通过接收方请求发送方重传出错的数据报文来恢复出错的报文,是通信中用于处理信道所带来差错的方法之一,有时也被称为后向纠错(Backward Error Correction,BEC);
“后向”纠错:表示放弃之前已经发送的数据,重新发送新的数据。
常见的差错控制技术包括:

二、差错控制与ARQ
在深入HARQ之前,我们必须先理解它要解决的问题和它的前身。
1、为什么需要差错控制
物理信道(无线或有线)并非理想信道。信号会受到噪声、干扰、衰落等因素的影响,导致接收端收到的比特流与发送端发出的比特流不一致,即产生误码。
数据链路层的核心目标之一就是在不可靠的物理链路上,提供可靠的数据传输。差错控制就是实现这一目标的关键技术。
2、主要的差错控制技术
1、前向纠错(FEC)
原理:发送端在数据比特中加入冗余信息(校验比特),形成纠错码(如卷积码、LDPC码、Turbo码)。接收端利用这些冗余信息自动检测并纠正一定数量的错误。
优点:无需重传,延迟小。适用于实时业务(如语音、视频通话)或信道反馈困难(如深空通信)的场景。
缺点:引入了固定的冗余开销,降低了有效吞吐量。当错误超过其纠错能力时,仍然会得到错误的数据。
2、自动重传请求(ARQ)
原理:发送端加入冗余信息形成检错码(如CRC循环冗余校验)。接收端检测到错误后,请求发送端重新发送该数据块。
核心机制:
- 停等式(Stop-and-Wait):发送一帧后,等待确认(ACK)。收到ACK后再发下一帧;若超时未收到ACK或收到否定确认(NACK),则重传。简单但效率低。
- 回退N帧(Go-Back-N):允许连续发送多个帧。如果某一帧出错,从该帧开始的所有后续帧都被重传。
- 选择重传(Selective Repeat):允许连续发送多个帧。只重传那些出错或丢失的特定帧。效率最高,但接收端需要缓存乱序到达的帧,实现更复杂。
优点:可靠性高,只在出错时才引入开销。
缺点:重传带来可变且可能较大的延迟,不适合实时业务。需要反馈信道。
三、混合自动重传请求(HARQ)的深入理解
HARQ并不是一个全新的技术,而是FEC和ARQ的智能结合,旨在取长补短,获得比单纯使用FEC或ARQ更好的性能。
1、核心思想
在ARQ的基础上,引入FEC纠错能力。发送端发送的码字不仅能够被检测出错误,还具有一定的纠正错误的能力。
当错误较少时,接收端的FEC可以直接纠正,避免了重传,降低了延迟。
当错误较多,超出FEC的纠错能力时,接收端不直接丢弃数据,而是将其存储起来,并发送NACK请求重传。发送端重传的信息与之前存储的信息进行合并,从而增强纠错能力,最终正确解码。
这种“存储与合并”的机制是HARQ性能优越的关键。
2、HARQ的关键技术与类型
软合并(Soft Combining)
这是HARQ区别于传统ARQ的灵魂所在。传统ARQ在检错失败后直接丢弃错误数据包。HARQ的接收机则将每次传输的模拟量信息(软比特,LLR) 存储下来。
软比特:携带了“0”或“1”的可信度信息。例如,+3.5V比+0.1V更可能是“1”。
合并:当重传到达时,接收机将本次收到的软比特与之前存储的对应软比特进行合并(通常是简单相加)。这相当于提高了正确比特的信噪比,使得之前无法解码的数据块现在有可能被正确解码。
根据重传内容的不同,软合并主要分为两种:
Chase合并(CC)
原理:每次重传的内容与初始传输完全相同。
优点:实现简单。多次传输的合并相当于重复发送,获得了时间分集增益,提高了信噪比。
缺点:效率不是最优,因为每次重传的冗余信息是相同的。
增量冗余(IR)
原理:首次传输使用高码率的FEC码(冗余较少,信息较多)。如果解码失败,发送端不是简单重复,而是发送额外的、不同的冗余比特(增量冗余)。接收端将这些新的冗余比特与之前存储的信息组合,形成一个码率更低、纠错能力更强的码字。
优点:自适应信道条件,提供了编码增益,性能通常优于Chase合并。在信道条件差时,通过多次IR传输,可以逐步降低有效码率。
缺点:接收端需要存储更多的软信息,实现更复杂。
比喻理解:
ARQ:你说了句话“今晚开会”,对方没听清,说“请重复”。你原封不动地大声重复“今晚开会!”。
Chase合并:对方把你的两遍“今晚开会”在脑子里叠加,听得更清楚了。
增量冗余:对方没听清“今晚开会”。你先补充“时间是晚上”,如果还不够,你再补充“地点在101”。对方结合“今晚”、“晚上”、“101”这几个信息,最终推断出完整意思“今晚在101开会”。
HARQ进程管理
为了保持管道高效,HARQ采用类似“回退N帧”或“选择重传”的并行进程机制。
发送端有多个并行的HARQ进程(在4G/5G中通常是8或16个)。
当一个进程在等待ACK/NACK时,发送端可以继续使用其他进程发送新的数据。
这有效地“隐藏”了重传带来的等待时间,实现了高吞吐量。
每个HARQ进程都有自己的缓冲区和状态机。
3、HARQ在4G LTE和5G NR中的应用
4G LTE:
同时支持Chase合并和增量冗余。采用异步自适应的HARQ。
异步:重传的发生时间不固定,由调度器动态决定。
自适应:每次重传的资源(如频率、调制方式)都可以重新分配,非常灵活。
5G NR:
继承了LTE的HARQ优势,并为了满足更严苛的URLLC(超高可靠低时延通信)场景进行了优化。
更快的反馈:缩短了从收到数据到发送ACK/NACK的时间。
更多的HARQ进程:为了支持更宽的带宽和更灵活的时隙结构。
在mMTC(大规模机器类通信)场景中,为了简化终端复杂度,有时会禁用HARQ。
四、总结与对比
技术 | 机制 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
FEC | 添加冗余,接收端自动纠错 | 低延迟,无需反馈 | 固定开销,纠错能力有限 | 实时业务,反馈困难 |
ARQ | 添加冗余,接收端检错并请求重传 | 高可靠性,动态开销 | 延迟大且可变,需要反馈 | 非实时,高可靠业务 |
HARQ | FEC + ARQ + 软合并 | 高可靠性,高吞吐量,自适应信道 | 实现复杂,需要接收端缓存 | 现代无线通信的核心(4G, 5G, Wi-Fi) |
根本优势:HARQ的成功不在于它简单地结合了FEC和ARQ,而在于引入了软合并这一革命性思想,将“失败”的传输变成了“部分成功”的积累。
性能权衡:HARQ在可靠性、延迟、吞吐量和复杂度之间取得了出色的平衡。
系统级角色:在L2 MAC层,HARQ与调度器紧密协作,是快速应对信道变化的第一道防线。更上层的重传(如TCP)速度慢得多,HARQ有效地避免了高层重传,提升了用户体验。
