【问题标题】:TCP Receiver Behaviour in Gap Formation间隙形成中的 TCP 接收器行为
【发布时间】:2018-05-10 05:30:13
【问题描述】:

我知道 TCP 接收器在发送 ACK 之前会等待 500 毫秒以等待另一个有序数据包。当检测到间隙时,TCP 接收器也会立即发送 DUPLICATE ACK。但是,我不太确定下一个场景中的接收器行为:

假设发送方发送大小为 1000 字节的数据包。发送序号为 2000、3000、4000 的数据包。

在到达接收方的途中,seqNum 为 3000 的数据包丢失。其余两个数据包在 500ms 间隔内收到。

接收方,当接收到 seqNum 2000 的数据包时,会推迟等待 seqNum 3000 的数据包,但它会收到 seqNum 4000 的数据包。

我的问题是,接收方会触发多少个 seqNum 3000 的 ACK 包?是1还是2?

【问题讨论】:

    标签: tcp tcpclient


    【解决方案1】:

    如果您的系统支持选择性 ACK(很可能支持),那么您将看到一个 ACK​​ 返回,其中包含较低的确认号(最后一次看到),但选择性 ACK 选项集列出了后面的段也已见过。这将允许发件人仅重新发送丢失的部分,而不是 3000 及以上的所有内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 2022-06-12
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多