在学习停止等待协议、后退N帧协议(GBN)、选择重传协议(SR)时,遇到了一些问题。
- GBN协议与SR协议。
当在实现可靠传输的过程中,出现数据帧误码的情况下,由于GBN的累计确认的存在,一旦出错就要重传出错帧之后的所有帧。
为了提高信道的利用率,便可设法只重传出现差错的数据分组。(逐一对帧)->不再采用累计确认,同时加大接收窗口(临时把错误帧之后的帧存起来),可以接收乱序到达的帧,使得只重发出错的帧。-> 选择重传协议只重传真正丢失的分组。
故,我愿称SR协议是最优秀的数据链路层流量控制协议!
-
关于发送方的行为和得知道的
1. 上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。