**Ceci est une ancienne révision du document !**
Table des matières
Cours : Le protocole DHCP
Présentation
Le protocole DHCP (Dynamic Host Configuration Protocol) permet la configuration TCP/IP dynamique (automatique) des hôtes d'un réseau local en fournissant au minimum les informations suivantes pour une communication sur le réseau local et sur Internet :
- une adresse IP,
- le masque de sous-réseau,
- la passerelle par défaut,
- les serveurs de noms DNS primaire et secondaire.
Ce service est DHCP apporte une solution pour :
- fournir sur le réseau une configuration aux ordinateurs quand ils sont actifs ,
- centraliser la gestion des informations de configuration TCP/IP et permettre de répercuter facilement toutes modifications de ces informations;
- faciliter les tâches d'administration répétitives et fastidieuses tout en évitant les erreurs de configuration.
Quels hôtes utilise ce service
A priori tout hôte qui n'est pas en permanence actif sur le réseau ou dont l'adresse IP peut changer sans que cela prête à conséquence :
- ordinateurs fixes et portables des utilisateurs,
- smartphones, tablettes,
- objets connectés.
Par contre, ne sont pas utilisateur de ce service :
- les serveurs,
- les équipements d'interconnexion réseaux : routeurs, switchs administrables, point d'accès Wifi, etc.
- les périphériques réseaux : imprimantes, téléphones IP, etc.
Fonctionnement du protocole DHCP
Prérequis
- Le serveur DHCP doit avoir une adresse IP fixe.
- Le protocole utilisé est BOOTP et utilise des trames UDP.
Fonctionnement
Quand un hôte en configuration dynamique (DHCP) démarre :
- il n'a aucune configuration TCP/IP,
- il ne connait pas le réseau ni l'adresse du serveur DHCP.
- l'hôte envoie en diffusion Broadcast (adresse destinataire 255.255.255.255) un datagramme (DHCP DISCOVER) qui s’adresse au port 67 de n’importe quel serveur DCP à l’écoute sur ce port. Ce datagramme comporte entre autres l’adresse physique (MAC) du client.
- Tout serveur DHCP ayant reçu ce datagramme, s’il est en mesure de proposer une adresse sur le réseau auquel appartient le client, envoie une offre DHCP (DHCP OFFER) à l’attention du client (sur son port 68), identifié par son adresse physique. Cette offre comporte :
- l’adresse IP du serveur,
- l’adresse IP et le masque de sous-réseau qu’il propose au client.
- Plusieurs offres soient adressées au client s'il y a plusieurs serveurs DHCP.
- Le client retient la première des offres reçues et diffuse sur le réseau un datagramme de requête DHCP (DHCP REQUEST). Ce datagramme comporte :
- l’adresse IP du serveur et celle qui vient d’être proposée au client,
- elle a pour effet de demander au serveur choisi :
- l’assignation de cette adresse,
- l’envoi éventuel des options de configuration comme la passerelle ainsi que les noms des serveurs DNS.valeurs des paramètres,
- et d’informer les autres serveurs qui ont fait une offre qui n’a pas été retenue.
- Le serveur DHCP élabore un datagramme d’accusé de réception (DHCP ACK pour acknowledgement) qui assigne au client :
- l’adresse IP et son masque de sous-réseau,
- la durée du bail de cette adresse (dont découlent deux valeurs T1 et T2 qui déterminent le comportement du client en fin de bail), et éventuellement d’autres paramètres :
- adresse IP de la passerelle par défaut,
- adresses IP des serveurs DNS.
La liste des options que le serveur DHCP peut accepter est consultable dans la RFC 2132 : Options DHCP et Extensions fournisseur BOOTP, Chapitre RFC 1497 : Extensions fournisseur.
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)