帧检验序列(FCS)

在数据链路层要解决数据传输的三个问题:

  • 封装成帧
  • 透明传输
  • 差错检验

这里,重点讨论一下差错检测里面最常用的一种检测算法,循环冗余算法(CRC)以及通过这个算法生成的帧检验序列(FCS)

FCS是802.3帧和Ethernet帧的最后一个字段(4字节).

帧校验序列(FCS)是指特别的检测码字符被添加到在一个通信协议中的帧中进行检错和纠错。发送主机在整个帧中有一个检测码随着发送。接收主机在整个帧中的检测码使用相同的运算法则,并将它与接收到的 FCS 相比较。这样,它能够探测是否任何数据在运输中丢失或被改变。它可能当时丢失这个数据,和请求错误帧的重传。一个循环冗余码校验常被用来估算 FCS。

FCS 字段 — 包含帧的 32 位循环冗余校验 (CRC), 数据链路层帧方式接入协议(LAPF)中的字段,是一个16比特的序列。它具有很强的检错能力,它能检测出在任何位置上的 3 个以内的错误、所有的奇数个错误、16个比特之内的连续错误以及大部分的大量突发错误。

一个符合长度但FCS错误的信息包可能有几种可能的问题。问题可能是延迟碰撞,坏的网卡或驱动器,电缆,集线器或是噪声等。一般而言,主要是物理链路层的错误引起的。

比如:1、阻容匹配不合适,电阻值偏大或偏小,电容型号的匹配都会造成FCS错误的产生。还有电阻电容的错焊或者漏焊以及虚焊都容易造成这种问题。2、PCB线路的设计问题,尤其是千兆以太网的PCB设计,千兆信号的对信号质量要求很高,如果线路排列不合理,会造成线间串扰,影响信号质量。3、FCS错误主要发生在PHY与RJ45接口之间的链路上,所以出现FCS错一定需要排查PHY与RJ45之间的错焊、漏焊、虚焊等问题。4、在一些设备生产厂遇到FCS错误出现的问题,也可能是由于使用的物理连接介质质量太差造成的(千兆以太网对网线的要求至少是超5类线缆),还包括RJ45的水晶头的制造(制作)工艺。5、FCS错误的出现,我们可以通过使用以太网测试仪来检测到,通过强压力的冲击,容易暴露一些错焊,虚焊的问题。

如果有1%以上的帧是FCS错误就必须作为严重问题来对待。因为它严重影响网络的吞吐量。

其他参考:https://blog.csdn.net/swang_shan/article/details/79303586

Published by

风君子

独自遨游何稽首 揭天掀地慰生平