Por que o DHCP usa a porta UDP 67 e 68 para a comunicação entre o cliente e o servidor?

4

Eu sei que o DHCP é usado para atribuir um endereço IP ao cliente e, portanto, a única maneira possível de estabelecer a conexão é ouvir em uma porta específica. Mas existe alguma razão específica por trás da escolha de 67 e 68?

    
por valafar 14.06.2015 / 20:55

2 respostas

7

O DHCP é baseado no protocolo BOOTP anterior, que usa números de porta bem conhecidos para o servidor e o cliente, em vez de uma porta efêmera. O servidor e o cliente se comunicam via broadcast e o servidor transmite o endereço IP oferecido ao cliente na porta UDP 68. O uso de uma porta bem conhecida no lado do cliente é introduzido para resolver o problema associado a essa transmissão, que descreveremos abaixo.

Vamos supor que o host A esteja usando o cliente BOOTP na porta efêmera 1883 e o host B (que esteja na mesma rede) esteja usando o cliente MQTT na mesma porta. Agora, quando o servidor BOOTP envia uma mensagem de resposta de difusão com o endereço IP de transmissão 255.255.255.255 e o número da porta de destino. 1883, o host A aceitará a mensagem correta em seu cliente DHCP na camada de aplicativo. Mas, o cliente MQTT que está sendo executado na camada de aplicativo do host B receberá uma mensagem incorreta. O uso de uma porta bem conhecida (no nosso caso 68) impede o uso dos mesmos dois números de porta de destino e, portanto, proíbe que outros protocolos usem a mesma porta que já está em uso por outro protocolo. Em palavras simples, impede que um aplicativo receba uma mensagem de um protocolo completamente diferente.

Para mais detalhes, recomendo que você passe pelo RFC 2131 .

    
por 24.06.2015 / 14:26
7

O DHCP é baseado em BOOTP , que foi criado em 1985.

O BOOTP usa TFTP como o protocolo de transferência de arquivos.

O TFTP foi criado em 1981 e usa a porta 69, por isso era uma questão de usar as portas não usadas mais próximas (68 e 67).

    
por 15.06.2015 / 10:54

Tags