3.4 流量控制和可靠传输机制

3.4流量控制和可靠传输机制

ARQ(Auto Repeat reQuest)自动重传机制

流量控制的方法:

后两种又可以归类成滑动窗口协议,与停止等待协议并列
在这里插入图片描述

停止等待协议(Stop-and-Wait)

就是每发送完一个一个分组就停止发送,等待对方确认,确认后再发送下一个分组

这里的ACK(Acknowledge character)即为确认字符

1)运行过程中两种情况:

  1. 无差错的情况:
    在这里插入图片描述
  2. 有差错的情况

1.数据帧丢失或者检测到帧出错

在这里插入图片描述

注意:

1.发送一个帧后,必须保留副本
2.数据帧和确认帧必须编号

  1. ACK丢失

在这里插入图片描述

  1. ACK迟到

在这里插入图片描述
2)性能分析:

简单,信道利用率低:
在这里插入图片描述
信道利用率=发送数据的时间/整个发送周期的时间

在这里插入图片描述
例题:(这个例题中没有给接受ACK的时间,所以接收时间记为0)
在这里插入图片描述
信道利用率和信道吞吐率的关系

后退N帧协议(Go-Back-N)

发送方按窗口中的顺序依次发送0,1,2,3,4,5帧,每发送一个帧,收到确认该帧的消息后,窗口往前移动,若发送0-3号帧,只收到了ACK2,没收到ACK0和ACK1,那么可以确认0,1,2帧都发送成功,但是如果没有收到ACK2,ACK1,ACK0,(此时发送方发送的1号帧,2号帧都被丢弃了),且在0号帧的确认帧在规定时间接收不到,那么后退到0号帧,重新发送。

在这里插入图片描述
2)运行过程:

在这里插入图片描述

3)3个需要注意的点

1.上层调用
在这里插入图片描述
在这里插入图片描述
4)滑动窗口的长度

发送窗口:w属于(1,2^n-1)区间内
接收窗口:1

5)重点总结:

1.累计确认(就是接收到3号帧,表示0,1,2帧都收到了)
2.接收方只按顺序接收帧,其余丢弃
3.确认序号最大的,按序到达的帧
4.发送窗口为(1,2^n-1),接收窗口为1

6)性能分析

优点:比停止等待协议的信道利用率高

缺点:重传了好多不需重传的帧

选择重传协议(Selective Repeat)

采用3个比特给分组编号,序号为0 ~ 7,发送窗口大小为1 ~ 2^(3-1)
正常情况:假设发送窗口尺寸为4,发送窗口向接收窗口发送0,1,2,3个帧,接收方依次收下,然后往后滑动4个帧,接受4,5,6,7帧,依次进行
不正常情况1:发送方向接收方发送0~3数据帧,但是2号数据帧丢失了,接收方收到了0,1,3号数据帧,并把窗口往前移动两位,回复ACK0,1,3,发送窗口收到回应后向前移动两位,现在发送窗口的值为(2,3,4,5)其中3号帧会被标记为收到回复的帧,现在就剩下了4号和5号帧未发送,发送窗口再发送2号,4号和5号帧,等待接收方的回应

滑动窗口的长度:

1)发送窗口最好等于接收窗口

2)w(发送)=w(接收)=2^(n-1)(下图是2,因为帧是从0到3,用两个比特位表示,n=2)

这里的原因是如果用3位比特为帧编号,序号为0~7,最大只能选择4位的发送窗口,如果选择了5位发送窗口,先发送了0,1,2,3,4数据,接收端收到了这几帧,返回了确认字符,而ACK0未收到,所以接收窗口向前移动了5个字符,又是0,1,2,3,4帧,而由于未收到ACK0,发送窗口就又发了一边0号帧,这一帧是旧帧,而接收窗口无法区分是新帧还是旧帧。

所以发送窗口的大小最大为2^(n-1)

在这里插入图片描述
重点总结:

1.对数据帧逐一确认,收一个确认一个
2.只传出错的帧
3.接收方有缓存
4.接受窗口和发送窗口的大小

猜你喜欢

转载自blog.csdn.net/be_stronger/article/details/114548349
3.4
今日推荐