Systemverwaltungshandbuch: IP Services

Arbeitsweise des DHCP-Protokolls

Zunächst müssen Sie den DHCP-Server installieren und konfigurieren. Während der Konfiguration geben Sie Informationen über das Netzwerk ein, die der Client für die ordnungsgemäße Funktion in diesem Netzwerk benötigt. Nachdem diese Informationen eingerichtet wurden, können Clients Netzwerkinformationen anfordern und empfangen.

Die Reihenfolge der Ereignisse für DHCP-Services wird im folgenden Diagramm gezeigt. Die Zahlen in den Kreisen beziehen sich auf die nummerierten Absätze in der Beschreibung unter dem Diagramm.

Abbildung 12–1 Reihenfolge der Ereignisse für DHCP-Services

Das Diagramm zeigt den Kommunikationsablauf zwischen einem DHCP-Client und einem -Server. Die Beschreibung unter dem Diagramm erklärt die Reihenfolge.

Das oben stehende Diagramm zeigt die folgenden Schritte:

  1. Der Client erkennt einen DHCP-Server, indem eine Discovery-Nachricht an die eingeschränkte Broadcast-Adresse (255.255.255.255) im lokalen Teilnetz gesendet wird. Ist ein Router vorhanden, der mit dem Verhalten eines BOOTP-Relay-Agent konfiguriert wurde, wird die Anforderung an weitere DHCP-Server in anderen Teilnetzen weitergeleitet. Die Broadcast-Nachricht des Client enthält dessen einmalige ID, die in der DHCP-Implementierung in Oracle Solaris von der Media Access Control (MAC)-Adresse des Clients abgeleitet wurde. In einem Ethernet-Netzwerk gleicht die MAC-Adresse der Ethernet-Adresse.

    DHCP-Server, die diese Discovery-Nachricht empfangen, können das Client-Netzwerk anhand der folgenden Informationen feststellen:

    • Von welcher Netzwerkschnittstelle ist die Anforderung eingegangen? Der Server stellt fest, ob sich der Client in dem Netzwerk befindet, an das die Schnittstelle angeschlossen ist, oder ob der Client einen BOOTP-Relay-Agent verwendet, der an dieses Netzwerk angeschlossen ist.

    • Enthält die Anforderung die IP-Adresse eines BOOTP-Relay-Agent? Wenn die Anforderung über einen Relay-Agent eingegangen ist, fügt der Relay-Agent seine Adresse in den Header der Anforderung ein. Erkennt der Server eine Relay-Agentadresse, weiß er, dass die Netzwerkkomponenten der Adresse die Netzwerkadresse des Clients angibt, da der Relay-Agent mit dem Client-Netzwerk verbunden sein muss.

    • Ist das Client-Netzwerk in Teilnetze unterteilt? Der Server durchsucht die netmasks-Tabelle nach der Teilnetzmaske des Netzwerks, das durch die Relay-Agentadresse oder durch die Adresse der Netzwerkschnittstelle angegeben wird, die die Anforderung empfangen hat. Sobald der Server die verwendete Teilnetzmaske kennt, kann er feststellen, welcher Teil der Netzwerkadresse die Hostkomponente ist, und kann dann eine für den Client geeignete IP-Adresse auswählen. Weitere Informationen zu netmasks(4) finden Sie in der Manpage netmasks.

  2. Nachdem die DHCP-Server das Client-Netzwerk ermittelt haben, wählen die Server eine geeignete IP-Adresse aus und prüfen, ob diese Adresse bereits verwendet wird. Dann antworten die DHCP-Server dem Client, indem sie eine Offer-Nachricht senden. Diese Offer-Nachricht enthält die ausgewählte IP-Adresse und Informationen zu Services, die für den Client konfiguriert werden können. Jeder Server reserviert die angebotene IP-Adresse vorübergehend, bis der Client festlegt, ob diese IP-Adresse verwendet wird.

  3. Der Client wählt basierend auf Anzahl und Art der angebotenen Services das beste Angebot aus. Dann sendet der Client eine Anforderung, in der die IP-Adresse des Servers angegeben ist, der das beste Angebot abgegeben hat. Diese Broadcast-Nachricht stellt sicher, dass alle reagierenden DHCP-Server wissen, dass sich der Client für einen Server entschieden hat. Die nicht gewählten Server heben die Reservierungen der angebotenen IP-Adressen auf.

  4. Der ausgewählte Server weist dem Client die IP-Adresse zu und speichert die Informationen im DHCP-Datenspeicher. Anschließend sendet der Server eine Bestätigungsnachricht (ACK) an den Client. Diese Bestätigungsnachricht enthält die Netzwerkkonfigurationsparameter für den Client. Der Client testet die IP-Adresse mit dem Dienstprogramm ping, um sicherzustellen, dass sie von keinem anderen System verwendet wird. Dann setzt der Client das Booten fort, um dem Netzwerk beizutreten.

  5. Die Leasing-Zeit wird vom Client überwacht. Wenn der vorgegebene Zeitraum abgelaufen ist, sendet der Client erneut eine Nachricht an den ausgewählten Server, um die Leasing-Zeit zu verlängern.

  6. Der DHCP-Server, der diese Anforderung empfängt, verlängert die Leasing-Zeit, wenn das Leasing noch immer der vom Administrator eingerichteten lokalen Leasing-Richtlinie entspricht. Reagiert der Server nicht innerhalb von 20 Sekunden, sendet der Client eine neue Anforderung, so dass einer der anderen DHCP-Server die Leasing-Zeit verlängern kann.

  7. Wenn ein Client die IP-Adresse nicht mehr benötigt, informiert er den Server, dass die IP-Adresse freigegeben wurde. Diese Benachrichtigung kann während des ordnungsgemäßen Herunterfahrens oder auch manuell erfolgen.