差错控制是指在数据通信过程中能发现或纠正差错,将差错限制在尽可能小的允许范围内。常用的差错控制方法有反馈检测、自动请求重发(ARQ)和前向纠错(FEC)。 1. 反馈检测 反馈检测方法又称回送校验法。双方在进行数据传输时,接收方将接收到的数据重新发回发送方,由发送方检查是否与原始数据完全相符。如不相符,则发送方发送一个控制信息通知接收方删去出错的数据。并重新发送该数据;如相符,则发送下一个数据。特点:原理简单、实现容易、可靠性强,但开销大,信道利用率低。 2. 自动请求重发(ARQ) 自动请求重发简称ARQ(Automatic Repeat reQuest),是计算机网络中较常采用的差错控制方法。ARQ的原理是:发送方将要发送的数据附加上一定的冗余检错码一并发送,接收方则根据检错码对数据进行差错检测,如发现差错,则接收方返回请求重发的信息,发送方在收到请求重发的信息后,重新传送数据;如没有发现差错,则发送下一个数据。为保证通信正常进行,还需引入计时器(防止整个数据帧或反馈信息丢失)和帧编号(以防止接收方多次收到同一帧并递交给网络层)。特点:使用检错码(常用的有奇偶校验码和CRC码等)、必须是双向信道、发送方需设置缓冲器。 3. 前向纠错(FEC) 前向纠错简称FEC(Forward Error Correction),其原理是:发送方将要发送的数据附加上一定的冗余纠错码一并发送,接收方则根据纠错码对数据进行差错检测,如发现差错,由接收方进行纠正。特点:使用纠错码(纠错码编码效率低且设备复杂)、单向信道、发送方无需设置缓冲器。 |