Desde algunos unos días he estado realizando una investigación la cual pienso documentar y publicar en este medio; los frutos de estas investigaciones son varios y en esta entrada voy a explicar un poco el funcionamiento de PXE.
Primero que nada PXE es la unión de los protocolos DHCP y TFTP. En PXE el protocolo DHCP es usado para encontrar un servidor de arranque o booteo, el protocolo TFTP contiene archivos de bootstrap y archivos adicionales.
El funcionamiento de PXE inicia cuando un cliente busca la dirección de servicio PXE en la red en donde se encuentra. Cuando el servicio de PXE es contactado este manda un repuesta con un archivo de arranque el “file path” de una NBP (network bootstrap program), lo descargará a la memoria ram y se ejecutará.
Cliente PXE
El cliente PXE envía un paquete DHCPDISCOVER en la capa 2 del modelo OSI, manda el paquete al pueto 67 de UDP ademas manda algunas catacteristicas que indican que el cliente soporta PXE
El Servicio de PXE recibe un paquete DHCPDISCOVER, responde con un paquete de difusión DHCPOFFER con opciones PXE al puerto 68 de UDP.
Servidor PXE
Para contactar con cualquier servidor de arranque PXE el firmware debe obtener una dirección IP y el resto de información de un único paquete DHCPOFFER extendido. Tras elegir el servidor de arranque PXE apropiado el firmware envía un paquete DHCPREQUEST extendido mediante multicast o unicast al puerto port 4011/UDP o broadcast al puerto 67/UDP. Este paquete contiene el servidor de arranque PXE y la capa de arranque PXE, permitiendo ejecutar múltiples tipos de servidores de arranque mediante un único daemon (o programa) de arranque. El paquete DHCPREQUEST extendido también puede ser un paquete DHCPINFORM.
Si un servidor de arranque PXE recibe un paquete DHCPREQUEST extendido como el descrito anteriormente y si está configurado para el tipo de servidor de arranque PXE y la arquitectura de cliente solicitados, debe responder devolviendo un paquete DHCPACK extendido son opciones específicas de PXE.
a continuación una captura donde se hacen la solicitud para un servidor PXE
En el próximo incluiré algo relacionado con esto.
