Por que a transmissão é usada na etapa DHCPREQUEST?

19

Este é o processo de DHCPoperação, insira a descrição da imagem aqui

Minha pergunta está na 3ª etapa: por que o cliente envia uma transmissão e não um unicast, pois após as duas operações anteriores o endereço do servidor DHCP / servidor de retransmissão deve ser conhecido?

Maomé
fonte
Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta. Como alternativa, você pode fornecer e aceitar sua própria resposta.
Ron Maupin

Respostas:

30

https://tools.ietf.org/html/rfc2131#page-13

Os servidores recebem a transmissão DHCPREQUEST do cliente. Os servidores não selecionados pela mensagem DHCPREQUEST usam a mensagem como notificação de que o cliente recusou a oferta desse servidor.

O protocolo assume que pode haver vários servidores DHCP. Ao transmitir a mensagem de solicitação, todos os servidores que podem ter emitido uma oferta podem estar cientes da escolha do cliente.

boomi
fonte
11

Você pode potencialmente ter vários servidores DHCP - a solicitação é enviada como transmissão para notificar os outros servidores DHCP que potencialmente enviaram ofertas de que sua oferta não foi aceita.

Zac67
fonte
7

Porque até o servidor enviar o DHCPACK, o cliente ainda não tem um endereço IP. É possível que um servidor DHCP responda a uma solicitação com um DHCPNACK.

YLearn
fonte
Por que isso implica que a transmissão precisaria ser usada? O cliente sabe o endereço MAC do servidor a partir da mensagem DHCPOFFER, para que ele possa enviar o unicast DHCPREQUEST para esse servidor - não é necessário um endereço IP para que isso aconteça.
Psmears
1
@psmears, porque as transmissões L3 são enviadas como transmissões L2. O DHCP não é um protocolo L2, portanto, você está vinculado às regras, pois os dados são transmitidos de L3 para L2.
YLearn
2
@YLearn: Você também precisa de um IP de origem e de destino para um pacote de difusão seletiva ou L3, então isso claramente não é o problema :) Não há razão teórica para que o pacote DHCPREQUEST não possa ser enviado com o IP e MAC de destino do servidor e (como no pacote de transmissão) um IP de origem 0.0.0.0. O motivo da transmissão é permitir que outros servidores DHCP (se houver) saibam que o cliente está recusando suas ofertas.
Psmears 6/0318
1
@psmears, o destino de uma transmissão L3 é 255.255.255.255. Você pode obter uma transmissão L3 de 0.0.0.0. No entanto, você não pode obter um unicast L3 de 0.0.0.0.
YLearn
2
@YLearn: Você certamente pode enviar um pacote com os bytes para o endereço de origem definido como zero! Isso pode ser proibido por algumas RFC - você conhece uma? O RFC1700 diz que 0.0.0.0 "pode ​​ser usado apenas como endereço de origem" (mas nada sobre unicast / broadcast); RFC1122 diz 0.0.0.0 "NÃO DEVE ser enviado, exceto como um endereço de origem como parte de um procedimento de inicialização pelo qual o host aprende seu próprio endereço IP" (novamente, nenhuma restrição uni / broadcast). Isso é obrigatório em outro lugar?
Psmears