1

我在 python 中使用套接字来发送文件,并且在发送这些文件时我正在做一个数据包捕获。但是,我发现每个数据包都是 1434 字节而不是 1500 字节(我的系统上的 MTU 设置为 1500 字节)。

我附上了一些数据包捕获的屏幕截图。我需要以 1500 字节而不是 1434 字节发送数据包,有人可以告诉我发生了什么吗?

抓包1 抓包2

4

1 回答 1

3

TCP 通过网络发送它想发送的任何大小的段;您无法从套接字层控制它。也许远程机器只提供了一个足够大的窗口来发送 1314 字节的数据(1314 + 14 字节的以太网头 + 20 字节的没有选项的 IP 头 + 20 字节的没有选项的 TCP 头 = 1368),或者拥塞窗口没有足够宽以发送更多数据。

此外,您不必控制它。TCP 提供了一个有序的字节流;数据包边界在 TCP中并不重要!

于 2012-08-14T17:34:15.263 回答