计算机网络 ——可靠传输的实现机制

停止等待协议 (SW)


正常情况

  • SWStop and Wait
  • 发送方发送分组给接收方后,必须收到接收方ACK,才能发送下一个分组
  • 如果接收方检测出分组有误,则发送NAK发送方,要求发送方重传
  • 如图:
    计算机网络 ——可靠传输的实现机制

超时重传

  • 发送方的分组在传输中意外丢失,那么
    计算机网络 ——可靠传输的实现机制
  • 如下
    计算机网络 ——可靠传输的实现机制

确认丢失

  • 如果接收方的 ACK 丢失,发送方触发超时重传:接收方如何区别重复分组
    计算机网络 ——可靠传输的实现机制

确认迟到

  • 如果接收方对 DATA0 的确认迟到,那么会导致DATA0的重传
  • 然后姗姗来迟的ACK0被当成了重传的DATA0的确认分组,并开始传输DATA1
  • 如果DATA1传输失败,但是上一个DATA0的确认分组,会让发送方误以为是DATA1的确认分组,从而导致分组DATA1 缺失
  • 因此,需要对确认分组ACK也编号
    计算机网络 ——可靠传输的实现机制

缺点

  • 发送方必须停止等待上一个分组确认才可以发送下一个分组,信道利用率低
    计算机网络 ——可靠传输的实现机制

回退N帧协议(GBN)


正常情况

  • GBNGo Back N

  • 首先规定用几个比特给分组编号,如 3 个,即序号 0~7

  • 发送窗口尺寸Wt的取值必须在 1 < Wt < 23- 1

  • 接收窗口尺寸Wr取值只能是1,即 Wr = 1
    计算机网络 ——可靠传输的实现机制

  • 位于发送窗口的分组都可以连续发送
    计算机网络 ——可靠传输的实现机制

  • 当接收窗口的序号与接收分组的序号一致时,接收窗口向后滑动
    计算机网络 ——可靠传输的实现机制

累计确认

  • 接收方可以对收到的分组进行累计确认
    计算机网络 ——可靠传输的实现机制

回退N帧

  • 如果发送过程中出现了错误,例如 5 号分组出错被丢弃
  • 那么后面的 6 ~ 1 号分组因为与接收窗口的序号不一致,也只能丢弃
  • 因此需要发送方重新发送 N 帧
    计算机网络 ——可靠传输的实现机制

Wt取值过大

  • 如果发送窗口大于等于 2n- 1,假如此处取 7,那么
    计算机网络 ——可靠传输的实现机制

缺点

  • 仅有一个分组出错,就会导致其后的所有分组重传,在网络条件差的情况下,效率很低

选择重传协议(SR)


正常情况

  • SRSelective Request
  • 首先规定用几个比特给分组编号,如 3 个,即序号 0~7
  • 发送窗口尺寸Wt的取值必须在 1 < Wt <= 23-1
  • 接收窗口尺寸Wr = Wt

计算机网络 ——可靠传输的实现机制

分组丢失时

  • 接收方会接收成功的分组,并尽可能的滑动接收窗口
    计算机网络 ——可靠传输的实现机制

  • 发送方收到确认分组后,标记哪些分组被成功发送,并尽可能的滑动窗口
    计算机网络 ——可靠传输的实现机制

  • 未收到确认分组的,发送方则触发超时重传
    计算机网络 ——可靠传输的实现机制

  • 如下
    计算机网络 ——可靠传输的实现机制

Wt 取值过大

  • 导致接收方无法分辨新、旧数据分组

计算机网络 ——可靠传输的实现机制

上一篇:matlab对文件夹的遍历


下一篇:cmd查看指定端口占用情况,通过进程号查看进程,杀死进程