Resumo

  • As opções 60, 61, 55 e 43 cumprem, respectivamente, funções de classe, índice de associação de endereço, pedido de parâmetros e informação específica de fornecedor.
  • Uma captura registra valores numa etapa da troca; não prova fabricante, identidade física duradoura, aplicação da configuração nem conectividade operacional.

Uma mensagem DHCP chega com três pistas tentadoras. O campo de classe parece dizer que equipamento é aquele. Outro campo parece identificá-lo. Uma sequência de números parece mostrar o que ele usa. Esse atalho produz uma ficha limpa, mas transforma declarações, consultas e preferências em fatos que o pacote não observou. A contribuição do RFC 2132 foi justamente permitir que essas coisas diferentes coexistissem sem perderem suas funções próprias.

Steve Alexander e Ralph Droms publicaram o documento em março de 1997 para definir opções DHCP e extensões de fornecedor do BOOTP. Quase todas as opções usam código, comprimento e valor; Pad e End têm tratamento excepcional. No BOOTP, quatro octetos de magic cookie selecionam a gramática do campo restante. A tradição do RFC 1048 torna possível localizar e pular campos desconhecidos. Um limite sintático, porém, não verifica quem escreveu o conteúdo.

A opção 60 é uma cadeia opcional enviada pelo cliente para descrever uma classe de fornecedor ou configuração. O servidor a interpreta; se não souber interpretar a informação de classe, deve ignorá-la, embora possa registrá-la. Ao responder com informação específica do fornecedor, deveria usar a opção 43. Assim, a classe pode orientar uma decisão do servidor, mas não atesta a origem do hardware nem obriga o servidor a acreditar no que o cliente declara.

A opção 43 abriga informação opaca definida no âmbito do fornecedor. Se houver vários itens, o RFC recomenda encapsular subopções código-comprimento-valor. Os códigos internos podem ser redefinidos pelo fornecedor, sem alterar os códigos globais do DHCP. O End interno encerra somente a extensão encapsulada; quando não há End, o comprimento envolvente fornece o limite. Confundir essas duas camadas transforma um dado privado numa falsa afirmação universal. Mesmo uma resposta bem decodificada não mostra se o cliente a aceitou ou instalou.

A opção 61 serve para outra pergunta: qual entrada o servidor deve procurar em sua base de associações de endereços? O identificador do cliente é um índice opaco. Pode incluir tipo e endereço de hardware ou um valor diferente. Precisa ser único entre os identificadores usados na sub-rede à qual o cliente está ligado, escolha pela qual fornecedores e administradores respondem. Unicidade de índice não equivale à autenticação de uma pessoa ou de uma máquina física; reaparecerem os mesmos octetos não encerra uma investigação de identidade.

A opção 55 enumera códigos de parâmetros solicitados. O cliente pode ordenar a lista por preferência. O servidor não precisa devolver os valores nessa ordem, mas deve tentar inserir as opções pedidas na ordem solicitada. Nem a presença de todos os valores na resposta nem sua aplicação no host decorrem da lista. Já a opção 57 define o maior tamanho de mensagem DHCP que o cliente aceita, com mínimo legal de 576 octetos. Pedido e capacidade de recepção limitam uma negociação; não são medição de estado ativo.

O RFC 2131 separa descoberta, oferta, pedido, confirmação e verificações do cliente. Para demonstrar resultado seriam necessários os pacotes relevantes, a política e a associação armazenada pelo servidor, a configuração acolhida pelo host e uma prova de serviço. Nenhum desses RFCs mede a implantação de um operador específico. A seção de segurança do RFC 2132 declara que não discute questões de segurança: ela não oferece, por omissão, uma credencial.

O marco histórico é uma linguagem extensível para decisões heterogêneas, não uma certidão de identidade. A ideia de primazia do código em execução de Heng Lu é aqui uma lente editorial: o que está especificado e o que funciona precisam de provas distintas. Não é uma regra adicional atribuída ao protocolo.

Fontes: RFC 2132, RFC 2131, RFC 1048 e Running-Code Primacy.