TCP超时不明确

时间:2015-07-26 19:12:09

标签: tcp timeout

我读了

https://tools.ietf.org/html/rfc2018

http://tools.ietf.org/html/rfc5681

但我仍然不理解超时发生的协议。

让我们举例说明我想发送3段:

我发送1,得到确认,所以cwind不会增加到2

现在我发送2 + 3并且仅在3上获得确认(段号2丢失) 所以我会进入超时 超时后会发生什么? 我将发送段号2 + 3 /或仅段号2(如选择性重复)

我需要这些信息,因为我在quize上标记了段号2 + 3将再次发送。但我没有看到协议上的spesipic。 所以我必须找到支持我答案的信息。

请帮助我

感谢

1 个答案:

答案 0 :(得分:1)

  

现在我发送2 + 3并且仅在3上获得ack(段号2丢失)所以我将进入超时,超时后将会是什么?我将发送段号2 + 3 /或仅段号2(如选择性重复)

您不会获得段的ACK,而是序列号。如果你得到包含段3的结束序列的ACK,则意味着收到了段3结束之前的所有数据,其中包括来自段2的数据。因此不需要重传。

如果使用选择性ACK(SACK),您将获得开始和结束序列号。这样,对等体可以报告它收到的是第3段而不是第2段,在这种情况下,您只需要重新传输第2段。