Warum WakeOnLAN-Frames an Broadcast gesendet werden

9

Ich versuche herauszufinden, warum Wake-on-LAN-Frames in der einfachsten Form an die Ethernet-Broadcast-Adresse (FF: FF: FF: FF: FF: FF: FF: FF) und nicht an die Adresse der Maschine gerichtet werden, die eingeschaltet werden soll .

Hat dies mit der internen Tabelle des Netzwerk-Switch zu tun, die den Ports eine Mac-Adresse zuweist?

ApriOri
quelle

Antworten:

13

Gemäß der AMD-Spezifikation muss das Ziel nicht die All-One-Adresse sein. Dies kann auch die Adresse der Empfangsstation oder eine Multicast-Adresse sein. Die Nutzlast ist eine andere Geschichte. Es muss die Sequenz ff: ff: ff: ff: ff: ff sein, gefolgt von der 16-mal wiederholten MAC-Adresse der Empfangsstation.

Das Vorhandensein eines fehlenden Eintrags der Station in der CAM-Tabelle des Switch sollte in diesem Fall keine Rolle spielen. Wenn der Eintrag nicht vorhanden ist, sollte das Paket an alle Ports weitergeleitet werden.

Gerald Combs
quelle
Gibt es eine Resonanz für das Senden der Broadcast-Adresse, ein Sonderfall, bei dem nur Broadcast (im Ethernet-Frame) funktioniert?
ApriOri
@Erb Nicht, dass ich es wüsste. Die Broadcast-Adresse kann in der Praxis weniger nützlich sein. Ich habe einen Schnelltest mit den Dienstprogrammen etherwakeund durchgeführt wakeonlan. Der Quellcomputer verfügt über mehrere Schnittstellen. Etherwake sendet standardmäßig an die MAC-Adresse der Station und lässt Sie die Schnittstelle angeben. Wakeonlan sendet an die Broadcast-MAC-Adresse und ich musste eine Ziel-IP-Adresse angeben, andernfalls hat es das Paket über die falsche Schnittstelle gesendet.
Gerald Combs
Gemäß der von Ihnen erwähnten AMD-Spezifikation scheint es eine Beziehung zu gerichtetem Broadcast zu geben, wenn Sie Maschinen in einem anderen Netzwerk aufwecken müssen. Es scheint, als würde das WOL-Paket nur dann an das foriegn-Subnetz weitergeleitet, wenn die Broadcast-Adresse verwendet wird.
ApriOri
1
Lassen Sie uns hier ein wenig zurücktreten. Es gibt bis zu zwei (vielleicht mehr als zwei, aber lassen Sie uns die Dinge einfach halten) Adresstypen im Paket: Datenverbindung und Netzwerk. Wenn Sie versuchen, einen Computer im selben Subnetz aufzuwecken, können Sie eine Unicast-, Multicast- oder Broadcast-Link-Layer-Adresse verwenden. Für einen Computer in einem anderen Subnetz müssen Sie eine Adresse verwenden, die der Router weiterleitet und die auch dann auf der Ziel-Netzwerkkarte angezeigt wird, wenn sie unterwegs beschädigt wurde. Dies bedeutet normalerweise die Broadcast-Netzwerkadresse im Ziel-Subnetz, daher "Subnetz-gerichteter Broadcast".
Gerald Combs
Der Abschnitt "Auswirkungen auf die Infrastruktur" der Spezifikation erklärt dies besser als ich.
Gerald Combs
8

Ja. Da die Zuordnungen nach einiger Zeit ablaufen (im Allgemeinen sind es 4 Stunden, wenn ich mich richtig erinnere), muss sie gesendet werden, damit sie die Zielmaschine erreichen können, nachdem die Zuordnungen verschwunden sind.

Bearbeiten:

Korrektur: Wenn die Zuordnungen ablaufen, wird die Nachricht trotzdem gesendet.

Der einzige Grund, warum Sie Broadcast verwenden müssten, besteht darin, dass der Computer physisch an einen anderen Port verschoben wurde und Sie versucht haben, Magic-Pakete zu verwenden, um den Computer zu aktivieren, bevor die Zuordnungen abgelaufen sind. Klingt so, als wäre das in einem Rechenzentrum praktisch, aber ich kann nicht sagen, ob es tatsächlich verwendet wird.

Während das Beispiel, das ich gegeben habe, wahrscheinlich nie vorkommt, ist es wahrscheinlich der Grund, warum die Übertragung im Allgemeinen gewählt wird - es ist zuverlässiger bei schlechten / veralteten Zuordnungen.

Sašo
quelle