以太网数据帧的结构分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太网数据帧的结构分析相关的知识,希望对你有一定的参考价值。

    以太网帧,属于二层数据。

    wireshark(或其他抓包工具)进行抓包可以发现,原本最小数据帧的大小为64字节,但抓到的只有60字节或者更少。

    原因:数据帧是由网卡的driver抓取到并传送到TCP/IP协议栈,而很多网卡的driver都会把帧最后面的4个字节的FCS字段去掉,从而抓包软件无法抓取到这个字段。

    另外数据段部分如果太小(不足46字节),网卡会进行自动填充(全0)。在抓取的时候,存在一个优先级的问题,有时可能数据还没有填充或者没完全填充就被抓取了,导致整个数据帧的长度不足60(去掉那4字节的FCS字段)。


    CRC循环冗余校验码(Cyclic Redundancy Check),是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

    原理:CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列;附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系。如果因干扰等原因使数据序列中的某一位或某些位发生错误,这种特定关系就会被破坏。因此,通过检查这一关系,就可以实现对数据正确性的检验。

    FCS帧检验序列(Frame Check Sequence):为了进行差错检验而添加的冗余码。

以上是关于以太网数据帧的结构分析的主要内容,如果未能解决你的问题,请参考以下文章

以太网帧包结构

《通信技术 - 以太网》详解以太网

《通信技术 - 以太网》详解以太网

9.以太网数据帧格式(结构)图解

以太网帧结构

以太网帧结构