Wireshark捕获的以太网帧中的预告片和填充字段有什么区别?

网络工程 以太网 线鲨
2022-02-17 17:36:58

以太网的最小长度应该是 64 Bytes,所以当数据小于 46B 时,会有一些额外的字节填充到数据的末尾,请确保帧大小达到 64B。当我通过 Wireshark 捕获小于 64B 的帧时,它会显示“填充”或有时是“拖车”,所以我的问题是:Wireshark 捕获的以太网帧中的拖车和填充字段有什么区别?

在此处输入图像描述

在此处输入图像描述

==================================================== ==================

我以前以为padding和trailer是一回事,但是当我看到它们出现在一个帧中时,我感到很困惑。就这样↓ 在此处输入图像描述

1个回答

由于 ARP 数据包大小是固定的并且小于最小以太网负载,因此需要始终使用填充。Wireshark 通常看不到关闭接收帧的 FCS [1],因此它需要对哪些字节可能被填充进行一些猜测。它将这些多余的字节称为预告片填充可能会显示在发送的帧上,尽管这些填充字节通常不可见(因为它们仅由 NIC/驱动程序添加)。

基本上,这是一回事——只要 Wireshark 正确解释帧内容。

[第二个屏幕截图的补充]:我正在计算 18 个填充字节,这是 ARP 数据包大小(28 个字节)和最小以太网有效负载大小(46 个字节)之间的确切差异 - 这是以太网要求的填充,并且被识别为线鲨。

其余的是尾随最小帧的多余数据(垃圾?),因此它被标记为Trailer看起来它以(可能是正确的)FCS 开头,然后是更多字节 - 可能被 Wireshark 误解的元数据,这也可以解释FCS 状态 bad

您可能需要重新检查 Wireshark 的转储的导入选项以更了解它。

[1]物理层通过停止载波信号或发送特殊符号(取决于变体)来指示真正的帧结束。这在任何时候对捕获库都是不可见的。NIC 驱动程序只提供一个包含字节的缓冲区,通常也剥离了 FCS。