一、选择重传协议(SR)与多帧滑动窗口
选择重传协议也是基于滑动窗口流量控制技术的。它的接收窗口尺寸和发送窗口尺寸都大于1,以便能一次性接收多个帧。若采用n个比特对帧进行编号,为避免接收端向前移动窗口后,新接收窗口与旧接收窗口产生重叠,发送窗口的最大尺寸应该不超过序列号范围的一半:WT<=2(n-1)。当发送窗口取最大值时,WR = WT = 2(n-1)。(大部分情况都是发送窗口等于接收窗口时,此时的效率才是最大的),若WT取大于2(n-1)的值,可能造成新、旧接收窗口重叠。
需要注意的是,无论是GBN还是SR,一般情况下WT(发送窗口)+WR(接收窗口)=2n(序号数)。
选择重传协议的基本思想:若一帧出错,其后续帧先存入接收方的缓冲区中,同时要求发送方重传出错帧,一旦收到重传帧后,就和原先存在缓冲区的其余帧一起按正确的顺序送达主机。选择重传协议避免了重复传输那些本来已经正确到达接收方的数据帧,进一步提高了信道利用率,但代价是增加了缓冲空间。如图所示,是选择重传协议的工作原理。

图 选择重传协议的工作原理
二、往年试题再现
数据链路层采用选择重传(SR)协议传输数据,发送方已经发送了编号0-3的数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是( )。
A.1 B.2 C.3 D.4
【答案解析】
B。由于使用的是选择重传协议,SR中不支持累积确认,只收到1号帧的确认,0、2号帧超时,因此需要重传0、2号帧,即2帧。