1

我的应用程序使用 TCP 连接到服务器并且系统工作正常。使用 Wireshark 我注意到一些 60 字节的 TCP 数据包在没有数据的情况下发送。这是正常的吗?

作为 TCP 传输和握手的一部分,是否发送了一些没有数据的数据包?

谢谢库马尔

4

1 回答 1

3

有些ACK数据包不携带数据,只确认接收到的数据。使用 Wireshark 时,它应该在空包上显示这些“标志”。

为了更准确,您应该显示wireshark捕获的屏幕截图,这样我们就知道您的意思是什么大小。同时,我在这里剖析了一个 IPv4 TCP 流量的 ACK 数据包,这些是我的结果:

    协议大小描述
以太网协议 14 字节 2 MAC 地址(6 字节),协议类型(2 字节)
Internet 协议 20 字节 默认标头大小
      TC 协议 32 字节 默认头大小(20 字节)+ 选项(12 字节)
_____________________________________________________________________________________
            共 66 字节
       没有 EP 52 字节(可能是 OP 所说的大小)
 没有 EP,Opts 40 字节(评论中谈到的大小)

在我的例子中,选项是 2 个 NOP(每个 1 字节)和两个时间戳(每个 5 字节??)。协议的顺序与 Wireshark 中的相同。

Wireshark 将信息拆分为每个字段,因此您可以查看哪些内容占用了多少空间。

于 2012-07-26T13:53:07.177 回答