Guía Hardware

Protocolo de red PXE: qué es, para qué sirve y qué tiene que ver con el arranque

Actualizado a: 19 de enero de 2024

Cuando se trata de hacer instalaciones de un sistema operativo en servidores, o en multitud de equipos iguales de una oficina, un cibercafé, etc., el protocolo de red PXE del que te comentaremos en este artículo se vuelve imprescindible y te facilitará mucho la vida. Por ello, te vamos a comentar todo lo que debes saber al respecto.

Wake on LAN/WAN

mejores tarjetas de red

Wake on LAN (WOL), o Wake on WAN (WOW), es una función que permite encender o despertar un ordenador de forma remota mediante una señal de red. En otras palabras, permite iniciar un ordenador que está apagada o en modo de suspensión desde otro dispositivo de la red, lo que permite el control remoto del sistema, siempre y cuando esté soportado y activo.

El funcionamiento básico implica que el ordenador que se desea encender debe estar conectada a una red, con una tarjeta de red o adaptador que soporte esta tecnología, además de tener esta función habilitada en su configuración de BIOS o UEFI. Cuando se envía una señal de despertar (paquete) a través de la red, esta señal llega a la tarjeta de red de podrá encender el equipo para su administración remota.

Es útil en situaciones donde se necesita acceder a un equipo de forma remota y no se desea dejarla encendida todo el tiempo. Algunos casos de uso comunes incluyen:

  • Administración remota de servidores: los administradores de sistemas pueden utilizar WOL para encender servidores de forma remota cuando sea necesario realizar tareas de mantenimiento o actualizaciones.
  • Acceso a archivos y recursos compartidos: los usuarios pueden encender tu ordenador de casa desde el trabajo o viceversa para acceder a archivos y recursos compartidos en su red local.
  • Ahorro de energía: permite apagar ordenadores cuando no están en uso y encenderlas solo cuando se necesitan, lo que contribuye al ahorro de energía.
  • Acceso a dispositivos de medios: se puede utilizar para encender un ordenador que actúa como servidor multimedia y acceder a contenidos multimedia almacenados en ella desde otros dispositivos en la red.

Esto no hay que confundirlo con el arranque a través de la red, que expongo en el siguiente apartado… Es decir, en el WOL/WOW solo se enciende el equipo.

Arranque a través de la red

arranque BIOS

El arranque desde la red implica iniciar un ordenador a través de una conexión de red en lugar de utilizar un dispositivo local para encontrar la imagen del sistema operativo o proceso de inicio. Esto permite centralizar el proceso y ofrece diversas ventajas que analizaremos a continuación.

En este proceso, el software de arranque se carga desde un servidor en la red. En redes basadas en TCP/IP, esto se logra comúnmente mediante el Protocolo de Transferencia de Archivos Trivial (TFTP), como explicaremos más adelante. El servidor que proporciona el software inicial se encuentra generalmente a través de solicitudes de Protocolo de Inicio (Bootstrap Protocol) o a través de configuraciones DHCP realizadas mediante transmisiones en difusión o multidifusión (multicast). Por lo general, este software inicial puede ser bastante simple y no es necesario que incluya la imagen completa del sistema operativo.

Existen implementaciones específicas para distintos sistemas operativos, como MacOS, Windows y Linux, tales como NetInstall, Windows Deployment Services y DRBL, respectivamente.

Antes de que el Protocolo de Internet (IP) se convirtiera en el protocolo dominante de la Capa 3, se utilizaban protocolos como el NetWare Core Protocol y el IBM RIPL para el arranque desde la red. Sin embargo, más tarde se desarrolló el Protocolo de Extensión Prearranque (PXE), que es el que se discutirá en este artículo.

El arranque desde la red también se utiliza en la instalación automática de sistemas operativos. En esta situación, un sistema operativo se carga desde la red, y mediante un script, se realiza la instalación según la configuración establecida en ese script, lo que permite llevar a cabo el proceso sin necesidad de supervisión. Esto resulta muy conveniente cuando es necesario instalar el mismo sistema operativo o entorno en varios equipos.

¿Qué es PXE?

PXE (Preboot Execution Environment), que significa Entorno de Ejecución Prearranque en español, representa un enfoque para iniciar un ordenador (cliente) utilizando exclusivamente su tarjeta de red. Esta idea de PXE se originó en los primeros días de los protocolos BOOTP/DHCP/TFTP y, para el año 2015, se convirtió en una parte esencial del estándar UEFI.

Desde la perspectiva del cliente, solo se requiere una tarjeta de interfaz de red (NIC) compatible con PXE, un firmware compatible (BIOS/UEFI) y una arquitectura adecuada (como IA-32, IA-64, DEC Alpha, entre otras). Además, PXE utiliza un conjunto limitado de protocolos de red ampliamente reconocidos en la industria, como DHCP y TFTP.

Este enfoque se basa en estándares y se puede implementar mediante software de código abierto, aunque también existen soluciones propietarias de algunos proveedores. En la infraestructura de un centro de datos, PXE ocupa una posición fundamental, ya que puede configurar automáticamente servidores o estaciones de trabajo a través de conexiones de red, lo que también puede ser de gran utilidad en sistemas personales.

Tener un conocimiento profundo sobre la estructura de PXE resulta muy valioso para cualquier persona involucrada en la implementación de infraestructuras para servidores sin sistema operativo preinstalado (bare-metal), servidores integrados y dispositivos de Internet de las cosas (IoT).

¿Por qué debería usar PXE? Ventajas

El uso de un servidor PXE puede ofrecer diversas ventajas significativas, como:

  • Eliminación de la Dependencia de un Sistema Operativo o Disco Duro en el Cliente: no es necesario que el equipo cliente tenga un sistema operativo instalado ni siquiera un disco duro funcional. Esto simplifica enormemente el proceso de instalación, incluso para aquellos con conocimientos técnicos limitados.
  • Capacidad de Reiniciar el Cliente en Caso de Problemas de Software o Hardware: en caso de problemas, tanto de software como de hardware, es posible reiniciar el equipo cliente. Esto facilita a los administradores diagnosticar y solucionar problemas, lo que reduce los errores gracias a la automatización.
  • Sencilla Incorporación de Nuevos Equipos a la Red: la adición de nuevos equipos a la red se vuelve sencilla gracias a la independencia de proveedores de PXE. La implementación de PXE puede reducir el tiempo dedicado a cada servidor, ya que las herramientas de instalación están centralizadas y su actualización resulta más sencilla.

Por ejemplo, si deseas mantener o instalar un sistema operativo en varios equipos sin tener que usar un CD o una unidad USB en cada equipo de forma individual, puedes utilizar el inicio PXE para llevar a cabo la instalación del sistema de manera eficiente.

Desventajas

Si bien PXE ofrece varias ventajas, también tiene algunas desventajas que es importante tener en cuenta antes de usar este protocolo:

  • Dependencia de la Red: PXE requiere una red funcional para funcionar. Si la red está caída o experimenta problemas, puede resultar en la imposibilidad de arrancar o instalar sistemas en los equipos cliente.
  • Configuración y Mantenimiento Inicial: configurar y mantener un servidor PXE puede ser complicado y requerir conocimientos técnicos avanzados. Esto puede ser una barrera para usuarios o administradores con menos experiencia en redes y sistemas.
  • Compatibilidad Limitada: no todos los equipos admiten PXE de manera nativa. Es necesario contar con hardware compatible, incluidas tarjetas de red y BIOS/UEFI configurados correctamente, lo que puede ser un desafío en algunos casos.
  • Seguridad: PXE puede abrir una puerta a posibles ataques si no se asegura adecuadamente. Los servidores PXE deben estar configurados con medidas de seguridad adecuadas para protegerse contra amenazas.
  • Requerimientos de ancho de banda: la transferencia de archivos a través de PXE puede consumir ancho de banda significativo, especialmente cuando se inician múltiples equipos al mismo tiempo. Esto puede afectar el rendimiento de la red.

Funcionamiento de PXE

Si deseas entender el funcionamiento de PXE, a continuación, exploraremos su operación paso a paso:

Configuración del DHCP:

  1. Inicialmente, el equipo cliente emite un paquete de difusión amplia, conocido como «descubrimiento» (discover), solicitando información de configuración de la red.
  2. El servidor DHCP recibe este paquete de solicitud.
  3. Como respuesta, el servidor DHCP envía un paquete de «oferta» (offer) al cliente. Este paquete contiene ciertos parámetros de configuración de la red, como la máscara de subred y la dirección IP, entre otros.

Proceso de Inicio de PXE:

  1. El cliente informa al protocolo DHCP que está utilizando un servidor PXE.
  2. El servidor DHCP proporciona al cliente la dirección IP del próximo servidor de inicio (boot server) y el nombre del archivo de inicio.
  3. El cliente establece una comunicación con el servidor de inicio PXE y solicita un archivo de inicio específico.
  4. El servidor PXE responde enviando el archivo de inicio al cliente utilizando el Protocolo de Transferencia de Archivos Triviales (TFTP) u otros protocolos.
  5. En este archivo de inicio, generalmente se encuentra la imagen necesaria para el proceso de arranque.

Protocolos necesarios

Del anterior texto se deduce que se hace uso de varios protocolos de red para que PXE funcione adecuadamente. En este apartado nos centraremos en estos protocolos:

NIC (Network Interface Controller)

Se refiere al controlador de interfaz de red o tarjeta de red. Mientras que existen numerosas tarjetas de red disponibles para usuarios comunes que no tienen la funcionalidad PXE, en los servidores destinados a centros de datos, es común utilizar NIC habilitadas para PXE.

Algunas de estas NIC con soporte PXE incluso hacen uso de firmware de código abierto para admitir la funcionalidad PXE.

DHCP (Dynamic Host Configuration Protocol)

Este protocolo desempeña un papel esencial en PXE y se compone de dos roles principales: el servidor DHCP y el cliente DHCP. El DHCP ofrece diversas opciones que pueden proporcionarse a los clientes en una red, como la asignación de direcciones IP, la especificación de la puerta de enlace predeterminada y la indicación del servidor DNS para resolver nombres.

En el contexto de PXE, una de las opciones que proporciona el DHCP es la dirección IP del servidor desde el cual el cliente puede descargar su archivo de inicio. Es importante señalar que, aunque se puede prescindir del proxy DHCP, aún se requiere el servidor TFTP. Esto se debe a la existencia del protocolo BOOTP, que puede reemplazar al DHCP y permite que los dispositivos cliente obtengan automáticamente su dirección IP.

Servidor TFTP (Trivial File Transfer Protocol)

TFTP, cuya sigla significa Protocolo de Transferencia de Archivos Triviales, es un protocolo sencillo que opera sobre UDP para la obtención y envío de archivos. La simplicidad inherente al TFTP lo hace especialmente adecuado para entornos con recursos de firmware limitados.

El TFTP se enfoca exclusivamente en el intercambio de archivos y no incluye características adicionales como la navegación de directorios. Por lo tanto, se requiere conocer la ruta exacta del archivo deseado para su descarga. Además, carece de características de autenticación o autorización.

Aunque el TFTP todavía se utiliza comúnmente en contextos PXE, la evolución de PXE ha permitido la utilización de protocolos más complejos, como el protocolo de almacenamiento iSCSI o el protocolo web HTTP.

Implementaciones de PXE

También existen algunas implementaciones de PXE con diferencias que debes conocer, como las siguientes:

gPXE

  • gPXE (anteriormente conocido como Etherboot) es una implementación de código abierto de PXE y un cargador de inicio.
  • Su utilidad radica en permitir que equipos que no tienen soporte para PXE puedan iniciar desde la red o en expandir las capacidades de una implementación de PXE existente al admitir protocolos adicionales.
  • A diferencia de los clientes PXE convencionales que utilizan TFTP para la transferencia de datos, gPXE agrega la capacidad de recuperar información a través de otros protocolos como HTTP, iSCSI, NFS, FTP y ATA sobre Ethernet (AoE). Además, puede funcionar con conexiones Wi-Fi en lugar de depender de conexiones por cable.
  • gPXE puede iniciar no solo sistemas operativos como Linux, FreeBSD y Windows, sino también imágenes en formatos como ELF, EFI y las extensiones COMBOOT y COM32 de SYSLINUX. Esto permite mostrar un menú gráfico para las opciones de inicio desde la red.
  • Aunque en sus inicios, gPXE tenía como objetivo principal implementar un conjunto de funciones PXE, en la actualidad se utiliza como un cargador de inicio en red completo con todas sus características.

iPXE

  • iPXE es una implementación de código abierto del software del cliente y cargador de inicio PXE, creado en 2010 como un fork de gPXE, y comparte muchas características con él.
  • Se puede utilizar para permitir que los equipos que no tienen capacidad PXE integrada puedan arrancar desde la red o para proporcionar características adicionales más allá de las que ofrece PXE de forma nativa.
  • iPXE admite los mismos protocolos que gPXE (con la adición de FCoE o Fibre Channel over Ethernet) y es compatible con los mismos formatos y sistemas.

Conclusión

Recuerda siempre que para que PXE funcione correctamente, es necesario que esté habilitado en la configuración del BIOS/UEFI del ordenador. Normalmente, esta opción se encuentra en la sección «Advanced» (Avanzado) del BIOS, aunque su ubicación específica puede variar según la versión y el fabricante del BIOS. Las opciones suelen llevar nombres como «Boot from the network» (Iniciar desde la red) o «Boot from PXE» (Iniciar desde PXE).

Por otro lado, si eres usuario de Linux, debes saber que existe PXELINUX, que es un sistema integrado en SYSLINUX que se utiliza para el inicio de sistemas basados en Linux mediante el protocolo PXE. Para los que usan MacOS, está BSDP (Boot Service Discovery Protocol), una extensión desarrollada por Apple para habilitar el arranque de equipos Mac desde imágenes de sistemas operativos en la red, en lugar de depender de medios locales.

Jaime Herrera

Jaime Herrera

Técnico electrónico y experto en el sector de los semiconductores y el hardware. Con una amplia y sólida trayectoria en el campo de la electrónica, he acumulado una extensa experiencia. Mi pasión por la tecnología y la informática me ha impulsado a dedicar décadas de mi vida al estudio y desarrollo de soluciones en este fascinante sector. Como técnico electrónico, he tenido el privilegio de trabajar en una variedad de proyectos y desafíos, lo que me ha permitido adquirir un profundo conocimiento y experiencia en la creación, diseño y mantenimiento de dispositivos electrónicos.

>
Guía Hardware
Logo