Comment Faire Pour

Le protocole DHCP

Introduction

Dans un réseau TCP/IP chaque hôte doit disposer d’un nom et d’une adresse IP unique. L’adresse IP et le masque de sous-réseau qui lui est associé permettent d’identifier l’hôte et le sous réseau auquel appartient l’hôte.

Les adresses IP peuvent être affectées manuellement par l’administrateur réseau. Toutefois, un réseau d’entreprise comprend dans la plus part des cas, un nombre assez important d’abonnés et l’attribution manuelle des paramètres réseau (adressage IP et d’autres informations de configuration réseau) devient vite une tâche complexe et source d’erreurs (duplication d’adresses, privation de services nécessaires au bon fonctionnement du réseau, etc.). Il serait donc intéressant d’avoir un mécanisme rapide et fiable pour attribuer automatiquement aux hôtes d’un réseau des adresses IP.

DHCP : Définition et rôle

DHCP pour Dynamic Host Configuration Protocol, permet d’affecter d’une façon dynamique des adresses IP pour les clients DHCP d’un réseau. C’est un protocole de la couche application de la pile de protocoles TCP/IP.  

DHCP est donc un serveur qui :

  • Automatise l’affectation des adresses IP,
  • Simplifie la gestion de la configuration des adresses IP hôtes,
  • Augmente la fiabilité du réseau.

DHCP prend en charge trois mécanismes d’allocation d’adresse IP :

  • La méthode d’attribution automatique : DHCP attribue une adresse IP permanente à un client.
  • La méthode de l’allocation dynamique : DHCP attribue une adresse IP à un client pour une période limitée ou jusqu’à ce que le client abandonne explicitement l’adresse IP.
  • La méthode de l’allocation manuelle : L’adresse IP d’un client est attribuée par l’administrateur du réseau. Dans cette méthode, DHCP est utilisé uniquement pour gérer l’attribution des adresses affectées manuellement aux clients.

Le principe d’allocation est explicité dans la figure 1 :

  • Le client DHCP (l’hôte) demande un bail (une adresse IP pour une durée donnée),
  • Le serveur DHCP attribue à l’hôte demandeur un bail (une adresse IP pour une durée donnée)

Une fois le serveur DHCP et les clients DHCP configurés, l’attribution d’adresses IP se fait automatiquement.

Exemple de centre de gestion d'adresses IP

Le processus DHCP se déroule en quatre phases comme illustré dans la figure 2 .Ce processus est souvent appelé le processus DORA.

Phases d'attribution d'adresses IP
1. DHCPDISCOVER ou Demande de bail 

Lorsqu’un hôte, configuré pour récupérer son adresse IP automatiquement, est mis en marche la première fois, il va chercher à contacter un (ou plusieurs) serveur DHCP susceptible d’être présent sur son réseau pour demander une adresse IP. Il envoie à cet effet, un DHCPDISCOVER sur le réseau sous forme d’un datagramme UDP de broadcast en utilisant les données suivantes :

  • Adresse IP hôte                  : 0.0.0.0  
  • Adresse IP destination      : Adresse de broadcast (255.255.255.255)
  • Adresse MAC hôte             : 00.52.8C.23.E2.6B (Cette valeur d’adresse est prise à titre d’exemple)
  • Adresse MAC destination : Adresse de broadcast (FF. FF. FF. FF. FF. FF)
  • ID de transaction                : 12113 (valeur prise à titre d’exemple)
2. DHCPOFFER ou proposition de bail 

Un (ou plusieurs) serveur DHCP répond en envoyant sur l’adresse IP de broadcast (255.255.255.255) au client (Adresse MAC 00.52.8C.23.E2.6B dans notre exemple) un DHCPOFFER contenant :

  • Une adresse IP et un masque ,
  • Une durée de bail,
  • L’adresse IP du serveur DHCP,
  • ID de transaction (12113 dans notre exemple)
3. DHCPREQUEST ou sélection de bail :

Le client choisit une adresse IP et renvoie sur le réseau un datagramme UDP de broadcast (DHCPREQUEST) pour signifier l’offre qu’il a retenue (le restant des offre sera rejeté).Le datagramme envoyé contient donc :

  • Adresse IP de destination : 255.255.255.255 (Broadcast),
  • Adresse MAC de destination : FF. FF. FF. FF. FF. FF (Broadcast),
  • Un nouvel ID de transaction (14215 par exemple).
4. DHCPACK ou accusé de réception du bail IP :

Le serveur DHCP concerné valide le bail en envoyant au client, en broadcast (255.255.255.255), un accusé de réception (DHCPACK) contenant les autres paramètres IP (masque de sous-réseau, passerelle, serveurs DNS et WINS). Le datagramme UDP envoyé contient cette fois-ci :  

  • L’adresse MAC du destinataire : 00.52.8C.23.E2.6B (Dans notre exemple),
  • L’ID de transaction : 14215 (Dans notre exemple).
A savoir aussi

1. Une adresse IP proposée par un serveur DHCP a une durée de vie limitée appelé bail. Lorsque le client aura atteint 50% de sa durée, il enverra un DHCPREQUEST à son serveur DHCP afin de le renouveler.

2. Lors d’un renouvellement ou lorsque l’on rallume l’hôte, celui-ci ne refait pas toute la procédure en commençant par un DHCPDISCOVER. Il envoie directement un DHCPREQUEST pour obtenir l’ancienne adresse. Le serveur DHCP lui attribue son ancienne adresse si elle est encore disponible sinon il lui envoie un accusé de réception négatif (DHCPNACK).Dans ce cas, l’hôte doit recommencer toute la procédure en commençant par l’envoie d’un DHCPDISCOVER.Un accusé de réception négatif (DHCPNACK) est également diffusé au cas où le serveur DHCP trouve que l’adresse IP demandée est incorrecte (Le cas où l’hôte a été physiquement déplacé sur un autre sous-réseau).

3. Si un réseau est constitué de sous-réseaux, il faut : 

  • Soit un serveur DHCP sur chaque sous-réseau contenant des clients DHCP,
  • Soit, lorsque l’on veut qu’un serveur DHCP fournisse des adresses IP à plusieurs sous-réseaux, configurer les routeurs reliant les sous-réseaux en tant qu’agents de relais DHCP (En activant BOOTP sur le routeur). Dans ce cas et sachant qu’un serveur DHCP ne partage pas ses données avec d’autres serveurs DHCP, il faut que chaque serveur DHCP ait des plages d’adresses IP qui ne recoupent pas celles des autres serveurs DHCP. Pour cela, il faut configurer l’étendue d’un sous-réseau sur plusieurs serveurs DHCP sans qu’aucune adresse IP ne soit dupliquée entre serveurs DHCP. D’autre part, chaque serveur DHCP doit avoir une étendue contenant environ 75% des adresses IP disponibles du sous-réseau sur lequel il est installé et 25% des adresses IP disponibles du sous-réseau distant.
  • Si tous les hôtes ne sont pas des clients DHCP, il faudra exclure de la plage d’adresses du serveur DHCP les adresses IP statiques des clients non-DHCP.
  • Les options d’adressage IP configurées dans le serveur DHCP déterminent les paramètres TCP/IP à assigner à client DHCP (passerelle par défaut, serveur DNS, résolution des noms NetBIOS sur TCP/IP, serveur WINS, ID d’étendue NetBIOS).
  • Le serveur DHCP doit disposer d’une adresse IP fixe (non dynamique).