我使用Microsoft网络监视器捕获了一个纯TCP ack。它将捕获的帧长度显示为54个字节。 IP头(20字节)+ TCP头(20字节)+ Src MAC(6字节)+ Dst MAC(6字节)+帧类型(2字节)。我没有看到CRC(4字节)字段。我知道以太网的最小帧长度是64字节(46 + 18),最大值是1518.为什么我在网络监视器中看不到这个?以太网帧的数据字段值为46-1500。 IP数据帧是否用6个八位字节填充零,以使总帧长度为46?
找到答案:通过网络发送的数据包的数据字段的最小长度 以太网是46个八位字节。如有必要,应填充数据字段 (八位字节为零)以满足以太网最小帧大小。这个 填充不是IP数据包的一部分,不包含在总数中 IP头的长度字段。 http://www.ietf.org/rfc/rfc0894.txt
IEEE 802.11中帧的最小开销是多少?那里的最大和最小帧尺寸是多少?通过WiFi实现纯TCP Ack的帧大小是什么?
我也会接受部分答案
答案 0 :(得分:6)
Wireshark在FAQ 7.10中回答了您的问题。
大多数操作系统不支持在以太网上捕获帧的FCS,并且可能不支持大多数其他链路层类型。某些操作系统上的某些驱动程序确实支持它,例如NetBSD上的一些(所有?)以太网驱动程序,以及可能是Mac OS X中Apple的千兆以太网接口的驱动程序;在那些操作系统中,您可能总是获得FCS,或者如果您以混杂模式捕获,则可能只获得FCS(您必须确定是哪种情况)。
IEEE Std 802.11第60页:
Frame Body字段的大小可变。最大帧体大小由最大MSDU大小(2304个八位字节)加上安全封装的任何开销确定。
答案 1 :(得分:5)
首先,比较普通的以太网和wifi标头几乎是苹果和橙子的比较...... wifi框架有多种选项可以扩展802.11框架的尺寸,在一些罕见的情况下,单独的wifi框架开销可以是74个字节。此外,与允许至少46字节有效载荷的以太网II封装不同,允许wifi帧的有效载荷为0字节。
所以,用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字节。