为什么 WakeOnLAN 帧被发送到广播

Apr*_*Ori 9 ethernet wake-on-lan switch

我试图弄清楚为什么以最简单的形式唤醒局域网帧被指定为以太网广播地址(FF:FF:FF:FF:FF:FF)而不是要开机的机器的地址.

它是否与将 mac 地址分配给端口的网络交换机内部表有关?

Ger*_*mbs 13

根据AMD 的规范,目的地不必是全 1 地址。它也可以是接收站的地址或多播地址。该有效载荷是一个不同的故事。它必须是序列 ff:ff:ff:ff:ff:ff 后跟接收站的 MAC 地址重复 16 次。

在这种情况下,交换机的 CAM 表中是否存在站点条目应该无关紧要。如果条目不存在,则应将数据包转发出所有端口。


Saš*_*ašo 8

是的。由于映射会在一段时间后过期(如果我没记错,通常是 4 小时),因此需要广播它,以便在映射消失后有机会到达目标机器。

编辑:

更正:如果映射过期,则无论如何都会广播消息。

您需要使用广播的唯一原因是,以防机器物理移动到不同的端口,并且您尝试在映射到期之前使用魔术数据包唤醒机器。听起来这在数据中心中会很方便,但我不能说它是否真的被使用过。

虽然我给出的例子可能永远不会发生,但这可能是通常选择广播的原因 - 在错误/过时的映射的情况下它更可靠。