一、有了 IP 地址,为什么还要 MAC 地址#
视频讲解https://www.bilibili.com/video/BV1smnn6WEjT/
| IP 地址 | MAC 地址 | |
|---|---|---|
| 层次 | 网络层 | 数据链路层 |
| 性质 | 逻辑地址,可分配、可修改 | 硬件地址,出厂固化 |
| 管什么 | 数据最终送到哪儿(端到端) | 这一段链路上,这一帧交给谁 |
| 谁在用 | 路由器做路由选择 | 网卡做帧的收与丢 |
打个比方:IP 地址是快递单上的最终住址,MAC 地址是每一段中转的收件人。包裹从郑州寄到北京,中间每一站只关心"下一站交给谁",不关心最终门牌号。
教材的说法:在局域网中,硬件地址又称为物理地址或者 MAC 地址。三个名字指同一个东西,只是角度不同。
小提醒:叫"物理地址"是习惯叫法,它其实工作在数据链路层,不是物理层的东西。
二、48 位怎么排#
2.1 基本规格#
| 项 | 值 |
|---|---|
| 长度 | 48 位 = 6 字节 |
| 书写 | 12 个十六进制数字 |
| 常见写法 | 00-16-EA-AE-3C-40 或 00:16:EA:AE:3C:40 |
| 存放 | 生产时固化在适配器的 ROM 中 |
| 管理机构 | IEEE 的注册管理机构 RA |
2.2 前后两半#
0 0 1 6 E A | A E 3 C 4 0
└─ 前 24 位 ─┘└─ 后 24 位 ─┘
OUI 扩展标识符
(厂家编号) (厂家自编)
| 部分 | 位数 | 谁分配 | 名称 |
|---|---|---|---|
| 前 3 个字节(高位 24 位) | 24 | IEEE 的 RA 统一分配,厂家要买 | OUI(Organizationally Unique Identifier,组织唯一标识符),也叫公司标识符 |
| 后 3 个字节(低位 24 位) | 24 | 厂家自己指派 | 扩展标识符(extended identifier) |
- 买一个 OUI,能生成 2²⁴ ≈ 1677 万个不同的 6 字节地址。
- 这种地址的正式名字叫 EUI-48(Extended Unique Identifier)。
- 公司标识符和公司不是一一对应:一家公司可以买多个 OUI,只要保证出厂地址不重复就行。
最容易数反的地方:教材说"前三个字节(即高位 24 位)"。书写上最左边那三个字节就是高位。
三、三种帧:单播、广播、多播#
网卡(适配器)每收到一个 MAC 帧,第一件事就是用硬件检查目的地址:
- 是发给本站的 → 收下,交给上层;
- 不是 → 直接丢弃。
这叫过滤。"发往本站的帧"只有三种:
| 类型 | 别名 | 是什么 | 目的地址 | 谁收 |
|---|---|---|---|---|
| 单播(unicast) | 一对一 | 发给某一个站 | 与本站地址完全相同 | 只有那一个站 |
| 广播(broadcast) | 一对全体 | 发给本局域网所有站 | FF-FF-FF-FF-FF-FF(48 位全 1) | 所有站 |
| 多播(multicast) | 一对多 | 发给局域网上一部分站 | 代表一个组 | 组内站点 |
怎么从地址上一眼看出单播还是多播(教材未展开的补充):
- 看第一个字节的最低位(十六进制里的
0x01位):0 → 单播,1 → 多播。 - 例:
00-16-EA-...第一字节00,最低位 0 → 单播;01-00-5E-...第一字节01,最低位 1 → 多播。 - 广播是多播的极端情况:48 位全 1,最低位当然是 1。
- 为什么是"最低位":以太网每个字节低位先传,所以书写上第一个字节的最低位,才是线上最先传出去的那一位。
四、本集易错点#
- 48 位 = 6 字节,不是 48 字节;书写是 12 个十六进制数字(每个字节两位)。
- 前 24 位是高位 24 位,书写上就是最左边三个字节,别从右往左数。
- 广播地址是全 1(
FF-FF-FF-FF-FF-FF),不是全 0。 - 单播/多播看第一个字节的最低位:0 单播、1 多播。
- OUI 是"买"来的,由 IEEE 的 RA 分配;后 24 位才是厂家自己编。
- MAC 地址的"全球唯一"是设计保证,不是物理定律——软件能改,虚拟机也能造。别把它当安全凭证。
- "物理地址"只是习惯叫法,它工作在数据链路层。
五、关键表述依据#
| # | 表述 | 依据 |
|---|---|---|
| 1 | 局域网中硬件地址又称为物理地址或 MAC 地址 | 谢希仁 3.3.3 |
| 2 | MAC 地址共 6 字节(48 位),生产时固化在适配器 ROM 中 | 同上 |
| 3 | IEEE 的 RA 负责分配前三个字节(高位 24 位),正式名称 OUI | 同上 |
| 4 | 后三个字节(低位 24 位)由厂家自行指派,称扩展标识符 | 同上 |
| 5 | 购买一个 OUI 可生成 2²⁴ 个不同地址,此地址又称 EUI-48 | 同上 |
| 6 | 适配器有过滤功能,收到帧先查目的地址,不是发给本站的丢弃 | 同上 |
| 7 | 发往本站的帧分三种:单播(一对一)、广播(一对全体)、多播(一对多) | 同上 |
| 8 | 单播/多播由第一字节最低位区分;混杂方式可收全部帧 | IEEE 802.3 细节(教材未展开的补充) |