【发布时间】: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?
【问题讨论】: