以太帧与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 II 和 SNAP 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网络之路第六期——交换专题》
相关文章