用管道化技术发送帧面临的新问题
出错情况:连续发送W个数据帧,其中有一帧出错,但其后续帧被成功发送
接收方的接收策略选择:丢弃错帧,缓存后续正确接收帧
发送方的重传策略选择:只重发出错帧
协议6:选择性重传
- 接收窗口存储差错帧后继的所有正确帧
- 发送方只重传差错帧
- 接收方接收重传帧,按正确顺序将分组提交网络层
选择重传协议的工作原理
回退n帧和选择性重传的比较
- 回退n帧发送方需要较大的缓冲区,适合出错率低的信道
- 选择性重传接收方需要较大的缓冲区(以用来排序),适合出错率高的信道
滑动窗口长度W的选择:
- 接受窗口W = [max(seq)+1]/2,也就最大的序列号的一半(上取整)
- 发送窗口<接收窗口
为什么W = [max(seq)+1]/2呢?样例如下:
而解决方法就是保证新老窗口不重叠