BOOTP - Bootstrap Protocol


Melhorando o boot remoto

O BOOTP foi criado para resolver os problemas não resolvidos pelo RARP. Entre as suas características destacam-se as seguintes:

Formato do pacote BOOTP

O pacote BOOTP possui um tamanho fixo, utilizado tanto nos pedidos quanto nas respostas, descrito a seguir em pseudo 'C':
struct BOOTP {
    int8  Operation;
    int8  HardwareType;
    int8  HardwareLen;
    int8  Hops;
    int32 TransactionID;
    int16 Seconds;
    int16 Unused;       /*  Para alinhar os dados no pacote  */
    int32 ClientIpAddr;
    int32 YourIpAddr;
    int32 ServerIpAddr;
    int32 GatewayIpAddr;
    int8  ClientHardwareAddr[ 16 ];
    char  ServerHostName[ 64 ];
    char  BootFileName[ 128 ];
    int8  VendorSpecificArea[ 64 ];
} PacketData;

Informação dependente do fabricante

Para complementar a viabilidade do BOOTP, tornando-o aberto e expansível, foi criado um campo, de tamanho variável, com informações complementares, não especificadas na definição do BOOTP.
Os primeiros 4 bytes são um identificador (Magic Number) de qual o padrão utilizado (qual o fabricante ou a instituição normalizadora). O resto dos dados é definido em função deste padrão.
Um padrão definido na internet, pela RFC 1497, define, entre vários outros, os seguintes dados para este campo:

Comentários sobre o BOOTP


Copyright ©1995 by Jonny