个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【计算机网络】
本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交流讨论💌
一、选择重传协议
工作原理
我们通过举例说明选择重传协议的工作原理:
如图所示:发送方将序号落在发送窗口内的这四个数据分组依次连续发送出去,然后经过互联网的传输依次到达接收方。但是其中的2号数据分组丢失了。
只要序号落入接收窗口内且无误码的数据分组,接收方都会接收。接收方接收0号和1号数据分组并发送0号和1号确认分组,接收窗口向前移动两个位置,这样就有了4号和5号这两个新的序号落入接收窗口;接收方接收3号数据分组并发送3号确认分组,但是接收窗口不能向前滑动,因为3号数据分组是未按序到达的数据分组。这些确认分组经过互联网的传输陆续到达发送方,发送方每按序收到一个确认分组,发送窗口就向前滑动一个位置。
接着,发送方接收0号和1号确认分组,发送窗口则向前移动2个位置,同时4号和5号这两个新的数据分组落入发送窗口中。发送方将序号落入发送窗口的4号和5号数据分组发送出去。
发送方将落入发送窗口的4号和5号数据分组发送出去。发送方现在可以将已经收到确认的0号和1号数据分组从发送缓存中删除了;而接收方可以择机将0号和1号数据分组交付上层处理。
发送方接收3号确认分组,但发送窗口不能向前移动,因为这是一个未按序到达的确认分组。发送方还未收到它之前的2号确认分组,不过这里需要确认3号数据分组已收到确认,这样该数据分组就不会超时重发。
发送方之前重传的2号数据分组到达接收方,接收方接收该数据分组并发送2号确认分组,接收窗口现在可以向前移动4个位置,这样就有6、7、0、1这四个新的序号落入接收窗口。
2号确认分组经过互联网的传输到达发送方,发送方接收该确认分组。现在发送窗口可以向前移动4个位置,这样就有6、7、0、1这四个新的序号落入发送窗口。发送方此时就可以继续将6、7、0、1这四个序号的数据分组依次发送出去了。
二、选择重传协议的发送窗口和接收窗口的尺寸问题
现在我们来看看发送窗口和接收窗口的尺寸如果超出了它们的取值范围会出现什么情况。依然是采用3个比特给分组编序号,即序号0-7。
发送窗口的尺寸WT取最大值,接收窗口的尺寸WR也取最大值(即WT=WR=2^(3-1)=4
)。现在我们故意将发送窗口的尺寸WT设置为5
,相应地将接收窗口的尺寸WR也设置为5。看看此时会出现什么情况。
发送方将序号落入发送窗口内的0到4号这五个数据分组依次发送出去,其经过互联网的传输依次到达接收方,接收方将其接收并发送0到4号的确认分组。接收窗口向前移动5个位置,这样就有5、6、7、0、1这五个新的序号落入接收窗口。这些确认分组经过互联网传输陆续到达发送方,但是其中的0号确认分组丢失了
,发送方接收1到4号确认分组。并记录1到4号确认分组已收到确认,发送窗口不能向前移动。
一段时间后,0号数据分组的重传计时器超时了,发送方重传0号数据分组,该数据分组经过互联网传输到达接收方,接收方会接收该数据分组。但是我们不要忘了,接收方之前已经正确接收过该数据分组了,如果此时还要接收,那就会出现分组重复这种传输差错。即如果发送窗口和接收窗口的尺寸超过了取值范围就会使接收方无法分辨新、旧数据分组,进而出现分组重复这种传输差错。
练习
三、选择重传工作原理总结
本文到这里就结束了,希望友友们可以支持一下一键三连哈。嗯,就到这里吧,再见啦!!!