以太帧与MAC

1. 以太网数据帧结构

1.1. 802.3 Type 以太帧数据结构(又称 Ethernet II 封装,目前使用最广泛):

字段名 字段长度(Bytes) 说明
Preamble 7 与SFD共同构成前导码,内容为"101010..."1和0交替,通知接收方有数据帧到来;
同时同步时钟
SFD 1 与Preamble共同构成前导码,内容为0xAB,标识下一字段为目的MAC;
物理层添加,非帧的一部分
DA 6 目的MAC地址
SA 6 源MAC地址
Type/Length 2 若取值为0x0000 ~ 0x05DC,表示字段长度(0x05DC = 1500);
若取值为0x0600 ~ 0xFFFF,表示该字段为Type
Payload 46 ~ 1500 有效负荷(帧携带数据)
FCR 4 校验和

除上述Ethernet II封装格式外,以太网还有如下几种封装格式:

1.2. 802.3/802.2 LLC封装

字段名 DA SA Length DSAP SSAP Ctrl Data
字段长度(Bytes) 6 6 2 1 1 1 46 ~ 1500

DSAP、SSAP用来标志上层协议,eg.NetBios时均为0xF0, IPX时均为0xE0

1.3. 802.3/802.2 SNAP封装

字段名/固定内容 DA SA Length 0xAA 0xAA 0x03 Org Code PID Data
字段长度(Bytes) 6 6 2 1 1 1 3 2 46 ~ 1500

Org Code代表机构编码;PID为协议标志,很少使用

1.4. 802.3/802.2 SNAP RFC 1042封装

字段名/固定内容 DA SA Length 0xAA 0xAA 0x03 00-00-00 Type Data
字段长度(Bytes) 6 6 2 1 1 1 3 2 46 ~ 1500

一般说SNAP封装都指SNAP RFC1042封装

IP协议支持两种封装(Ethernet IISNAP RFC1042封装,Type均为0x0800)。

2. MAC地址简介

MAC(Media Access Control)地址,是OSI模型第二层(数据链路层)数据包转发的依据,一个MAC地址有6字节,足以标识281万亿台设备,一般联网设备在出厂时会打上具有唯一标识的物理MAC地址。

2.1. MAC地址应用

上文介绍了传输中的以太网数据帧的各类封装结构,它们都包含一个目的MAC地址和一个源MAC地址,它的作用是标志帧的源节点和目的节点的物理地址。一个MAC地址有48bit(6个字节),从应用上可以分为单播地址组播地址广播地址

地址类型 格式 示例 说明
单播地址 第1字节的最低位为0 00-AA-AA-AA-AA-AA 用于标志唯一的设备
组播地址 第1字节的最低位为1 01-BB-BB-BB-BB-BB 用于标志同属一组的多个设备
广播地址 所有bit全为1 FF-FF-FF-FF-FF-FF 用于标志同一网段的所有设备

3. 参考文献

  • 《H3C网络之路第六期——交换专题》