当所有确认丢失时选择性重复

问题描述

所以我从一本书中得到了这个问题,但我自己找不到答案,也没有在其他任何地方找到任何相关的内容

反正情况是序列号位是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 (将#修改为@)