redes

Significa: Preboot Execution Environment

A convenção de firmware para dar boot numa máquina pela rede: uma troca DHCP e depois o download de um programa de boot por TFTP.

A RFC 5970 descreve o objetivo: servir todos os arquivos de boot e de configuração a partir de um servidor central quando há muitas máquinas para manter. Um boot PXE é uma troca DHCP seguida de um download, então uma falha se lê na captura: a arquitetura que o cliente anunciou, o arquivo oferecido e o servidor indicado para buscá-lo.

O cliente se identifica nas mensagens DHCP. A RFC 4578 (2006), que registrou no IETF as opções da Intel, define a option 93, client system architecture (tipos de 16 bits), a option 94, network interface identifier (tipo 1, a Universal Network Device Interface, e a versão dela), e a option 97, client machine identifier (um GUID de 16 octetos), e cada uma MUST estar em todo pacote DHCP e PXE que um cliente ou servidor compatível envia. A especificação UEFI acrescenta a option 60, um class identifier sensível a maiúsculas que começa com PXEClient e embute a arquitetura e a versão da interface.

A resposta indica o arquivo e o servidor: a RFC 2131 dá ao header DHCP o campo file, de 128 octetos, para o nome do arquivo de boot, e o siaddr para o próximo servidor do bootstrap. O cliente busca esse network bootstrap program por TFTP e o executa, e a arquitetura decide qual arquivo serve: a RFC 4578 lista o tipo 0 como Intel x86PC, e a especificação UEFI chama o UEFI de 64 bits de tipo 0x07, valor que a própria tabela da RFC 4578 imprimiu ao lado de EFI BC.

A RFC 5970 (2010) levou a ideia ao DHCPv6: o arquivo de boot vira uma URL na option 59, as options 61 e 62 espelham a 93 e a 94, e o HTTP é fortemente recomendado, substituindo no IPv6 o antigo conselho de usar TFTP. O UEFI HTTP Boot, nas palavras da especificação um substituto de melhor desempenho para o PXE baseado em TFTP, anuncia o tipo 0x0F ou 0x10 e a classe HTTPClient. A RFC 5970 alerta que um servidor DHCPv6 falso poderia entregar a URL de uma imagem maliciosa, e recomenda HTTPS ou imagens de boot assinadas.

Também conhecido como: preboot execution environment, pxe boot, network boot, netboot, pxeclient, nbp

← Todos os verbetes do glossário