Comment un client PXE sait-il sur quel réseau il se trouve?

9

Lors du démarrage PXE, l’une des premières étapes consiste à acquérir une adresse IP via DHCP.

Pour utiliser DHCP, vous devez connaître l'adresse de diffusion de votre réseau.

Comment ce réseau est-il initialement configuré pour un client PXE?

Ian Watson
la source
Vous attribuez une adresse IP fixe sur le réseau local pour le client PXE.
DavidPostill
5
@ DavidPostill: Ceci est en contradiction avec la réponse de Daniel B et, pour autant que je sache , les documents .
Mathieu K.
1
Les clients DHCP envoient à 255.255.255.255 en utilisant 0.0.0.0 comme "source" lors du lancement d’une demande de diffusion DHCP.
ivanivan

Réponses:

29

Comment pourrait-il même communiquer sur la couche IP quand il n'a pas d'adresse? Ce n'est pas le cas, pas vraiment de toute façon. Au lieu de cela, il communique en utilisant la couche 2.

L'adresse de diffusion de tout réseau Ethernet est FF: FF: FF: FF: FF: FF. Sur la couche IP, il y a 255.255.255.255. C'est ce qui est présent sur le paquet DHCPDISCOVER. De cette façon, vous pouvez avoir un socket d'écoute UDP normal au lieu d'un socket Ethernet brut.

Daniel B
la source
6
" L'adresse de diffusion de tout réseau Ethernet est FF: FF: FF: FF: FF: FF. " Cela s'applique à tout protocole LAN IEEE utilisant des adresses MAC 48 bits, par exemple Wi-Fi, Token Ring, FDDI, etc.
Ron Maupin
it communicates using layer 2ce n'est pas correct La couche 2 n'atteint pas le niveau de réseau de la pile IP du serveur. La couche de diffusion 2 transmet uniquement la trame Ethernet à tous les écouteurs d'un domaine de collision Ethernet particulier. L'adresse de diffusion IP est celle qui ouvre la porte de la pile IP du serveur.
Pat
Certainement. Cependant, comme je l'ai écrit, ce n'est pas vraiment une communication IP. Ça ne peut pas être. Au lieu de cela, il utilise le traitement de paquets IP en insérant des adresses de source et de destination qui généreront un comportement bien défini. L'adressage effectif est purement effectué sur la couche 2.
Daniel B
Vous avez tort. Adresse IP de diffusion est définitivement la communication IP. Si cette adresse de diffusion n'est pas présente, la couche IP du serveur ne voit pas le paquet. La seule chose particulière à propos de l'adresse IP de diffusion est qu'elle ne peut pas être routée.
Pat
1
Je pense que Pat a un peu tort et qu’il a un peu tort ... En fait, la diffusion IP fonctionne à la couche 3 ... mais DHCP traite toutes les premières étapes dans L2 / ARP / MAC ... et seulement la dernière étape (en indiquant au DHCP l’adresse IP servie est acceptée dans L3 / Unicast) ... cela doit être ainsi car au début il n’a pas de pile IP / L3 ... les autres services qui diffusent IP à part DHCP ne rencontrent pas ce problème (ils avoir une adresse IP) pour pouvoir communiquer via L3 / L4 -> ...
ZEE
30

Pour utiliser DHCP, vous devez connaître l'adresse de diffusion de votre réseau.

Non. Vous avez uniquement besoin de l'adresse de diffusion locale 255.255.255.255 (pour IPv4) ou du groupe de multidiffusion ff02 :: 1: 2 (pour IPv6). L’intérêt de DHCP est qu’il n’exige aucune configuration préalable sur le client.

Grawity
la source
Ce n'est pas correct. Vous avez également besoin de l'adresse de diffusion MAC (couche 2), car ARP ne fonctionne pas pour une adresse IP de diffusion.
Pat
La correspondance entre l'adresse de diffusion IP et l'adresse de diffusion MAC est supposée toujours connue, car elle est définie par le protocole; il n'est donc toujours pas nécessaire de la configurer manuellement.
Grawity
Vous avez tort. sur un client DHCP en cours de démarrage, un paquet DHCPDISCOVERY doit définir les adresses de diffusion DEUX ET DE 3, vous ne pouvez pas définir uniquement la diffusion de niveau 3 et pensez que tout autre protocole détectera l'adresse MAC cible uniquement avec une adresse de destination IP de diffusion
Pat
3
  1. Le micrologiciel de démarrage découvre les cartes réseau installées.
  2. Le microprogramme d’amorçage découvre chaque adresse MAC de diffusion de la carte réseau demandant au pilote PXE UNDI (UNDI GET INFORMATION renvoyant HwType et HwAddrLen), c’est-à-dire HwType = ETHER_TYPE HwAddrLen = 6 => adresse de diffusion MAC = FF: FF: FF: FF: FF.
  3. Le micrologiciel de démarrage lance la séquence DHCP DORA (DHCPDISCOVERY) en s’annonçant en tant que client PXE (option DHCP 60) sur les cartes réseau activées pour le BIOS / UEFI à l’aide des éléments suivants:
    1. Adresse de diffusion MAC correspondante précédemment découverte au niveau OSI 2 (couche liaison de données)
    2. Adresse de diffusion IPv4 / IPv6 activée par le BIOS / UEFI (255.255.255.255/ff02::1:2) au niveau 3 de l'OSI (couche réseau)
  4. Le micrologiciel de démarrage termine la séquence DHCP DORA si une offre complète DHCP-PXE est reçue, définissant les éléments suivants:

    1. Adresse IP / masque du client
    2. Adresse IP du serveur TFTP
    3. NBP (programme de démarrage réseau)

    Remarque: Si plusieurs offres complètes sont reçues, les normes en vigueur ne définissent pas précisément comment le client doit en sélectionner une.

  5. Le microprogramme d'amorçage définit l'adresse IP de la carte réseau, les transferts TFTP, se charge en mémoire et exécute le NBP.

L'adresse de diffusion MAC de couche 2 permet de transmettre la trame Ethernet DHCP à tous les écouteurs du domaine de collision NIC Ethernet du client. L'adresse de diffusion IP de couche 3 est celle qui ouvre la porte de la pile IP du serveur DHCP. Les deux adresses de diffusion L2 / L3 sont nécessaires .

Lorsque le client PXE et le serveur DHCP sont situés dans des sous-réseaux différents, le trafic DHCP de diffusion est arrêté sur le (s) routeur (s), puis ils doivent activer leur agent de relais DHCP (IP Helper sur le monde de Cisco) en prenant le paquet de diffusion DHCPDISCOVERY, le convertir en monodiffusion. DHCPDISCOVERY et acheminez-le vers l'adresse IP du serveur DHCP cible défini.

Tapoter
la source
Bonne réponse monsieur.
Tim_Stewart