Le service DHCP

  1. DHCP, pour quoi faire ?
  2. Le fonctionnement général de DHCP
  3. DHCP dans les détails
  4. DHCP est-il routable ?


1. DHCP, pour quoi faire ?

En matière d'administration réseau, TCP/IP pose principalement deux problèmes à un administrateur réseau :

  1. La gestion des adresses IP
    C'est un travail laborieux : l'administrateur doit tenir à jour une liste des ordinateurs avec leur adresse IP pour éviter d'attribuer deux fois la même adresse IP
  2. Les paramètres IP, tels que masque de sous-réseau, adresses IP du gateway et des éventuels serveurs WINS ou DNS. Imaginez que vous changiez le serveur WINS d'un réseau de 200 machines : vous (ou probalement pas vous si vous avez de l'argent) devrez passer sur les 200 machines pour modifier ce paramètre : travail laborieux !

Il y a heureusement un remède à ces tracasseries :

DHCP (Dynamic Host Configuration Protocol)

DHCP est un service tournant sur un serveur qui attribue "à la volée" une adresse IP à des ordinateurs qui le lui demandent, et "passe" en même temps les paramètres IP comme le masque de sous-réseau et les adresses IP du gateway ou des éventuels serveurs DNS ou WINS.

Au niveau des clients, il suffit de configurer une seule fois "attribution d'une adresse IP par un serveur DHCP" pour ne plus jamais avoir à s'occuper ultérieurement de questions IP.
En cas de modification d'un paramètre sur le serveur DHCP (par exemple, modification de l'adresse IP du gateway), la modification sera effective sur tous les postes du réseau à leur prochain reboot (ou regénération DHCP).

Up

2. Le fonctionnement général de DHCP

Le fonctionnement de DHCP, dans les grandes lignes, est le suivant :

Si on reboote la machine cliente, cette dernière tentera généralement d'obtenir l'adresse IP qu'elle possédait préalablement. Elle en profite pour mettre à jour les paramètres IP (masque de sous-réseau, IP du gateway, DNS, WINS). A chaque reboot, le bail est réinitialisé (souvent, le bail est configuré à 3-4 jours sur un LAN).

Si le bail de l'adresse IP arrive à échéance, le client se met à réemettre des requêtes DHCP pour obtenir un renouvellement du bail. S'il n'obtient pas satisfaction et que le bail arrive définitivement à échéance, le client "supprime" son IP, et se remet en quête d'une nouvelle adresse IP disponible.

Up

3. DHCP dans les détails

Dans les détails, une requête DHCP a lieu de la manière suivante :

  1. Demande initiale du client : "DHCP Discover"
    Le client envoie sur le réseau un datagramme UDP de diffusion. Rappelons que le client n'a pas encore d'adresse IP (on dit que son adresse IP est 0.0.0.0)
  2. - IP du client              : 0.0.0.0
    - Adresse physique Ethernet : 00 CC 00 00 00 00 (par exemple)

    Datagramme UDP envoyé :

    - IP                        : 255.255.255.255   (diffusé)
    - Adresse physique Ethernet : FF FF FF FF FF FF (diffusé)

    Au datagramme UDP, le client rajoute un ID de transaction, par exemple 14321.

  3. Offre des serveurs DHCP : "DHCP Offer"
    Les serveurs DHCP renvoient un datagramme UDP à une adresse IP qui est toujours une diffusion puisqu'ils ne connaissent pas l'emplacement du client; par contre, le datagramme est cette fois spécifiquement dirigé vers l'adresse physique de la carte du client.
  4. Datagramme UDP envoyé :

    - IP                        : 255.255.255.255   (diffusé)
    - Adresse physique Ethernet : 00 CC 00 00 00 00 (dirigé)

    Dans le datagramme, en plus de l'ID de transaction précédent, les serveurs DHCP proposent une adresse IP et une durée de bail.

  5. Choix d'une offre par le client : "DHCP Request"
    Le client choisit une adresse IP qui lui plaît et renvoie un datagramme UDP diffusé (que tous les serveurs DHCP vont donc recevoir) qui accepte l'offre voulue et rejette les offres non retenues.
  6. Datagramme UDP envoyé :

    - IP                        : 255.255.255.255   (diffusé)
    - Adresse physique Ethernet : FF FF FF FF FF FF (diffusé)

    Rajout d'un nouvel ID de transaction, par exemple 18336.

  7. Confirmation de l'offre par le serveur DHCP concerné : "DHCPACK"
    Le serveur DHCP concerné accepte l'offre et transmet les autres paramètres IP (masque de sous-réseau, gateway, serveurs DNS et WINS)

Datagramme UDP envoyé :

- IP                        : 255.255.255.255   (diffusé)
- Adresse physique Ethernet : 00 CC 00 00 00 00 (dirigé)
- ID transaction            : 18336

Tant que le client ne reçoit pas de DHCPACK, il réemet la DHCP Request toutes les 2 minutes jusqu'à 87.5% de la durée du bail. Sans réponse alors, il repart à l'étape du DHCP Discover.

Up

4. DHCP est-il routable ?

Comme DHCP est basé sur de la diffusion, et que cette dernière n'est pas relayée par des routeurs TCP/IP, le serveur DHCP doit être sur le même segment Ethernet que les clients pour que le système fonctionne.

Si le réseau est composé de routeurs, le problème peut être résolu avec des routeurs utilisant le protocole "BootP distant" qui sont alors capables de relayer des diffusions DHCP.

Dans l'exemple illustré ci-dessus, le routeur avec BootP distant relaie les requêtes DHCP du client avec la particularité de rajouter à la requête le netID (ici 128.0.0.0) du client. De cette façon, les serveurs DHCP du réseau ne répondront à la requête que s'ils sont capables de fournir une adresse IP dans cette étendue.

Up


(C) 02/02/2008 - Dernière modification : 01/02/2015 - F4CVM / Pascal