为什么大多数以太网帧中不包含 FCS?

网络工程 以太网 线鲨 层2 校验和
2021-07-24 14:20:48

我在wireshark中打开了FCS Checksum的计算。在整个 500MB 数据包转储中没有一个正确的校验和。我认为这样做的原因是该字段根本不用于此目的,而是用于有效载荷。这个假设是否正确,如果正确,为什么不使用 FCS?

1个回答

在最初的老式 10Mb/s 以太网中,您通常可以要求 NIC 驱动程序向您发送数据包,即使校验和不正确。然后,您可能能够识别有问题的主机并采取纠正措施。

自那以后:

  1. 多点网络已被交换网络取代,交换网络通常不会转发校验和错误的数据包。
  2. 以太网硬件变得更加集成和可靠,因此很少需要进行如此低级别的故障排除。它几乎“有效”,或者被扔掉。
  3. 物理层编码变得更加复杂,如果您需要在该级别进行故障排除,那么 NIC 就变得不再那么有用了。

由于所有这些原因,现代 NIC 驱动程序和硬件允许您捕获校验和错误的数据包的情况要少得多。如果是,则必须在 ethtool 或等效项中使用 -rx-fcs 和 -rx-all 启用它。

一般来说,忘记它,因为上面的 1.。