2012-07-22 40 views
3

我有一個關於TCP_ACK如何在原始分組分片時工作的問題。IP分片和TCP確認

例如,原始數據包大小爲1,500 * N字節,MTU爲1,500。然後,數據包將被分成(近似)N個數據包。 在這種情況下,接收方如何向發送方發送TCP_ACK? 我用wireshark檢查過,似乎接收器爲每兩個分片數據包發送TCP_ACK。這樣對嗎?

你能給我一些這樣的解釋嗎? 謝謝。接收機堆棧上

回答

2

IP層重新組合所有的IP片段成單個TCP段到TCP移交數據包之前。在正常情況下,TCP應該只發送一個ACK給整個TCP段。 ACK#將像往常一樣成爲下一個預期的SEQ#。

+0

這是否意味着如果一個片段沒有到達,tcp將只向一個片段發送一個錯誤,以便這個片段可以被重新發送 – 2016-08-22 11:02:23