¿Por qué las tramas WakeOnLAN se envían a broadcast?

9

Estoy tratando de entender por qué los marcos de wake on lan, en la forma más simple, están designados a la dirección de transmisión de ethernet (FF: FF: FF: FF: FF: FF) y no a la dirección de la máquina que se va a encender .

¿Tiene que ver con la tabla interna del conmutador de red que asigna una dirección MAC a los puertos?

A priori
fuente

Respuestas:

13

De acuerdo con las especificaciones de AMD, el destino no tiene que ser la dirección de todos. También puede ser la dirección de la estación receptora o una dirección de multidifusión. La carga útil es una historia diferente. Debe ser la secuencia ff: ff: ff: ff: ff: ff seguida de la dirección MAC de la estación receptora repetida 16 veces.

La presencia de ausencia de la entrada de la estación en la tabla CAM del conmutador no debería importar en este caso. Si la entrada no está presente, el paquete debe reenviarse a todos los puertos.

Gerald Peines
fuente
¿Hay alguna resonancia para enviar la dirección de transmisión específicamente, un caso especial que solo funciona la transmisión (en el marco de ethernet)?
ApriOri
@Erb No que yo sepa. La dirección de difusión puede ser menos útil en la práctica. Ejecuté una prueba rápida usando las utilidades etherwakey wakeonlan. La máquina fuente tiene múltiples interfaces. Etherwake envía a la estación la dirección MAC de forma predeterminada y le permite especificar la interfaz. Wakeonlan envía a la dirección de la dirección MAC de transmisión y tuve que especificar una dirección IP de destino; de lo contrario, envió el paquete por la interfaz incorrecta.
Gerald Combs
Según la especificación de AMD que mencionó, parece que existe una relación con la transmisión dirigida, cuando necesita reactivar máquinas en otra red. Parece que solo cuando se usa la dirección de transmisión, el paquete WOL pasará a la subred extranjera.
ApriOri
1
Retrocedamos un poco aquí. Hay hasta dos tipos de direcciones (quizás más de dos, pero simplifiquemos) en el paquete: enlace de datos y red. Si está intentando reactivar una máquina en la misma subred, puede usar una dirección de capa de enlace de difusión única, multidifusión o difusión. Para una máquina en una subred diferente, debe usar una dirección que los enrutadores reenviarán y se mostrarán en la NIC de destino incluso después de haber sido maltratados en el camino. Esto generalmente significa la dirección de red de difusión en la subred de destino, por lo tanto, "difusión dirigida por subred".
Gerald Combs
La sección "Implicaciones de infraestructura" de la especificación lo explica mejor que yo.
Gerald Combs
8

Si. Dado que las asignaciones caducan después de un tiempo (generalmente son 4 horas si recuerdo correctamente), debe transmitirse para que tenga la posibilidad de llegar a la máquina objetivo después de que las asignaciones hayan desaparecido.

Editar:

Corrección: si las asignaciones caducan, el mensaje se transmite de todos modos.

La única razón por la que necesitaría usar la transmisión es en caso de que la máquina se haya movido físicamente a un puerto diferente y haya intentado usar paquetes mágicos para activar la máquina antes de que expiren las asignaciones. Parece que eso sería útil en un centro de datos, pero no puedo decir si realmente se usa.

Si bien el ejemplo que he dado probablemente nunca sucede, es probable que sea la razón por la que generalmente se elige la transmisión: es más confiable en caso de mapeos incorrectos / desactualizados.

Sašo
fuente