Un bref guide du protocole DHCP : ce qu’il est, à quoi il sert un serveur DHCP et comment fonctionne l’attribution d’adresses IP dans les réseaux locaux.
Chaque appareil communiquant sur un réseau local et sur l’internet possède une adresse IP spécifique, qui peut être IPv4 ou IPv6.
Sous Windows, pour connaître l’adresse IP utilisée par chaque appareil du réseau local, il suffit de taper cmd dans le champ de recherche du système d’exploitation, puis de taper la commande ipconfig.
De même, sous Linux, la commande ifconfig peut être utilisée.
Qu’est-ce que le DHCP et comment fonctionne-t-il en bref ?
DHCP (Dynamic Host Configuration Protocol) est un protocole réseau utilisé précisément pour attribuer des adresses IP et d’autres informations de configuration réseau aux appareils qui en font la demande explicite.
Lorsqu’un appareil se connecte à un réseau et qu’il est configuré pour obtenir automatiquement une adresse IP, il envoie une demande au serveur DHCP, qui répond en transmettant l’adresse IP à utiliser, l’adresse de la passerelle par défaut, les serveurs DNS à utiliser, etc.
Le DHCP simplifie la configuration du réseau, car il élimine la nécessité de configurer manuellement chaque appareil avec les différents paramètres (passerelle et DNS à utiliser) et une adresse IP unique. Il ne peut y avoir plus d’un appareil partageant la même adresse IP, sous peine de créer des conflits d’adresses IP qui, dans certains cas, ne sont même pas faciles à détecter.
Le protocole DHCP permet également d’optimiser l’utilisation des adresses IP disponibles dans le réseau en les attribuant dynamiquement uniquement lorsque cela est nécessaire et en les libérant (c’est-à-dire en les rendant disponibles pour d’autres appareils) après un certain temps.
Différence entre l’attribution d’une adresse IP statique et l’utilisation du DHCP
Rien n’interdit d’attribuer une adresse IP statique à des appareils individuels. Pensez par exemple aux serveurs, caméras, NVR, NAS, systèmes de contrôle domestique intelligents, panneaux de contrôle d’alarme, commutateurs et imprimantes réseau : sur ces appareils, il est logique de définir une adresse IP statique qui ne change jamais au fil du temps. Ainsi, par exemple, il sera facile de taper l’adresse IP correspondante pour se connecter au panneau d’administration du dispositif à l’aide du navigateur installé sur n’importe quel hôte connecté au réseau local.
En associant une adresse IP statique à l’appareil individuel, celui-ci n’enverra plus de demandes au serveur DHCP du réseau local.
L’important est que l’adresse IP que vous décidez d’attribuer manuellement ne soit pas utilisée par d’autres appareils sur le réseau local et qu’elle se situe en dehors de la plage utilisée par le serveur DHCP (nous y reviendrons).
Où se trouve le serveur DHCP et comment il est configuré
Dans les réseaux domestiques et professionnels, le serveur DHCP est généralement intégré au routeur : il est toutefois possible de désigner d’autres appareils en réseau local comme serveurs DHCP. Bien qu’il soit possible d’avoir plusieurs serveurs DHCP dans le même réseau, cela est fortement déconseillé.
L’adresse de la passerelle par défaut, renvoyée par les commandes ipconfig et ifconfig susmentionnées, est souvent indiquée par le serveur DHCP.
En général, cependant, la passerelle par défaut et le serveur DHCP ne sont pas nécessairement le même système : dans un réseau complexe, les deux peuvent correspondre à des systèmes différents pour des raisons d’évolutivité, de redondance et de sécurité.
Dans la plupart des cas, cependant, l’accès au panneau d’administration, qui répond via l’interface Web à l’adresse IP locale de la passerelle par défaut (il suffit de la taper dans la barre d’adresse de votre navigateur), permet d’accéder à la configuration du routeur local.
En accédant à la section LAN, Serveur DHCP (les désignations peuvent changer légèrement…) vous pouvez vérifier l’adresse IP de départ et l’adresse IP d’arrivée entre lesquelles le DHCP peut se déplacer pour une attribution automatique aux clients qui en font la demande.
Dans l’exemple présenté, le DHCP attribue dynamiquement des adresses IP dans la plage comprise entre 192.168.1.50 et 192.168.1.199. Le masque de sous-réseau est utilisé pour dimensionner le réseau et donc la plage d’adresses IP disponibles.
Dans ce cas, avec un masque de sous-réseau égal à 255.255.255.0, le nombre total d’adresses IP utilisables est compris entre 192.168.1.1 et 192.168.1.254. Ceci peut être facilement vérifié à l’aide du calculateur de sous-réseau IP.
Pour l’attribution d’adresses IP statiques, toujours selon l’exemple ci-dessus, il faut travailler dans les plages 192.168.1.2 – 192.168.1.49 et 192.168.1.200 – 192.168.1.254.
DHCP : processus de demande et de réponse
Lorsqu’un appareil client est connecté au réseau local, il ne sait pas et ne peut pas savoir où se trouve le serveur DHCP qui lui fournira dynamiquement une adresse IP ; un processus de demande et de réponse est donc mis en place, qui comprend les étapes suivantes :
Découverte ou Discover. Lorsque l’appareil se connecte au réseau, il envoie une demande de diffusion DHCP appelée DHCP Discover. La demande est envoyée en diffusion ou en broadcast via UDP avec l’adresse source (client) fixée à 0.0.0.0 et l’adresse de destination fixée à 255.255.255.255.
Nous avons vu la différence entre TCP et UDP dans un autre article.
Offre. Le serveur DHCP qui reçoit la demande envoie une « offre » à l’appareil par le biais d’une réponse appelée Offre DHCP. L’offre comprend l’adresse IP attribuée, la durée du bail et d’autres informations de configuration.
La durée du bail est la période pendant laquelle une adresse IP attribuée par un serveur DHCP est réservée à un appareil spécifique. Dans l’image publiée précédemment, cela correspond à l’heure de libération : la valeur 86400 signifie que pendant le même nombre de secondes (24 heures), le client aura la même adresse IP locale sécurisée, même s’il se déconnecte du réseau et se reconnecte plus tard.
L’appareil client est tenu de renouveler le bail avant son expiration afin de conserver l’adresse IP attribuée via DHCP.
Dans le cas de connexions Wifi partagées avec des utilisateurs invités, il peut être judicieux de réduire le bail, par exemple à une ou deux heures. De cette manière, les adresses IP temporairement occupées par des clients seront libérées et réattribuées à d’autres clients qui en font la demande.
Dans la phase d’offre DHCP, la réponse est envoyée en monodiffusion ou unicast à l’appareil qui a envoyé la demande de découverte DHCP, car le serveur connaît le client (grâce à son adresse MAC).
Demande ou Request. L’appareil client reçoit l' »offre » du serveur DHCP et envoie une demande d’accusé de réception au serveur sélectionné par le biais d’une réponse appelée DHCP Request.
Confirmation ou Acknowledge. Le serveur DHCP confirme la demande de l’appareil en envoyant une réponse appelée DHCP Acknowledge. Cette réponse confirme l’attribution de l’adresse IP et fournit d’autres informations de configuration demandées par l’appareil (celles que nous avons déjà examinées ci-dessus).
Le processus de demande et de réponse DHCP se déroule automatiquement et de manière transparente pour l’utilisateur final, qui n’a rien à faire. Le protocole DHCP est conçu pour gérer automatiquement la réattribution des adresses IP lorsque les baux expirent ou lorsqu’un appareil quitte le réseau.
Le serveur DHCP existe-t-il également pour IPv6 ? Quels sont les ports utilisés ?
Le protocole d’attribution dynamique des adresses IP est également utilisé dans les réseaux IPv6. Dans ce cas, il est appelé DHCPv6 et remplit la même fonction que le DHCP pour IPv4.
Le DHCPv6 est utilisé pour attribuer des adresses IPv6 tout en transférant des informations de configuration du réseau et d’autres données aux clients. Toutefois, contrairement au DHCP pour IPv4, le DHCPv6 n’est pas la seule méthode d’attribution des adresses IPv6.
En effet, dans IPv6, il est également possible d’utiliser le protocole SLAAC (Stateless Address Autoconfiguration), qui permet aux appareils de s’attribuer automatiquement des adresses à partir d’informations décrivant le réseau local.
Le DHCP pour IPv4 utilise les ports de communication UDP 68 du côté du client et UDP 67 du côté du serveur. Le DHCPv6, quant à lui, communique sur les ports UDP 546 (côté client) et 547 (côté serveur).
Est-il possible d’avoir plusieurs serveurs DHCP dans le même réseau ?
Bien qu’il soit possible d’avoir plusieurs serveurs DHCP dans le même réseau, ce type de configuration n’est pas recommandé.
Dans un réseau comportant plusieurs serveurs DHCP, les périphériques qui se connectent reçoivent une offre d’adresse IP de chaque serveur DHCP disponible. Cela peut entraîner des problèmes tels que la duplication des adresses IP, le chevauchement possible des plages d’adresses IP attribuées, et rendre le réseau instable.
Les serveurs DHCP peuvent à leur tour être incapables d’échanger des informations sur la configuration du réseau, telles que l’attribution d’une adresse IP déjà utilisée, ce qui est source de confusion. Si, dans la plupart des cas, il est préférable de n’avoir qu’un seul serveur DHCP dans le réseau, dans un réseau complexe comportant plusieurs sous-réseaux, il peut être nécessaire d’avoir plusieurs serveurs DHCP. Dans ce cas, il est important de configurer correctement les serveurs DHCP afin qu’ils ne se chevauchent pas et ne causent pas de problèmes.