DHCP
DHCP
Le protocole DHCP (Dynamic Host Configuration Protocol) est une extension de BOOTP, il fournit une
configuration dynamique des adresses IP et des informations associées aux ordinateurs configurés pour
l'utiliser (clients DHCP). Ainsi chaque hôte du réseau obtient une configuration IP dynamiquement au
moment du démarrage, auprès du serveur DHCP. Le serveur DHCP lui attribuera notamment une
adresse IP, un masque et éventuellement l'adresse d'une passerelle par défaut. Il peut attribuer beaucoup
d'autres paramètres IP notamment en matière de noms (l'adresse des serveurs DNS, l'adresse des
serveurs WINS).
III.7.1 Définition
Au lieu d'affecter manuellement à chaque hôte une adresse statique, ainsi que tous les paramètres tels
que (serveur de noms, l'adresse de passerelle par défaut, @ip du réseau), un serveur DHCP alloue à un
client, un bail d'accès au réseau, pour une durée déterminée (durée du bail). Le serveur passe en param
ètres au client toutes les informations dont il a besoin.
Ce processus est mis en œuvre quand vous ouvrez une session chez un fournisseur d'accès Internet
par modem. Le fournisseur d'accès, vous alloue une adresse IP de son réseau le temps de la liaison.
Cette adresse est libérée, donc de nouveau disponible, lors de la fermeture de la session.
• Configuration fiable et simple : Le protocole DHCP offre une configuration de réseau TCP/IP
fiable et simple, empêche les conflits d'adresses et permet de contrôler l'utilisation des
adresses IP de façon centralisée. Ainsi, si un paramètre change au niveau du réseau, comme,
par exemple l'adresse de la passerelle par défaut, il suffit de changer la valeur du paramètre au
niveau du serveur DHCP, pour que toutes les stations aient une prise en compte du nouveau
paramètre dès que le bail sera renouvelé. Dans le cas de l'adressage statique, il faudrait
manuellement reconfigurer toutes les machines.
• Configuration sûre : DHCP évite les erreurs de configuration dues au besoin de taper
manuellement des valeurs sur chaque ordinateur. De plus, DHCP permet d'empêcher les
conflits d'adresses causés par une adresse IP affectée précédemment et réutilisée pour
configurer un nouvel ordinateur sur le réseau.
. © Auteur : Dr. H. Zerrouki
• Economie d'adresse : ce protocole est presque toujours utilisé par les fournisseurs d'accès
Auteur : Dr. H. Zerrouki
Internet qui disposent d'un nombre d'adresses limité. Ainsi grâce à DHCP, seules
les machines connectées en ligne ont une adresse IP.
En effet, imaginons un fournisseur d'accès qui a plus de 1000 clients. Il lui faudrait 5 réseaux
de classe C, s'il voulait donner à chaque client une adresse IP particulière. S'il se dit que
47
Administration des
Services Réseaux Les services annuaires
chaque client utilise en moyenne un temps de connexion de 10 mn par jour, il peut s'en sortir
avec une seule classe C, en attribuant, ce que l'on pourrait appeler des "jetons d'accès" en
fonction des besoins des clients.
Remarques
Le client utilise des trames de broadcast pour rechercher un serveur DHCP sur le réseau, cela charge
le réseau. Si vous avez une entreprise avec plusieurs centaines de personnes qui ouvrent leur session le
matin à 8 h ou l'après midi à 14 h, il peut s'en suivre de graves goulets d'étranglement sur le réseau.
L'administrateur devra donc réfléchir sérieusement à l'organisation de son réseau.
Un client DHCP est un ordinateur qui demande une adresse IP à un serveur DHCP. Comment, alors, un
client DHCP, qui utilise le protocole TCP/IP mais qui n'a pas encore obtenu d'adresse IP par le serveur,
peut-il communiquer sur le réseau ?
• Votre "MAC Address" que vous ne perdez jamais, puisqu'elle est écrite "en dur" dans votre
Interface Ethernet.
• Le "Broadcast" ou "Diffusion" qui permet d'envoyer des trames à toutes les machines du
réseau physique.
Le protocole DHCP utilise un processus en quatre étapes pour louer des informations d'adressage IP
aux clients DHCP. Ces quatre étapes sont nommées en fonction des types de paquets DHCP.
• Découverte DHCP
•
. © Auteur : Dr. H. Zerrouki
Offre DHCP
Auteur : Dr. H. Zerrouki
• Requête DHCP
• Accusé de réception DHCP ou accusé de réception DHCP négatif
Le processus de création d'un bail DHCP est le processus permettant au client DHCP de recevoir des
données de configuration d'adresse IP du serveur DHCP. Le dialogue est décrit de la manière suivante
(figure III.11) :
48
Administration des
Services Réseaux Les services annuaires
1. Lorsque le client DHCP démarre, il n'a aucune connaissance du réseau, du moins, en principe.
Il envoie donc une trame "DHCPDISCOVER", destinée à trouver un serveur DHCP. Cette trame
est un "broadcast", donc envoyé à l'adresse 255.255.255.255. N'ayant pas encore d'adresse IP,
il adopte provisoirement l'adresse 0.0.0.0. Comme ce n'est pas avec cette adresse que le DHCP
va l'identifier, il fournit aussi sa "MAC Address".
2. Le, ou les serveurs DHCP du réseau qui vont recevoir cette trame vont se sentir concernés et
répondre par un "DHCPOFFER".Cette trame contient une proposition de bail et la "MAC
Address" du client, avec également l'adresse IP du serveur. Tous les DHCP répondent et le
client normalement accepte la première réponse venue. Le "DHCPOFFER" sera un broadcast
(Ethernet) ou non, suivant le serveur DHCP utilisé.
4. Le serveur DHCP concerné répond définitivement par un DHCPACK qui constitue une
confirmation du bail comportant l'adresse IP et le masque de réseau (@IP de passerelle,@ de
serveur du nom) attribués au client. Trois autres champs sont ajoutés :
• La durée d'allocation de l'adresse.
• La date de demande de renouvellement.
• La période durant laquelle le client peut à nouveau diffuser des recherches DHCP (en
absence de réponse du serveur DHCP).
L'adresse du client est alors marquée comme utilisée et ne sera plus proposée à un autre client
. © Auteur : Dr. H. Zerrouki
Le processus de renouvellement d’un bail DHCP est le processus permettant au client DHCP de
renouveler ou de mettre à jour ses données de configuration d’adresse IP à l’aide du serveur DHCP.
49
Administration des
Services Réseaux Les services annuaires
Le client DHCP renouvelle ses données de configuration IP avant l’expiration du bail. Si le bail expire
avant leur renouvellement, ces données sont perdues et il doit recommencer le processus de création
d’un bail DHCP.
Un client DHCP tente automatiquement de renouveler son bail lorsque sa durée a expiré de 50 %. Il
essaie également de renouveler son bail d’adresse IP à chaque redémarrage de l’ordinateur. Pour
renouveler un bail, le client DHCP envoie un paquet DHCPREQUEST directement au serveur DHCP
duquel il a obtenu ce bail.
Si le serveur DHCP est disponible, il renouvelle le bail et envoie au client un paquet DHCPACK
contenant la durée du nouveau bail et les paramètres de configuration mis à jour. Le client met à jour
sa configuration lorsqu’il reçoit l’accusé de réception. Si le serveur DHCP n’est pas disponible, le client
. © Auteur : Dr. H. Zerrouki
Si le client DHCP ne parvient pas à renouveler son bail la première fois, il diffuse un paquet
DHCPDISCOVER pour mettre à jour son bail d’adresse lorsque 87,5 % de sa durée actuelle a expiré. À
ce stade, le client DHCP accepte un bail émis par n’importe quel serveur DHCP.
50
Administration des
Services Réseaux Les services annuaires
DHCPDecline : Diffusion par un client DHCP vers un serveur DHCP, pour informer le serveur
que l'adresse IP proposée a été refusée car elle semble être en cours d'utilisation par un autre
ordinateur.
DHCPRelease : Envoyé par un client DHCP vers un serveur DHCP, de renoncer à une adresse IP
et l'annulation du bail en cours. Il s'agit de monodiffusion vers le serveur qui a fourni le bail.
DHCPInform : Envoyés à partir d'un client DHCP vers un serveur DHCP, vous demandant
uniquement pour les paramètres de configuration locaux supplémentaires ; le client a déjà une
adresse IP configurée. Ce type de message est également utilisé par les serveurs DHCP
exécutant Windows serveur pour détecter les serveurs DHCP non autorisés.
Une étendue est une plage d’adresses IP valides disponibles pour les baux ou l’attribution à des
ordinateurs clients sur un sous-réseau spécifique. Vous configurez une étendue sur le serveur DHCP
pour déterminer le pool d’adresses IP que le serveur peut attribuer aux clients DHCP.
Les étendues déterminent les adresses IP allouées aux clients. Vous devez définir et activer une
étendue avant que les clients DHCP puissent utiliser le serveur DHCP pour la configuration dynamique
du protocole TCP/IP. Vous pouvez configurer plusieurs étendues sur un serveur DHCP pour votre
environnement réseau.
Chaque sous-réseau possède une étendue DHCP unique contenant une plage d’adresses IP unique et
permanente. Des adresses ou des groupes d’adresses spécifiques peuvent être exclus de la plage
spécifiée par l’étendue DHCP. En général, une seule étendue peut être attribuée à un sous-réseau. Si
plusieurs étendues sont requises dans un sous-réseau, elles doivent d’abord être créées puis associées
dans une étendue globale.
Les étendues globales ou encore super étendues permettent d’attribuer des adresses IP de plusieurs
sous réseaux logiques à des clients DHCP se situant sur le même segment physique.
• Lorsque que vous n’avez plus assez d’adresses disponibles pour un sous réseau et que des
stations doivent être installées sur le même segment physique.
• Utilisation sur un même segment physique de plusieurs adresses réseau logique (multinet).
• Migration de clients DHCP dans une nouvelle étendue.
La suppression d’une étendue globale ne supprime pas les étendues qui la composent.
. © Auteur : Dr. H. Zerrouki
Auteur : Dr. H. Zerrouki
Lorsque le serveur DHCP et son client sont sur des réseaux disjoints distants de plusieurs routeurs. La
diffusion de la recherche DHCP aux autres réseaux s'effectue par les routeurs. Ces routeurs joueront le
rôle de relais DHCP.
51
Administration des
Services Réseaux Les services annuaires
Le relais (le routeur) écoute les diffusions envoyées par les clients, lorsqu'un datagramme est reçu il est
retransmis vers le serveur DHCP du réseau voisin et lorsqu'il reçoit des datagrammes à partir d'un
serveur il diffuse sur le réseau du client DHCP.
Un agent de relais DHCP est un ordinateur ou un routeur configuré pour écouter les messages DHCP
des clients DHCP et les transmettre aux serveurs DHCP sur différents sous-réseaux. Les agents de relais
DHCP font partie des normes DHCP, et fonctionnent en conformité avec les documents RFC qui
décrivent le rôle du protocole et le comportement associé.
L'agent de relais DHCP prend en charge le processus de création d'un bail entre le client et le serveur
DHCP lorsqu'ils sont séparés par un routeur. Cela permet au client DHCP de recevoir une adresse IP du
serveur DHCP.
Un agent relais relaie les messages DHCP diffusés sur l'une des interfaces physiques qui lui sont
connectées, telle une carte réseau, vers d'autres sous-réseaux à distance auxquels il est connecté par
d'autres interfaces physiques. La figure suivante montre comment le Client DHCP du Sous-réseau A
obtient un bail d'adresse DHCP auprès du Serveur DHCP du Sous-réseau B.
BOOTP et DHCP).
Auteur : Dr. H. Zerrouki
2. L'agent relais, ici un routeur activé en tant que relais DHCP, examine le champ d'adresse IP de
la passerelle, qui figure dans l'en-tête du message DHCP. Si l'adresse IP de ce champ est
0.0.0.0, l'agent place dans ce champ l'adresse IP de l'agent relais ou du routeur et transmet le
message au Sous-réseau B où se trouve le serveur DHCP.
52
Administration des
Services Réseaux Les services annuaires
4. Si le Serveur DHCP dispose de plusieurs étendues DHCP, l'adresse qui figure dans le champ
d'adresse IP de la passerelle (GIADDR) identifie l'étendue DHCP d'où il peut proposer un bail
d'adresse.
5. Lorsque le Serveur DHCP reçoit de le message DHCPDISCOVER, il traite et envoie une offre de
bail d'adresse IP (DHCPOFFER) directement à l'agent relais identifié dans le champ d'adresse IP
de la passerelle (GIADDR).
6. Le routeur relaie ensuite l'offre de bail d'adresse (DHCPOFFER) jusqu'au client DHCP. L'adresse
IP du client est toujours inconnue et doit donc être diffusée sur le sous-réseau local. De la
même façon, un message de demande (DHCPREQUEST) est relayé du client au serveur, et un
message d'accusé de réception (DHCPACK) est relayé du serveur au client.
Les messages DHCP sont transmis via UDP. Bien que peu fiable, ce protocole suffit au transport des
paquets simples sur réseau local, et surtout il est très léger, donc intéressant pour les petits systèmes
(du genre le micro bout de programme qui fait la requête DHCP lorsque le PC se met en route). De
facto, DHCP fonctionne en mode non connecté. Le client n'utilise que le port 68 pour envoyer et
recevoir ses messages et le serveur envoie et reçoit ses messages sur un seul port, le port 67.
La trame DHCP a le format suivant (les chiffres entre parenthèses indiquent la taille du champ en
octets) :
. © Auteur : Dr. H. Zerrouki
Auteur : Dr. H. Zerrouki
53
Administration des
Services Réseaux Les services annuaires
− htype : type de l'adresse hardware, identifie le type de matériel utilisé sur le réseau. Par
exemple, 1 correspond à Ethernet (adresse MAC, par exemple), 15 à un relais de trames et 20 à
une ligne série.
− hlen : longueur de l'adresse hardware (en octet). C'est 6 pour une adresse MAC.
− hops : (Sauts) contrôle le transfert des messages. Défini sur 0 par le client avant la transmission
d'une requête. Peut être utilisé par des relais DHCP.
− xid : (Identificateur de transaction) nombre aléatoire choisi par le client pour mettre en
correspondance la demande avec les réponses reçues des serveurs DHCP.
− secs : le temps écoulé (en secondes) depuis que le client a commencé sa requête ou de
renouvellement d'un bail par un client.
− flags : (Indicateurs) utilisés par un client qui ne connaît pas son adresse IPv4 lorsqu'il envoie une
requête.
− ciaddr : Adresse IP du client, champ utilisé par un client pendant le renouvellement de bail
lorsque l'adresse du client est valide et utilisable, mais pas au cours du processus d'acquisition
d'une adresse.
− yiaddr : Votre adresse IP, champ utilisé par le serveur pour attribuer une adresse IPv4 au client.
− siaddr : Adresse IP du prochain serveur : champ utilisé par le serveur pour indiquer l'adresse du
serveur que le client doit utiliser pour l'étape suivante du processus d'amorçage.
− giaddr : adresse IP du relais (passerelle par exemple) lorsque la connexion directe client/serveur
n'est pas possible.
− sname : (Nom du serveur) champ utilisé par le serveur envoyant un message DHCPOFFER ou
DHCPACK. Le serveur peut éventuellement saisir son nom dans ce champ.
− ile : Nom du fichier de démarrage (boot), champ facultatif utilisé par un client pour demander
un type particulier de fichier de démarrage dans un message DHCPDISCOVER.
− options : (Options DHCP) comprend les options DHCP, notamment plusieurs paramètres requis
pour le fonctionnement de base de DHCP.
Dans une précédente RFC, la taille de ce champ était limitée (limité à 64 octets par exemple pour la
première version de Bootp) ; maintenant, il n'y a plus de limitation.
Dans tous les cas, un client DHCP doit être prêt à recevoir au minimum 576 octets, mais la possibilité
lui est offerte de demander au serveur de restreindre la taille de ses messages.
. © Auteur : Dr. H. Zerrouki
Auteur : Dr. H. Zerrouki
• Message de détection : Le client DHCP envoie une diffusion IP dirigée avec un paquet
DHCPDISCOVER.
54
Administration des
Services Réseaux Les services annuaires
• Dans cet exemple, le serveur DHCP se trouve sur le même segment et recueille cette requête.
Le serveur note que le champ GIADDR est vide, ce qui signifie que le client est sur le même
segment. Le serveur note également l'adresse matérielle du client dans le paquet de requête.
• Message d'offre DHCP : Le serveur DHCP choisit une adresse IP dans le pool disponible de ce
segment, ainsi que l'autre segment et les paramètres globaux. Le serveur DHCP les place dans
les champs appropriés du paquet DHCP. Le serveur DHCP utilise ensuite l'adresse matérielle
de A (dans CHADDR) pour former une trame appropriée à renvoyer au client.
. © Auteur : Dr. H. Zerrouki
Auteur : Dr. H. Zerrouki
55