纯TCP Ack在以太网上的总长度是多少?

5
我使用Microsoft Network Monitor捕获了一个纯TCP ack。它显示捕获的帧长度为54字节。IP头(20字节)+ TCP头(20字节)+ Src MAC(6字节)+ Dst MAC(6字节)+ Frame Type(2字节)。我没有看到CRC(4字节)字段。我知道以太网的最小帧长度是64字节(46 + 18),最大长度是1518。为什么在Network Monitor中没有看到这个?以太网帧的数据字段值为46-1500。IP数据帧是否用零填充6个八位字节,以使总帧长为46? 找到答案:通过以太网发送的数据包的数据字段的最小长度为46个八位字节。如果需要,数据字段应该用零填充(填充八位字节),以满足以太网的最小帧大小。此填充不是IP数据包的一部分,也不包括在IP头的总长度字段中。http://www.ietf.org/rfc/rfc0894.txt IEEE 802.11帧的最小开销是多少?那里的最大和最小帧大小是多少?在WiFi上,纯TCP Ack的帧大小将是多少? 我也会接受部分答案。
2个回答

6

Wireshark在FAQ 7.10中回答了您的问题。

大多数操作系统不支持在以太网上捕获帧的FCS,很可能也不支持在大多数其他链路层类型上进行。一些操作系统上的某些驱动程序支持它,例如NetBSD上的一些(全部?)以太网驱动程序,以及Mac OS X中用于苹果千兆以太网接口的驱动程序;在这些操作系统中,您可能始终会得到FCS,或者只有在混杂模式下进行捕获时才能获取FCS(您必须确定哪种情况)。


IEEE Std 802.11 第60页:

帧体字段大小可变。最大帧体大小由最大MSDU大小(2304个八位组)加上安全封装的任何开销确定。

enter image description here


1
仅供看到这篇文章的人:有一个802.11-2007标准的修订版,称为[802.11-2012](http://standards.ieee.org/getieee802/download/802.11-2012.pdf)。上述信息可以在第382页的第一段第二行找到。 - Skully

5

首先,比较普通的以太网和wifi头部几乎是不可比较的… wifi帧有许多选项,可以扩展802.11帧的大小,在某些罕见情况下,仅wifi框架开销就可能达到74字节。此外,wifi帧的有效负载允许为0字节,而Ethernet II封装至少需要46字节的有效负载。

因此,为了给您一个预期的TCP ACK wifi大小的实际数字...

30-bytes (wifi ethernet hdr)
20-bytes (IP Header)
20-bytes (TCP Header)
 4-bytes (MIC, if WPA)
 4-bytes (CRC)
------------------------
 > 74 bytes

802.11帧的最大大小(包括头部)为2346字节。


那么,作为新手的问题是,如何知道帧的长度?帧中是否有任何字段给出该长度?我们知道可能的最大长度,可能还包括加密,但长度在哪里? - fguigui

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接