为什么 ping 洪水可以唤醒 PC,而单次 ping 却不能?

为什么 ping 洪水可以唤醒 PC,而单次 ping 却不能?

我刚刚注意到,当你对处于睡眠模式的 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 也会涉及。

相关内容