以太网帧¶
在链路上的数据包称作帧
帧格式¶

字段说明¶
| 字段 | 长度 | 备注 |
|---|---|---|
| 前导码 | 7字节 | 网卡自动填充 |
| 帧开始符 | 1字节 | 网卡自动填充 |
| 源MAC地址 | 4字节 | 驱动填充 |
| 目的MAC地址 | 4字节 | 驱动填充 |
| VLAN 标签 | 2字节(可选) | |
| 以太网报文类型 | 2字节 | 内部数据类型 |
| 内部负载 | 帧长去掉其余的长度 | |
| 帧校验码 | 4字节 循环冗余校验码 | 网卡自行填充 |
| 帧间距 | 12字节 连续两帧之间需要发送至少12个字节的空闲线路状态码 | 网卡自动填充 |
帧长¶
由CSMA/CD决定,常用范围[64-1518]字节
| 类型 | 长度 | 备注 |
|---|---|---|
| 802.3帧 | 64-1518 | |
| 802.3ac帧 | 64-1522 | 增加了4字节vlan标识 |
MAC地址¶
Media Access Control Address,媒体存取控制位址,以太网地址(Ethernet Address)或物理地址(Physical Address)
它是一个用来确认网络设备位置的地址。
MAC地址用于在网络中标识一个网口,
一台设备若有一或多个网口,则每个网口至少有一个唯一的MAC地址。
组成¶
MAC地址的长48bit
通常表示为12个16进制数,如:00-16-EA-AE-3C-40
| 位置 | 描述 |
|---|---|
| 前3个字节 | 代表网络硬件制造商的编号OUI(Organizationally Unique Identifier) 由IEEE(电气与电子工程师协会)分配 |
| 后3个字节 | 代表该某个网络产品的系列号 |
全局或本地¶
MAC地址最高字节(MSB)的低第二位(LSb)表示这个MAC地址是全局的还是本地的
即U/L(Universal/Local)位,如果为0,表示是全局地址。
所有的OUI这一位都是0。
单播或组播¶
MAC地址最高字节(MSB)的低第一位(LSb),表示MAC地址是单播还是组播
0表示单播:00:12:34:45:78:90
1标识组播:01:12:34:45:78:90

广播¶
MAC全为1的地址,ff-ff-ff-ff-ff-ff
MAC冲突¶
局域网有两台以上设备使用相同的MAC地址。
导致交换机将发送给一台的报文转发给发送到另一台。
常见现象就是主机网络非常不稳定
二层转发¶
二层转发是根据mac表里的目的mac将报文从对应网口转发出去。
如果找不到目的mac,如果支持三层转发,报文将转发给网关;如果不支持三层转发,报文将丢弃并回复ICMP目的mac不可达。
mac表可以静态配置,或动态(arp协议)生成。