Pourquoi la diffusion est-elle utilisée à l'étape DHCPREQUEST?

19

Ceci est le processus de DHCPfonctionnement, entrez la description de l'image ici

Ma question est à la 3ème étape, pourquoi le client envoie-t-il une diffusion et non une monodiffusion car après les deux opérations précédentes, l'adresse du serveur DHCP / serveur relais doit être connue?

Mohammed
la source
Une réponse vous a-t-elle aidé? Si c'est le cas, vous devez accepter la réponse afin que la question ne s'affiche pas indéfiniment, à la recherche d'une réponse. Alternativement, vous pouvez fournir et accepter votre propre réponse.
Ron Maupin

Réponses:

30

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

Les serveurs reçoivent la diffusion DHCPREQUEST du client. Les serveurs non sélectionnés par le message DHCPREQUEST utilisent le message comme notification que le client a décliné l'offre de ce serveur.

Le protocole suppose qu'il peut y avoir plusieurs serveurs DHCP. En diffusant le message de demande, tous les serveurs qui ont émis une offre peuvent être conscients du choix du client.

boomi
la source
11

Vous pouvez potentiellement avoir plusieurs serveurs DHCP - la demande est envoyée en tant que diffusion pour informer les autres serveurs DHCP qui ont potentiellement envoyé des offres que leur offre n'est pas acceptée.

Zac67
la source
7

Parce que jusqu'à ce que le serveur envoie le DHCPACK, le client n'a toujours pas d'adresse IP. Il est possible pour un serveur DHCP de répondre à une demande avec un DHCPNACK.

YApprendre
la source
Pourquoi cela impliquerait-il que la diffusion devrait être utilisée? Le client connaît l'adresse MAC du serveur à partir du message DHCPOFFER, donc il pourrait envoyer la monodiffusion DHCPREQUEST à ce serveur - il n'y a pas besoin d'une adresse IP pour que cela se produise.
psmears
1
@psmears, car les diffusions L3 sont envoyées en tant que diffusions L2. DHCP n'est pas un protocole L2, vous êtes donc lié aux règles lorsque les données sont transmises de L3 à L2.
Apprendre
2
@YLearn: Vous avez également besoin d'une IP source et de destination pour un paquet de multidiffusion ou de diffusion L3, donc ce n'est clairement pas le problème :) Il n'y a aucune raison théorique pour laquelle le paquet DHCPREQUEST n'a pas pu être envoyé avec l'IP et le MAC de destination du serveur, et (comme avec le paquet de diffusion) une IP source de 0.0.0.0. La raison de la diffusion est de faire savoir aux autres serveurs DHCP (le cas échéant) que le client décline ses offres.
psmears
1
@psmears, la destination d'une diffusion L3 est 255.255.255.255. Vous pouvez obtenir une diffusion L3 à partir de 0.0.0.0. Cependant, vous ne pouvez pas source unicast L3 à partir de 0.0.0.0.
Apprendre
2
@YLearn: Vous pouvez certainement envoyer un paquet avec les octets de l'adresse source mis à zéro! Cela peut être interdit par certains RFC - en connaissez-vous un? La RFC1700 indique que 0.0.0.0 "ne peut être utilisé que comme adresse source" (mais rien sur la monodiffusion / diffusion); La RFC1122 indique que 0.0.0.0 "NE DOIT PAS être envoyé, sauf en tant qu'adresse source dans le cadre d'une procédure d'initialisation par laquelle l'hôte apprend sa propre adresse IP" (là encore, aucune restriction uni / broadcast). Est-ce obligatoire ailleurs?
psmears