Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Internet - Le protocole DHCP

Le protocole DHCP Encyclopédie


Définition du terme DHCP

DHCP signifie Dynamic Host Configuration Protocol. Il s'agit d'un protocole qui permet à un ordinateur qui se connecte sur un réseau d'obtenir dynamiquement (c'est-à-dire sans intervention particulière) sa configuration (principalement, sa configuration réseau). Vous n'avez qu'à spécifier à l'ordinateur de se trouver une adresse IP tout seul par DHCP. Le but principal étant la simplification de l'administration d'un réseau.

Le protocole DHCP sert principalement à distribuer des adresses IP sur un réseau, mais il a été conçu au départ comme complément au protocole BOOTP (Bootstrap Protocol) qui est utilisé par exemple lorsque l'on installe une machine à travers un réseau (BOOTP est utilisé en étroite collaboration avec un serveur TFTP sur lequel le client va trouver les fichiers à charger et à copier sur le disque dur). Un serveur DHCP peut renvoyer des paramètres BOOTP ou de configuration propres à un hôte donné.

Fonctionnement du protocole DHCP

Il faut dans un premier temps un serveur DHCP qui distribue des adresses IP. Cette machine va servir de base pour toutes les requêtes DHCP, aussi elle doit avoir une adresse IP fixe. Dans un réseau, on peut donc n'avoir qu'une seule machine avec adresse IP fixe, le serveur DHCP.

Le mécanisme de base de la communication est BOOTP (avec trame UDP). Quand une machine est démarrée, elle n'a aucune information sur sa configuration réseau, et surtout, l'utilisateur ne doit rien faire de particulier pour trouver une adresse IP. Pour faire ça, la technique utilisée est le broadcast : pour trouver et dialoguer avec un serveur DHCP, la machine va simplement émettre un paquet spécial de broadcast (broadcast sur 255.255.255.255 avec d'autres informations comme le type de requête, les ports de connexion...) sur le réseau local. Lorsque le serveur DHCP recevra le paquet de broadcast, il renverra un autre paquet de broadcast (n'oubliez pas que le client n'a pas forcement son adresse IP et que donc il n'est pas joignable directement) contenant toutes les informations requises pour le client.

On pourrait croire qu'un seul paquet peut suffire à la bonne marche du protocole. En fait, il existe plusieurs types de paquets DHCP susceptibles d'être émis soit par le client pour le ou les serveurs, soit par le serveur vers un client :

  • DHCPDISCOVER (pour localiser les serveurs DHCP disponibles)
  • DHCPOFFER (réponse du serveur à un paquet DHCPDISCOVER, qui contient les premiers paramètres)
  • DHCPREQUEST (requête diverse du client pour par exemple prolonger son bail)
  • DHCPACK (réponse du serveur qui contient des paramètres et l'adresse IP du client)
  • DHCPNAK (réponse du serveur pour signaler au client que son bail est échu ou si le client annonce une mauvaise configuration réseau)
  • DHCPDECLINE (le client annonce au serveur que l'adresse est déjà utilisée)
  • DHCPRELEASE (le client libère son adresse IP)
  • DHCPINFORM (le client demande des paramètres locaux, il a déjà son adresse IP)

Le premier paquet émis par le client est un paquet de type DHCPDISCOVER. Le serveur répond par un paquet DHCPOFFER, en particulier pour soumettre une adresse IP au client. Le client établit sa configuration, puis fait un DHCPREQUEST pour valider son adresse IP (requête en broadcast car DHCPOFFER ne contient par son adresse IP). Le serveur répond simplement par un DHCPACK avec l'adresse IP pour confirmation de l'attribution. Normalement, c'est suffisant pour qu'un client obtienne une configuration réseau efficace, mais cela peut être plus ou moins long selon que le client accepte ou non l'adresse IP...

Les baux

Pour des raisons d'optimisation des ressources réseau, les adresses IP sont délivrées avec une date de début et une date de fin de validité. C'est ce qu'on appelle un "bail". Un client qui voit son bail arriver à terme peut demander au serveur une prolongation du bail par un DHCPREQUEST. De même, lorsque le serveur verra un bail arriver à terme, il émettra un paquet DHCPNAK pour demander au client s'il veut prolonger son bail. Si le serveur ne reçoit pas de réponse valide, il rend disponible l'adresse IP.

C'est toute la subtilité du DHCP : on peut optimiser l'attribution des adresses IP en jouant sur la durée des baux. Le problème est là : si aucune adresse n'est libérée au bout d'un certain temps, plus aucune requête DHCP ne pourra être satisfaite, faute d'adresses à distribuer.

Sur un réseau où beaucoup d'ordinateurs se branchent et se débranchent souvent (réseau d'école ou de locaux commerciaux par exemple), il est intéressant de proposer des baux de courte durée. A l'inverse, sur un réseau constitué en majoritéde machines fixes, très peu souvent rebootées, des baux de longues durées suffisent. N'oubliez pas que le DHCP marche principalement par broadcast, et que cela peut bloquer de la bande passante sur des petits réseaux fortement sollicités.

Se procurer un serveur DHCP 

C'est l'Internet Software Consortium qui développe le serveur DHCP du monde du logiciel libre. C'est le serveur DHCP le plus répandu, et celui qui "suit" au mieux les RFCs. ATTENTION ! Un serveur DHCP est loin d'être simple à développer, aussi les serveurs qu'ils proposent sont régulièrement patchés et complétés. La dernière version en date est la 3.0 mais elle est encore en version beta. L'une des principales innovations de cette version est la possibilité de mettre à jour un DNS dynamiquement en fonction des adresses IP fournies par le serveur DHCP. Pour information, le premier draft sur le DNS dynamique date de mars 1996... Plus d'informations sur la mise à jour de DNS par serveurs DHCP.

Microsoft a bien entendu son propre serveur DHCP pour NT, mais celui-ci n'implémente pas encore la mise à jour dynamique de DNS.

Plus d'informations

La principale documentation sur le DHCP est constituée par les incontournables RFCs :

écrit par Sylvain Baudoin

Discussions pertinentes trouvées dans le forum

25/01 18h24 ping internet dhcp PING fonctionne mais pas Internet (ni DHCP) Réseaux 01/01 12h13->ced31
05/02 23h03 configuration dhcp Problèle configuration DHCP Linux/Unix 15/02 13h38->Crazycat12
23/10 19h29 freebox renouvellement baux dhcp [Freebox] Renouvellement des baux DHCP Réseaux 26/10 10h28->brupala12
30/06 16h09 controleur domaine dhcp Controleur de domaine et dhcp Réseaux 25/08 17h27->Bagghera11
17/06 12h13 existe switch dhcp Est-ce que ca existe un switch DHCP ? Réseaux 04/07 16h59->seb120710
12/12 21h24 dhcp livebox inventel [Problème DHCP Livebox Inventel] Réseaux 04/01 12h53->19789
23/02 12h29 dhcp ya 2 trucs echappent DHCP, ya un ou 2 trucs qui m'echappent!!! Réseaux 24/02 09h20->brupala6
04/05 16h11 serveur dhcp vérification identité Serveur dhcp avec vérification d'identité de Réseaux 09/05 15h08->brupala5
23/06 14h44 dhcp netgear Dhcp avec Netgear Réseaux 29/06 10h57->spoonoops5
24/02 21h16 dhcp pb DHCP Réseaux 24/02 23h21->aleb4
Discussion fermée Problème résolu DHCP Plus de discussions sur « DHCP »

Ce document intitulé « Internet - Le protocole DHCP » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.