-
TECHNISCHES
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft Computernetze und insbesondere ein
Verfahren und ein System in einem IP-Netz (Internetprotokollnetz)
zur Optimierung der Leistung und der Verfügbarkeit eines DHCP-Dienstes
(Dynamic Host Configuration Protocol, Protokoll zur dynamischen
Host-Konfiguration), der durch mehrere DHCP-Server bereitgestellt wird.
-
STAND DER
TECHNIK
-
INTERNET
-
Das
Internet stellt ein globales Netzwerk von Computern und Computernetzen
dar (das „Netz"). Das Internet verbindet
Computer miteinander, die eine Vielzahl verschiedener Betriebssysteme
oder Sprachen verwenden, so zum Beispiel UNIX, DOS, Windows, Macintosh
und andere. Um die Kommunikation zwischen diesen verschiedenen Systemen und
Sprachen zu erleichtern und zu ermöglichen, verwendet das Internet
eine Sprache mit der Bezeichnung TCP/IP (Transmission Control Protocol/Internet
Protocol). Das TCP/IP-Protokoll unterstützt drei Hauptanwendungen im
Internet:
- • Senden
und Empfangen von elektronischer Post,
- • Einwählen in
ferne Computer (das „Telnet") und
- • Übertragen
von Dateien und Programmen von einem Computer auf einen anderen
Computer (FTP, File Transfer Protocol, Dateiübertragungsprotokoll).
-
Eine
Aufgabe des TCP/IP besteht darin, Netze miteinander zu verbinden
und einen universellen Kommunikationsdienst bereitzustellen: ein
Inter-Netzwerk oder Internet. Jedes physische Netz weist seine eigene
technologieabhängige
Kommunikationsschnittstelle in Form einer programmierbaren Schnittstelle
auf, die Basisfunktionen (Grundfunktionen) für die Kommunikation bereitstellt.
Kommunikationsdienste werden durch eine Software zur Verfügung gestellt,
die zwischen dem physischen Netz und den Benutzeranwendungen läuft. Diese
Software schafft eine gemeinsame, vom zugrunde liegenden physischen
Netz unabhängige
Schnittstelle für
diese Anwendungen. Die Architektur der physischen Netze bleibt dem
Benutzer verborgen.
-
Das
Internetprotokoll entwickelt sich durch den RFC-Mechanismus (Request
For Comments, Aufforderung zur Stellungnahme) immer noch weiter. Neue
Protokolle (zumeist Anwendungsprotokolle) werden von Forschern entwickelt
und eingeführt.
Sie werden der Internetgemeinde in Form eines Internetentwurfs (Internet
Draft, ID) zur Kenntnis gebracht. Die größte Quelle von IDs ist die
Internet Engineering Task Force (IETF).
-
IP-ADRESSEN
-
Um
zwei Netze miteinander zu verbinden, wird ein Computersystem, das
Pakete von einem Netz an ein anderes Netz weiterleiten kann, an
beide Netze angeschlossen. Eine solche Maschine wird als Router
bezeichnet. Der Begriff „IP-Router" wird auch gebraucht,
da die Routingfunktion Teil der IP-Schicht des TCP/IP-Protokolls
ist.
-
IP-Adressen
werden vom IP-Protokoll verwendet, um einen Host im Internet eindeutig
zu kennzeichnen (genau gesagt, eine IP-Adresse kennzeichnet eine
Schnittstelle, die IP-Datagramme senden und empfangen kann, und
ein System kann mehrere solcher Schnittstellen haben. Allerdings
müssen
sowohl die Hosts als auch die Router mindestens eine IP-Adresse
haben, sodass diese vereinfachte Definition akzeptiert werden kann).
IP-Datagramme (die zwischen Hosts ausgetauschten Basisdatenpakete) werden
durch ein an den Host angeschlossenes physisches Netz übertragen
und jedes IP-Datagramm enthält
eine IP-Quelladresse und eine IP-Zieladresse.
-
IP-Adressen
werden durch einen unsignierten 32-Bit-Binärwert dargestellt, der für gewöhnlich in einer
Schreibweise mit Trennzeichen ausgedrückt wird. Zum Beispiel stellt
der Wert 9.167.5.8 eine gültige
Internetadresse dar. Die numerische Form wird von der IP-Software
verwendet. Die Zuordnung der IP-Adresse zu einem leichter lesbaren
symbolischen Namen, zum Beispiel myhost.ibm.com, erfolgt durch das
Domänennamen-System.
-
IP-TEILNETZE
-
Aufgrund
des explosionsartigen Wachstums des Internets hat sich das Prinzip
zugewiesener BP-Adressen als zu unflexibel erwiesen, um Änderungen
an der Konfiguration von lokalen Netzen leicht vornehmen zu können. Diese Änderungen
können
erforderlich werden, wenn:
- • an einem Standort ein physisches
Netz einer neuen Art installiert wird.
- • die
Anzahl der Hosts so stark zunimmt, dass das lokale Netz in zwei
oder mehr getrennte Netze aufgeteilt werden muss.
- • die
zunehmenden Entfernungen die Aufteilung eines Netzes in kleinere
Netze erforderlich machen, die durch Gateways miteinander verbunden sind.
-
Um
in diesen Fällen
keine zusätzlichen IP-Netzadressen
anfordern zu müssen,
wurde das Konzept der Teilnetze eingeführt. Die Einrichtung von Teilnetzen
kann lokal erfolgen, da das gesamte Netz der Außenwelt immer noch als ein
IP-Netz erscheint.
-
Der
dem Host entsprechende Teil der IP-Adresse wird wieder in eine Netznummer
und eine Hostnummer aufgeteilt. Dieses zweite Netz wird als Teilnetzwerk
oder Teilnetz bezeichnet. Das Hauptnetz besteht nun aus einer Anzahl
von Teilnetzen und die LP-Adresse wird wie folgt interpretiert:
<Netznummer><Teilnetznummer><Hostnummer>
-
Die
Kombination aus Teilnetznummer und Hostnummer wird oft als die lokale
Adresse oder als der lokale Teil bezeichnet. Die Einrichtung von
Teilnetzen wird so durchgeführt,
dass sie für
ferne Netze transparent ist. Für
einen Host in einem Netz, das aus Teilnetzen besteht, sind die Teilnetze
erkennbar, nicht hingegen für
einen Host in einem anderen Netz; dieser betrachtet immer noch den
lokalen Teil der IP-Adresse als Hostnummer.
-
Die
Aufteilung des lokalen Teils der IP-Adresse in den Teil der Teilnetznummer
und den Teil der Hostnummer kann vom lokalen Administrator frei
gewählt
werden; für
das Teilnetz können
beliebige Bits im lokalen Teil verwendet werden. Die Aufteilung
erfolgt unter Verwendung einer Teilnetzmaske in Form einer 32-Bit-Zahl.
Die Nullen in der Teilnetzmaske zeigen Bitpositionen an, die der
Hostnummer zugeschrieben sind, und die Einsen zeigen Bitpositionen an,
die der Teilnetznummer zugeschrieben sind. Die Bitpositionen in
der zur Netznummer gehörenden Teilnetzmaske
sind auf Einsen gesetzt, bleiben aber ungenutzt. Teilnetzmasken
werden für
gewöhnlich wie
die IP-Adressen in der Schreibweise mit Trennzeichen geschrieben.
-
DOMÄNENNAMEN
-
Die
Host- oder Computernamen (zum Beispiel www.entreprise.com) werden
unter Verwendung eines Verfahrens mit der Bezeichnung DNS (Domgin
Name System, Domänennamensystem)
in numerische Internetadressen (zum Beispiel 194.56.78.3) und umgekehrt
umgesetzt. Das DNS wird durch Server im Netz unterstützt, die
auch als Domänennamen-Server
oder DNS-Server bekannt sind.
-
DYNAMISCHE
IP
-
Ein
System benötigt
im Allgemeinen drei verschiedene Informationen, um in einem TCP/IP-Netz kommunizieren
zu können:
- • eine
IP-Adresse (um das System im Netz eindeutig zu kennzeichnen),
- • eine
Teilnetzmaske (um die Adressteile für das Netz und das Teilnetz
zu bestimmen) und
- • die
Adresse von mindestens einem Router (wenn das System in der Lage
ist, mit anderen Einheiten außerhalb
seines unmittelbaren Teilnetzes zu kommunizieren).
-
Diese
drei Werte stellen das absolute Minimum an Information dar, das
in jede Einheit programmiert werden muss, damit diese an der TCP/IP-Welt teilnehmen
zu kann. Oft ist die Zahl der erforderlichen Parameter wesentlich
größer. Bei
der heute exponentiell zunehmenden Vernetzung ist leicht zu erkennen,
dass die manuelle Programmierung dieser Werte in jede Einheit, die
an das Netz angeschlossen werden soll, einen großen Verwaltungsaufwand darstellt.
-
Auch
durch die zunehmende Mobilität
der Endbenutzer ergeben sich Probleme in Hinblick auf die Konfiguration
von Netzeinheiten. Es ist zwar möglich,
einer Einheit mehrere Sätze
von Konfigurationsparametern zuzuweisen, aber dies:
- • bedeutet
natürlich
einen noch höheren
Aufwand für
den Systemadministrator,
- • führt zu einer
verschwenderischen Anzahl von zugeordneten IP-Adressen.
-
Mehrere
Komponenten des TCP/IP-Protokolls sind bei der Automatisierung der
Einheitenkonfigurierung behilflich, verringern die Anzahl der zugeordneten
IP-Adressen und/oder kommen mit den Anforderungen des mobilen Benutzers
zurecht.
-
BOOTSTRAP-PROTOKOLL (BOOTP)
-
Das
BOOTP-Protokoll war ursprünglich
als Mechanismus entwickelt worden, um Hosts ohne Festplatte wie
Arbeitsplatzrechner, Router, Terminalverteiler und so weiter von
einem fernen System booten zu können.
Es ermöglicht,
dass ein minimaler IP-Protokollstapel ohne Konfigurationsinformationen genügend Informationen
erhält,
um mit dem Herunterladen des notwendigen Boot-Codes beginnen zu können. Das
BOOTP-Protokoll definiert nicht, wie das Herunterladen erfolgen
soll, aber dieser Prozess verwendet für gewöhnlich das TFTP (Trivial File Transfer
Protocol, Einfaches Dateiübertragungsprotokoll),
das im RFC 906 unter „Bootstrap
Logding Using TFTP" beschrieben
wird. Zwar wird das BOOTP-Protokoll immer noch in großem Umfang
für Hosts
ohne Festplatte verwendet, dient jedoch üblicherweise auch als ausschließlicher
Mechanismus zur Übermittlung
von Konfigurationsinformationen an einen Client, der nicht manuell
konfiguriert worden ist. Der BOOTP-Prozess beinhaltet die folgenden Schritte:
- • 1.
Der Client bestimmt seine eigene Hardwareadresse; diese ist normalerweise
in einem ROM (Read Only Memory, Nur-Lese-Speicher) in der Hardware
hinterlegt.
- • 2.
Ein BOOTP-Client sendet seine Hardwareadresse in einem UDP-Datagramm
(User Datagram Protocol, Benutzer-Datagramm-Protokoll) an den Server.
Wenn der Client seine eigene LP-Adresse und/oder die Adresse des
Servers kennt, sollte er sie benutzen, aber im Allgemeinen verfügen BOOTP-Clients über keinerlei
IP-Konfigurationsdaten. Wenn der Client seine eigene LP-Adresse
nicht kennt, verwendet er 0.0.0.0. Wenn der Client die LP-Adresse
des Servers nicht kennt, verwendet er die Adresse für eingeschränktes Broadcasting
(Rundsenden) (255.255.255.255). Die UDP-Portnummer ist 67.
- • 3.
Der Server empfängt
das Datagramm und sucht nach der Hardwareadresse des Client in seiner
Konfigurationsdatei, die die die LP-Adresse des Client enthält. Der
Server füllt
die übrigen
Felder im UDP-Datagramm aus und sendet dieses über den UDP-Port 68 an den
Client zurück.
- • 4.
Wenn der BOOTP-Client die Antwort empfängt, zeichnet er seine eigene
IP-Adresse auf und beginnt mit dem Bootstrap-Prozess.
-
BOOTP
ist ein Standardprotokoll-Entwurf. Sein Status wird empfohlen. Die
Kenndaten zum BOOTP sind im RFC 951 „Bootstrap Protocol" zu finden. Es gibt
auch Aktualisierungen zum BOOTP, von denen sich einige auf die Interoperabilität mit dem DHCP
(Dynamic Host Configuration Protocol) beziehen und im RFC 1542 „Clarifications
and Extensions for the Bootstrap Protocol" beschrieben sind, das eine Aktualisierung
für RFC
951 und RFC 2132 „DHCP
Options and BOOTP Vendor Extensions" darstellt.
-
PROTOKOLL ZUR DYNAMISCHEN
HOST-KONFIGURATION (DHCP)
-
Das
Protokoll zur dynamischen Host-Konfiguration (DHCP) liefert einen
Rahmen zur Weiterleitung von Konfigurationsinformationen an Hosts
in einem TCP/IP-Netz. Das DHCP basiert auf dem BOOTP-Protokoll und bietet
die zusätzliche
Fähigkeit zum
automatischen Zuweisen wiederverwendbarer Netzadressen sowie weitere
Konfigurationsfunktionen. DHCP-Nachrichten nutzen den wohlbekannten BOOTP-Server-UDP-Port
67 und den wohlbekannten BOOTP-Client-UDP-Port 68. Das DHCP besteht aus
zwei Komponenten:
- • 1. einem Protokoll, das hostspezifische
Konfigurationsparameter von einem DHCP-Server an einen Host liefert,
- • 2.
einem Mechanismus zum Zuweisen temporärer oder permanenter Netzadressen
an Hosts.
-
Das
IP erfordert das Einstellen vieler Parameter in der Software zur
Protokollimplementierung. Da das IP in vielen verschiedenen Arten
von Netzhardware verwendet werden kann, kann nicht davon ausgegangen
werden, dass diese Parameter korrekte Standardwerte haben. Die Verwendung
eines auf einem Abruf-/Abwehrmechanismus basierenden verteilten
Adresszuweisungsschemas zum Erkennen bereits genutzter Netzadressen
kann keine Garantie für
eindeutige Netzadressen bieten, da Hosts möglicherweise nicht immer in
der Lage sind, ihre Netzadressen zu verteidigen. Das DHCP unterstützt drei Mechanismen
für die
Zuweisung von IP-Adressen:
- • 1. Automatische Zuweisung:
DHCP weist dem Host eine permanente IP-Adresse zu.
- • 2.
Dynamische Zuweisung: DHCP weist eine IP-Adresse für einen
begrenzten Zeitraum zu.
- • 3.
Manuelle Zuweisung: Die Adresse wird dem Host durch einen Netzadministrator
zugewiesen.
-
DHCP
ist ein Standardprotokoll-Entwurf. Sein Status kann ausgewählt werden.
Die aktuellen DHCP-Spezifikationen sind im RFC 2131 „Dynamic Most
Configuration Protocol" und
im RFC 2132 „DHCP
Options and BOOTP Vendor Extensions" beschrieben.
-
Depot der
Konfigurationsparameter
-
Das
DHCP bietet eine dauerhafte Speicherung von Netzparametern für Netz-Clients.
Ein DHCP-Server speichert für
jeden Client einen Schlüsselwert-Eintrag,
wobei der Schlüssel
eine eindeutige Kennung ist, zum Beispiel eine IP-Teilnetznummer
und eine eindeutige Kennung innerhalb des Teilnetzes (normalerweise
eine Hardwareadresse), und der Wert enthält die diesem bestimmten Client zuletzt
zugewiesenen Konfigurationsparameter.
-
Eine
Auswirkung hiervon besteht darin, dass einem DHCP-Client mit hoher
Wahrscheinlichkeit durch den Server immer dieselbe IP-Adresse zugeordnet
wird, sofern der Adressenvorrat nicht ausgeschöpft ist und die vorhergehende
Adresse nicht bereits einem anderen Client zugewiesen wurde.
-
ASPEKTE DES
DHCP
-
Die
dynamische Zuweisung von LP-Adressen und Konfigurationsparametern
unter Verwendung des DHCP entlastet den Netzadministrator zum großen Teil
von manuellen Konfigurierungsarbeiten. Die Möglichkeit, dass ein Gerät von einem
Netz zu einem anderen bewegt werden und automatisch für das aktuelle
Netz gültige
Konfigurationsparameter erhalten kann, kann für mobile Benutzer von großem Vorteil
sein. Da LP-Adressen nur zugewiesen werden, wenn Clients wirklich
aktiv sind, ist es außerdem möglich, die
Gesamtzahl der in einer Organisation verwendeten Adressen dadurch
zu verringern, das die Nutzungszeiten angemessen kurz sind und mobilen
Clients nicht mehr als eine Adresse zugewiesen werden muss. Bei
der Implementierung des DHCP ist jedoch Folgendes zu beachten:
- • DHCP
baut auf dem UDP auf, welches von Natur aus unsicher ist. Im Normalbetrieb
kann ein unbefugter Client eine Verbindung zu einem Netz herstellen
und eine gültige
IP-Adresse und Konfiguration erhalten. Um dies zu verhindern, können vorher
bestimmten MAC-Adressen (Medium Access Control, MAC, Medienzugriffssteuerung) (ähnlich dem
BOOTP) LP-Adressen zugewiesen werden, jedoch nimmt hierdurch der
Verwaltungsaufwand zu und der Vorteil der Wiederverwendbarkeit von
Adressen wird aufgehoben.
- • Unbefugte
DHCP-Server, die falsche und möglicherweise
Unterbrechungsinformationen an Clients senden, können ebenfalls konfiguriert
werden.
- • In
einer DHCP-Umgebung mit automatischer oder dynamischer Zuweisung
von Adressen ist es generell nicht möglich, die IP-Adresse eines
Clients zu irgendeinem bestimmten Zeitpunkt im Voraus festzulegen.
Wenn in diesem Falle auch statische DNS-Server verwendet werden,
enthalten die DNS-Server wahrscheinlich keinen gültigen Hostnamen zur Zuordnung
der IP-Adressen für die
Clients. Wenn es für
das Netz wichtig ist, dass im Domänennamen-Server Einträge der Clients vorhanden
sind, können
diesen Clients IP-Adressen unter Verwendung des DHCP manuell zugewiesen
und die Zuordnung der Clients im DNS-Server entsprechend ausgeführt werden.
-
INTEROPERABILITÄT VON BOOTP
UND DHCP
-
Das
Format von DHCP-Nachrichten basiert auf dem Format von BOOTP-Nachrichten,
wodurch es ermöglicht
wird, dass BOOTP- und DHCP-Clients unter bestimmten Umständen zusammenarbeiten können. Die
Unterstützung
für BOOTP-Clients
auf einem DHCP-Server muss bei Bedarf durch einen Systemadministrator
konfiguriert werden.
-
DYNAMISCHES
DOMÄNENNAMEN-SYSTEM
-
Um
den Vorteil des DHCP zu nutzen und dennoch einen beliebigen bestimmten
Host anhand einer signifikanten Markierung, zum Beispiel anhand seines
Hostnamens, zu lokalisieren, sind die folgenden Erweiterungen am
Domänennamen-System
erforderlich:
- • Ein Verfahren für den Eintrag
zum Zuordnen von Hostname zu Adresse für einen Client im zu aktualisierenden
DNS-Server, sobald
der Client eine Adresse von einem DHCP-Server erhalten hat.
- • Ein
Verfahren für
die umgekehrte Zuordnung der Adresse zum Hostnamen, sobald der Client
seine Adresse erhalten hat.
- • Sofortige
Ausführung
der Aktualisierung des DNS-Servers ohne Eingreifen eines Systemadministrators.
- • Authentifizierung
der Aktualisierungen des Domänennamen-Servers, um den Zugriff
von unbefugten Hosts auf das Netz zu verhindern und Betrüger davon
abzuhalten, einen vorhandenen Hostnamen zu nutzen und den Adresseintrag
für den
unverdächtigen
Host auf sich zuzuordnen.
- • Ein
Verfahren für
primäre
und sekundäre DNS-Server,
um Änderungen
schnell weiterzuleiten und zu empfangen, da Einträge durch
Clients dynamisch aktualisiert werden. Kurz gesagt, ein sicheres
dynamisches Domänennamen-System (DDNS)
ist erforderlich.
-
Zusammenfassend
ausgedrückt
versorgt das DHCP in einer DHCP- und DDNS-Umgebung ein Gerät mit einer
gültigen
IP-Adresse zu dem Punkt, an dem es mit dem Netz verbunden wird.
Das DDNS stellt ein Verfahren zur Lokalisierung dieses Gerätes anhand
seines Hostnamens unabhängig
davon bereit, wo das Gerät
mit einem Netz verbunden wird und welche IP-Adresse ihm zugewiesen
wurde.
-
Nähere Ausführungen über das
in den obigen Abschnitten dargelegte Fachgebiet sind in den folgenden
Veröffentlichungen
zu finden:
- • „TCP/IP
Tutorial and Technical Overview" von Martin
W. Murhammer, Orcun Atakan, Stefan Bretz, Larry R. Pugh, Kazunari
Suzuki, David H. Wood, herausgegeben von der IBM International Technical
Support Organization.
- • „Internet
in a nutshell" von
Valerie Quercia, herausgegeben von O'Reilly, Oktober 1997.
-
PROBLEM
-
Das
Problem besteht darin, die Ausnutzung eines durch einen oder mehrere
DHCP-Server bereitgestellten DHCP-Dienstes zu überwachen, um die Konfigurationsparameter
optimal anzupassen. Aufgrund der Eigenschaften des DHCP-Protokolls, das
auf dem UDP-BOOTP-Rundsendeprinzip
beruht, wird der DHCP-Dienst dem DHCP-Client durch den „am schnellsten" antwortenden DHCP-Server
bereitgestellt. Wenn in einer Umgebung mit mehreren DHCP-Servern
ein DHCP-Server ausfällt
oder ein DHCP-Server seine obere Kapazitätsgrenze erreicht, stellen
folglich diejenigen DHCP-Server
einen DHCP-Dienst bereit, die immer noch verfügbar sind, und antworten auf
Anforderungen von DHCP-Clients. Die verfügbaren DHCP-Server stellen
den Dienst so lange weiterhin bereit, bis sie ihre obere Kapazitätsgrenze
erreichen. Letztlich kann der gesamte DHCP-Dienst zusammenbrechen,
weil die verfügbaren
DHCP-Server die Arbeitslast nicht mehr bewältigen können.
-
Ein
einzelner DHCP-Server kann so konfiguriert werden, dass er mehreren
Teilnetzen oder Gruppen von Teilnetzen einen DHCP-Dienst zur Verfügung stellt.
In diesem Falle wird der DHCP-Server
mit einem Pool an IP-Adressen für
jedes Teilnetz konfiguriert. Die Kapazität oder die Größe eines
Pools ist durch die Anzahl der LP-Adressen definiert, die dieser
Pool verwalten kann.
-
Um
flexibler zu reagieren und die Leistung zu verbessern, kann eine
Gruppe von Teilnetzen außerdem
durch mehrere DHCP-Server verwaltet werden. In diesem Falle wird
der DHCP-Dienst durch diese Vielzahl von DHCP-Servern bereitgestellt.
-
Zur Beachtung:
-
Im
Rahmen der vorliegenden Erfindung umfasst „eine Gruppe von Teilnetzen" ein oder mehrere Teilnetze,
die auch als „IP-Teilnetze" bezeichnet werden
und sich im Allgemeinen in demselben geografischen Bereich befinden.
-
Die
Probleme bestehen dann darin:
- • die Auslastung
des DHCP-Dienstes für
jede Gruppe von Teilnetzen zu überwachen,
- • die
innerhalb jedes DHCP-Servers konfigurierten Pools von LP-Adressen
zu überwachen,
- • die
Auslastung der in der Vielzahl von DHCP-Servern konfigurierten Pools
von IP-Adressen für
jede Gruppe von Teilnetzen zu korrelieren und zu überwachen,
- • Kapazitätsprobleme
in DHCP-Servern zu erkennen, um jeglicher Beeinträchtigung
oder Unterbrechung des DHCP-Dienstes
zuvorzukommen.
-
Wenn
ein DHCP-Server seine obere Kapazitätsgrenze erreicht hat, wird
der bereitgestellte DHCP-Dienst beeinträchtigt, da die noch verfügbaren DHCP-Server
die zusätzliche
Arbeitslast verarbeiten müssen.
Wenn die Überwachung
eines DHCP-Dienstes ohne die Auswertung seiner Auslastung erfolgt,
kann den Problemen, insbesondere der Unterbrechung oder Beeinträchtigung
des DHCP-Dienstes,
nicht angemessen zuvorgekommen werden.
-
In
der Internetveröffentlichung
mit dem Titel „IP
AddressWorks" ONSIGHT
SOLUTIONS, 1998 (URL: http://www.ipworks.nl/ipaw-spd.htm) wird ein Softwareprodukt mit
der Bezeichnung IP AddressWorks beschrieben. IP AddressWorks ist
eine plattformübergreifende,
verzeichnisorientierte Softwarelösung,
die eine wirksame zentralisierte Verwaltung von LP-Adressen und
anderen Netzressourcen im gesamten Unternehmen ermöglicht.
Unter Verwendung einer auf Windows basierenden Verwaltungsoberfläche bietet
IP AddressWorks eine zentralisierte Steuerung und Verwaltung der
DNS- und DHCP-Server des Netzes sowie umfassende Dienste für die Adressverwaltung
und die Berichterstellung. Durch das Bereitstellen aktueller DNS-Aktualisierungen über DHCP
verschafft IP AddressWorks Netzmanagern in Echtzeit eine vollständige aktuelle Übersicht über ihren
IP-Adressraum und einen Mechanismus zur schnellen Erkennung und
Lösung
von Adressierungsproblemen.
-
AUFGABEN DER
ERFINDUNG
-
- • Eine
Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren
zur Optimierung der Leistung und Verfügbarkeit eines DHCP-Dienstes bereitzustellen.
- • Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, die Auslastung
eines DHCP-Dienstes für
jede Gruppe von Teilnetzen zu überwachen.
- • Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, die innerhalb
jedes DHCP-Servers konfigurierten Pools von IP-Adressen zu überwachen.
- • Noch
eine weitere Aufgabe der vorliegenden Erfindung besteht darin, die
Auslastung der innerhalb mehrerer DHCP-Server konfigurierten Pools von
LP-Adressen für
jede Gruppe von Teilnetzen zu korrelieren und zu überwachen.
- • Noch
eine weitere Aufgabe der vorliegenden Erfindung besteht darin, jegliche
Kapazitätsprobleme
in DHCP-Servern
zu erkennen.
- • Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin zu prüfen, ob
jeder DHCP-Server richtig konfiguriert ist.
-
ÜBERBLICK ÜBER DIE
ERFINDUNG
-
Die
vorliegende Erfindung beschreibt ein Verfahren gemäß Anspruch
1 und ein System gemäß Anspruch
10 zur Überwachung
und Optimierung der Leistung und Verfügbarkeit eines DHCP-Dienstes, der
durch einen oder mehrere DHCP-Server in einem IP-Netz bereitgestellt
wird, wobei das IP-Netz ein oder mehrere IP-Teilnetze umfasst.
-
Insbesondere
verwendet die vorliegende Erfindung spezielle Test-Monitore zum Sammeln
von Informationen über
die Auslastung der IP-Adressenpools innerhalb der DHCP-Server.
-
Die
vorliegende Erfindung verwendet auch eine Anwendung zur Auslastung
des DHCP-Dienstes, um die Informationen über die Auslastung der IP-Adressenpools
zu korrelieren und Kontrollberichte und -statistiken zu liefern.
-
Das
Verfahren umfasst in einem DHCP-Server die folgenden Schritte:
- • Definieren
einer oder mehrerer Gruppen von Teilnetzen, wobei jede Gruppe von
Teilnetzen ein oder mehrere Teilnetze umfasst;
- • Abrufen
von Informationen bezüglich
der Ressourcen, insbesondere LP-Adressen, die innerhalb des DHCP-Servers
jeder Gruppe von Teilnetzen zugeordnet sind;
- • Übertragen
der Informationen an ein System zur Überwachung des DHCP-Dienstes.
-
Das
Verfahren umfasst in einem System zur Überwachung des DHCP-Dienstes die folgenden Schritte:
- • Abrufen
von Informationen bezüglich
der Ressourcen, insbesondere LP-Adressen, die innerhalb jedes DHCP-Servers Gruppen von
Teilnetzen zugeordnet sind, von einem oder mehreren DHCP-Servern,
wobei jede Gruppe von Teilnetzen ein oder mehrere Teilnetze umfasst;
- • Zusammenfassen
der Informationen für
jede Gruppe von Teilnetzen.
-
Die
vorliegende Erfindung bietet die folgenden Vorteile:
- • Früherkennung
eines Mangels an IP-Adressen in Pools, die in jedem DHCP-Server
für jede
Gruppe von Teilnetzen konfiguriert sind.
- • Früherkennung
eines Mangels an IP-Adressen in Pools, die in mehreren DHCP-Servern
für jede Gruppe
von Teilnetzen konfiguriert sind.
- • Früherkennung
von Kapazitätsproblemen
in DHCP-Servern für
jede Gruppe von Teilnetzen, um jeglicher Beeinträchtigung oder Unterbrechung
des Dienstes zuvorzukommen.
- • Erstellung
von Auslastungsberichten für
den DHCP-Dienst, um die Konfiguration von DHCP-Servern anzupassen
(zum Beispiel durch Erhöhung
der Größe eines
Pools von IP-Adressen für
eine bestimmte Gruppe von Teilnetzen in einem DHCP-Server).
- • Es
ist keine zusätzliche
oder spezielle Hardware erforderlich.
-
ZEICHNUNGEN
-
Die
neuartigen und erfindungsgemäßen und für die Erfindung
als kennzeichnend angesehenen Merkmale sind in den beigefügten Ansprüchen dargelegt.
Die Erfindung selbst sowie eine bevorzugte Ausführungsform und weitere Aufgaben
und Vorteile lassen sich jedoch am besten unter Bezug auf die folgende
detaillierte Beschreibung einer veranschaulichenden detaillierten Ausführungsart
in Verbindung mit den beiliegenden Zeichnungen verstehen, wobei:
-
1 die
Zuweisung einer IP-Adresse zu einem DHCP-Client durch einen DHCP-Server nach dem
Stand der Technik zeigt;
-
2 eine
Ansicht des Test-Monitors eines DHCP-Servers gemäß der vorliegenden Erfindung ist;
-
3 ein
Flussdiagramm des Test-Monitors eines DHCP-Servers gemäß der vorliegenden Erfindung
ist;
-
4 eine
Ansicht des Test-Monitors einer DHCP-Gruppe gemäß der vorliegenden Erfindung ist;
-
5 ein
Flussdiagramm des Test-Monitors einer DHCP-Gruppe gemäß der vorliegenden Erfindung
ist;
-
6 eine
physische Darstellung des DHCP-Dienst-Überwachungssystems
gemäß der vorliegenden
Erfindung ist.
-
BEVORZUGTE
AUSFÜHRUNGSART
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft die Überwachung eines DHCP-Dienstes und insbesondere ein
Verfahren und ein System zur Prüfung
der Größe von IP-Adressenpools
für eine
Gruppe von IP-Teilnetzen mit einem oder mehreren DHCP-Servern. Die vorliegende
Erfindung basiert auf der Messung der Auslastung von IP-Adressenpools
mittels Test-Monitoren.
-
ZUWEISUNG
VON IP-ADRESSEN
-
1 veranschaulicht
die Beziehungen zwischen DHCP-Clients und DHCP-Servern, wenn der DHCP-Client
seine eigene Netzadresse nicht kennt. Insbesondere zeigt 1 den
Mechanismus zum Erwerb der LP-Adresse und der Mindestparameter für die IP-Konfiguration
durch einen DHCP-Client von einem DHCP-Server innerhalb eines IP-Netzes.
Der DHCP-Client (101) macht eine Rundsendung einer Anforderung
in seinem lokalen physischen Teilnetz (103). Die Anforderung
wird durch jeden mit einem BOOTP-Weiterleitungsmechanismus ausgestatten Router
weitergeleitet. Wenn die Anforderung durch einen DHCP-Server (102)
empfangen wird, prüft
der DHCP-Server, ob er dem DHCP-Client
antworten kann oder nicht. Wenn der DHCP-Server in seiner Adressdatenbank
noch über
einige verfügbare IP-Adressen
verfügt,
wird eine positive Antwort an den DHCP-Client zurückgesendet.
Der DHCP-Client wählt
den ersten DHCP-Server aus, von dem er eine positive Antwort empfangen
hat, und gibt diesem Server seine Zustimmung.
-
Insbesondere
umfasst die Zuweisung einer neuen Netzadresse die folgenden Schritte:
- • Der
DHCP-Client macht eine Rundsendung einer Anforderung in seinem lokalen
physischen Teilnetz. Die Anforderung kann einige Optionen enthalten,
zum Beispiel einen Netzadressenvorschlag oder eine Nutzungsdauer.
- • Jeder
DHCP-Server kann mit einer Nachricht antworten, die eine verfügbare Netzadresse
und andere Konfigurierungsoptionen enthält. Der DHCP-Server kann die
dem DHCP-Client angebotene Adresse aufzeichnen, damit nicht anderen DHCP-Clients
dieselbe Adresse angeboten wird, wenn inzwischen weitere Nachrichten
empfangen werden, bevor der erste DHCP-Client seine Konfiguration
abgeschlossen hat.
- • Der
DHCP-Client empfängt
eine oder mehrere Nachrichten von einem oder mehreren DHCP-Servern.
Der DHCP-Client wählt
anhand der angebotenen Konfigurierungsparameter eine der Nachrichten
aus und macht eine Rundsendung einer Nachricht, welche die Kennungsoption des
DHCP-Servers beinhaltet, um die ausgewählte Nachricht anzuzeigen,
sowie die angeforderte IP-Adressoption, die er der DHCP-Client-IP-Adresse
im ausgewählten
Angebot entnommen hat.
- • Die
DHCP-Server empfangen die durch den DHCP-Client rundgesendeten Nachrichten.
Die nicht ausgewählten
DHCP-Server nutzen
die Nachricht als Benachrichtigung, dass der DHCP-Client das Angebot
dieses DHCP-Servers abgelehnt hat. Der in der Nachricht ausgewählte DHCP-Server
gesteht dem DHCP-Client die dauerhafte Speicherung verbindlich zu
und antwortet mit einer Nachricht, welche die Konfigurationsparameter
für den
anfordernden DHCP-Client enthält.
- • Der
DHCP-Client empfängt
die Nachricht mit den Konfigurationsparametern und führt eine
abschließende
Prüfung
der Parameter durch. Zu diesem Zeitpunkt wird der DHCP-Client konfiguriert.
-
INNENANSICHT
EINES TESTMONITORS EINES DHCP-SERVERS
-
2 zeigt
eine logische Darstellung eines Test-Monitors (202) eines
DHCP-Servers. Der Test-Monitor des DHCP-Servers läuft parallel
zur DHCP-Serveranwendung (201). Der DHCP-Server-Test-Monitor (202)
im DHCP-Server (200) ermittelt die aktuelle Anzahl der
jeder Gruppe von Teilnetzen zugewiesenen IP-Adressen und speichert
diese Information in einer Datei (203) mit der Bezeichnung „Serverauslastungsdatei" (bei einer bevorzugten Ausführungsart
gibt es für
jede Gruppe von Teilnetzen einen Eintrag in der Serverauslastungsdatei). Eine
Gruppe von Teilnetzen stellt im Grunde eine Liste von IP-Teilnetzwerken
(oder IP-Teilnetzen) dar, die in einer Datei (204) mit
der allgemeinen Bezeichnung „Gruppendatei" gespeichert sind
(bei einer bevorzugten Ausführungsart
ist der Dateiname zur besseren Erkennbarkeit der Information gleich
dem Gruppennamen). Ein Arbeitsplatzrechner, der von seinem lokalen
Teilnetz aus eine Anforderung zur Zuweisung einer IP-Adresse rundsendet,
wird durch einen einzigen DHCP-Server bedient. Die Gruppendatei
(204) in einem DHCP-Server umfasst im Grunde die Liste der
zu ein und derselben Gruppe gehörenden
IP-Teilnetze.
-
DYNAMISCHE
ANSICHT EINES TESTMONITORS EINES DHCP-SERVERS
-
3 ist
ein Flussdiagramm des in 2 dargestellten Test-Monitors eines DHCP-Servers. Der
Test-Monitor des DHCP-Servers wird in vorgegebenen und regelmäßigen Zeitabständen ausgeführt. Die
durch den Test-Monitor gesammelten Informationen werden in einer
Datei (Serverauslastungsdatei 203) aufgezeichnet, die für jede Gruppe
von Teilnetzen die Gesamtzahl der IP-Adressen im Pool und die Anzahl
der verwendeten oder zugewiesenen IP-Adressen enthält. Der Prozess umfasst die
folgenden Schritte:
- • (301) Die Serverauslastungsdatei
im DHCP-Server wird geöffnet.
- • (302)
Durch einen Test wird ermittelt, ob eine Gruppendatei bearbeitet
werden muss oder nicht.
- • (313)
Wenn keine Gruppendatei mehr bearbeitet werden muss, wird die Serverauslastungsdatei
im DHCP-Server geschlossen.
- • Wenn
noch eine Gruppendatei bearbeitet werden muss:
- • (303)
Der Gruppenname wird der Gruppendatei entnommen (bei einer bevorzugten
Ausführungsart
wird der Gruppenname aus dem Namen der Gruppendatei extrapoliert).
- • (304)
Die Liste der zu der Gruppe gehörenden Teilnetze
wird der Gruppendatei entnommen.
- • (305)
Ein erster Zähler
mit der Bezeichnung „Zähler für Gesamtgröße des Gruppenpools" wird für die Gruppe
initialisiert. Dieser Zähler
wird verwendet, um die Gesamtzahl an IP-Adressen zu ermitteln, die
dieser Gruppe zugewiesen werden können (verfügbare und zugewiesene IP-Adressen).
- • (306)
Ein zweiter Zähler
mit der Bezeichnung „Zähler für Gesamtnutzung
des Gruppenpools" wird
für die
Gruppe initialisiert. Dieser Zähler
wird verwendet, um die Gesamtzahl der tatsächlich dieser Gruppe zugewiesenen
IP-Adressen zu ermitteln.
- • (307)
Durch einen Test wird ermittelt, ob innerhalb der Gruppe ein Teilnetz
bearbeitet werden muss oder nicht.
- • Wenn
ein Teilnetz bearbeitet werden muss:
- • (308)
Die Größe des zu
dem Teilnetz gehörenden
Pools wird von der DHCP-Serveranwendung abgerufen.
- • (309)
Die Größe des Pools
wird zu der im Zähler für Gesamtgröße des Gruppenpools
gespeicherten Gesamtgröße des Gruppenpools
addiert.
- • (310)
Die Anzahl der zugewiesenen, zu dem Teilnetz gehörenden LP-Adressen wird von
der DHCP-Serveranwendung abgerufen.
- • (311)
Die Anzahl der zugewiesenen LP-Adressen wird zu der im Zähler für Gesamtnutzung
des Gruppenpools gespeicherten Gesamtnutzung des Gruppenpools addiert.
- • Wenn
alle Teilnetze bearbeitet worden sind:
- • (312)
die Serverauslastungsdatei wird durch die folgenden Informationen
aktualisiert:
- • Name
der Gruppe;
- • Gesamtnutzung
des Gruppenpools;
- • Gesamtgröße des Gruppenpools;
- • eine
Zeitmarke.
-
TEST-MONITOR
DER DHCP-GRUPPE
-
4 zeigt
eine Ansicht eines Test-Monitors (405) einer DHCP-Gruppe. Der Test-Monitor
kann entweder in einem DHCP-Überwachungssystem (403)
oder in einem beliebigen DHCP-Server bearbeitet werden. Die Aufgabe
des Test-Monitors der DHCP-Gruppe besteht darin, für jede Gruppe
der durch einen oder mehrere DHCP-Server verwalteten Teilnetze die
Gesamtauslastung der Pools von IP-Adressen zu berechnen. Der Test-Monitor
der DHCP-Gruppe sammelt die vorher durch Test-Monitore in den DHCP-Servern
(401) verarbeiteten Informationen.
- • Die Informationen
werden in der Serverauslastungsdatei (402) jedes die Gruppe
verwaltenden DHCP-Servers (401) gespeichert.
- • DHCP-Server
werden in einer Liste mit der Bezeichnung „Datei der DHCP-Serverliste" (404) aufgezeichnet.
-
Die
gesammelten Informationen werden dann in mehreren Dateien (jeweils
eine pro Gruppe) zusammengefasst, die als „Gruppenauslastungsdateien" (406) bezeichnet
werden. Jede Datei enthält alle
Informationen über
die Auslastung der Pools von LP-Adressen für eine bestimmte Gruppe, insbesondere
die prozentuale Auslastung der LP-Adressen. Damit es in den IP-Adressenpools
nicht zu einem Mangel an LP-Adressen kommt, können spezielle Maßnahmen
(zum Beispiel die Erhöhung
der Größe eines
Pools in einem DHCP-Server) ergriffen werden, wenn der berechnete
Prozentwert zum Beispiel einen vordefinierten Schwellenwert überschreitet.
-
DYNAMISCHE
ANSICHT EINES TESTMONITORS EINER DHCP-GRUPPE
-
5 zeigt
ein Flussdiagramm eines Test-Monitors einer DHCP-Gruppe. Der Test-Monitor wird vorzugsweise
in bestimmten und regelmäßigen Zeitabständen ausgeführt. Die
Informationen für
jede Gruppe von Teilnetzen werden in verschiedenen DHCP-Servern
gesammelt. Eine Datei (404) im DHCP-Überwachungssystem (403)
enthält
eine umfangreiche Liste der DHCP-Server, die jede Gruppe von Teilnetzen
verwalten. Dann wird im DHCP-Überwachungssystem
(403) der folgende Prozess ausgeführt:
- • (501)
Ein DHCP-Server (bei einer bevorzugten Ausführungsart der Name des DHCP-Servers oder
seine Adresse) wird aus der Datei (404) der DHCP-Serverliste
abgerufen.
- • (502)
Durch einen Test wird ermittelt, ob noch ein DHCP-Server bearbeitet
werden muss oder nicht.
- • Wenn
noch ein DHCP-Server bearbeitet werden muss:
- • (503)
Eine Verbindung zum DHCP-Server (401) wird hergestellt.
- • (504)
Die Serverauslastungsdatei (402) wird vom DHCP-Server abgerufen.
- • (505)
Die Verbindung zum DHCP-Server wird beendet.
- • Wenn
kein DHCP-Server mehr bearbeitet werden muss:
- • (506)
Eine umfangreiche Liste von Gruppen wird aus den Serverauslastungsdateien
extrapoliert, die vorher von DHCP-Servern abgerufen wurden (zur
Beachtung: jede Serverauslastungsdatei enthält Gruppennamen, und ein Gruppenname
kann in mehreren Serverauslastungsdateien vorkommen).
- • (507)
Durch einen Test wird ermittelt, ob noch eine Gruppe verarbeitet
werden muss oder nicht.
- • Wenn
noch eine Gruppe verarbeitet werden muss:
- • (508)
Daten für
die Gruppe (Gesamtnutzung des Gruppenpools, Gesamtgröße des Gruppenpools) werden
aus den Serverauslastungsdateien abgerufen.
- • (509)
Die Gesamtauslastung der IP-Adressenpools für die Gruppe wird berechnet.
Bei einer bevorzugten Ausführungsart
ist die Gesamtauslastung gleich der Summe der Variablen der Gruppenpool-Gesamtnutzung,
geteilt durch die Summe aller Variablen der Gruppenpool-Gesamtgröße.
- • Wenn
für diese
Gruppe ein vordefinierter Schwellenwert erreicht worden ist, kann
eine Maßnahme
(zum Beispiel ein Alarm) gesendet werden.
- • (510)
Die Gesamtauslastung der IP-Adressenpools für die Gruppe wird zusammen
mit einer Zeitmarke aufgezeichnet.
- • (511)
Wenn keine weitere Gruppe mehr bearbeitet werden muss, wird ein
Code für
erfolgreichen Abschluss zurückgesendet.
-
ÜBERWACHUNGSSYSTEM
FÜR DEN DHCP-DIENST
-
6 zeigt
eine Ansicht eines Überwachungssystems
(600) für
den DHCP-Dienst in einem IP-Netz. Zum Ausführen der Test-Monitore (601)
der DHCP-Gruppe und zum Sammeln der in jedem DHCP-Server (602)
befindlichen Informationen durch die Test-Monitore (603) des DHCP-Servers
kann ein spezialisiertes Computersystem verwendet werden.
-
Obwohl
die Erfindung speziell unter Bezug auf eine bevorzugte Ausführungsart
dargestellt und beschrieben wurde, wird klar sein, dass daran verschiedene Änderungen
in Form und Detail vorgenommen werden können, ohne vom Geltungsbereich der
Erfindung abzuweichen.