我遇到了以下问题:
节点 A 通过路由器 R 向 B 发送数据包。链路 AR 是瞬时的,但 R->B 链路每秒仅传输 1 个数据包,一次一个。假设 A 使用窗口大小 =4 的滑动窗口协议向 B 发送,对于时间 t=2 ,说明哪些数据包到达 R 以及在 R 的队列中存在哪些数据包?
给出的解决方案是:
由于链接 A 到 B 是瞬时的,在时间 0,所有帧 0,1,2,3,4... 将在路由器 R。窗口大小为 4。因此,我们将其表示为 [0,1, 2,3],4,…。链路 R 到 B 每秒只能传输 1 个数据包。因此,在时间 1,R 将向 B 发送帧 0。在时间 1,B 将向 R 发送数据包 0 的 ACK。因此,R 处的窗口将滑动,使其变为:0,[1,2,3,4],...
疑问
Go Back N 使用累积确认,那么如果在时间 0 和 1,路由器将数据包 0 和 1 发送到接收方怎么办?时间 2 的路由器窗口仍将包含帧 [0,1,2,3],因为帧 0 尚未确认。这是错的吗?或者我错了,滑动窗口协议意味着选择性重复,它为每一帧发送 ACK?