停止-等待协议
停止-等待协议相当于发送窗口和接收窗口大小均为 1 的滑动窗口协议。
也就是说,发送方发送一个帧后,必须接收到一个确认帧才能发送下一个。
算法实现的步骤(了解即可)
发送端
接收端
注意: 如果出现连续相同发送序号,说明发送端超时重传。如果出现连续相同序号的确认帧,说明接收端收到重复帧。
停止等待协议帧之间的时序关系
多帧滑动窗口与后退 N 帧协议(GBN Go-Back-N ARQ)
发送端
- 在 GBN 下,发送方可以连续发送多个帧,而无需发送一个帧就要等待一个确认帧。
接收端
- 但是需要注意的是,接收方只按顺序接收帧,如果失序,则要重传。
- 同时,接收端不需要接收一个就返回一个确认帧,可以是接收 n 个帧后,返回第 n 个确认帧。这叫做累加确认。
- 后退 N 帧在接收端的接收窗口大小为 1
- 传输质量差和误码率较大时不适合 GBN
下图可说明,只要某个帧出错,则该帧后的所有帧都丢弃,不会返回确认
其中,若采用比特对帧编号,则应该满足,
note
1.***问题:该协议中***至少是 max+1,如32位发送窗口则要33位***,33位***转换成二进制则是6位序号。
多帧滑动窗口与选择重传协议(SR)
思想
只重传错误的帧
注意
- 加大接收端口,用来存放失序的帧
- 每个发送缓冲区保存一个计时器
- 接收窗口和发送窗口都大于 1,一般都相等(或者接收窗口不能超过发送窗口)
- 采用累计确认
其中,若采用比特对帧编号,则应该满足,
接收窗口max = 发送窗口max =
通信方面的知识补充
- 信道效率,发送方在发送周期中,有效发出数据的时间占整个发送周期的比率
如,发送周期 T【发送周期往往=发送时延+传播时延(往返时延)】,发送 L 比特,传输速率 C
信道利用率 = - 信道吞吐量 = 信道利用率 X 发送方的发送速率(吞吐量即速率)