2

我正在尝试对应用程序进行逆向工程,我需要帮助了解 TCP 窗口大小的工作原理。我的 MTU 是 1460 我的应用程序使用 TCP 将文件从 A 点传输到 B。我知道以下内容:

  • 文件被分成大小为 8K 的段
  • 每个段都被压缩
  • 然后每个段通过 TCP 发送到 B 点。文本文件的这些段大小可以是 148 字节,而 pdf 文件的大小可以是 6000 字节。

对于文本文件,我是否应该看到 148 段相互连接以形成一个大型 TCP 流?然后根据Window Size进行拆分?

任何帮助表示赞赏。

4

1 回答 1

0

接收方应用程序应该以与发送方应用程序发送数据相同的方式查看数据。TCP 使用字节流,因此它以有序的方式收集所有字节并将其传递给应用程序。MTU 在很大程度上是 TCP 的内部语义,不考虑应用层数据包边界。如果 TCP 在其发送缓冲区中有足够的数据发送(每个 TCP 套接字都有自己的发送缓冲区,顺便说一句),那么它将打包其下一个具有 MTU 大小的段并发送它;更准确地说,它从 MTU 大小中减去 TCP 和 IP 标头。

于 2013-09-03T22:51:54.567 回答