📖 3.4.1 网络适配器和 MAC 地址
🎯 课程摘要:本节课介绍网络适配器(网卡)的硬件结构与功能,以及 MAC 地址的概念、格式、分类和发送顺序。MAC 地址是数据链路层用于媒体接入控制的唯一标识,长度为 48 比特,分为全球单播、全球多播、本地单播和本地多播四类。
📝 详细笔记
1. 网络适配器(网卡)
- 概念定义:网络适配器(简称网卡)是将计算机连接到以太网所需的硬件设备,实现了以太网的数据链路层和物理层功能。
- 硬件组成(以千兆以太网卡为例):
| 组成部分 | 说明 |
|---|---|
| 核心芯片(如 Realtek 8169SC) | 实现以太网的数据链路层和物理层 |
| EEPROM(如 93C46) | 存储 MAC 地址和网卡相关信息 |
| Boot ROM 插槽 | 可安装用于网络无盘工作站启动的 Boot 芯片 |
| 网络隔离变压器 | 将核心芯片与外部局域网隔离,提高抗干扰能力,防雷击保护 |
| RJ-45 网络接口 | 连接双绞线电缆 |
| PCI 接口 | 网卡与计算机主板的接口 |
- 核心功能:
- 实现物理层和数据链路层功能
- 并行传输与串行传输的转换:计算机内部通过 I/O 总线以并行方式与网卡通信,网卡与外部以太网通过传输媒体以串行方式通信
- 数据缓存:网卡核心芯片中包含存储器,用于缓存数据(因网络传输速率与计算机内部总线速率不同)
- 驱动程序:必须在操作系统中安装相应的设备驱动程序,负责驱动网卡发送和接收帧
2. MAC 地址的概念
- 概念定义:MAC 地址是用于媒体接入控制(MAC, Media Access Control)的数据链路层地址,用于在广播信道中唯一标识各主机的网络接口。
- 为什么需要 MAC 地址:
- 点对点信道只有两个站点,数据链路层不需要使用地址
- 广播信道连接多个站点,由于天然的广播特性,信号会传播到所有主机,需要用地址来区分各主机
- 每个主机发送的帧首部中携带发送主机和接收主机的地址,网卡根据目的地址是否匹配来决定接受或丢弃
- 别称:MAC 地址固化在网卡的 EEPROM 中,因此也称为硬件地址;有时也称为物理地址
- ⚠️ 重点/考点:不要被"物理地址"中的"物理"二字误导,物理地址属于数据链路层范畴,不属于物理层。此知识点曾出现在 2018 年 408 考研真题中。
- MAC 地址是接口的唯一标识,而非设备的唯一标识:一台设备可能有多个网络接口(如以太网卡 + Wi-Fi 网卡),每个接口都有独立的 MAC 地址
3. MAC 地址格式
IEEE 802 标准为局域网规定了 48 比特(6 字节)的 MAC 地址:
| 字节位置 | 字段 | 说明 |
|---|---|---|
| 第 1~3 字节 | OUI(组织唯一标识符) | 生产厂商向 IEEE 注册管理机构申请,也称公司标识符 |
| 第 4~6 字节 | 网络接口标识符 | 获得 OUI 的厂商自行分配,保证无重复地址 |
- 表示方法(每 4 比特写成一个十六进制字符,共 12 个字符):
| 表示方法 | 分隔符 | 使用系统 | 示例 |
|---|---|---|---|
| 标准表示 | 短横线 - | Windows | 00-1A-2B-3C-4D-5E |
| 冒号表示 | 冒号 : | Linux、macOS、Android | 00:1A:2B:3C:4D:5E |
| 点分隔表示 | 点 . | Cisco Packet Tracer | 001A.2B3C.4D5E |
4. MAC 地址分类
MAC 地址第一字节的前两位决定地址类型:
| 位 | 名称 | 取值 0 | 取值 1 |
|---|---|---|---|
| b0 位 | I/G 位(Individual/Group) | 单播地址 | 多播地址 |
| b1 位 | G/L 位(Global/Local) | 全球管理 | 本地管理 |
四种类型及其特点:
| G/L 位 | I/G 位 | 类型 | 说明 |
|---|---|---|---|
| 0 | 0 | 全球单播 | 厂商生产时固化在设备中,全球唯一 |
| 0 | 1 | 全球多播 | 标准网络设备支持,用于特定功能(如 STP 使用的 01-80-C2-00-00-00) |
| 1 | 0 | 本地单播 | 网络管理员分配,优先级高于全球单播(可覆盖) |
| 1 | 1 | 本地多播 | 用户可对网卡编程设置,表明属于哪些多播组 |
- 广播地址:将本地多播地址除第一字节的 b0 和 b1 两位外的剩余 46 比特全部置 1,即
FF-FF-FF-FF-FF-FF(十六进制全 F) - 地址容量:48 比特共有 2^48 ≈ 280 多万亿个地址,四种类型各占 1/4(约 70 万亿个)
- IEEE 规定 48 比特 MAC 地址的目标寿命为 100 年(至 2080 年),鼓励采用 64 比特作为替代
5. MAC 地址发送顺序
- 字节发送顺序:第 1 字节 → 第 6 字节
- 字节内比特发送顺序:b0 位 → b7 位
6. 单播、广播、多播 MAC 地址举例
单播 MAC 地址:
广播 MAC 地址:
多播 MAC 地址举例:四个交换机连接形成环路时,交换机之间交互 BPDU(网桥协议数据单元),其帧首部的目的地址为生成树协议(STP)专用的多播 MAC 地址 01-80-C2-00-00-00,各交换机根据 BPDU 按生成树算法阻塞某些接口以破除环路。
7. 网卡接收帧的处理规则
网卡收到帧后,检查帧首部中的目的 MAC 地址,按以下情况处理:
- 目的 MAC 地址是广播地址 → 接受该帧
- 目的 MAC 地址与网卡固化的全球单播 MAC 地址相同 → 接受该帧
- 目的 MAC 地址是网卡支持的多播地址 → 接受该帧
- 除上述情况外 → 丢弃该帧
- ⚠️ 重点/考点:区分"接收"与"接受"
- 接收:网卡从网络中收到某个帧(物理动作)
- 接受:网卡接收帧后,判断目的 MAC 是否匹配、帧首部是否有差错等,决定接受还是丢弃(逻辑判断)
8. 混杂方式与安全
- 混杂方式:网卡只要收到共享媒体上传来的帧就全部收下,不管目的 MAC 地址是什么
- 合法用途:网络维护管理人员监视和分析局域网流量(嗅探器 Sniffer),用于学习和分析网络
- 非法用途:黑客利用混杂方式非法获取网络用户的口令
- ⚠️ 重点/考点:全球单播 MAC 地址如同身份证号码具有唯一性,往往与用户个人信息绑定,应尽量确保不被泄露。目前大多数移动设备已采用随机 MAC 地址技术,避免连接 Wi-Fi 热点时 MAC 地址泄露。
助教补充:随机 MAC 地址技术在设备探测 Wi-Fi 网络时使用随机生成的本地单播地址,而非真实的全球单播地址,从而保护用户隐私。
💡 核心总结
- 网卡实现物理层和数据链路层功能,核心功能包括并串转换和数据缓存
- MAC 地址是数据链路层地址(非物理层!),用于广播信道中唯一标识网络接口
- MAC 地址格式:48 比特 = 6 字节,前 3 字节为 OUI,后 3 字节为接口标识符
- MAC 地址分类由 I/G 位和 G/L 位决定:全球单播、全球多播、本地单播、本地多播
- 广播地址为 FF-FF-FF-FF-FF-FF,发送顺序为字节 b0→b7
- 网卡可工作在混杂方式,全球单播 MAC 地址需注意隐私保护
❓ 课后思考 / 经典考题
- (2018 年 408 真题)以下哪项不属于物理层接口的特性?物理地址属于网络体系结构中的哪一层?
- MAC 地址的第一字节的 b0 位和 b1 位分别有什么含义?四种地址类型如何划分?
- 网卡收到帧后如何判断是否接受?区分"接收"和"接受"的概念。
- 48 比特的全球单播 MAC 地址会耗尽吗?IEEE 有何应对措施?
- 什么是网卡的混杂方式?它有哪些合法和非法用途?