Another great RocketTheme Joomla Template brought to you by the RocketTheme Joomla Template Club.
Visiteurs: 41150
38.107.191.88

Nuage

serveur debian botnet linux botherder IEEE 802.11g xvid 802.11b 802.11 802.1q résolveur Wi-Fi vlan virtuel dhcp standard switch dns dhcpd
Le protocole DHCP
Écrit par Cgohann   
09-02-2008
    L'augmentation des machines nomades appelées à changer de réseau fréquemment implique des solutions autres que l'adressage statique. Pour palier à ce souci, nous avons à notre disposition le protocole DHCP (Dynamic Host Configuration Protocol), bâti sur le modèle client-serveur, qui permet une configuration IP automatique et dynamique lorsqu'une machine se connecte à un réseau.
  


1 - Allocation des adresses IP

    DHCP supporte 3 mécanismes pour l'allocation des adresses IP.

  1. L'allocation automatique, DHCP assigne une adresse IP permanente à un client.

  2. L'allocation dynamique, DHCP assigne une adresse IP à un client pour une durée déterminée (ou jusqu'à ce que le client renonce à son adresse). L'allocation dynamique est la seule des 3 mécanismes qui réutilise automatiquement une adresse qui n'est plus utilisée par un client. De plus, l'allocation dynamique est particulièrement utile pour assigner une adresse à un client qui se connectera au réseau de manière temporaire, ou pour partager une liste limitée d'adresses IP entre un groupe de clients qui ne nécessitent pas une adresse permanente. L'allocation dynamique est aussi un bon choix pour assigner une adresse IP à un nouveau client qui se connectera de manière permanente au réseau où les adresses IP sont suffisamment rares pour qu'il soit important de les récupérer quand les anciens clients sont hors connexion.

  3. L'allocation manuelle, une adresse IP est assignée par l'administrateur réseau, et DHCP est simplement utilisé pour convoyer les adresses désignées jusqu'au client. L'allocation manuelle permet à DHCP d'être utilisé pour éliminer les processus enclins à l’erreur de configuration manuelle de machines avec une adresse IP dans des environnements où (pour diverses raisons) il est préférable de gérer l'attribution des adresses IP en dehors des mécanismes de DHCP.
2 - Principe de fonctionnement

    Une machine utilisant DHCP qui s'initialise, envoie un paquet broadcast (DHCP DISCOVER) sur le port UDP 67 où figure son adresse MAC en demandant à un serveur DHCP de lui donner une adresse IP, et en fournissant éventuellement une liste de paramètres de configuration à lui indiquer. Chaque serveur DHCP lui renvoie un paquet (DHCP OFFER) sur le port UDP 68 en lui indiquant une adresse IP disponible. Ce paquet est en principe un paquet unicast, à moins que l'implémentation IP de la station cliente ne permette pas de recevoir des paquets unicast sur une interface dont l'adresse IP n'est pas encore connue, auquel cas elle est censée l'indiquer dans les paquets qu'elle envoie au serveur. La machine choisit parmi toutes les réponses qu'elle a reçues quelle configuration lui convient le mieux, et envoie un paquet broadcast (DHCP REQUEST)(port UDP 67) indiquant aux serveurs quelle configuration a été retenue. Ensuite, le serveur à l'origine de la configuration retenue envoie à la machine cliente (port UDP 68) un paquet (DHCPACK) lui indiquant que l'adresse IP lui est maintenant réservée, ou qu'elle est devenue indisponible pour une raison ou une autre, ce qui contraint la machine cliente à recommencer tout le processus. La RFC précise également que si une station se souvient de la configuration IP qu'elle avait reçu lors d'une précédente connexion, elle peut directement passer à l'étape 3, demandant aux serveurs si cette configuration est encore disponible. Enfin, il est possible de n'attribuer une configuration IP que pour un temps donné, le client a la possibilité de suggérer au serveur la durée de ce bail, mais c'est le serveur qui fait le choix définitif. Enfin, les serveurs DHCP doivent avoir une adresse fixe.

        Serveur          Client         Serveur
   (non sélectionné)                 (sélectionné)
           v               v               v
           |               |               |
           |      début initialisation     |
           |               |               |
           | _____________/|\_____________ |
           |/DHCPDISCOVER  | DHCPDISCOVER \|
           |               |               |
       Détermine la        |          Détermine la
      configuration        |         configuration
           |               |               |
           |\              |  ____________/|
           | \________     | /DHCPOFFER    |
           | DHCPOFFER\    |/              |
           |           \   |               |
           |     collecte les réponses     |
           |             \ |               |
           |  Sélectionne la configuration |
           |               |               |
           | _____________/|\____________  |
           |/ DHCPREQUEST  |  DHCPREQUEST\ |
           |               |               |
           |               |      Engage la configuration
           |               |               |
           |               | _____________/|
           |               |/ DHCPACK      |
           |               |               |
           |     Initialisation complète   |
           |               |               |
           .               .               .
           .               .               .
           |               |               |
           |      fermeture élégante       |
           |               |               |
           |               |\_____________ |
           |               |  DHCPRELEASE \|
           |               |               |
           |               |        libération du bail
           |               |               |
           v               v               v

 MessageUtilisation 
 DHCPDISCOVER Diffusion du client pour localiser les serveurs disponibles
 DHCPOFFER Du serveur au client pour répondre au DHCPDISCOVER avec les paramètres de configuration.
 DHCPREQUEST Message client aux serveurs soit
- qui demande les paramètres à un serveur et décline implicitement les offres de tous les autres,
- qui confirme la validité des adresses précédemment allouées, par ex : un redémarrage système, ou
- qui étend le bail sur une adresse réseau en particulier.
 DHCPACK Du serveur au client avec les paramètres de configuration et qui inclut l'adresse réseau déjà attribuée.
 DHCPNAK Du serveur au client indiquant que la notion d'un client pour les adresses réseau est incorrecte. (par ex : si un client est déplacé sur un nouveau sous réseau) ou que le bail du client a expiré.
 DHCPDECLINE Client vers serveur indiquant que l'adresse réseau est déjà utilisée.
 DHCPRELEASE Client vers serveur libérant l'adresse réseau et annulant le bail.
 DHCPINFORM Client vers serveur, demandant seulement les paramètres de configuration locaux ; le client possède déjà une adresse réseau attribuée de manière externe.

3 - Datagramme
 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| op (1) | htype (1) | hlen (1) | hops (1) |
+---------------+---------------+---------------+---------------+
| xid (4) |
+-------------------------------+-------------------------------+
| secs (2) | flags (2) |
+-------------------------------+-------------------------------+
| ciaddr (4) |
+---------------------------------------------------------------+
| yiaddr (4) |
+---------------------------------------------------------------+
| siaddr (4) |
+---------------------------------------------------------------+
| giaddr (4) |
+---------------------------------------------------------------+
| |
| chaddr (16) |
| |
| |
+---------------------------------------------------------------+
| |
| sname (64) |
+---------------------------------------------------------------+
| |
| file (128) |
+---------------------------------------------------------------+
| |
| options (variable) |
+---------------------------------------------------------------+
  • op : Code opération du message / type du message. (BOOTREQUEST ou BOOTREPLY)
  • htype : Adresse matérielle ; par exemple, 1 = Ethernet 10Mb.
  • hlen : Longueur de l'adresse matérielle ; par exemple 6 for Ethernet 10Mb.
  • hops : Mis à zéro par le client, utilisé de manière optionnelle par les agents de relais quand on démarre via un agent de relais.
  • xid : Identifiant de transaction, un nombre aléatoire choisit par le client, utilisé par le client et le serveur pour associer les messages et les réponses entre un client et un serveur.
  • secs : Rempli par le client, les secondes s’écoulent depuis le processus d'acquisition ou de renouvellement d’adresse du client
  • flags : Drapeaux.
  • ciaddr : Adresse IP des clients, rempli seulement si le client est dans un état AFFECTÉ, RENOUVELLEMENT ou REAFFECTATION et peut répondre aux requêtes ARP
  • yiaddr : adresse IP du client.
  • siaddr : Adresse IP du prochain serveur à utiliser pour le processus de démarrage; retournée par le serveur dans DHCPOFFER et DHCPACK.
  • giaddr : Adresse IP de l'agent de relais, utilisée pour démarrer via un agent de relais.
  • chaddr : Adresse matérielle des clients.
  • sname : Nom d'hôte du serveur optionnel, chaîne de caractères terminée par un caractère nul.
  • file : Nom du fichier de démarrage, chaîne terminée par un nul ; nom “generic” ou nul dans le DHCPDISCOVER, nom du répertoire explicite dans DHCPOFFER.
  • options : Champ de paramètres optionnels. Voir le document d'options pour une liste des options définies.

4 - Configuration d'une étendue DHCP

    L'étendue DHCP s'inscrit dans un domaine IP. Elle spécifie les adresses qui peuvent être baillées par le serveur. Il faut exclure d'une étendue les adresses statiques obligatoires (serveurs).
Les étendues sont soumises à deux paramètres :
- Délai de renouvellment de bail (T1) : temps au bout duquel le bail doit être renouvellé.
- Délai maximum de bail (T2) : Temps maximal après lequel le bail expire.
Elles peuvent posséder des options qui seront fournies au client lors d'un bail. Par exemple, le masque de sous réseau, le nom du domaine, le serveur de nom, les routeurs, les routes...

5 - Fonctionnement des état de DHCP
 --------                               -------                         
|        | +-------------------------->|       |<-------------------+  
| INIT-  | |     +-------------------->| INIT  |                    |  
| REBOOT |DHCPNAK/         +---------->|       |<---+               |  
|        |Redém. |         |            -------     |               |  
 --------  |  DHCPNAK/     |               |                        |  
    |      Rejet offre     |      -/envoi DHCPDISCOVER              |  
-/envoi DHCPREQUEST        |               |                        |  
    |      |     |      DHCPACK            v        |               |  
 -----------     |   (non accepté)/   -----------   |               |  
|           |    | envoi DHCPDECLINE |           |                  |  
|REDEMARRAGE|    |         |         | SELECTION |<----+            |  
|           |    |        /          |           |     |DHCPOFFER/  |  
 -----------     |       /            -----------   |  |Collecte    |  
    |            |      /                  |   |       |  réponses  |  
DHCPACK/         |     /  +----------------+   +-------+            |  
enregistre bail, |    |   v  Select. offre/                         |  
tempos T1, T2   ------------ envoi DHCPREQUEST      |               |  
    |   +----->|            |             DHCPNAK, bail expiré/     |  
    |   |      |  REQUETE   |                 Arrêt réseau          |  
    DHCPOFFER/ |            |                       |               |  
    Rejet       ------------                        |               |  
    |   |        |        |                   -------------         |  
    |   +--------+     DHCPACK/              |             |        |  
    |              enregistre bail,     -----|REAFFECTATION|        |  
    |                tempos T1, T2     /     |             |        |  
    |                     |        DHCPACK/   -------------         |  
    |                     v     enregistre bail,    ^               |  
    +-------------> -----------      /tempos T1,T2  |               |  
            +----->|           |<---+               |               |  
            |      |  AFFECTÉ  |<---+               |               |  
DHCPOFFER, DHCPACK,|           |    |           T2 expire/    DHCPNAK/ 
 DHCPNAK/Rejet      -----------     |            Diffusion  Arrêt réseau
            |       |   |           |           DHCPREQUEST         |  
            +-------+   |         DHCPACK/          |               |  
                   T1 expire/     enregistre bail,  |               |  
              envoi DHCPREQUEST   tempos T1, T2     |               |  
            pour location serveur   |               |               |  
                       |     --------------         |               |  
                       |    |              |--------+               |  
                       +--->|RENOUVELLEMENT|                        |  
                            |              |------------------------+  
                             --------------                            


Bibliographie


RFC2131    - Dynamic Host Configuration Protocol de R. Droms (Mars 1997)
Commentaires
Ajouter un nouveauRechercher
Ecrire un commentaire
Nom:
Email:
 
Website:
Titre:
BBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Saisissez le code que vous voyez.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.

 
< Précédent   Suivant >