MAC 层的硬件地址
在局域网中,以下几个称呼是一样的:
- 硬件地址
- 物理地址
- MAC 地址
48 位的 MAC 地址
✅ IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。
✅ 所以就只有 3 个字节能支配了,这 3 个字节由厂家支配,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
❗ 生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM,因此,MAC 地址也叫做硬件地址 (hardware address) 或物理地址。
所以无论你把它带到哪里去,或者把它砸了,烧了?,它的硬件地址还是不会变。
下面介绍一下 IEEE 组织的一些规定:
- IEEE 规定地址字段的 第一字节的最低位 为 I/GI/GI/G 位。I/GI/GI/G 表示 Individual/GroupIndividual / GroupIndividual/Group。
- 当 I/GI/GI/G 位 =0= 0=0 时,地址字段表示一个单站地址。
- 当 I/GI/GI/G 位 =1= 1=1 时,表示组地址,用来进行多播。
所以对于前三个字节,既然第一个字节的最后一位被占用了,就只能支配其余的 232323 位了。
❗所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。
IEEE 又规定了!
- IEEE 把地址字段第一字节的倒数第 222 位规定为 G/LG/LG/L 位,表示 Global/LocalGlobal / LocalGlobal/Local 。
- 当 G/LG/LG/L 位 =0= 0=0 时,是全球管理。
- 当 G/LG/LG/L 位 =1= 1=1 时, 是本地管理。
❓ 那么有啥区别呢 ?
全球管理需要购买,本地管理用户自定义,不过以太网几乎不会去理会这个用户自定义的。
适配器检查 MAC 地址
适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址,然后检查这个帧是否是下面的其中一种,如果不是就丢弃,如果是就收下然后转发。
- 1️⃣ 单播 (unicast) 帧(一对一)
- 2️⃣ 广播 (broadcast) 帧(一对全体)
- 3️⃣ 多播 (multicast) 帧(一对多)
MAC 帧的格式
常用的以太网 MAC 帧格式有两种标准 :
- ✅ DIX Ethernet V2DIX space Ethernet space V2DIX Ethernet V2 标准
- ✅ IEEE的802.3IEEE 的 802.3IEEE的802.3 标准
最常用的 MACMACMAC 帧是以太网 V2V2V2 的格式。
我们来放大看一下:
- 1️⃣ 首先是目的地址字段,占 6 个字节。
- 2️⃣ 然后是源地址字段,也是 6 字节。
- 3️⃣ 类型字段用来标志上一层使用的是什么协议,以便把收到的 MACMACMAC 帧的数据上交给上一层的这个协议。
- 4️⃣ 数据字段的正式名称是 MAC 客户数据字段。 最小长度 64字节−18字节64 字节 - 18 字节64字节−18字节 的首部和尾部 === 数据字段的最小长度( 464646 字节
- 5️⃣ FSC 用于差错检测
❓ 其实你会发现从 MACMACMAC 层到物理层还会多出 888 个字节,那么这 888 个字节是啥呢?
在帧的前面插入(硬件生成)的 8 字节中,第一个字段共 7 个字节,是前同步码,用来迅速实现 MACMACMAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧。
最后提一下与 IEEE 802.3 MAC帧IEEE space802.3space MAC 帧IEEE 802.3 MAC帧 的区别:
- IEEE 802.3 规定的 MAC 帧的第三个字段是“长度 / 类型”。
- 当 长度/类型长度 / 类型长度/类型 字段值小于 0x06000x06000x0600 时,数据字段必须装入上面的逻辑链路控制 LLC 子层的 LLC 帧。
帧间最小间隔为 9.6μs9.6 mu s9.6μs,相当于 96bit96 bit96bit 的发送时间。 一个站在检测到总线开始空闲后,还要等待 9.6μs9.6 mu s9.6μs 才能再次发送数据。