我的应用程序使用TCP连接到服务器,系统运行正常。使用Wireshark我注意到一些60字节的TCP数据包没有数据发送。这是正常的吗?
作为TCP传输和握手的一部分,是否有一些数据包在没有数据的情况下发送?
由于 库马尔
答案 0 :(得分:3)
有ACK
个数据包不携带数据,只确认收到的数据。使用Wireshark时,它应该在空数据包上显示这些“标志”。
为了更准确,您应该显示wireshark捕获的屏幕截图,因此我们知道您的意思是什么。 同时我在这里解剖了一个IPv4 TCP流量的ACK数据包,这些是我的结果:
Protocol Size Description Ethernet protocol 14 byte 2 MAC adresses (6 byte), Protocoll type (2 byte) Internet protocol 20 byte The default header size TC protocol 32 byte The default header size (20 byte) + options (12 byte) _____________________________________________________________________________________ Total 66 byte without EP 52 byte (Probably the size the OP is talking about) without EP, Opts 40 byte (The size talked about in the comments)
我的情况下的选项是2个NOP(每个1个字节)和两个时间戳(每个5个字节??)。协议的顺序与Wireshark中的相同。
Wireshark将信息拆分到每个字段,这样您就可以看到占用多少空间。