Dynamic Host Configuration Protocol

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Dynamic.
Dynamic Host Configuration Protocol
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) est un protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une station, notamment en lui affectant automatiquement une adresse IP et un masque de sous-réseau. DHCP peut aussi configurer l’adresse de la passerelle par défaut, des serveurs de noms DNS et des serveurs de noms NBNS (connus sous le nom de serveurs WINS sur les réseaux de la société Microsoft).

La conception initiale d’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 ou étendues, 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 charge n’est pas en service : un cas typique où ceci pose problème est celui des fournisseurs d’accès à internet (FAI ou ISP en anglais), 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 trois inconvénients :

  • seuls les ordinateurs en service utilisent une adresse de l’espace d’adressage ;
  • toute modification des paramètres (adresse de la passerelle, des serveurs de noms) est répercutée sur les stations lors du redémarrage ;
  • la modification de ces paramètres est centralisée sur les serveurs DHCP.

Le protocole a été présenté pour la première fois en octobre 1993 et est défini par la RFC 1531, modifiée et complétée par les RFC 1534, RFC 2131 et RFC 2132.

Ce protocole peut fonctionner avec IPv4 ; il fonctionne aussi avec IPv6 et il est alors appelé DHCPv6. Toutefois, en IPv6, les adresses peuvent être autoconfigurées sans DHCP.

Fonctionnement[modifier | modifier le code]

  • L’ordinateur équipé de carte réseau, mais dépourvu d’adresse IP, envoie en diffusion Broadcast un datagramme (DHCP DISCOVER) qui s’adresse au port 67 de n’importe quel serveur à l’écoute sur ce port. Ce datagramme comporte entre autres l’adresse physique (MAC) du client.
  • Tout serveur DHCP ayant reçu ce datagramme, s’il est en mesure de proposer une adresse sur le réseau auquel appartient le client, envoie une offre DHCP (DHCP OFFER) à l’attention du client (sur son port 68), identifié par son adresse physique. Cette offre comporte l’adresse IP du serveur, ainsi que l’adresse IP et le masque de sous-réseau qu’il propose au client. Il se peut que plusieurs offres soient adressées au client.
  • Le client retient une des offres reçues (la première qui lui parvient), et diffuse sur le réseau un datagramme de requête DHCP (DHCP REQUEST). Ce datagramme comporte l’adresse IP du serveur et celle qui vient d’être proposée au client. Elle a pour effet de demander au serveur choisi l’assignation de cette adresse, l’envoi éventuel des valeurs des paramètres, et d’informer les autres serveurs qui ont fait une offre qui n’a pas été retenue.
  • Le serveur DHCP élabore un datagramme d’accusé de réception (DHCP ACK pour acknowledgement) qui assigne au client l’adresse IP et son masque de sous-réseau, la durée du bail de cette adresse (dont découlent deux valeurs T1 et T2 qui déterminent le comportement du client en fin de bail), et éventuellement d’autres paramètres :
    • adresse IP de la passerelle par défaut,
    • adresses IP des serveurs DNS,
    • adresses IP des serveurs NBNS (WINS).

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 : Options DHCP et Extensions fournisseur BOOTP, Chapitre RFC 1497 : Extensions fournisseur.

Les serveurs DHCP doivent être pourvus d’une adresse IP statique.

Compatibilité[modifier | modifier le code]

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, Microsoft Windows 7 et suivants). IPv6 est disponible sous XP en rentrant 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.

Renouvellement du bail[modifier | modifier le code]

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ôture 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 (couramment la moitié de la durée du bail). 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.

Client et serveur sur des segments différents[modifier | modifier le code]

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.

Cet hôte particulier est configuré avec une adresse IP statique, et connaît l’adresse d’un serveur DHCP auquel il transmet 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.

Configuration du serveur DHCP[modifier | modifier le code]

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).

Une autre option permet de donner toujours la même adresse IP à un équipement connecté à un port donné. Option 82 (voir RFC 3046)

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.

Les cartes réseaux des ordinateurs doivent être paramétrées pour recevoir automatiquement des adresses lorsque l’ordinateur démarre ou que l’on le connecte au réseau. Par défaut c’est le cas, car c’est la méthode la plus simple pour obtenir une adresse IP. Je suppose d’ailleurs que vous qui êtes en train de lire ce blog, vous n’avez pas attribué d’adresse IP à votre ordinateur. N’est-ce pas ? Eh oui, votre box internet remplit ce rôle de serveur DHCP sans que vous le sachiez ! Je vous rappelle que l’adresse IP doit être unique sur un réseau donc le serveur DHCP (ou service DHCP) va gérer les adresses et n’attribuer que des adresses non utilisées à tout nouvel ordinateur qui en fait la demande. En fait, le serveur DHCP (ou service DHCP) va délivrer un bail DHCP à l’ordinateur qui en fait la demande. (et uniquement à ceux qui en font la demande, et non pas à tous les ordinateurs qui se connectent sur le réseau).   Wouah, ça a l’air de se compliquer ? Non, dans ce bail, il y a entre autres 3 choses qui nous intéressent :

  1. Une durée de vie (durée du bail)
  2. Une adresse IP.
  3. Les paramètres du réseau.

Commençons par la plus simple :

Une durée de vie : durée du bail.

Vous l’avez compris, le serveur DHCP (ou service DHCP) m’a donné une adresse IP, mais elle est limitée dans le temps (4h, 6h, … cela dépend du réglage de l’administrateur du service).

Pourquoi donner une durée au bail plutôt que donner une adresse à vie ?

  •  Un des intérêts du DHCP, c’est justement que les baux (un bail = des baux), sont limités dans le temps, car une fois le délai écoulé, l’adresse IP est à nouveau disponible.

Alors que se passe-t-il à expiration du délai ?

  • Eh bien, si l’ordinateur est toujours connecté, alors il recevra un nouveau bail. Cela est complètement transparent. (en fait le renouvellement est fait avant l’expiration)
  • Si l’ordinateur n’est plus présent sur le réseau, alors l’adresse est disponible pour un autre ordinateur.

Avantages de ce système ?

  • Avec ce système, les adresses sont tournantes, c’est à dire qu’un réseau peut accueillir plus d’ordinateurs (pas tous en même temps, bien évidemment) que si tous les ordinateurs avaient une adresse fixe.
  • Pour vous faire comprendre, prenons l’exemple d’un parking :

Imaginons un parking de 100 places dans une entreprise.

1er cas : Adresses IP fixes,  nous sommes pas en DHCP :

Les 100 places sont réservées pour des personnes bien précises, le nom est affiché sur la place de parking . Et les 100 places sont prises même s’il n’y a pas de voiture dessus !

 

2ème cas : Nous sommes en DHCP :

Sur 100 places, nous avons décidé de n’en affecter que 10 à des personnes bien précises, comme au-dessus, le nom est affiché sur ces 10 places.

Il reste donc 90 places, qui sont disponibles. (la plage du serveur est alors de 90 places)  Et on peut accueillir plus de personnes différentes car toutes les personnes ne sont pas toutes présentes en même temps.

Bien évidemment, quand le parking est plein, il est plein.

Pour le DHCP c’est pareil, s’il ne reste plus d’adresse IP de disponible, vous ne pourrez pas connecter l’ordinateur au réseau.

 

Vous comprenez bien que dans le cas où l’entreprise comprendrait 150 salariés, la 2ème solution est la meilleure, s’ils ne sont pas tous au travail au même moment.

Une adresse IP dynamique

On dit que les adresses distribuées par ce service sont dynamiques, (par opposition aux adresses statiques, celles que l’on enregistre directement sur l’ordinateur) c’est à dire quelles peuvent changer d’une fois à l’autre.

Si je reprends l’exemple de mon parking ci-dessus, les salariés qui n’ont pas de place réservée, peuvent garer leur véhicule sur des emplacements libre mais différents chaque jour.

Comme vous le savez maintenant, une adresse IP seule ne suffit pas, elle doit être accompagnée d’un masque de sous-réseau. Le serveur DHCP (ou service DHCP)  vous enverra également ce masque.

Avantages de ce système ?

Les avantages sont multiples :

  • Il n’y pas besoin d’attribuer une adresse IP à un ordinateur. Cela se fait tout seul. Comme je le disais au-dessus votre box vous a attribué une adresse.
  •  La gestion des adresses est complètement automatique. Aucune intervention humaine, une fois qu’il est installé.
  • L’administration de toutes les adresses est centralisée, et croyez-moi les administrateurs réseaux préfèrent cela.
  • Le serveur DHCP (ou service DHCP)  va également envoyer d’autres informations concernant votre réseau comme nous allons le voir ci-dessous.

 

Les paramètres réseaux

Dans le même paquet que le bail DHCP, d’autres informations sont envoyées :

  • Adresse de la passerelle
  • Adresse du dns

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]