一、 核心原理:协议栈与硬件实现
WOL 是一种基于 OSI 模型第二层(数据链路层) 的硬件唤醒技术,由 AMD 和 HP 于 1997 年提出,并在 IEEE 802.3 标准中得到规范。
1. Magic Packet 数据结构
WOL 的核心载荷是一个 102 字节的特殊以太网帧,其结构定义如下:
+----------------+------------------+
| 6 bytes 0xFF | Synchronization |
+----------------+------------------+
| 96 bytes | Target MAC × 16 |
+----------------+------------------+
- 同步流 (Sync Stream):6 个字节的
0xFF(FF:FF:FF:FF:FF:FF),作为魔术包识别标记。
- 目标载荷:目标 NIC 的 MAC 地址连续重复 16 次(16 × 6 = 96 字节)。
- 封装协议:
- 标准实现使用 UDP/7(Echo Protocol)或 UDP/9(Discard Protocol)
- 也可以使用 EtherType 0x0842 直接封装在以太网帧中
- 关键点:NIC 的物理层(PHY)芯片通过硬件模式匹配 MAC 序列,不依赖 IP 层解析
2. NIC 的待机监听机制
即使系统处于 ACPI S5 状态(Soft Off),主板的 ATX 电源仍会通过 +5V Standby(紫色线) 为 NIC 提供约 2-3W 的待机功耗。此时 NIC 进入 PCI Power State D3hot/D3cold,仅保留以下组件活跃: