我是靠谱客的博主 默默水蜜桃,最近开发中收集的这篇文章主要介绍流量控制:停止-等待协议与连续ARQ协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

停止-等待协议

可靠通信三大机制:序号+确认反馈+超时重传机制
. 在这里插入图片描述
接收方收到重复帧有以下原因:
重复帧是由于发送方重发定时器超时,重发定时器超时的原因:

  • 设定时间段
  • 数据帧出现比特差错,或网络延迟大
  • 确认差错或网络延迟长

在停止等待协议中,引入1比特位的序号字段:
数据帧的发送序号N(S)以0和1交替方式出现在数据帧中。

优点:简单
缺点:效率低,物理链路的利用率比较低,信道远远没有被数据比特填满。

连续ARQ协议

发送方可一次连续发送多个数据帧,同时等待ACK应答。

  • 后退N帧协议
  • 选择重发协议

后退N帧协议

1.工作原理:

  • 发送方在连续发送多个数据帧,同时启动重发定时器
  • 如果发送方重发定时器超时前,收到了接收方的确认帧,继续发送后面数据帧
  • 如果发送方重发定时器超时,还没有收到确认,从该帧开始的后续帧全部重新发送
    在这里插入图片描述
    发送窗口大于1,接受窗口等于1.
    发送方接收到连续相同序号的ACK,说明接收方出现乱序。

2.利用滑动窗口解释:
在这里插入图片描述
上图发送窗口大小为5,
如上图所示,帧序号空间为0,1,……,7,序号字段为3比特位,发送窗口的最大值为23 -1=7

接收方窗口大小为1
3.存在问题
将出错帧后所有数据帧重传,造成线路浪费:

  • 接收窗口大小为1,无法缓存后面正确数据帧
  • 过多的重复数据帧在网络上传播

改进:

  • 增加接收窗口大小,缓存正确接收的数据帧
  • 只重传出错的数据帧

选择重发协议

在这里插入图片描述
发送窗口与后退N帧一样,但是接收窗口大小大于1
在这里插入图片描述
在选择重传协议中,发送窗口最大值为2k-1
原因:
如上图,假设接收窗口和发送窗口均为7.
1.发送方发送0-6号数据帧后,等确认帧;
2.接收方收到后,发送0-6号确认帧,并把窗口向前移动到7-5号
3.很不幸,1号和3号确认帧丢失了,超时重传,发送方再次发送1号和3号帧
4.接收方窗口已经滑动到后继的1号和3号,接收到重复的数据帧。

协议序号比特位序号空间发送窗口大小接收窗口大小
停止-等待协议1[ 0, 1]11
后退N帧协议k[ 0, 2k -1]2k -11
选择重发协议k[ 0, 2k -1]2k-12k-1

最后

以上就是默默水蜜桃为你收集整理的流量控制:停止-等待协议与连续ARQ协议的全部内容,希望文章能够帮你解决流量控制:停止-等待协议与连续ARQ协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部