
MAC地址、物理地址与链路层地址:概念辨析与技术实现
2025/05/06
作者:博睿谷Eva

1. 引言
在计算机网络中,MAC地址(Media Access Control Address)、物理地址(Physical Address) 和 链路层地址(Link-Layer Address) 常被混为一谈,但它们在技术实现和应用场景上存在关键差异。本文结合 IEEE 802.3(以太网)、RFC 826(ARP)、RFC 7042(DUID) 等标准,系统性地分析它们的定义、应用及操作系统层面的实现差异。
2. 核心概念辨析
2.1 MAC地址(Media Access Control Address)
定义:由 IEEE 802.3 标准定义,用于在 以太网(Ethernet) 或 Wi-Fi(IEEE 802.11) 等局域网(LAN)中唯一标识网络接口。
格式:
48位(6字节):如00:1A:2B:3C:4D:5E(最常见)。
64位(EUI-64):用于IPv6链路本地地址生成(RFC 4291)。
作用:在数据链路层(L2)实现帧的寻址,确保数据正确送达目标设备。
2.2 物理地址(Physical Address / BIA)
定义:即 Burned-In Address(BIA),固化在网卡的ROM中,通常与MAC地址相同。
特点:
全球唯一(前24位为OUI,由IEEE分配)。
操作系统启动时读取BIA,但可临时覆盖(如Linux的ip link set)。
RFC 7042 指出:某些设备(如虚拟网卡)可能无BIA,需动态生成。
2.3 链路层地址(Link-Layer Address)
广义概念:指数据链路层(L2)用于设备间通信的地址,MAC地址是其子集。
非MAC依赖的链路层协议:
PPP(RFC 1661):无地址字段,仅用于点对点通信。
帧中继(FR):使用DLCI(Data Link Connection Identifier)标识虚电路。
ATM:基于VPI/VCI交换,无MAC概念。
3. BIA与操作系统层地址的差异
3.1 BIA(烧入地址)
存储在网卡ROM,不可轻易修改(需硬件编程)。
IEEE 802-2014 规定:OUI(前3字节)由IEEE分配,后3字节由厂商决定。
3.2 操作系统层地址
系统启动时从BIA读取,但可软件修改:
Linux:ip link set eth0 address 00:11:22:33:44:55
Windows:通过注册表或设备管理器修改。
macOS:sudo ifconfig en0 ether 00:11:22:33:44:55
关键区别:修改仅影响内存中的地址,不改变BIA,重启后可能恢复。
4.1 DUID(DHCP Unique Identifier)
RFC 8415(DHCPv6) 规定:客户端需用DUID标识自身,服务器据此分配IPv6地址。
常见生成方式:
DUID类型 组成 稳定性 DUID-LLT 时间戳 + 链路层地址(如MAC) 可能变化(依赖时间戳) DUID-LL 仅链路层地址(如MAC) 稳定 DUID-EN 厂商自定义(如设备序列号) 稳定
4.2 DUID不稳定的影响
问题:若使用DUID-LLT,且时间戳基于系统启动时间(如Unix微秒时钟),则每次重启可能导致DUID变化,无法实现DHCPv6地址绑定。
解决方案:
Linux:在/etc/dhcp/dhclient6.conf中强制指定DUID:
5.1 Linux
默认DUID生成:DUID-LLT(时间戳 + MAC)。
持久化配置:/var/lib/dhcp/dhclient6.leases存储历史记录。
手动修改:通过dhclient.conf指定静态DUID。
5.2 Windows
Win10+:默认尝试生成持久化DUID(基于网卡MAC)。
旧版本:可能因时间戳变化导致DUID不稳定。
5.3 macOS
默认行为:使用DUID-LL(仅MAC),较稳定。
修改方式:sudo networksetup -setv6automatic "Ethernet"。
6. 结论与最佳实践
MAC地址 ≠ 链路层地址:MAC是以太网实现,而PPP/帧中继等协议无需MAC。
BIA与软件层地址:操作系统可临时覆盖MAC,但BIA需硬件修改。
DHCPv6稳定性:
优先使用DUID-LL或DUID-EN。
避免依赖DUID-LLT进行IP绑定。
运维建议:
在虚拟化环境中,确保虚拟网卡MAC/DUID持久化。
跨平台部署时,检查各系统的DUID生成策略。
IEEE 802.3-2018 (Ethernet)
RFC 826 (ARP)
RFC 4291 (IPv6 Addressing)
RFC 8415 (DHCPv6)
RFC 7042 (DUID Guidelines)
本文结合标准文档与主流操作系统实现,澄清了常见混淆,并提供了可落地的技术方案。
-
开设课程 开班时间 在线报名RHCE2025.3.1
在线报名
HCIA-Bigdata2025.3.1在线报名
RHCA-DO3742025.3.2在线报名
HCIA-Datacom2025.3.8在线报名
HCIA-AI Solution2025.3.15在线报名
HCIE-Sec2025.3.15在线报名
HCIP-openEuler2025.3.16在线报名
HCIA-Cloud2025.3.22在线报名
PMP2025.4.8在线报名
HCIP-Datacom2025.4.12在线报名
HCIP-Bigdata2025.04.19在线报名
OCP2025.4.26在线报名
HCIE-openEuler2025.4.26在线报名
HCIP-AI Solution2025.4.26在线报名
RHCA-CL2602025.5.11在线报名
HCIP-Cloud2025.5.10在线报名
PGCM直通车2025.5.10在线报名
HCIA-Datacom(晚班)2025.5.12在线报名
HCIA-Sec2025.5.24在线报名
HCIP-Datacom(晚班)2025.5.19在线报名
CISP2025.6.7在线报名
HCIA-Datacom深圳2025.6.7在线报名
HCIE-AI Solution2025.6.14在线报名
RHCA-RH4422025.6.14在线报名
HCIE-Datacom2025.6.14在线报名
OCM2025.6.21在线报名
HCIE-Cloud2025.6.21在线报名
HCIP-Sec2025.6.21在线报名
HCIE-Bigdata2025.6.28在线报名
RHCE2025.6.28在线报名



