1 概述

差错控制
检测 和 纠正错误 的机制

2 差错控制

差错控制的办法描述
肯定应答接收器对收到的帧校验无误后,送回肯定应答信号 ACK,发送器收到肯定应答信号后才能继续发送后续帧(YES,ACK
否定应答重发接收器对收到的帧校验发现错误后,送回否定应答信号 NAK,发送器必须重新发送出错帧(NO,NAK
超时重发发送器从发送第一帧时就开始计时,在一定的时间间隔内若没有收到关于该帧的应答信号,则认为该帧丢失并重新发送(ARQ)

超时重发 的主要思想:利用主要差错检测技术自动地对丢失帧和错误帧请求重发,因而叫作 ARQ(Automatic Repeat reQuest) 技术。结合 流量控制 技术,可以组成 3 种形式的 ARQ 协议。

2.1 停等 ARQ 协议

  • 工作原理:发送站发出一帧后进入等待状态,收到 肯定应答信号ACK)之后才能继续发送下一帧,若有以下情况,则重发该帧
    • ① 收到 否定应答信号NAK
    • ② 在一定的时间内没有收到应答信息(超时
  • 原理图示
    在这里插入图片描述

在停等 ARQ 协议中,只要能区分两个相邻的帧是否重复就可以了,因此只用 0 和 1 两个编号,即帧编号字段长度为 1 位。
结论:对于相邻两个帧,相同则表示:超时NAK;不同则表示:ACK

2.2 选择重发 ARQ 协议

  • 工作原理重传特定的某一帧 W 发 = W 收 ≤ 2 k − 1 W_发 = W_收 \leq 2^{k - 1} W=W2k1(W:窗口大小,K:帧编号位数)
  • 图示
    在这里插入图片描述

描述:传输过程中,2 号帧出错,后续只需将 2 号帧 重新发送即可,其余帧(6、7 号帧)继续传输

2.3 后退 N 帧 ARQ 协议

  • 工作原理重传此帧 和 后续的N帧 W 发 = W 收 ≤ 2 k − 1 W_发 = W_收 \leq 2^k - 1 W=W2k1 (W:窗口大小,K:帧编号位数)
  • 图示:
    在这里插入图片描述

描述:传输过程中,2 号帧出错,后续 需将 2 号帧及后续帧(3、4、5) 重新发送即可,其余帧(6、7 号帧)继续传输

3 扩展

3.1 网工软考真题

【2019上半年-16,17】采用 HDLC 协议进行数据传输,帧 0-7 循环编号,当发送站发送了编号为 0、1、2、3、4 的 5 帧时,收到了对方应答帧 REJ3,此时发送站应发送的后续3帧为(16);若收到的对方应答帧为 SREJ3,则发送站应发送的后续 3 帧为(17)
(16) A.2、3、4
  B.3、4、5
  C.3、5、6
  D.5、6、7
  
(17) A.2、3、4
  B.3、4、5
  C.3、5、6
  D.5、6、7

参考答案:16-B,17-C
考点:HDLC 协议的帧类型
① REJ:拒绝接受(reject)。否定应答,后退 N 帧重发
② SREJ:选择性拒绝接收(selective reject)。否定应答,选择重发

REJ3:从编号 3 开始,后退 3 帧为 3、4、5,故 16-B
SREJ3:重新发送编号为 3 的帧,以及后续的 5、6,故 17-C

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐