Vous souhaitez découvrir le protocole et un serveur DHCP ? Il s’agit d’un service essentiel sur un réseau local. Dans cet article nous allons le présenter.

Tout d’abord un peu d’histoire. Le DHCP est l’évolution d’un protocole appelé BOOTP qui servit à attribuer des adresses IP aux stations de travail Unix sans disque ni disquette qui se rencontraient voici quelques années. BOOTP n’effectuait pas réellement l’attribution de l’adresse IP de manière dynamique. L’outil se chargeait de récupérer les adresses IP à partir d’un fichier statique BOOTP qui était créé et géré par l’administrateur du réseau.

Qu'est-ce qu'un serveur DHCP ?

Qu’est-ce qu’un serveur DHCP ? Crédit Pixabay

1. A quoi sert le protocole DHCP ?

DHCP permet réellement d’attribuer de manière dynamique une adresse IP à chacun des nœuds d’un réseau. Les adresses sont prises à partir d’une page d’adresses et peuvent être attribuées de manière permanente ou pour une durée prédéfinie.

Ce mécanisme est très intéressant si vous songez au travail que constitue l’attribution d’un adresse IP, d’un masque de sous-réseau, d’une adresse de passerelle par défait et d’une adresse de serveur DNS pour chacun des postes, avec toutes les erreurs qui peuvent en découler. La plupart des systèmes d’exploitation, et notamment Sun Solaris, Linux, Novell NetWare et Microsoft Windows Server, proposent ce service.

2. Comment fonctionne le service DHCP

Voyons de quelle façon un client DHCP (une machine qui est configurée pour recevoir son adresse IP de manière dynamique) peut demander une adresse IP depuis le serveur DHCP.

Au premier démarrage du client, DHCP cherche une adresse IP. Il initialise une version limitée du protocole TCP/IP puis diffuse un message (de type broadcast) DHCPDISCOVER qui correspond à une demande d’attribution IP reçue par tous les serveurs DHCP (l’adresse du destinataire est 255.255.255.255, ce qui concerne tous les nœuds du réseau).

Ce message diffusé contient le nom de l’hôte client (qui est également en général le nom NetBIOS de ce client) et l’adresse matérielle MAC (Media Access Control), celle qui est gravée une fois pour toutes dans la carte réseau de la machine.

Suite à cette requête, le serveur DHCP du sous-réseau mentionné répond par un message DHCPPOFFER qui contient une adresse IP candidate, un masque de sous-réseau et une durée d’attribution. Le message, qui contient en outre l’adresse IP du serveur DHCP émetteur, est diffusé à toutes les stations puisque le client IP demandeur n’a pas encore d’adresse IP pour être identifié.

Dès que le client concerné reçoit le premier message DHCPPOFFER (il peut en recevoir plusieurs, mais il va s’arrêter au premier), il diffuse un message DHCPPREQUEST à tous les serveurs DHCP du réseau pour dire qu’il accepte la proposition. Le message contient l’adresse IP octroyée par le serveur DHCP. Les autres serveurs du réseau annulent leur proposition et récupèrent l’adresse IP qu’ils avaient suggérée pour le prochain client qui en fait la demande. (C’est effectivement un mécanisme de recyclage.)

Pour finir, le serveur DHCP choisi envoie une confirmation au client sous la forme d’un message DHCPPACK, qui contient l’adresse IP attribuée et d’autres informations de configuration TCP/IP. Le client mémorise toutes ces informations (sous Windows, elles sont stockées dans la base de registre).

3. Comment mettre en place un serveur DHCP

Il y a de nombreuses solutions pour créer un serveur DHCP. Vous trouverez un article sur Numelion pour créer un serveur DHCP avec Linux. Vous pouvez très bien utiliser un PC qui ne vous sert plus pour installer la version serveur de Linux Ubuntu. Cette dernière ne consomme presque rien en ressource, un vieil ordinateur fera l’affaire. Vous pouvez aussi utiliser un Raspberry qui vous coûtera une quarantaine d’euros.

Il faut savoir que les différentes box internet intègre la fonction de DHCP que vous pouvez paramétrer par le biais de leurs espaces administrateur. Vous pouvez consulter la documentation de votre box.

Vous pouvez également créer un serveur DHCP avec Windows. En effet, vous devrez simplement activer le service. Sur Windows Server, vous pouvez consulter l’installation d’un serveur DHCP sous la version 2003 ou 2008.