¿Cómo sabe un cliente PXE en qué red está?

9

En PXE Boot, uno de los primeros pasos es adquirir una dirección IP a través de DHCP.

Para usar DHCP requiere que conozca la dirección de transmisión de su red.

¿Cómo se configura inicialmente esta red para un cliente PXE?

IanWatson
fuente
Usted asigna una IP fija en la red local para el cliente PXE.
DavidPostill
55
@DavidPostill: Esto está en contradicción con la respuesta de Daniel B y, hasta donde yo entiendo, los documentos .
Mathieu K.
1
Los clientes DHCP envían a 255.255.255.255 usando 0.0.0.0 como "fuente" cuando inician una solicitud de difusión de DHCP.
ivanivan

Respuestas:

29

¿Cómo se comunicaría incluso en la capa IP cuando no tiene una dirección? No lo hace, en realidad no de todos modos. En cambio, se comunica usando la capa 2.

La dirección de difusión de cualquier red Ethernet es FF: FF: FF: FF: FF: FF. En la capa IP, hay 255.255.255.255. Eso es lo que está presente en el paquete DHCPDISCOVER. De esta manera, puede tener un socket de escucha UDP normal en lugar de un socket Ethernet sin formato.

Daniel B
fuente
66
" La dirección de difusión de cualquier red Ethernet es FF: FF: FF: FF: FF: FF. " Eso se aplica a cualquier protocolo IEEE LAN que las direcciones usos MAC de 48 bits, por ejemplo, Wi-Fi, token ring, FDDI, etc.
Ron Maupin
it communicates using layer 2Esto no es correcto. La capa 2 no alcanza el nivel de red de la pila de IP del servidor. La capa de transmisión 2 solo transmite la trama de Ethernet a todos los oyentes en un dominio de colisión de Ethernet en particular. La dirección de difusión IP es la que abre la puerta de la pila de IP del servidor.
Pat
Ciertamente. Sin embargo, como escribí, es "no realmente" la comunicación IP. No puede ser En su lugar, utiliza el procesamiento de paquetes IP mediante la inserción de direcciones de origen y destino que darán como resultado un comportamiento bien definido. El direccionamiento real se realiza puramente en la capa 2.
Daniel B
Está usted equivocado. La dirección IP de transmisión es definitivamente comunicación IP. Si esa dirección de difusión no está allí, la capa IP del servidor no ve el paquete. Lo único particular de la dirección IP de difusión es que no se puede enrutar.
Pat
1
Creo que Pat está un poco bien y un poco mal ... de hecho, la transmisión en IP funciona en la capa 3 ... pero DHCP procesa todos los primeros pasos en L2 / ARP / MAC ... y solo el último paso (decirle al DHCP servidor, la IP servida se acepta en L3 / Unicast) ... debe ser así porque al principio no tiene pila de IP / L3 ... otros servicios que transmiten IP que no sean DHCP no tienen este problema (ya tener una dirección IP) para que puedan comunicarse a través de L3 / L4 -> ...
ZEE
30

Para usar DHCP requiere que conozca la dirección de transmisión de su red.

No. Solo necesita la dirección de difusión local 255.255.255.255 (para IPv4) o el grupo de multidifusión ff02 :: 1: 2 (para IPv6). El objetivo de DHCP es que no requiere ninguna configuración previa en el cliente.

usuario1686
fuente
Esto no es correcto. También necesita la dirección de transmisión MAC (Capa 2) porque ARP no funciona para una dirección IP de transmisión.
Pat
Se supone que la asignación de la dirección de transmisión IP a MAC siempre se conoce porque está definida por el protocolo, por lo que aún no es necesario configurarla manualmente.
usuario1686
Está usted equivocado. en un cliente DHCP de arranque, un paquete DHCPDISCOVERY debe definir AMBAS direcciones de transmisión de nivel 2 y nivel 3, no puede simplemente definir la transmisión de nivel 3 y pensar que cualquier otro protocolo descubrirá que la dirección MAC de destino solo tiene una dirección de destino de transmisión de IP
Pat
3
  1. El firmware de arranque descubre las NIC instaladas
  2. El firmware de arranque descubre cada dirección MAC de difusión NIC que le pregunta al controlador UNDI PXE (UNDI GET INFORMACIÓN que devuelve HwType y HwAddrLen), es decir, HwType = ETHER_TYPE HwAddrLen = 6 => Dirección MAC de difusión = FF: FF: FF: FF: FF: FF.
  3. El firmware de arranque inicia la secuencia DHORA DORA (DHCPDISCOVERY) que se anuncia como un cliente PXE (opción DHCP 60) en las NIC habilitadas para BIOS / UEFI utilizando:
    1. La correspondiente dirección de difusión MAC descubierta previamente en el nivel 2 de OSI (capa de enlace de datos)
    2. El BIOS / UEFI habilitó la dirección de transmisión IPv4 / IPv6 (255.255.255.255/ff02::1:2) en el nivel 3 de OSI (capa de red)
  4. El firmware de arranque finaliza la secuencia DHCP DORA si se recibe una oferta completa de DHCP-PXE que define:

    1. Dirección IP del cliente / máscara
    2. Dirección IP del servidor TFTP
    3. NBP (programa de arranque de red)

    Nota: Si se recibe más de una oferta completa, los estándares actuales no definen específicamente cómo el cliente debe seleccionar una.

  5. El firmware de arranque establece la NIC IP, las transferencias TFTP, las cargas en la memoria y ejecuta el NBP.

La dirección de difusión MAC de capa 2 permite la entrega de la trama Ethernet DHCP a todos los oyentes dentro del dominio de colisión NIC Ethernet del cliente. La dirección de difusión IP de capa 3 es la que abre la puerta de la pila IP del servidor DHCP. Se necesitan ambas direcciones de difusión L2 / L3 .

Cuando el cliente PXE y el servidor DHCP se encuentran en diferentes subredes, el tráfico DHCP de difusión se detiene en el / los enrutador (s), entonces deben habilitar su agente de retransmisión DHCP (IP Helper en el mundo de Cisco), es decir, el paquete de difusión DHCPDISCOVERY, convertirlo a unidifusión DHCPDISCOVERY y enrutarlo a la dirección IP del servidor DHCP de destino definido.

Palmadita
fuente
Buena respuesta señor.
Tim_Stewart