我在 python 中使用套接字来发送文件,并且在发送这些文件时我正在做一个数据包捕获。但是,我发现每个数据包都是 1434 字节而不是 1500 字节(我的系统上的 MTU 设置为 1500 字节)。
我附上了一些数据包捕获的屏幕截图。我需要以 1500 字节而不是 1434 字节发送数据包,有人可以告诉我发生了什么吗?
我在 python 中使用套接字来发送文件,并且在发送这些文件时我正在做一个数据包捕获。但是,我发现每个数据包都是 1434 字节而不是 1500 字节(我的系统上的 MTU 设置为 1500 字节)。
我附上了一些数据包捕获的屏幕截图。我需要以 1500 字节而不是 1434 字节发送数据包,有人可以告诉我发生了什么吗?
TCP 通过网络发送它想发送的任何大小的段;您无法从套接字层控制它。也许远程机器只提供了一个足够大的窗口来发送 1314 字节的数据(1314 + 14 字节的以太网头 + 20 字节的没有选项的 IP 头 + 20 字节的没有选项的 TCP 头 = 1368),或者拥塞窗口没有足够宽以发送更多数据。
此外,您不必控制它。TCP 提供了一个有序的字节流;数据包边界在 TCP中并不重要!