Outils pour utilisateurs

Outils du site


Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
090_applicatifs:165dhcp:10-protocole_dhcp [le 16/02/2025 à 14:36] – ↷ Page déplacée de 050_applicatifs:165dhcp:10-protocole_dhcp à 090_applicatifs:165dhcp:10-protocole_dhcp prof090_applicatifs:165dhcp:10-protocole_dhcp [le 21/03/2025 à 16:07] (Version actuelle) – [Détails sur le bail] prof
Ligne 1: Ligne 1:
 ====== Le protocole « DHCP » ====== ====== Le protocole « DHCP » ======
  
-===== Position du problème ===== +===== La configuration IP ===== 
- +D'une manière généraleil y a trois méthodes possibles pour disposer d'une configuration IP opérationnelle: 
-Lorsque vous connectez une machine à un réseau Ethernet TCP/IP, cette machine, pour fonctionner correctement, doit disposer +  la méthode dite «zeroconf» propre à IPv4 qu'il vaut mieux éviter, n'étant à peu près efficace que sur de tout petits réseaux; 
- +  - la méthode manuelle, aussi bien en IPv4 qu'en IPv6mais peu pratique et avec de nombreux risques d'erreurs; 
-  * D'une adresse IP unique dans votre réseau et appartenant au même réseau logique que toutes les autres machines du réseau en question, +  - les méthode supervisées
-  * un masque de sous réseau, le même pour tous les hôtes du réseau, +    par le protocole DHCPsurtout employé en IPv4 mais pouvant l'être aussi en IPv6au moins partiellement
-  * une adresse de DNS, pour pouvoir résoudre les noms des hôtes, surtout si votre réseau est connecté au Net, +    par la découverte des voisins et l'attribution d'adresses IPv6 «stateless»mais utilisable uniquement en IPv6. 
-  * l'adresse de la passerelle qui vous permet justement d'accéder au Net. (Nous supposerons que votre réseau domestique n'est pas suffisamment complexe pour contenir de multiples sous-réseaux). +Dans ce qui suitnous nous intéresserons au protocole DHCP avec l'objectif de l'utiliser pour sa configuration IPv4.
- +
-Si vous n'avez déjà rien compris à ce discoursalors il est nécessaire pour vous de lire d'abord les chapitres sur [[040_tuyauterie:010tcpip:start]] et [[040_tuyauterie:030routage:start]]. +
- +
-Pour configurer vos hôtes locaux, vous avez trois possibilités : +
-  vous utilisez « zeroconf » ([[http://files.zeroconf.org/rfc3927.txt|rfc3927]])la chose qui permet à chaque nœud d'un réseau de s'auto-attribuer une adresse IP dans le bloc 169.254/16. Tout ce qu'il y a de plus basiquece système remplit son office, mais ne permet aucune administration du réseau +
-  vous passez de machine en machine, avec un petit carnet et vous configurez à chaque fois tous les paramètres de la pile IP à la main, en n'oubliant pas de tout marquer dans votre carnetCe n'est pas le plus compliqué, ce qui est d'avantage gênantc'est de ne jamais oublier de noter toutes les modifications que vous pourriez être amené à faire par la suite ; +
-  * vous installez un serveur DHCP sur votre réseau et vous dites à vos clients d'aller chercher toute leur configuration IP sur ce serveurEn gros, il remplacera votre carnet, sera naturellement à jour et vous évitera des déplacements. +
- +
-Comme vous le voyez, le luxe de la troisième solution est tout de même tentant, au point que nous allons le mettre en œuvre. +
 ===== Que disent les livres ? ===== ===== Que disent les livres ? =====
  
Ligne 26: Ligne 16:
   * le « Broadcast » ou « Diffusion » qui permet d'envoyer des trames à toutes les machines du réseau physique.   * le « Broadcast » ou « Diffusion » qui permet d'envoyer des trames à toutes les machines du réseau physique.
  
-Le dialogue est décrit de la manière suivante:+Le dialogue se fait en utilisant des datagrammes UDP. Le serveur écoute sur le port 67 et le client sur le port 68. L'opération initiale s'effectue en 4 temps. Elle est décrite de la manière suivante: 
 +{{ :090_applicatifs:165dhcp:proto_dhcp.svg |Échanges DHCP}}
  
-{{ :dhcp:dialogue.png?600 |Le dialogue de DHCP}} 
  
   - Lorsque le client DHCP démarre, il n'a aucune connaissance du réseau, du moins, en principe. Il envoie donc une trame « DHCPDISCOVER », destinée à trouver un serveur DHCP. Cette trame est un « broadcast », donc envoyé à l'adresse 255.255.255.255. N'ayant pas encore d'adresse IP, il adopte provisoirement l'adresse 0.0.0.0. Comme ce n'est pas avec cette adresse que le DHCP va l'identifier, il fournit aussi sa « MAC Address ». En réalité, 0.0.0.0 ne voulant rien dire, le système devra fonctionner uniquement avec les adresses MAC lors du premier dialogue. Autrement dit, le client présente son adresse MAC et effectue un broadcast ethernet sur ff:ff:ff:ff:ff:ff ;   - Lorsque le client DHCP démarre, il n'a aucune connaissance du réseau, du moins, en principe. Il envoie donc une trame « DHCPDISCOVER », destinée à trouver un serveur DHCP. Cette trame est un « broadcast », donc envoyé à l'adresse 255.255.255.255. N'ayant pas encore d'adresse IP, il adopte provisoirement l'adresse 0.0.0.0. Comme ce n'est pas avec cette adresse que le DHCP va l'identifier, il fournit aussi sa « MAC Address ». En réalité, 0.0.0.0 ne voulant rien dire, le système devra fonctionner uniquement avec les adresses MAC lors du premier dialogue. Autrement dit, le client présente son adresse MAC et effectue un broadcast ethernet sur ff:ff:ff:ff:ff:ff ;
Ligne 35: Ligne 25:
   - Le serveur DHCP Concerné répond définitivement par un DHCPACK qui constitue une confirmation du bail. L'adresse du client est alors marquée comme utilisée et ne sera plus proposée à un autre client pour toute la durée du bail.   - Le serveur DHCP Concerné répond définitivement par un DHCPACK qui constitue une confirmation du bail. L'adresse du client est alors marquée comme utilisée et ne sera plus proposée à un autre client pour toute la durée du bail.
  
 +Il peut donc y avoir plusieurs serveurs DHCP sur le même réseau, mais il vaut mieux faire ça proprement tout de même et nous évoquerons cette question plus loin.
 ==== Détails sur le serveur DHCP ==== ==== Détails sur le serveur DHCP ====
  
Ligne 51: Ligne 42:
   * L'adresse du serveur DHCP (nous allons voir pourquoi).   * L'adresse du serveur DHCP (nous allons voir pourquoi).
  
-Cette liste est loin d'être complèteil existe en effet une grande quantité d'options qui peuvent êtres transmises.+Cette liste est loin d'être complète.((il existe en effet une grande quantité d'options qui peuvent êtres transmises. la [[https://datatracker.ietf.org/doc/html/rfc2132|RFC2132]] en définit déjà 76, les plus «communes». D'autres existent et sont documentées dans d'autres RFCs mais pas forcément implémentées sur tous les serveurs. Pour la suite nous utiliserons [[https://www.isc.org/kea/|isc kea dhcp4 server]]. La liste des options supportées est définie [[https://kb.isc.org/docs/standard-dhcp-options|sur cette page]].))
  
 Lorsque le bail arrive à environ la moitié de son temps de vie, le client va essayer de renouveler ce bail, cette fois-ci en s'adressant directement au serveur qui le lui a attribué. Il n'y aura alors qu'un DHCPREQUEST et un DHCPACK. Lorsque le bail arrive à environ la moitié de son temps de vie, le client va essayer de renouveler ce bail, cette fois-ci en s'adressant directement au serveur qui le lui a attribué. Il n'y aura alors qu'un DHCPREQUEST et un DHCPACK.
Le protocole « DHCP »: Dernière modification le: 16/02/2025 à 14:36 par prof