问题描述
所以我从一本书中得到了这个问题,但我自己找不到答案,也没有在其他任何地方找到任何相关的内容。
反正情况是序列号位是2,所以序列是:\
00 01 10 11 00 ....
并且窗口大小为 2^(2-1)=2。
所以传输会像这样(我认为):
- 发件人发送:00 和 01。
- 接收方接收:00 和 01。
- 接收器发送 00 和 01 的 ACK,但两者都丢失。所以定时器
因为他们还在继续。
所以现在,接收者期望得到 10 和 11。 - 当发送器定时器超时时,它会重新发送 00 和 01,未完成的 发送方窗口的数据包。
- 但是接收器会丢弃它们,因为这些数据包在它的外部 窗口,并发送一个带有 10 的 ACK,最早的未完成数据包 在接收器窗口中。
- 当发送方收到这个ACK时,发送方丢弃该ACK
因为 ACK 在发件人的窗口之外。
而在 SR 协议中,ACK 不是累积的,因此发送方的窗口保持不变。
而且最后三个步骤不断重复,所以传输卡在一个循环中。
所以我错过了什么吗?或者这只是选择性重复协议的限制?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)