DHCP, qui signifie Dynamic Host Configuration Protocol, est un protocole réseau utilisé pour attribuer automatiquement des adresses IP et d'autres informations de configuration réseau aux appareils connectés à un réseau. Il simplifie la gestion des adresses IP et réduit les risques de conflits d'adresse. Voici comment cela fonctionne, étape par étape :
Démarrage du client DHCP : : Lorsqu'un appareil se connecte à un réseau, il démarre le processus en envoyant un message de diffusion DHCPDISCOVER pour rechercher des serveurs DHCP disponibles.
Offre du serveur DHCP : Les serveurs DHCP qui reçoivent la demande répondent avec un message DHCPOFFER, proposant une adresse IP et d'autres paramètres de configuration (comme le masque de sous-réseau, la passerelle par défaut, et les serveurs DNS).
Demande du client DHCP :: L'appareil client sélectionne une des offres et envoie un message DHCPREQUEST de retour sur le réseau pour accepter l'offre.
Acknowledge du serveur DHCP : Le serveur DHCP répond avec un message DHCPACK, confirmant l'adresse IP et les paramètres de configuration attribués à l'appareil client.
Le protocole DHCP (Dynamic Host Configuration Protocol) utilise plusieurs types de messages pour communiquer entre les clients et les serveurs. Ces messages permettent l'attribution dynamique des adresses IP et d'autres configurations réseau aux appareils sur un réseau.
DHCPDISCOVER : Utilisé par un client pour rechercher des serveurs DHCP disponibles sur le réseau local. Il s'agit d'un message de diffusion envoyé par un client quand il se connecte au réseau et souhaite obtenir une configuration IP.
DHCPOFFER : En réponse à un message DHCPDISCOVER, un serveur DHCP envoie un DHCPOFFER, qui est une offre contenant une adresse IP disponible, le masque de sous-réseau, l'adresse de la passerelle par défaut, et d'autres détails de configuration tels que les adresses des serveurs DNS. Un client peut recevoir plusieurs offres si plusieurs serveurs DHCP sont présents sur le réseau.
DHCPREQUEST : Après avoir reçu un ou plusieurs DHCPOFFER(s), le client envoie un message DHCPREQUEST pour accepter une offre. Ce message sert également à confirmer ou à renouveler une allocation d'adresse précédente. Il est envoyé à tous les serveurs DHCP pour informer les autres serveurs que leur offre a été déclinée et pour confirmer l'acceptation de l'offre choisie.
DHCPACK : Le serveur répond au DHCPREQUEST avec un message DHCPACK, confirmant l'attribution de l'adresse IP et fournissant les paramètres de configuration réseau au client. Ce message signifie que l'adresse IP a été officiellement louée au client.
DHCPNAK (Negative Acknowledgement) : Si le serveur DHCP détermine que la demande du client pour une adresse spécifique ne peut être satisfaite (par exemple, si l'adresse n'est plus disponible ou si la demande est pour un réseau différent), il envoie un DHCPNAK. Cela indique au client que sa demande a été refusée, et le client doit alors recommencer le processus de découverte.
DHCPRELEASE : Ce message est envoyé par le client pour libérer l'adresse IP qu'il a précédemment louée et annuler l'attribution. Cela se produit généralement lorsqu'un appareil est éteint ou qu'il quitte le réseau.
DHCPINFORM : Un client utilise DHCPINFORM pour demander des informations de configuration locale, comme les adresses des serveurs DNS, sans demander une adresse IP. Cela peut être utilisé par des appareils ayant déjà une adresse IP statique mais nécessitant d'autres informations de configuration réseau.
Le client DHCP demande une adresse IP en diffusant un message de découverte DHCP sur le sous-réseau local.
Le client se voit proposer une adresse lorsqu'un serveur DHCP répond avec un message d'offre DHCP contenant une adresse IP et des informations de configuration. Si aucun serveur DHCP ne répond à la demande du client, celui-ci envoie des messages de découverte DHCP à des intervalles de 0, 4, 8, 16 et 32 secondes, plus un intervalle aléatoire compris entre -1 seconde et 1 seconde. S'il n'y a pas de réponse d'un serveur DHCP après une minute, le client peut procéder de deux manières :
si le client utilise la configuration alternative APIPA (Automatic Private IP Addressing), le client configure lui-même une adresse IP pour son interface.
Si le client ne prend pas en charge une configuration alternative, telle qu'APIPA, ou si la configuration automatique IP a été désactivée, l'initialisation du réseau client échoue.
Dans les deux cas, le client commence un nouveau cycle de messages de découverte DHCP en arrière-plan toutes les cinq minutes, en utilisant les mêmes intervalles qu'auparavant (0, 4, 8, 16 et 32 secondes), jusqu'à ce qu'il reçoive un message d'offre DHCP d'un Serveur DHCP.
Le client indique qu'il accepte l'offre en sélectionnant l'adresse proposée et en diffusant un message de requête DHCP en réponse.
L'adresse est attribuée au client et le serveur DHCP diffuse un message DHCPAck en réponse, finalisant ainsi les termes du bail.
Lorsque le client reçoit un accusé de réception, il configure ses propriétés TCP/IP à l'aide des informations de l'option DHCP dans la réponse et termine l'initialisation de TCP/IP.
Dans de rares cas, un serveur DHCP peut renvoyer un accusé de réception négatif au client. Cela peut se produire si un client demande une adresse invalide ou en double. Si un client reçoit un accusé de réception négatif (DHCPNack), il doit recommencer l'ensemble du processus de location.
La période de bail (lease period) fait référence à la durée pendant laquelle une adresse IP est attribuée à un client par un serveur DHCP. Cette période est temporaire et définie par le serveur au moment de l'attribution de l'adresse IP au client
Attribution d'un bail : Lorsqu'un client reçoit une adresse IP d'un serveur DHCP, il reçoit également la durée du bail pour cette adresse. Cette durée peut varier selon la configuration du serveur DHCP et les besoins du réseau.
Renouvellement du bail : Avant l'expiration du bail, le client tentera automatiquement de le renouveler en envoyant un message DHCPREQUEST au serveur DHCP pour demander une extension. Ce processus de renouvellement commence généralement à la moitié de la période de bail, connue sous le nom de T1 (temps 1).
Réaffectation ou libération : Si le bail n'est pas renouvelé avant son expiration, l'adresse IP est retournée au pool d'adresses du serveur DHCP et peut être réattribuée à un autre client. Si le client sait qu'il n'aura plus besoin de l'adresse IP avant l'expiration du bail, il peut envoyer un message DHCPRELEASE pour libérer l'adresse volontairement.
Les durées de bail DHCP peuvent varier selon la configuration du réseau, les politiques de gestion et les besoins spécifiques:
Réseaux domestiques (Durée courte à moyenne) : Pour les réseaux domestiques, une durée de bail typique peut varier de 24 heures à 8 jours. Cette gamme est généralement suffisante pour assurer une gestion flexible des adresses IP sans nécessiter de fréquents renouvellements, prenant en compte que les appareils peuvent se connecter et se déconnecter du réseau régulièrement.
Réseaux d'entreprise et éducatifs (Durée moyenne) : Dans les environnements d'entreprise ou éducatifs, où les appareils restent connectés au réseau pendant des périodes prolongées et où la stabilité de l'adresse IP peut être plus critique, les durées de bail peuvent être configurées pour être plus longues, typiquement entre 1 semaine et 1 mois.
Bornes Wi-Fi publiques (Durée très courte) : Pour les bornes Wi-Fi publiques ou les réseaux temporaires mis en place pour des événements, il n'est pas rare de voir des durées de bail DHCP réglées sur des périodes courtes de quelques heures à 1 jour. Cela permet de réutiliser rapidement les adresses IP et de gérer efficacement le pool d'adresses dans des environnements avec un grand nombre d'appareils se connectant et se déconnectant fréquemment.
Appareils IoT (Variable) : Pour les appareils IoT, la durée de bail peut être ajustée en fonction de la nature de la connexion et de l'utilisation des appareils. Par exemple, les appareils IoT fixes pourraient avoir des baux plus longs pour réduire la charge sur les serveurs DHCP, tandis que les appareils mobiles pourraient avoir des baux plus courts pour refléter leur nature dynamique.
APIPA est un mécanisme qui permet à un ordinateur de s'attribuer automatiquement une adresse IP dans un réseau en l'absence de serveur DHCP disponible pour fournir une adresse IP dynamique. Les adresses APIPA se situent dans la plage 169.254.0.1 à 169.254.255.254 avec un masque de sous-réseau de 255.255.0.0.
Le mode broadcast est une communication un-à-tous, où un seul expéditeur envoie des données à tous les appareils sur un réseau local. Dans ce mode, les paquets de données sont envoyés à une adresse de diffusion spéciale qui est reconnue par tous les appareils sur le réseau.
Le broadcast est couramment utilisé pour la découverte de services ou la configuration initiale des appareils sur un réseau local, comme la recherche de serveurs DHCP ou l'envoi de requêtes ARP (Address Resolution Protocol).
(++) Atteindre simultanément tous les ordis // (--) Trafic supplémentaire; limité au réseau local
Le mode unicast est une communication un-à-un, où un seul expéditeur envoie des données à un seul récepteur. C'est la forme de communication la plus courante sur Internet.
L'unicast est utilisé pour la plupart des communications sur le web, y compris le chargement de pages web, les emails, et le transfert de fichiers. Chaque paquet de données envoyé en mode unicast a une adresse IP source unique et une adresse IP de destination unique.
(++) Efficacité de routage // (--) Si tu veux atteindre plusieurs destinataires: envoyer une copie
# Démarrer le service
sudo systemctl start dhcpd
# Activer le démarrage automatique
sudo systemctl enable dhcpd
# Vérifier le statut
sudo systemctl status dhcpd