以太网的MAC帧(一)

以太网MAC帧格式有两种标准:DIX Ethernet V2标准和IEEE 802.3标准。DIX以太网V2标准的帧格式如图:

前导码: 使接收端与发送端时钟同步,在帧的前面插入的8字节,可再分为两字段:第一个字段共7字节,是前同步码,用来迅速实现MAC帧的比特同步;第二个字段是帧开始定界符,表示后面的信息就是MAC帧。

注意: MAC帧并不需要帧结束符,因为以太网在传送帧时,各帧之间必须有一定的间隙。因此,接收端只要找到帧开始定界符,其后面连续到达的比特流就都属于同一个MAC帧,所以上图只有帧开始定界符。但不要误以为以太网MAC帧不需要尾部,在数据链路层上,帧既要加首部,也要加尾部。

地址:通常使用6字节(48bit)地址(MAC地址);
类型:2字节,指出数据域中携带的数据应交给哪个协议实体处理;
数据: 46 ~ 1500字节,包含高层的协议消息。由于CSMA/CD算法的限制,以太网帧必须满足最小长度要求64字节,当数据较少时必须加以填充(0~46字节);

注意: 46和1500是怎么来的? 首先,由CSMA/CD 算法可知,以太网帧的最短帧长为64B,而MAC帧的首部和尾部的长度为18字节,所以数据最短为64-18=46字节。其次,最大的1500字节是规定的,没有为什么。

填充:0~46字节,当帧长太短时填充帧,使之达到64字节最小长度;
校验码(FCS): 4字节,校验范围从目的地址变到数据段的末尾,算法采用32位循环冗余码(CRC);不但需要检验MAC帧的数据部分,还要检验目的地址、源地址和类型字段,但是不校验前导码。

802.3帧格式与DIX以太帧格式的不同之处。

  1. 帧起始标志:与802.4和802.5相兼容;
  2. 长度域:替代了DIX帧中的类型域,指出数据域的长度。

在实践中,前述长度/类型两种机制可以并存,由于IEEE802.3数据段的最大字节数县是1500,所以长度段的最大值是1500,因此从1501到65535的值可用于类型段标识符。

你可能感兴趣的:(Linux)