Découvrez ce qu’est le service DHCP et à quoi il sert. Pourquoi il est si important et largement utilisé par les entreprises et les fournisseurs de services du monde entier.
Qu’est-ce que le service DHCP et à quoi sert-il ?
Qu’est-ce que le DHCP ?
Le service DHCP (Dynamic Host Configuration Protocol) ou Protocole de Configuration Dynamique de l’Hôte est l’un des services fondamentaux sur lesquels reposent les réseaux d’entreprise et domestiques, et il mérite donc un article dédié à sa compréhension.
En général, les administrateurs de réseaux de type TCP/IP ont besoin de fournir au moins une adresse IP pour chacun des éléments connectés à un réseau. Initialement, ces configurations étaient effectuées manuellement, l’administrateur devant planifier la distribution des adresses IP et les configurer sur chaque appareil manuellement.
Ce mode de travail peut être viable lorsque quelques éléments seulement sont connectés au réseau, ou lorsque les éléments connectés ne changent pas. Cependant, que se passe-t-il lorsque des centaines de machines sont connectées ? Et que se passe-t-il lorsque les machines connectées changent constamment ? Dans ces cas, la maintenance de ce modèle est difficilement viable, car elle nécessite un effort administratif considérable et est donc très inefficace.
De plus, il faut considérer que l’exploitation quotidienne par un opérateur humain peut entraîner des problèmes tels que des erreurs dans les attributions, entraînant des doublons d’adresses IP ou, en d’autres termes, l’attribution d’une adresse déjà utilisée, des erreurs de configuration, etc. Et attention, car jusqu’à présent, nous avons parlé de l’attribution d’adresses IP, mais un appareil a besoin de plus d’informations pour se connecter à un réseau. Des informations telles que :
- Adresse IP.
- Masque de sous-réseau.
- Passerelle par défaut.
- Serveurs DNS.
- Et d’autres données que nous n’aborderons pas maintenant pour ne pas nous étendre, mais que nous traiterons ultérieurement, avec des informations détaillées sur chacune des listes.
Pensons maintenant brièvement à ce qui se passerait si le technicien effectuant cette configuration commettait une erreur en configurant l’une de ces données. Il y aurait soit un conflit d’adresse avec le message classique d’adresse IP en double, soit des erreurs de fonctionnement car l’appareil ne serait pas capable d’atteindre la passerelle, de faire des traductions IP, etc.
Et ce n’est pas le pire, car finalement, en cas d’erreur, cette erreur ne devrait concerner qu’une seule machine, mais imaginons le pire : supposons qu’un serveur DNS soit remplacé et qu’il faille le changer sur toutes les machines. Cela signifiºerait que nous devrions parcourir toutes les machines pour modifier ce paramètre, ce qui peut être une corvée avec 10 machines, mais c’est un véritable cauchemar avec 100, 1000, etc.
Quelles sont les origines du DHCP ?
Pour résoudre les problèmes liés à l’attribution, la configuration, la gestion et la maintenance de l’espace d’adresses IP, en particulier dans de grandes entreprises, un groupe d’entreprises et d’experts a travaillé pour définir un protocole permettant d’effectuer ces tâches de manière dynamique. Ce protocole est devenu la norme ouverte définie dans la RFC 2132 de l’IETF (Internet Engineering Task Force), qui établit les principes du service DHCP.
Comme nous l’avons mentionné précédemment, le DHCP résout le problème de l’attribution et de la gestion des adresses IP en les attribuant automatiquement et en maintenant leur concession, en gérant les ajouts, les suppressions et les mises à jour sans que l’administrateur n’ait à intervenir dans les opérations quotidiennes.
En réalité, comme on peut le voir dans la RFC 2132, le protocole DHCP trouve ses origines dans le BOOTP. Le BOOTP était un protocole conçu pour fonctionner sur des équipements sans disque (terminaux légers) qui transmettaient des configurations aux équipements en fonction de leur adresse physique (adresse MAC), qui est une adresse unique pour chaque élément réseau dans le monde.
Le BOOTP transmettait la configuration aux clients qui le demandaient en utilisant un serveur TFTP (Trivial File Transfer Protocol). Une fois cette information reçue, les clients étaient prêts à fonctionner normalement.
Comme on peut le voir dans ce qui vient d’être exposé, le service BOOTP permettait de résoudre la nécessité de configurer manuellement l’équipement client, ce qui se traduisait par une réduction des coûts administratifs.
Cependant, cela n’était en réalité qu’une partie de la solution, car bien qu’il transmette l’information automatiquement, les attributions d’adresses IP devaient toujours être effectuées par l’administrateur, qui devait stocker la configuration de chaque machine sur le serveur TFTP.
Un autre problème du BOOTP était qu’il était incapable de détecter des erreurs, telles que la duplication d’adresses IP, de sorte qu’il était possible de configurer par erreur la même adresse IP pour deux clients et que le serveur ne faisait rien pour résoudre ce problème.
C’est pour résoudre ces problèmes que le protocole DHCP a été créé. Il effectue non seulement ces configurations, mais il est également capable de distribuer automatiquement les adresses IP, sans que l’administrateur ait à effectuer d’autres opérations que d’attribuer une plage d’adresses IP valides. De plus, c’est le DHCP lui-même qui se charge d’éviter les chevauchements, qui ne se produiront que si l’administrateur configure manuellement un compte et commet une erreur dans la configuration.
Quelles sont les capacités réelles du DHCP ?
Jusqu’à présent, nous avons parlé des merveilles du DHCP, mais nous n’avons mentionné que son rôle dans la configuration automatique de certains paramètres. Allons un peu plus loin.
Tout d’abord, il convient de noter que lorsque nous parlons de la configuration automatique des adresses IP, nous ne sommes pas tout à fait honnêtes, ou plutôt, nous ne sommes pas tout à fait fidèles à la réalité. Le DHCP est capable d’attribuer des adresses IP de trois manières différentes :
- Attribution Manuelle : Cette méthode consiste à associer une adresse IP du pool de concessions du serveur à l’adresse physique de l’équipement (adresse MAC). Cette adresse IP est réservée uniquement pour cet équipement et ne peut pas être utilisée par un autre client. Cela fonctionne de manière similaire à ce que faisait le BOOTP.
- Attribution Dynamique : C’est la méthode par laquelle un serveur attribue une adresse IP à un client, et cette adresse est attribuée à ce client pour une période de temps. Une fois cette période écoulée, si le client reste connecté, la concession de cette adresse IP est renouvelée pour une période équivalente. Si le client reste connecté indéfiniment, l’adresse IP devient statique, car elle ne changera jamais à moins que l’administrateur ne le souhaite.
- Attribution Automatique : C’est la méthode par laquelle un serveur attribue une adresse IP à un client, et cette adresse est attribuée à cet équipement de manière permanente, devenant ainsi une valeur permanente.
Maintenant, le lecteur pourrait se demander s’il faut choisir l’un de ces trois modes pour le serveur, et la réponse est non, il n’est pas nécessaire de choisir l’un des modes, car en général, les trois modèles coexistent dans l’écosystème DHCP d’une entreprise.
Pour donner un exemple, nous pouvons utiliser l’attribution manuelle pour les équipements des techniciens, l’attribution dynamique pour les clients qui visitent occasionnellement les installations et l’attribution automatique pour les équipements des employés qui travaillent toujours dans l’entreprise.
La question suivante qui pourrait se poser au lecteur est celle que nous avons abordée en introduction : quels sont les données configurées par le DHCP ? Eh bien, précédemment, lors de la présentation, nous en avons mentionné certains, mais nous ne les avons pas tous détaillés, car nous souhaitions les expliquer plus en détail lorsque vous auriez une meilleure idée de ce qu’est ce service et de ce qu’il fait.
Les données fournies par un serveur DHCP sont principalement les suivantes :
- Adresse IP : Identifie de manière unique la machine.
- Masque de sous-réseau : Utilisé pour les opérations réseau et pour identifier le réseau auquel cet appareil appartient.
- Passerelle par défaut : Également appelée Gateway en anglais, il s’agit de la passerelle par défaut à laquelle l’appareil envoie les paquets pour qu’ils circulent en dehors du réseau.
- Serveurs DNS : Les serveurs du Service de Résolution de Noms de Domaine (Domain Name Server) auxquels la machine fera des requêtes pour savoir quelle adresse IP correspond à un serveur ou à quel serveur correspond une adresse IP.
- Nom de domaine : Il s’agit essentiellement du nom de domaine complet de l’organisation à laquelle l’appareil est rattaché. Il s’agit généralement du FQDN (Fully Qualified Domain Name), c’est-à-dire le nom suivi de l’extension, par exemple « jotelulu.com ».
- Adresse WINS : Adresse IP des serveurs WINS auxquels le client fera des requêtes pour la résolution des noms NetBIOS.
De plus, il peut y avoir d’autres paramètres moins courants, que nous n’aborderons pas dans cette occasion.
Comment se déroule l’attribution d’une adresse IP ?
Nous allons maintenant examiner très brièvement comment se produit une demande de la part d’une machine cliente et comment l’attribution est réalisée par le serveur.
Tout d’abord, un client qui se connecte à un réseau et a besoin d’obtenir une adresse IP via DHCP lance une requête de type DHCP DISCOVER, autrement dit, une demande de découverte de serveurs DHCP. Comme le client ne sait pas qui peut lui attribuer cette adresse IP, il envoie la demande à l’adresse 255.255.255.255, ce qui équivaut à une diffusion (à toutes les adresses IP du réseau), en utilisant l’adresse 0.0.0.0 comme adresse source. Bien que cette demande soit faite sans avoir une adresse IP associée, le client s’identifie par l’adresse physique de sa carte (MAC).
À ce moment-là, le serveur DHCP qui est en écoute répond en envoyant un paquet DHCPOFFER. De cette manière, le serveur se présente comme étant disponible pour faire une offre d’adresse IP et du reste des configurations pour la machine cliente. De manière intéressante, il est également possible que plusieurs serveurs puissent répondre avec une offre, chacun envoyant son propre DHCPOFFER.
Maintenant, à la fois le client et le serveur se sont mutuellement identifiés, et le client répond avec un paquet DHCPREQUEST. À ce stade, l’adresse du client reste 0.0.0.0 car il n’a pas encore reçu d’attribution de la part du serveur. Lorsque cette demande est envoyée, elle est déjà adressée à l’un des serveurs, ce qui signifie que les autres serveurs mettront fin à la communication
Le serveur répond au DHCPREQUEST avec un paquet DHCPACK (Accusé de réception), clôturant ainsi le cycle d’initialisation et fournissant les informations demandées. Cela comprend l’adresse IP, le masque de sous-réseau, la passerelle par défaut, les serveurs DNS, etc., ce qui permet au client de fonctionner normalement sur le réseau.
Ensuite, nous pouvons voir le processus en une seule image avec les flux de communication complets.
Lorsque le client souhaite se déconnecter, libérer l’adresse IP, refuser la concession, etc., il se servira des paquets DHCPDECLINE ou DHCPRELEASE.
De plus, il est important de se rappeler que les attributions ont généralement une durée limitée, et une fois cette durée écoulée, le client doit demander un renouvellement de l’attribution. Généralement, lorsque la moitié du temps attribué s’est écoulée, le processus de renouvellement commence.
C’est pourquoi lorsque le client constate que le temps d’attribution est sur le point de s’écouler, il envoie des paquets DHCPREQUEST pour signifier au serveur sa volonté de renouveler l’attribution. En principe, le serveur devrait répondre par un paquet DHCPACK, mais si le client ne renouvelle pas l’attribution, il envoie une nouvelle demande lorsque 87,5 % de la durée d’attribution est écoulée. Si aucune réponse n’est reçue à ce stade, le client envoie un DHCPDISCOVER pour rechercher un autre serveur DHCP pouvant lui fournir un service.
Pour obtenir des informations plus détaillées et consulter les communications qui ont lieu pendant cette période, vous pouvez consulter le lien suivant : « DHCP (protocole de configuration dynamique d’hôte) » sur Microsoft Learn.
Problèmes courants du service DHCP
Le service DHCP n’est pas exempt de problèmes, comme c’est souvent le cas. Même si le service fonctionne correctement, il peut y avoir des problèmes ponctuels ou des configurations à ajuster sur le serveur.
Problèmes courants du service DHCP du côté du client
D’un autre côté, du point de vue du client, il peut y avoir des erreurs d’enregistrement, ce qui peut nécessiter une demande de modification de la configuration en réexécutant les commandes permettant l’enregistrement de la machine cliente auprès du serveur.
Les commandes utilisées pour résoudre ces problèmes sont les suivantes :
- ipconfig /release : Cette commande libère manuellement l’attribution d’adresse IP du protocole IPv4 de la carte sur laquelle elle est exécutée, ou de toutes les cartes si aucune n’est spécifiée. Elle envoie un message DHCPRELEASE au serveur DHCP correspondant. En cas de travail avec IPv6, la commande à exécuter est « ipconfig /release6 ».
- ipconfig /renew : Cette commande envoie une demande de renouvellement de l’attribution d’adresse IP pour le protocole IPv4. Cela affectera toutes les interfaces si aucune interface spécifique n’est spécifiée. En cas de travail avec IPv6, la commande à exécuter est « ipconfig /renew6 ».
Un autre problème courant des clients DHCP survient lorsqu’une demande DHCP est effectuée mais que, pour une raison quelconque, aucune attribution n’est reçue. Dans de tels cas, le système attribue ce qu’on appelle une adresse APIPA (Automatic Private Internet Protocol Addressing), qui est une adresse réservée de l’espace d’adresses 169.254.x.x (169.254.0.0 – 169.254.255.255).
La solution typique à ce problème consiste généralement à éxecuter de nouveau les commandes vues précédemment pour forcer une nouvelle demande. Cela fonctionne généralement, bien que la meilleure pratique soit de vérifier que les supports physiques sont correctement connectés (vérifier le câble réseau) avant d’exécuter ces commandes.
Problèmes courants du service DHCP du côté du serveur
D’autre part, nous avons les problèmes qui peuvent survenir du côté du serveur. Ceux-ci sont généralement causés par de petits problèmes de configuration ou par la durée de fonctionnement (temps d’activité) du serveur.
La plupart des problèmes qu’un serveur DHCP peut rencontrer dans l’environnement Microsoft sont essentiellement liés au temps de fonctionnement, car le service peut devenir instable, ce qui nécessitera un redémarrage.
Cela peut également arriver au service DHCP, qui peut avoir besoin d’être redémarré ou de redémarrer une plage d’adresses attribuées, etc.
Un autre point important est qu’il est recommandé d’avoir plus d’un serveur DHCP, car en cas de panne du serveur DHCP, pendant la période d’indisponibilité, de nouvelles adresses IP ne pourront pas être attribuées, ce qui peut être problématique dans certaines infrastructures.
Par exemple, supposons que nous ayons un serveur DHCP qui attribue des adresses IP dans un hôtel. Si le serveur DHCP devient hors service, les clients qui essaient de se connecter au Wi-Fi de l’hôtel ne pourront pas obtenir d’adresse IP et, par conséquent, ne pourront pas accéder à Internet, consulter leurs e-mails, communiquer avec leur famille par vidéoconférence, etc.
À partir de là, on peut dire qu’un serveur DHCP ne doit jamais être seul, mais doit faire partie d’un cluster de serveurs DHCP dans lequel il y a plusieurs serveurs DHCP, tous les clients pointant vers une adresse VIP (adresse unique pour le cluster) et, en cas de panne du serveur en service, un second serveur prend le relais.
Un autre problème courant est lié à la durée d’attribution des adresses IP aux clients qui se connectent. Cela se produit généralement parce que sur les serveurs DHCP de Microsoft, la durée d’attribution par défaut est de 8 jours, ce qui n’est pas idéal pour tous les cas d’utilisation. Il faut noter que l’espace d’attribution des adresses IP est limité, avec par exemple 254 attributions à répartir entre tous les clients. Lorsqu’une attribution est accordée à un client, elle n’est pas libérée tant que la durée allouée pour cette attribution n’a pas expiré, à moins que le client ne la libère manuellement.
Par exemple, dans une entreprise où l’on fournit des services aux postes de travail, la durée configurée par défaut peut être appropriée car il n’y aura pas de changements substantiels. Cependant, dans l’hôtel dont nous parlions précédemment, attribuer des adresses IP pour 8 jours est une très mauvaise idée, car les clients séjourneront probablement une seule nuit, bloquant ainsi la réservation pendant 7 jours supplémentaires.
Conclusion :
Comme nous l’avons mentionné dans l’article, le service DHCP (Dynamic Host Configuration Protocol) ou Protocole de Configuration Dynamique de l’Hôte est l’un des services fondamentaux de tout réseau d’entreprise ou domestique qui compte un grand nombre d’hôtes ou qui souhaite favoriser une gestion agile des équipements connectés.
Son fonctionnement est relativement simple à comprendre, la configuration côté client est extrêmement facile et la configuration côté serveur est assez facile à mettre en œuvre, sans oublier que le coût administratif est minime par rapport au coût de maintien d’une infrastructure avec des adresses IP fixes.
Enfin, nous avons vu que le service n’est pas exempt de pannes ou de problèmes, mais ceux-ci sont facilement résolus dans presque tous les cas possibles.
Nous espérons que cet article a été apprécié par le lecteur et que vous continuerez à lire d’autres articles disponibles sur ce blog, tels que « Que faire lorsque le serveur DNS ne répond pas ».
Merci de nous avoir accompagnés !