关于 GBN 协议,单个定时器如何跟踪发送未确认数据包的时间?
In relation to GBN protocol, how does a single timer tracks time of sent unacknowledged packets?
在 James Kurose 的网络书籍“计算机网络:自上而下的方法”中陈述如下:
“......发送者......只使用一个计时器,它可以被认为是最旧的已传输但尚未确认的数据包的计时器。如果收到 ACK 但仍有其他已传输但尚未确认的数据包,计时器重新启动。"
- 如果在序列号为 0,1,2,3 的 GB3 协议中。假设数据包 0、1、2 由发送方发送,并且根据最早传输但尚未确认的数据包 no-0 启动计时器。
- 接收方按顺序接收所有数据包。
- 接收方(window 大小为 1)发送 ack 0,1,2 一个
时间。
- 假设发送方收到ack 0。
- 现在根据上面摘录的书,计时器必须是
根据packet no-1重启,发送但未发送
尚未承认。
我的问题:发件人如何重新启动定时器,当数据包 1 在过去已经发送时,保持对 GBN 协议中单个定时器的看法?
Go-Back-N 中的计时器不特定于特定数据包。它测量两个事件之间的时间,即发送的最旧数据包 (base
) 和收到的确认。如果在超时时间内没有收到ack,则重传来自base
的所有数据包。对于每个收到的确认,计时器都会重新启动。让我们假设计时器是 3 sec
,并且收到 packet-0 的 ack。它重新启动计时器,即设置 3 秒计时器并等待接收确认(累积确认或单独确认)。如果发送方在规定的时间内没有收到ack,则重新启动定时器并重传数据包。
在 James Kurose 的网络书籍“计算机网络:自上而下的方法”中陈述如下: “......发送者......只使用一个计时器,它可以被认为是最旧的已传输但尚未确认的数据包的计时器。如果收到 ACK 但仍有其他已传输但尚未确认的数据包,计时器重新启动。"
- 如果在序列号为 0,1,2,3 的 GB3 协议中。假设数据包 0、1、2 由发送方发送,并且根据最早传输但尚未确认的数据包 no-0 启动计时器。
- 接收方按顺序接收所有数据包。
- 接收方(window 大小为 1)发送 ack 0,1,2 一个 时间。
- 假设发送方收到ack 0。
- 现在根据上面摘录的书,计时器必须是 根据packet no-1重启,发送但未发送 尚未承认。
我的问题:发件人如何重新启动定时器,当数据包 1 在过去已经发送时,保持对 GBN 协议中单个定时器的看法?
Go-Back-N 中的计时器不特定于特定数据包。它测量两个事件之间的时间,即发送的最旧数据包 (base
) 和收到的确认。如果在超时时间内没有收到ack,则重传来自base
的所有数据包。对于每个收到的确认,计时器都会重新启动。让我们假设计时器是 3 sec
,并且收到 packet-0 的 ack。它重新启动计时器,即设置 3 秒计时器并等待接收确认(累积确认或单独确认)。如果发送方在规定的时间内没有收到ack,则重新启动定时器并重传数据包。