Ethernet 帧

文章详细介绍了以太网MAC帧的两种标准,DIXEthernetV2(以太网V2)和IEEE802.3。在V2标准中,MAC帧包含目的MAC、源MAC、类型字段、数据和FCS,而802.3标准的帧有长度/类型字段,可表示长度或协议类型。帧前同步码和帧开始定界符用于接收同步。现在广泛应用的是V2标准的MAC帧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用的以太网MAC帧格式有两种标准,一种是DIX Ethernet V2标准(即以太网 V2标准),另一种是IEEE 802.3标准

1、Ethernet Ⅱ

以太网 V2 的 MAC 帧较为简单,由五个字段组成。

  • 前两个字段分别为6字节长的目的MAC地址和源MAC地址
  • 第三个字段是2字节的类型字段,用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的协议。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报。
  • 第四个字段是数据字段,其长度在46到1500字节之间(最小长度64字节减去18字节的首部和尾部就得出数据字段的最小长度)
  • 最后一个字段是4字节的帧检验序列FCS(使用CRC检验)

 

  • Preamble(前导码):用于接收方与发送方的同步,7个字节,每个字节的值固定为0xAA.
  • SFD(start frame delimiter):帧起始定界符,用于标识一个以太网帧的开始,值固定为0xAB.
  • D.MAC&&S.MAC:分别表示标识目标地址和源地址。它们均为6个字节长。如果传输出去的目标地址第一位是0,则表示这是一个普通地址;如果是1,则表示这是一个组地址。
  • Type:通常这个字段用于指定报文头后所接的数据类型。通常使用的值包括:IPv4(0x0800),IPv6(0x86DD),ARP(0x0806)。而值0x8100代表一个802.1Q 帧。
  • Data:数据主体,最小长度为48字节(加上帧头12字节,CRC4字节,加上type的2字节刚好64字节),当数据主体小于48字节时,会添加pad字段。选取最小长度是出于冲突检测的考虑(CSMA/CD)。而数据字段最大长度为1518字节。
  • FCS(Frame Check Sequence):帧检验序列FCS

Ethernet Ⅱ 的 MAC 帧格式中,其首部中没有帧长度(或数据长度)字段。

MAC子层是通过曼彻斯特编码的每一个码元的正中间一定有一次电压的转换(从高到低或从低到高)的特点知道从接收到的以太网帧中取出多少字节的数据交付上一层协议

当发送方把一个以太网帧发送完毕后,就不再发送其他码元了(既不发送1,也不发送0)。因此,发送方网络适配器的接口上的电压也就不再变化了。这样,接收方就可以很容易地找到以太网帧的结束位置。在这个位置往前数4字节(FCS字段长度是4字节),就能确定数据字段的结束位置。

在传输媒体上实际传送的要比 MAC 帧还多 8 个字节。这是因为当一个站在刚开始接收MAC帧时,由于适配器的时钟尚未与到达的比特流达成同步,因此MAC帧的最前面的若干位就无法接收,结果使整个的MAC成为无用的帧。为了接收端迅速实现位同步,从MAC子层向下传到物理层时还要在帧的前面插入8字节(由硬件生成),它由两个字段构成。

  • 第一个字段是 7 个字节的前同步码(1 和 0 交替码),它的作用是使接收端的适配器在接收 MAC 帧时能够迅速调整其时钟频率,使它和发送端的时钟同步,也就是“实现位同步”。
  • 第二个字段是帧开始定界符,定义为10101011。它的前六位的作用和前同步码一样,最后的两个连续的1就是告诉接收端适配器:"MAC帧的信息马上就要来了,请适配器注意接收”。

MAC 帧的FCS字段的检验范围不包括前同步码和帧开始定界符。

2)、Ethernet 802.3

IEEE 802.3标准规定的MAC帧格式与Ethernet Ⅱ MAC帧格式的区别:

IEEE 802.3规定的MAC帧的第三个字段是“长度/类型”。

  • 当这个字段值大于 0x0600 时,就表示“类型”。这样的帧和Ethernet Ⅱ MAC帧完全一样。只有当这个字段值小于0x0600时才表示“长度”,即MAC帧的数据部分长度。(由于以太网采用了曼彻斯特编码,长度字段并无实际意义)
  • 当“长度/类型”字段值小于 0x0600 时,数据字段必须装入上面的逻辑链路控制LLC子层的 LLC帧。(由于现在广泛使用的局域网只有以太网,因此 LLC 帧已经失去了原来的意义(见本章3.3.1节第1小节“以太网的两个标准”)。现在市场上流行的都是以太网V2的MAC帧,)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值