Type a search term to find related articles by LIMS subject matter experts gathered from the most trusted and dynamic collaboration tools in the laboratory informatics industry.
Fonction | Configuration dynamique des hôtes |
---|---|
Sigle | DHCP |
Port |
serveur 67 ; client 68. |
RFC |
RFC 1531 RFC 1534 RFC 2131 RFC 2132 |
Dynamic Host Configuration Protocol (DHCP, protocole de configuration dynamique des hôtes) est un protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une station ou d'une machine, notamment en lui attribuant automatiquement une adresse IP et un masque de sous-réseau. DHCP peut aussi configurer l’adresse de la passerelle par défaut et configurer des serveurs de noms comme DNS ou NBNS (connu sous le nom de serveur WINS sur les réseaux de la société Microsoft).
La conception initiale du protocole Internet (IP) supposait la pré-configuration de chaque ordinateur connecté au réseau avec les paramètres TCP/IP adéquats : c’est l’adressage statique (nommée également IP fixe). Sur des réseaux de grandes dimensions, où des modifications interviennent souvent, l’adressage statique engendre une lourde charge de maintenance et des risques d’erreurs. En outre, les adresses assignées ne peuvent être utilisées si l’ordinateur qui détient cette adresse IP n’est pas en service : un cas typique où ceci pose un problème est celui des fournisseurs d'accès à Internet, qui ont en général plus de clients que d’adresses IP à leur disposition, mais dont les clients ne sont jamais tous connectés en même temps.
DHCP apporte une solution à ces inconvénients :
Ce protocole peut fonctionner avec IPv4 ; il fonctionne aussi avec IPv6 et il est alors appelé DHCPv6. Toutefois, en IPv6, les adresses peuvent être auto-configurées sans DHCP.
Le protocole a été présenté pour la première fois en et est défini par la RFC 1531[1], modifiée et complétée par les RFC 1534[2], RFC 2131[3] et RFC 2132[4].
Le client peut aussi recevoir un type de nœud NetBios.
La liste des options que le serveur DHCP peut accepter est consultable dans la RFC 2132[4] : Options DHCP et Extensions fournisseur BOOTP, Chapitre RFC 1497[5] : Extensions fournisseur.
Les serveurs DHCP doivent être pourvus d’une adresse IP statique.
La plupart des systèmes d’exploitation ont des clients DHCP v4.
Windows 2000, 98 ne gèrent pas nativement IPv6 (à l’inverse de Windows Vista, Windows 7 et suivants). IPv6 est disponible sous XP en entrant la commande « ipv6 install
» dans un terminal Windows. Il existe plusieurs solutions pour pallier ce problème d’absence d’IPv6 notamment l’installation d’une solution libre. Un serveur DHCPv6 est disponible dans Windows Server 2008.
Plusieurs clients et serveurs libres pour DHCP v4 et v6 sont disponibles pour les plates-formes BSD (FreeBSD/NetBSD/OpenBSD/Apple Mac OS X) ainsi que les plates-formes POSIX (Linux/« UNIX-like »). Là encore il convient de vérifier lesquelles gèrent IPv4 seulement ou IPv4 et IPv6.
Les adresses IP dynamiques sont octroyées pour une durée limitée (durée du bail, ou lease time), qui est transmise au client dans l’accusé de réception qui clôt la transaction DHCP.
La valeur T1 (par défaut, 50 % de la durée du bail) qui l’accompagne détermine la durée après laquelle le client commence à demander périodiquement le renouvellement de son bail auprès du serveur qui lui a accordé son adresse. Cette fois, la transaction est effectuée par transmission IP classique, d’adresse à adresse.
Si, lorsque le délai fixé par la deuxième valeur, T2 (par défaut, 87,5 % de la durée du bail), est écoulé et que le bail n’a pas pu être renouvelé (par exemple, si le serveur DHCP d’origine est hors service), le client demande une nouvelle allocation d’adresse par diffusion.
Si, au terme du bail le client n’a pu ni en obtenir le renouvellement, ni obtenir une nouvelle allocation, l’adresse est désactivée et il perd la faculté d’utiliser le réseau TCP/IP de façon normale.
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, on utilise un agent de relais DHCP.
L'hôte particulier qui contient l'agent relais est configuré avec une adresse IP statique, et lors de la configuration de l'agent, on indique l’adresse d’un serveur DHCP auquel il faudra transmettre les découvertes DHCP qui lui parviennent sur le port 67 (écouté par le programme agent de relais). Il diffuse sur son segment (qui est aussi celui du client) les réponses qu’il reçoit du serveur DHCP.
L'agent relais est un programme que l'on active sur une ou plusieurs interfaces de l'hôte qui sera chargé de relayer la requête DHCP du client lorsque ce dernier n'est pas sur le même segment que le serveur DHCP. Pour remplir son rôle, l'agent relais place sa propre adresse IP dans le champ GIADDR de la trame DHCP qu'il a reçu du client. Il transmet ensuite cette trame en unicast, directement à l'adresse du serveur DHCP qu'on lui a paramétré. Le serveur DHCP utilise le champ GIADDR pour déterminer le sous-réseau et proposer une adresse dans la bonne étendue d'adresses IP. Quand le serveur répond à l'agent, il envoie la réponse à l'adresse GIADDR qu'avait indiqué l'agent relais, encore en unicast. L'agent relais transmet alors la réponse en broadcast sur le segment Ethernet du client demandeur.
L'agent relais peut être implanté sur un routeur, s'il accepte cette fonctionnalité. On peut également choisir d'installer l'agent sur un serveur.
Pour qu’un serveur DHCP puisse servir des adresses IP, il est nécessaire de lui donner un « réservoir » d’adresses dans lequel il pourra puiser : c’est la plage d’adresses (address range). Il est possible de définir plusieurs plages, disjointes ou contiguës.
Les adresses du segment qui ne figurent dans aucune plage mise à la disposition du serveur DHCP ne seront en aucun cas distribuées, et peuvent faire l’objet d’affectations statiques (couramment : pour les serveurs nécessitant une adresse IP fixe, les routeurs, les imprimantes réseau…).
Il est également possible d’exclure pour un usage en adressage statique par exemple, des adresses ou blocs d’adresses compris dans une plage.
Enfin, on peut effectuer des réservations d’adresses en limitant la possibilité d’octroi de cette adresse au client possédant une adresse physique ou un « client identifier » donné. Ceci peut s’avérer utile pour des machines dont l’adresse doit rester fixe mais dont on veut contrôler de manière centrale et automatique les autres paramètres IP. Ce mécanisme est assuré par l’option 61 (voir RFC 2131[3]).
Une autre option permet de donner toujours la même adresse IP à un équipement connecté à un port donné. Option 82 (voir RFC 3046[6])
Lors de l’utilisation sur un même segment de plusieurs serveurs DHCP, l’intersection des plages d’adresses des différents serveurs doit être vide, sous peine d’ambiguïté dans les affectations et les renouvellements. En effet, les serveurs DHCP n’échangent aucune information relative aux baux qu’ils octroient.