我刚刚注意到,当你对处于睡眠模式的 PC 进行大量 ping 时,它会将其唤醒,而每秒一次 ping 或多次 ping 则不会将其唤醒。
局域网/广域网唤醒功能已启用。
这背后的原因是什么?在我看来,它根本就不应该打开。
一旦打开,洪水显然会继续,并导致系统冻结或崩溃,这是我们不希望发生的事情,对吗?
这可能是 Windows 操作系统的一个错误吗?还是可能是网卡本身的问题?当它收到太多数据时,会先唤醒它,然后开始执行其工作,从而开始响应?
ping 数据包不应该唤醒 PC 吗?
答案1
通常情况下沃伦使用触发“魔法包”(6 个字节的 0xFF 紧接着是 MAC 地址,重复 16 次,位于以太网帧中的任何位置),这种情况不太可能意外发生。
然而,有时 NIC 被设置为根据其他类型的流量唤醒机器,而这些流量很可能会意外触发唤醒。
Microsoft 列出了以下默认值在 Windows 中除了“魔术包”之外:
默认情况下,当您启用 WOL 时,Windows 7 和 Windows Vista 会监听以下数据包:
- 指向网络适配器 MAC 地址的定向数据包
- 针对本地计算机名称的 NetBIOS 名称解析广播
- 网络适配器 IPv4 地址的地址解析协议 (ARP) 数据包
- 网络适配器的请求节点多播地址的 IPv6 邻居发现数据包
当您在问题中引用 Windows 时,您可能需要确保计算机设置为仅基于“魔术包”唤醒(参见上面的文章)。
答案2
假设:NIC 能够自行响应 ping,无需操作系统的参与(睡眠代理)。但是当您大量发送 PING 时,NIC 会决定其无法响应此类事件,因此必须唤醒 PC。
我听说过这种能力,但不知道从研究到现实还有多远。
您的 NIC 是什么类型/型号?什么操作系统/版本?BIOS 也会涉及。