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 :
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 protocole utilisé est BOOTP et utilise des datagrammes UDP.
Le serveur DHCP doit avoir une adresse IP fixe et utilise le port UDP 67.
Les clients DHCP utilisent le port UDP 68.
Fonctionnement
Quand un hôte en configuration dynamique (DHCP) démarre :
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 DHCP à 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 :
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
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 :
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.
Renouvellement du bail
Les adresses IP dynamiques ont une durée limitée (durée du bail, ou lease time).
Avant la fin du bail, le client va demander le renouvellement de celui-ci :
par défaut après 50 % de la durée du bail (valeur T1) ) auprès du serveur qui lui a fourni sa confioguration IP transmission IP classique.
par défaut à 87,5 % de la durée du bail (valeur T2) et que le bail n’a pas pu être renouvelé cetet fois-ci par par diffusion.
Si le renouvellement n'a pas pu se faire au terme du bail, l’adresse IP est désactivée.
Configuration du serveur DHCP
Un serveur DHCP utilise réservoir d’adresses IP (PPool d'adresses IP) pour les clients.
Il peut gérer :
Les adresses IP non gérées par le serveur DHCP peuvent servir pour de l'adressage IP statique à destination des serveurs, routeurs, switchs administrables, AP Wifi, imprimantes réseau…).
Il est possible :
d’exclure des adresses ou blocs d’adresses comprises dans une plage (pour un usage en adressage statique par exemple).
d'effectuer des réservations d’adresses IP pour des hôtes précis en utilisant leur adresse physique MAC. Cela permet de gérer des hôtes avec des adresses IP qui doivent rester fixe en gardant le contrôle de centralisé et automatique les autres paramètres IP.
ATTENTION : des serveurs DHCP situés sur le même LAN n’échangent aucune information relative aux baux qu’ils ont distribués.
Les plages d'adresses IP gérées ne doivent pas se recouvrir d'avoir des dysfonctionements dans les affectations et les renouvellements d'adresses IP (adresses IP identiques pour plusieurs hôtes).
Client et serveur sur des LAN différents
Lorsque le serveur DHCP et le client ne figurent pas sur le même segment Ethernet, les diffusions émises par ce dernier ne parviennent pas au serveur parce que les routeurs ne transmettent pas les diffusions générales (broadcast).
Dans ce cas, il est nécessaire d'utiliser un agent de relais DHCP.
L'hôte qui contient l'agent relais :
est configuré avec une adresse IP statique et utilsie le port UDP 67,
connait l’adresse d’un serveur DHCP
transmet directement les messages de découverte DHCP reçus sur le port 67 au serveur DHCP.
L'agent relais place sa propre adresse IP dans le champ GIADDR de la trame DHCP reçue du client.
Le serveur DHCP :
L'agent relais transmet alors la réponse en broadcast sur le segment Ethernet du client demandeur.
L'agent relais peut être configuré :
sur un routeur,
sur un
serveur situé dans le
LAN du client.
Schéma à réaliser sur le fonctionnement de l'agent-relais DHCP
Réalisez le diagramme de séquence des échanges de messages entre l'agent relais DHCP et le serveur DHCP en utilisant la solution en ligne PlantUML