Le protocole DHCP : fonctionnement et utilité

malekalmorte

Date création :

8 janvier 2018

Dernière modification :

En bidouillant votre configuration réseau, vous avez probablement entendu parlé de DNS et DHCP.
Vous ne savez probablement pas à quoi sert un serveur DHCP et comment il fonctionne.
C’est un protocole applicatif de la couche 7 du modèle OSI très utilisé dans le fonctionnement des réseaux.

Cet article vous donne toutes les explications sur le fonctionnement du protocole DHCP.

Le protocole DHCP : fonctionnement et utilité

Qu’est-ce que le DHCP ?

Lorsque vous branchez un nouveau périphériques comme un ordinateur, smartphone, tablette sur un réseau Wi-Fi ou via un câble, tout fonctionne automatiquement.
Après s’être connecté, vous récupérez internet automatiquement et vous pouvez surfez.
Or derrière, une configuration réseau est nécessaire, grâce au DHCP, cette configuration réseau se fait automatiquement.
DHCP se charge de transmettre la configuration réseau automatiquement à tout nouveau appareil qui se connecte.
Votre routeur ou box possède un serveur DHCP qui distribue cette configuration réseau à tous appareils.

DHCP pour Dynamic Host Configuration Protocol est donc un protocole réseau qui assure la configuration IP automatique des clients dans un réseau.

Ce fonctionnement est donc très flexible, puisque cela permet de modifier la configuration réseau et la répercuter de manière automatique à tous les clients.
Le serveur DHCP peut figer une configuration IP à un équipement réseau à partir de l’adresse MAC de l’interface.
On parle alors de réservation d’adresse IP.

Le serveur DHCP

Fonctionnement DHCP

Le protocole DHCP fonctionne en client/serveur.
Un serveur possède la configuration à transmettre au client lorsque celui-ci la demande.

Le serveur DHCP est écoute sur le port 68 en UDP.

  1. Lorsque l’interface réseau est configurée en DHCP, celle-ci envoie une requête (message DHCPDISCOVER) sur 255.255.255.255 (broadcast).
  2. C’est à dire tous les ordinateurs du réseau, ainsi le serveur DHCP reçoit le message et transmet une proposition de configuration IP au client (DHCOFFER).
  3. Cette configuration IP est proposée à travers un bail avec une durée limitée, le client accepte celle-ci par un message DHCPACK transmis au serveur DHCP.
  4. Lors d’un redémarrage, le client doit renouveler son bail (DHCPREQUEST). Si ce bail est refusé par le serveur DHCP, le client continue d’utiliser l’adresse IP actuelle.

Ci-dessous la requête sur le broadcast avec les différents messages DHCP envoyés et reçus.

DHCP : fonctionnement et utilité

et ainsi à partir de la commande ipconfig, on constate bien que l’interface réseau récupère la configuration IP.

DHCP : fonctionnement et utilité

Sur Windows, comme pour les requêtes DNS, les demandes DHCP sont effectués par le service Windows DHCP.
Si ce dernier ne fonctionne pas, la configuration IP automatique ne pourra se faire.

DHCP : fonctionnement et utilité

Les bails

Sur Windows, Le client tente de renouveler le bail lorsque celui-ci atteint les 50% de durée de vie.
Lorsque le serveur DHCP accepte, une nouvelle durée de vie et éventuellement une nouvelle configuration IP est envoyée au client.

Dans le cas où le bail expire ou qu’un message DHCPNACK est reçu le client doit cesser d’utiliser l’adresse IP et et demander un nouveau bail (retour au processus de souscription). Lorsque le bail expire et que le client n’obtient pas d’autre adresse la communication TCP/IP s’interrompt.

Enfin si la demande n’aboutit pas et que le bail n’est pas expiré, le client continue à utiliser ses paramètres IP.

Fonctionnement DHCP sur Windows

Il est rappellé que la configuration IP étant différente en IPV4 et IPV6.
Ici on parlera surtout de la configuration IPV4 mais le principe est le même en IPV6.

Comment vérifier si le DHCP est actif

La configuration en DHCP ou IP Fixe se fait depuis les propriétés TCP/IPV4 de l’interface réseau.
Vous trouverez tous les détails sur cette page pour accéder à ces propriétés : Comment configurer sa connexion réseau en adresse IP fixe

Ci-dessous, une capture d’écran des propriétés de la carte Ethernet (câble) avec les propriétés TCP/IP.
On voit que toute la configuration est en automatique, soit donc en DHCP.

La commande ipconfig donne la possibilité de savoir si vous êtes en DHCP ou non.

  • Ouvrez l’invite de commandes
  • Dans la fenêtre de l’invite de commandes saisissez : ipconfig /all
  • La liste des interfaces réseau avec leurs configurations IP apparaissent. Une ligne DHCP Activé est à oui ou non, si ce dernier est actif sur l’interface réseau.
  • On obtient aussi les informations du bail DHCP.
Vérifier si une interface réseau est en DHCP avec ipconfig sur Windows

Libérer ou renouveler une adresse IP en DHCP

Toujours à partir de la commande ipconfig, il est possible de libérer une configuration IP ou de renouveler celle-ci.
L’invite de commandes doit être lancé en administrateur sinon vous aurez un message « d’erreur accès refusé ».
Voici les commandes à utiliser.

ipconfig /renew

Demande de renouveler la configuration IP, cela ne renouvelle pas le bail.

ipconfig /release

Libère une adresse IP, l’interface réseau ne possède alors plus aucune configuration réseau.

Libérer ou renouveler une adresse IP en DHCP avec ipconfig

DHCP dans Linux

Il existe de nombreux serveurs DHCP dans Linux.
Les plus commun étant dhcpd, udhcpd et kea-dhcp.
Il fonctionne en tant que daemon afin d’écouter le réseau et recevoir les demandes.

Voici un exemple de contenu de /etc/dhcpcd.conf avec la configuration du daemon.
On trouve alors la configuration de la passerelle, des serveurs DNS, serveur de temps (NTP), etc.
Enfin on déclare aussi les IP à à distribuer à travers subnet.

# Sample /etc/dhcpd.conf
# (add your comments here) 
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "ubuntu-fr.lan";
option ntp-servers 192.168.1.254;

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.10 192.168.1.100;
  range 192.168.1.150 192.168.1.200;
} 

A propros de malekalmorte

malekal-site-logo-150

Passionné par l'informatique depuis très jeune, j'aide les internautes sur les forums depuis 2005 pour résoudre leurs tracas informatiques.
Je vous propose par la même occasion ce site avec de nombreux tutoriels pour vous aider aussi à résoudre de manière autonome les problèmes informatiques du quotidien.