假设有一个网络有时会以极长的延迟传输数据。并且有一种协议使用“滑动窗口”算法来跟踪数据包确认。并想象这样一种情况:
- 发送器发送一个数据包,然后重新发送它,因为它没有得到确认。
- 其中一些重新传输的数据包会延迟。
- 然后它最终得到确认并继续传输。
- 接收器窗口最终进行了一次完整的往返,并被定位在
1.. - 一些重传的数据包延迟了
2.最终到达。 - Receiver 错误地认为它们属于当前窗口“循环”并处理它们,而不应该这样做,因为它们是重复的。
所以本质上的一个问题是 - 如何从以前的窗口“周期”中检测重复的数据包?处理这种情况常用的方法有哪些?