什么决定了http数据包中的tcp长度?

什么决定了http数据包中的tcp长度?,http,tcp,http-headers,Http,Tcp,Http Headers,我已经看到tcp长度在变化,但不确定是什么原因造成的 32字节 40字节 是否可以将此固定值设置为32字节 --更新-- 我不确定MSS是否与TCP长度相关,也就是说1460给出32字节? 由于多种原因,TCP标头长度可能会有所不同 通常的值是40字节,但SACK等选项可能会导致更长的报头,因为在数据包被丢弃或过度延迟的情况下,会对流的特定部分进行确认 HTTP通常对底层传输TCP头的大小没有兴趣或控制权。这些内容通常由操作系统TCP/IP堆栈设置,尽管有些内容可以通过iocontrols更

我已经看到tcp长度在变化,但不确定是什么原因造成的

32字节

40字节

是否可以将此固定值设置为32字节

--更新-- 我不确定MSS是否与TCP长度相关,也就是说1460给出32字节?
由于多种原因,TCP标头长度可能会有所不同

通常的值是40字节,但SACK等选项可能会导致更长的报头,因为在数据包被丢弃或过度延迟的情况下,会对流的特定部分进行确认


HTTP通常对底层传输TCP头的大小没有兴趣或控制权。这些内容通常由操作系统TCP/IP堆栈设置,尽管有些内容可以通过iocontrols更改为套接字。

比较差异?不确定是否可以将第二个设置为32字节?为什么要这样做?但我的观点是,如果你有两个不同的数据包,它们肯定会有一些差异,只有你能比较,因为你的截图被截取在有趣的部分。我知道MTU 1500意味着MSS 1460,但1460会给出32字节吗?或者SACK是关键,如果没有嗅探工具,是否可以计算?SACK选项的大小取决于正在确认的流块的数量。1460的MSS基于标称TCP头长度40,我认为这实际上是最小值