S'abonner :  Newsletters    Magazines
[ PROTOCOLES ]
DHCP distribue les adresses IP provisoires à la volée
DHCP diffuse des informations de configuration à l`ensemble des hôtes d`un réseau. Il est au coeur de bon nombre de topologies.

JÉRÔME SAIZ , Décision Micro (n° 0444), le 13/11/2000 à 00h00

La connexion temporaire d`un client à un réseau nécessite de nombreux paramètres, dont une adresse IP libre, un masque de sous-réseau et une passerelle par défaut. La configuration manuelle de chaque client lors de la connexion n`est pas à la portée d`un utilisateur non technicien et, surtout, est difficilement applicable à un parc étendu. C`est pourquoi les protocoles de configuration sont très utilisés en cas de réseaux étendus où un nombre inconnu et variable d`hôtes se partage une ressource limitée : les adresses IP. Dans ce cadre, les protocoles de configuration automatiques non dynamiques tels que le protocole de configuration distante, BootP (Bootsrap Protocol), ne sont guère utiles car ils obligent malgré tout à prévoir une adresse IP pour chaque client.

Si BootP permet bien de fournir au client des paramètres de base (masque de sous-réseau, adresse IP des routeurs), il ne permet qu`une attribution statique d`une adresse IP choisie au préalable par l`administrateur. À l`inverse, DHCP, en tant qu`extension dynamique de BootP, offre une palette bien plus large de paramètres à transmettre et, surtout, permet de fonctionner avec une base d`adresses IP plus réduite.

Les spécifications officielles de DHCP (RFC 1541) indiquent que ce protocole doit pouvoir louer une adresse IP et la récupérer lorsque le bail a expiré. Un serveur DHCP fonctionne selon trois modes d`attribution d`adresses : l`adressage statique, pratiqué par BootP (avec lequel DHCP est compatible), attribue une adresse fixée par l`administrateur ; l`adressage automatique donne, quant à lui, une adresse IP permanente ; enfin, l`adressage dynamique procède à une véritable gestion du parc d`adresses, les attribue selon les besoins et les récupère à la déconnexion de l`hôte.

Une location en bail précaire

Pour cela, un serveur DHCP gère deux bases de données distinctes : une base d`adresses, qui contient la plage d`adresses IP utilisables au sein du réseau (local ou étendu), et une base d`allocation, qui relie une adresse MAC (adresse pour un poste doté d`Ethernet) à celles de la base précédente lorsqu`elles sont attribuées. Tous les échanges entre un serveur DHCP et un client se font par l`intermédiaire de paquets au format BootP, ce qui permet aux deux protocoles de travailler de concert.

DHCP reconna"t sept types de messages que le serveur et l`hôte demandant une adresse sont susceptibles de s`échanger (ces messages sont contenus dans le champ Option d`un paquet BootP traditionnel, pour des raisons de compatibilité, et utilisent les ports UDP 67 et 68). Le premier message, Discover, est émis par le client lorsqu`il s`éveille et recherche les serveurs DHCP de son voisinage. Il peut, s`il le souhaite, demander un champ d`adresse particulier. Un serveur (ou plusieurs) lui répond alors par un message Offer proposant une adresse IP. Rien n`est encore établi, il s`agit simplement d`une offre. Le client collecte les différentes offres émises par les serveurs ayant répondu à sa requête, en choisit une et émet un nouveau Request destiné au serveur correspondant. À ce stade, tous les serveurs reçoivent ce message et vérifient le numéro d`identification du serveur destinataire. Ceux qui ne sont pas concernés prennent le message comme un Decline (refus) implicite, tandis que l`élu renvoie au client un message d`acquittement - Ack si l`adresse est toujours libre, Nack si elle a été attribuée entre-temps. Dans ce dernier cas, le client doit émettre un nouveau message de type Discover et recommencer la procédure.

En revanche, s`il reçoit l`acquittement de son serveur, le client conserve l`adresse IP proposée et commence à l`utiliser. En cas de problème avec cette adresse, il envoie un message Decline signalant le problème au serveur et recommence la procédure par un nouveau Discover. Enfin, le client peut libérer son adresse avant la fin du bail (qui est défini par l`administrateur sans contrainte de temps) en envoyant à son serveur un Release. S`il souhaite conserver son adresse IP après expiration de son bail (puisque DHCP en mode dynamique " loue " les adresses sans les attribuer définitivement), il envoie un message de type Request en indiquant l`adresse IP qu`il utilise. Le serveur qui a dans sa base de données d`allocation la référence de ce client lui répond par Ack et il peut continuer à utiliser son adresse le temps d`un nouveau bail. La procédure est ainsi automatique et, surtout, n`exige aucune configuration de la part de l`administrateur. En outre, il n`est pas nécessaire de mettre en oeuvre un serveur DHCP par sous-réseau, car le protocole reconna"t des " relais " capables de diriger les requêtes des clients DHCP de leur sous-réseau vers les serveurs dont ils dépendent.

DHCP et la sécurité

Les failles de sécurité peuvent provenir des deux côtés du modèle client-serveur. En effet, il est aussi simple de créer un faux serveur DHCP que de mettre en oeuvre un client pirate.

Dans le premier cas le serveur parasite sera capable d`envoyer de fausses informations de configuration aux clients dont il acquittera les requêtes. En communiquant de fausses adresses de routeurs et de serveurs de noms, on simplifie considérablement le spoofing d`adresses. Des logiciels existent cependant, tel DHCPloc fonctionnant avec Windows NT. Ils sont capables de surveiller les paquets DHCP sur un réseau et de donner l`alerte s`ils en détectent qui ne proviennent pas de serveurs autorisés. Enfin, un faux client DHCP sera capable d`accéder à des ressources protégées si la protection ne repose que sur une identification de l`adresse IP, ce qu`il vaut donc mieux éviter. Il pourra également paralyser le serveur en consommant les adresses IP rapidement sans les libérer.


NIP, une alternative à DHCP ?

Le Network Information Protocol (NIP) permet également d`allouer dynamiquement des adresses IP. Son mécanisme est cependant moins fiable et plus gourmand en ressources. En réponse à la demande d`un client NIP, le serveur lui transmet une liste d`adresses IP libres. Le client en choisit une et la teste en y envoyant une requête ARP.

En cas de réponse, cela signifie que l`adresse est déjà prise, et il teste la suivante sur la liste. Sans réponse de ARP, il doit quand même répéter la demande plusieurs fois afin d`être certain que l`adresse est libre. En plus des délais d`attente, ce mécanisme risque de provoquer des duplications d`adresses IP si un hôte ne répond pas à une requête ARP. En outre, il est difficile de conserver la même adresse à l`expiration du bail.



Le processus de connexion avec DHCP
La procédure de connexion d`un hôte sur un réseau gouverné par DHCP se fait en un clin d`oeil. Le client demande à tous les serveurs disponibles une adresse potentielle (1). À réception des offres (2), il en choisit une et commence à l`utiliser (3). Il n`acquitte rien auprès du serveur qui lui a fourni l`adresse choisie, tout est implicite, y compris le refus des autres adresses proposées.

> Logiciel : Kaspersky Internet Security 2010
la solution de sécurité la plus complète du marché.

publicité
> Evenement : le Pack Sécurité Internet
Une solution moderne, mobile et complète.

classement FAI
Retrouvez chaque semaine le classement des fournisseurs d'accès avec ip-label 1 Numericable 2 Free 3 Bouygues Telecom > Plus de détails
offres d'emploi
> Jeu en ligne :
Everest Poker
Atteignez les sommets du poker mondial...

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.