Go-back-N场景下ACK丢失与分组丢失的传输逻辑问题咨询
GBN协议场景推导正确性验证
结论
你的推导完全符合Go-back-N(GBN)协议的实际传输逻辑。
核心逻辑对应说明
GBN协议的两个核心规则刚好匹配该场景的运行逻辑:
- GBN采用累积确认机制:接收方只会对按序到达的最后一个分组发送ACK,只要发送方收到了ACKn,就代表编号小于n的所有分组都已经被接收方正确接收
- GBN采用超时全重传机制:如果某个分组触发超时,发送方会重传当前发送窗口内所有已发送但未得到确认的分组,不会单独重传单个超时分组
场景分步验证
- 发送方首先发送窗口内的0、1、2三个分组,接收方正确接收后依次返回ACK0、ACK1、ACK2,其中ACK2首次传输丢失
- 发送方收到ACK0、ACK1后,发送窗口滑动到
[2,3,4],按序发送3、4两个分组,其中分组4首次传输丢失 - 分组2的定时器超时后,发送方直接重传当前窗口内的2、3、4三个分组,刚好覆盖了首次传输丢失的分组4,和你的推导完全一致
补充说明
接收方如果此前已经正确收到了分组2、3,收到重传的2、3分组时会直接丢弃重复帧,按累积确认规则返回对应最新的ACK即可,不会影响传输流程正确性。
内容的提问来源于stack exchange,提问作者Saurus
相关产品推荐
相关产品推荐

