流量控制之SR协议
Selective Repeat 选择重传
GBN协议:由于累计确认的存在,一旦出错就要重传出错帧之后的所有帧
解决办法:回归单个确认(逐一对帧),同时加大接收窗口(临时把错误帧之后的帧存起来)。可以接收乱序到达的帧。
使得只重发出错的帧。
最优秀的数据链路层流量控制协议!
- 超时事件 相对超时计时器一个超时帧,只会重传一个帧
对接收方要做到:
对发送方窗口的帧,做到来者不拒。即使失序,也可以缓存在接收方的接收窗口中,并且之后会返回给发送方一个确认帧,使得自己回合真正结束。
发送方接收到确认才会移动发送窗口;接收方收到帧并发出确认会移动接收窗口
遇到丢失帧或者不正常帧,接收窗口就不会移动了,只会缓存并等待丢失帧
超时重传,只会传一个,但是往往"丢失帧"后面的已经被缓存下来了,因此接收方收到重传后的帧就会移动多个格子
滑动窗口的长度:
发送窗口=接收窗口=\(2^{(n-1)}\) n是编码序号的比特位数
- 数据帧逐一确定收一个确认一个
- 只穿出错的帧
- 接收方缓冲比较大,可以容纳期待帧之后的帧
- \(W_{发送}=W_{接收}=2^{(n-1)},n 是帧序号编码的比特位数\)