0

在 James Kurose 的网络“计算机网络:一种自上而下的方法”一书中,如下所述:“......发送方......尚未确认的数据包。如果收到 ACK 但仍有其他已传输但尚未确认的数据包,则重新启动计时器。

  1. 如果在序列号为 0、1、2、3 的 GB3 协议中。假设发送方发送数据包 0、1、2,并且根据最早传输但尚未确认的数据包 no-0 启动计时器。
  2. 接收方按顺序接收所有数据包。
  3. 接收方(窗口大小为 1)一次发送一个 ack 0,1,2。
  4. 假设发送方收到 ack 0。
  5. 现在根据本书的上述摘录,必须根据数据包 no-1 重新启动计时器,该数据包已发送但尚未确认。

我的问题:发送者如何在过去已经发送过的数据包 1 中重新启动定时器,同时考虑 GBN 协议中的单个定时器?

4

1 回答 1

0

Go-Back-N 中的计时器不是特定于特定数据包的。它测量两个事件之间的时间,即传输的最旧数据包 ( base) 和接收的 ack。如果在超时时间内没有收到确认,base则重新传输所有来自的数据包。对于收到的每个确认,计时器都会重新启动。让我们假设计时器是3 sec,并且收到了 packet-0 的 ack。它重新启动计时器,即设置 3 秒计时器并等待接收到 ack(累积 ack 或单个 ack)。如果发送方未能在规定时间内收到确认,则重新启动定时器并重新发送数据包。

于 2021-05-23T14:23:13.837 回答