GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Woher weiß ein PXE-Client, in welchem ​​Netzwerk er sich befindet?

Um DHCP verwenden zu können, müssen Sie die Broadcast-Adresse Ihres Netzwerks kennen.

Nein. Sie benötigen nur die lokale Broadcast-Adresse 255.255.255.255 (für IPv4) oder die Multicast-Gruppe ff02::1:2 (für IPv6). Der springende Punkt bei DHCP ist, dass es keine benötigt vorherige Konfiguration auf dem Client.


Wie würde es überhaupt auf der IP-Schicht kommunizieren, wenn es keine Adresse hat? Das tut es nicht, jedenfalls nicht wirklich. Stattdessen kommuniziert es über Layer 2.

Die Broadcast-Adresse eines Ethernet Netzwerk ist FF:FF:FF:FF:FF:FF. Auf der IP-Schicht gibt es 255.255.255.255. Das ist im DHCPDISCOVER-Paket enthalten. Auf diese Weise können Sie anstelle eines rohen Ethernet-Sockets einen normalen UDP-Listen-Socket haben.


  1. Die Boot-Firmware erkennt die installierten NICs
  2. Die Boot-Firmware erkennt jede NIC-Broadcast-MAC-Adresse und fragt den PXE-UNDI-Treiber (UNDI GET INFORMATION gibt HwType und HwAddrLen zurück), d. h. HwType=ETHER_TYPE HwAddrLen=6 => Broadcast-MAC-Adresse=FF:FF:FF:FF:FF:FF .
  3. Die Boot-Firmware initiiert die DHCP-DORA-Sequenz (DHCPDISCOVERY) und meldet sich selbst als PXE-Client (DHCP-Option 60) auf den BIOS/UEFI-fähigen NICs mit:
    1. Die entsprechende zuvor ermittelte MAC-Broadcast-Adresse auf OSI-Ebene 2 (Datenverbindungsschicht)
    2. Die BIOS/UEFI-aktivierte IPv4/IPv6-Broadcast-Adresse (255.255.255.255/ff02::1:2) auf OSI-Ebene 3 (Netzwerkschicht)
  4. Die Boot-Firmware beendet die DHCP-DORA-Sequenz, wenn ein vollständiges DHCP-PXE-Angebot empfangen wird, das Folgendes definiert:

    1. Client-IP/Maskenadresse
    2. IP-Adresse des TFTP-Servers
    3. NBP (Network Boot Program)

    Hinweis:Wenn mehr als ein vollständiges Angebot eingeht, definieren die aktuellen Standards nicht ausdrücklich, wie der Kunde eines auswählen muss.

  5. Die Boot-Firmware legt die NIC-IP fest, überträgt TFTP, lädt in den Speicher und führt das NBP aus.

Die Layer-2-MAC-Broadcast-Adresse ermöglicht die Zustellung des DHCP-Ethernet-Frames an alle Listener innerhalb der NIC-Ethernet-Kollisionsdomäne des Clients. Die Layer-3-IP-Broadcast-Adresse ist diejenige, die die Tür zum IP-Stack des DHCP-Servers öffnet. Beide L2/L3-Broadcast-Adressen werden benötigt .

Wenn sich der PXE-Client und der DHCP-Server in unterschiedlichen Subnetzen befinden, wird der Broadcast-DHCP-Verkehr an den Routern gestoppt, dann müssen sie ihren DHCP-Relay-Agent (IP Helper in der Cisco-Welt) aktivieren, indem sie beispielsweise das Broadcast-DHCPDISCOVERY-Paket nehmen und es in ein Unicast konvertieren DHCPDISCOVERY und leiten Sie es an die IP-Adresse des definierten Ziel-DHCP-Servers weiter.


Linux
  1. Was ist ein Makefile und wie funktioniert es?

  2. So legen Sie eine statische IP-Adresse fest und konfigurieren das Netzwerk unter Linux

  3. Wie erhalte ich die MAC-Adresse der WiFi-Netzwerkschnittstelle?

  4. Wie funktioniert Rm? Was macht Rm?

  5. Woher weiß ich, ob IP-Multicasting in meinem Netzwerk aktiviert ist?

Linux-Dateibefehl:Was macht er und wie wird er verwendet?

So finden Sie heraus, welche Geräte in Linux mit dem Netzwerk verbunden sind

Was Sie über IPv6 wissen müssen

So ändern Sie die Netzwerk-MAC-Adresse in Linux

Wie funktioniert ein Load Balancer? Was ist Load-Balancing?

Gewusst wie:FreeBSD-Netzwerkverwaltung