DHCP-Relay-Agent

In RRAS ist ein DHCP-Relay-Agent implementiert, der die Broadcasts eines DHCP-Clients zur Ermittlung seiner IP-Adresse an einen DHCP-Server in einem anderen Netzwerksegment weiterleiten kann. Hierbei wird die Anfrage gezielt an den jeweiligen Server weitergeleitet. Dieser erkennt aufgrund des Formates, daß die Anfrage über einen Forwarder gekommen ist, und sendet seine Antwort entsprechend direkt an diesen zurück. Ohne den DHCP-Relay-Agent bräuchte man für jedes Subnetz einen eigenen DHCP-Server.


Funktionsweise von Relay-Agents
Ein Relay-Agent leitet DHCP/BOOTP-Nachrichten, die über eine der verbundenen physikalischen Schnittstellen, wie Netzwerkkarten übermittelt werden, über andere physikalische Schnittstellen an andere Subnetze weiter. In der folgenden Darstellung wird gezeigt, wie Client C in Subnetz 2 eine DHCP-Adresslease vom DHCP-Server 1 in Subnetz 1 erhält.

Art Image

  • DHCP-Client C übermittelt eine DHCP/BOOTP-Ermittlungsmeldung (DHCPDISCOVER) als ein UDP-Datagramm (User Datagram Protocol) über den bekannten UDP-Serverport 67 (die reservierte Portadresse, die gemeinsam für den Datenaustausch zwischen BOOTP- und DHCP-Servern verwendet wird) an Subnetz 2.

  • Der Relay-Agent, hier ein Router mit DHCP/BOOTP-Relay-Fähigkeiten, überprüft das Gateway-IP-Adressfeld im DHCP/BOOTP-Nachrichtenkopf. Lautet die IP-Adresse in dem Feld 0.0.0.0, dann füllt der Agent das Feld mit den Werten für die IP-Adresse des Relay-Agents oder des Routers, und leitet die Nachricht in das Subnetz 1 weiter, in dem sich der DHCP-Server befindet.

  • Wenn der DHCP-Server 1 in Subnetz 1 die Nachricht erhält, überprüft dieses das Gateway-IP-Adressfeld nach einen DHCP-Bereich, den der DHCP-Server verwenden kann, um eine IP-Adresslease zu vergeben.

  • Wenn der DHCP-Server 1 über mehrere DHCP-Bereiche verfügt, kann über das Gateway-IP-Adressfeld (GIADDR) der DHCP-Bereich ermittelt werden, aus dem der DHCP-Server eine IP-Adresslease vergeben kann.
    Wenn beispielsweise der Wert für das Gateway-IP-Adressfeld (GIADDR) 10.0.0.2 lautet, überprüft der DHCP-Server die Anzahl der verfügbaren Adressbereiche auf einen Adressbereich, der mit dem IP-Netzwerk der Klasse A übereinstimmt, das die Gatewayadresse als Host enthält. In diesem Fall sucht der DHCP-Server nach einem Adressbereich zwischen 10.0.0.1 und 10.0.0.254. Wird ein übereinstimmender Bereich gefunden, wählt der DHCP-Server eine verfügbare Adresse aus dem übereinstimmenden Bereich aus, um sie dem Client als Lease anzubieten.

  • Wenn der DHCP-Server 1 die DHCPDISCOVER-Nachricht empfängt, wird diese verarbeitet und ein Angebot für die Lease einer IP-Adresse (DHCPOFFER) direkt an den Relay-Agent, der über das Gateway-IP-Adressfeld (GIADDR) ermittelt wird, gesendet.

  • Der Router leitet dann das Adressleaseangebot (DHCPOFFER) an den DHCP-Client weiter.

  • Da die Clientadresse immer noch nicht bekannt ist, wird das Angebot im lokalen Subnetz übertragen. Auf ähnliche Weise wird eine DHCPREQUEST-Meldung vom Client an den Server weitergeleitet, und eine DHCPACK-Meldung wird (gemäß RFC 1542) vom Server an den Client weitergeleitet.


Relay-Agent-Konfigurationen

Es stehen verschiedene Konfigurationsoptionen für Relay-Agents zur Verfügung, wenn Sie den Einsatz eines Relay-Agents im DHCP/BOOTP-fähigen Netzwerk planen. Zu diesen Optionen zählen die Verwendung von nicht von Microsoft stammenden Routern, der Windows Server 2003-Routing- und RAS-Dienst sowie der unter Windows NT Server 4.0 bereitgestellte DHCP-Relay-Agent.

Router anderer Hersteller
In diesem Beispiel wird die Konfiguration eines Routers, der nicht von Microsoft stammt, veranschaulicht. Der Router führt einen Relay-Agent aus, der DHCP-Anforderungen zwischen Subnetz A und Subnetz B weiterleitet. Normalerweise muss der Relay-Agent auf dem Router mit der IP-Adresse des DHCP-Servers konfiguriert sein.

Art Image

Routing und RAS
Dieses Beispiel zeigt die Konfiguration für den Windows Server 2003-Routing- und RAS-Dienst. Der DHCP-Relay-Agent in der Windows Server 2003-Produktfamilie muss mit der IP-Adresse des DHCP-Servers konfiguriert sein, um DHCP-Anforderungen zwischen Subnetz A und Subnetz B weiterzuleiten. Weitere Informationen zum Einrichten des DHCP-Relay-Agents finden Sie unter Konfigurieren des DHCP-Relay-Agents.

Art Image

Windows Server 2003-Produktfamilie
Dieses Beispiel zeigt, wie ein IP-Standardrouter unter einem Betriebssystem der Windows Server 2003-Produktfamilie verwendet werden kann, um DHCP-Anforderungen zwischen Subnetz A und Subnetz B weiterzuleiten.

Art Image


Relay-Agent-Entwurf

Bevor ein Relay-Agent auf dem Netzwerk eingerichtet wird, sollten wichtige, den Entwurf betreffende Aspekte berücksichtigt werden.

Bei der Verwendung mehrerer DHCP-Server empfiehlt Microsoft, diese in verschiedenen Subnetzen einzurichten, um eine erhöhte Fehlertoleranz zu ermöglichen, die bei der Verwendung in einem einzelnen Subnetz nicht erzielt werden kann. Die Serverbereiche sollten nicht mit identischen IP-Adressen eingerichtet sein (jeder Server sollte über einen eindeutigen Adresspool verfügen).

Wenn der DHCP-Server im lokalen Subnetz herunterfährt, werden Anforderungen an ein Remotesubnetz weitergeleitet. Der DHCP-Remoteserver kann auf DHCP-Anforderungen antworten, wenn er über einen Bereich von IP-Adressen für das Subnetz verfügt, aus dem die Anforderung kommt. Wenn auf dem Remoteserver kein Bereich für das Subnetz, das die Anforderungen sendet, definiert wurde, können keine IP-Adressen bereitgestellt werden, auch wenn auf dem Remoteserver Adressen für andere Bereiche zur Verfügung stehen. Wenn jeder DHCP-Server über die Adresspools aller Subnetze verfügt, können IP-Adressen für Clients bereitgestellt werden, deren DHCP-Server sich zurzeit im Offlinebetrieb befindet.

  • Empfohlene Konfiguration
    Die folgende Implementierung von
    Relay-Agenten wird empfohlen, um die Übertragung von DHCP-Netzwerkdaten optimal zu routen. In diesem Beispiel werden zwei DHCP-Server verwendet, die mit zwei verschiedenen Subnetzen verbunden sind. Für die Verzögerungsintervalle der Relay-Agenten, die auf den Routern zwischen den Subnetzen verwendet werden, wurden unterschiedliche Werte festgelegt (auf einem Relay-Agent ist ein Intervall von 4 Sekunden festgelegt, der andere Relay-Agent verwendet kein Verzögerungsintervall). Durch das Auswählen der Netzwerkpfade nach dem Zufallsprinzip wird die Gefahr einer unerwünschten DHCP-Paketflut nahezu ausgeschlossen.

  • Nicht empfohlene Konfiguration
    Die folgende Implementierung von Relay-Agenten wird nicht empfohlen. Die Anzahl an DHCP-Servern und -subnetzen entspricht dem vorhergehenden Beispiel, aber es wurden weniger vorbeugende Maßnahmen getroffen. Das Risiko von DHCP-Suchmeldungen (DHCPDISCOVERs), die von startenden DHCP-Clients übermittelt, nach dem Zufallsprinzip weitergeleitet oder zum Senden an die anderen Subnetze dupliziert werden, ist wesentlich erhöht. Darüber hinaus ist für die Relay-Agenten kein Verzögerungsintervall festgelegt. Die Wahrscheinlichkeit, dass beide Relay-Agenten (Router) Broadcastmeldungen von Clients duplizieren und somit eine Datenflut auf den Remotesubnetzen erzeugen, ist signifikant höher