选择重传
选择重传(Selective Repeat)
在GBN中,单个分组的差错就能够引起大量分组的重传,其中有很多分组其实是没有必要重传的。选择重传协议只需让发送方重传有差错的分组,而对于在窗口内已经接收的分组,将会把失序的分组缓存,直到重新接收到先前丢失的分组,这时才可以将这一批分组按序交付给上层。
单独确认、缓存与定时器
接收方对正确收到的每个窗口内分组单独确认。发送方记录这些ACK,但只有窗口左边界被确认后才能前移;缺口之上的ACK不会跳过未确认分组。每个未确认分组分别维护定时器,超时只重传对应分组。
接收方缓存窗口内失序分组,补齐缺口后将连续前缀按序交付。若收到刚刚移出接收窗口的旧分组,应再次确认,但不能再次交付;原ACK可能已经丢失。
知识测验
题目
SR等待2,正确收到窗口内的3,应怎样处理?
互动实验
SR:恢复丢失分组
访问权限PRO
PRO EXCLUSIVE探索不止于此
尊享 Pro 权益解锁完整互动实验、进阶解析与精选参考答案。
序号空间至少是窗口的两倍
设双方窗口大小均为,序号空间大小为,必须满足:
接收方可能已经交付一整个窗口,而发送方因ACK丢失仍保留旧窗口。若新旧窗口使用重叠序号,接收方无法分辨旧重传与新数据。循环窗口比较需要模运算;数据恢复实验使用逻辑编号,序号环实验单独展示回绕。
互动实验
观察序号循环的歧义
访问权限PRO
PRO EXCLUSIVE探索不止于此
尊享 Pro 权益解锁完整互动实验、进阶解析与精选参考答案。
知识测验
题目
SR使用3位序号,双方窗口等大,最大安全窗口是多少?
动手练习
比较一次丢包下的GBN与SR
用SR窗口N=4重做GBN情景:发送0–3,丢失2,收到ACK0/ACK1后发送4/5,其余传输均到达。比较缓存、base移动、重传集合、总发送次数与应用交付顺序。用具体序号集合解释M=8、N=5为何不安全。