-
Die
Erfindung betrifft ein Verfahren zur Überwachung eines Netzwerks,
insbesondere Daten- oder Telekommunikationsnetzwerk, wobei das Netzwerk
eine Vielzahl zu überwachender
Einheiten umfasst, deren in Bezug auf die Funktionalität, Effizienz und/oder
Sicherheit des Netzwerks relevanten Zustände und/oder Parameter kontrolliert
werden, indem auf den zu überwachenden
Einheiten jeweils einen der Zustände
oder Parameter wiedergebende Informationseinheiten – Management-Objekte – bereitgestellt
werden, die von einem Netzwerk-Management-System über Netzwerk-Management-Protokolle
gelesen und/oder beschrieben werden.
-
Angesichts
der Komplexität
und Größe moderner
Daten- und Telekommunikationsnetzwerke kommt einem effektiven Netzwerkmanagement
und insbesondere einer effizienten Überwachung von Netzwerken eine
enorme Bedeutung zu. Viele heutige Daten- und Telekommunikationsnetzwerke
nutzen für
das Netzwerkmanagement ein Netzwerk-Management-System (NMS), das
mit einer Vielzahl entfernter, zu überwachender Einheiten (ÜE) im Netzwerk
kommuniziert. Bei den zu überwachenden
Einheiten handelt es sich um Geräte
aller Art, d.h. Server, Host-Rechner, Router, etc. Für die Kommunikation
zwischen NMS und ÜE
werden im Allgemeinen standardisierte Netzwerk-Management-Protokolle eingesetzt,
wie zum Beispiel das Simple Network Management Protocol (SNMP),
das üblich
ist in Netzwerken basierend auf dem Internet-Protokoll, und das
Common Management Information Protocol (CMIP), das üblich ist
in Telekommunikationsnetzwerken.
-
Im
Rahmen der Netzwerküberwachung
liest oder schreibt das NMS Management-Objekte (MOs) in den zu überwachenden
Einheiten, und die zu überwachenden
Einheiten senden im Gegenzug Benachrichtigungen an das NMS. Unter
einem MO ist dabei eine Informationseinheit mit klar definierter
Bedeutung zu verstehen, die als passive Speicherstelle auf einer ÜE implementiert
ist und einen direkten Bezug zu der ÜE aufweist. Ein MO kann bspw.
ein Zähler, ein
Textstring oder dergleichen sein und kann z.B. den aktuellen Zustand
einer Kommunikationsleitung angeben, die mit der entsprechenden ÜE verbunden ist.
Durch das Lesen von Management-Objekten kann das NMS Informationen über den
aktuellen Zustand der zu überwachenden
Einheit, auf der das MO implementiert ist, erhalten, zum Beispiel über den
Zustand einer Kommunikationsleitung. Durch das Schreiben in bestimmte
Management-Ob jekte kann das NMS den Zustand oder die Konfiguration
einer ÜE ändern, indem
es zum Beispiel eine Kommunikationsleitung in den Zustand „inaktiv" setzt.
-
Um
Interoperabilität
zwischen NMS und zu überwachenden
Einheiten verschiedener Hersteller zu erlangen, werden MOs standardisiert,
zum Beispiel in den Empfehlungsdokumenten der International Telecommunication
Union (ITU) und in den Requests for Comments (RFCs) der Internet
Engineering Task Force (IETF). In diesen Standardisierungsdokumenten
sind MOs derartig definiert, dass ein NMS durch Lesen der MOs Informationen über die
zu überwachenden
Einheiten in angemessenem Umfang und in angemessener Genauigkeit
erhalten kann. Zum Beispiel wird für jede an eins ÜE angeschlossene
Kommunikationsverbindung ein eigenes MO definiert, das deren aktuellen
Zustand angibt.
-
Die Überwachung
von Kommunikationsnetzwerken während
des Betriebs beinhaltet die regelmäßige Überprüfung des Netzwerkzustandes
und seiner Konfiguration. Dazu muss regelmäßig eine vorgebbare Anzahl
von MOs aus jeder ÜE
gelesen werden, wobei stets der jeweils aktuellste Wert der MOs gelesen
werden muss. Für
jedes der MOs ist eine Operation erforderlich, die überprüft, ob der
in dem MO enthaltene Wert – der
einen in Bezug auf die Funktionalität, Effizienz und/oder Sicherheit
des Netzwerks relevanten Zustand oder Parameter repräsentiert – oder eine
Kombination des Werts mit Werten anderer MOs innerhalb der im regulären Betrieb
zulässigen
Grenzen liegt. Wenn einer dieser Werte eine zulässige Grenze überschreitet,
dann muss das NMS aktiv werden, um wieder zum regulären Betrieb
zurückzukehren.
Die Menge aller Operationen, die dazu dienen, festzustellen, ob
alle Werts einer ÜE
innerhalb der zulässigen
Grenzen liegen, wird als „Health-Check" bezeichnet.
-
Problematisch
ist in diesem Zusammenhang, dass die Überprüfung aller relevanten MOs auf allen
zu überwachenden
Einheiten zu Skalierbarkeitsproblemen führen kann, wenn die Anzahl
der zu überwachenden
Einheiten zu groß werden
sollte. Die Gesamtzahl der zu überprüfenden MOs
ergibt sich aus dem Produkt der durchschnittlichen Anzahl der auszulesenden
MOs pro zu überwachender
Einheit und der Anzahl der zu überwachenden
Einheiten. Ein NMS hat einen Grenzwert für diese Gesamtzahl, über den
hinaus ein Netzwerk nicht mehr ausreichend überwacht wer den kann. Bei einer
feststehenden Zahl von zu überwachenden
MOs pro zu überwachender
Einheit ist somit die Anzahl der Einheiten, die überwacht werden können, begrenzt.
-
Ein
bekannter Ansatz zur Umgehung dieses Problems besteht in der Verringerung
der Zahl der zu überwachenden
MOs pro ÜE
basierend auf Verfahren zur Programmierbarkeit der zu überwachenden Einheiten.
Sie erlauben einem NMS, Programme auf die zu überwachenden Einheiten zu laden,
die dort lokal einen „Health-Check" durchführen, entweder nur
für das
betroffene ÜE
oder auch für
eine begrenzte weitere Zahl von zu überwachenden Einheiten. Dieser
Ansatz wird Management by Delegation (MbD) genannt. Er verringert
zwar die Anzahl der von dem NMS auszulesenden MOs, weist jedoch
gleichzeitig eine Reihe schwerwiegender Nachteile auf.
-
Zum
Einen nehmen die Herstellungskosten zu, da alle zu überwachenden
Einheiten um eine Programmladevorrichtung und eine Laufzeitumgebung für geladene
Programme erweitert werden müssen. Darüber hinaus
nimmt die Komplexität
des gesamten NMS zu, da die Programme für den lokalen „Health-Check" in der auf den zu überwachenden Einheiten
zur Verfügung
stehenden Programmiersprachen bzw. Laufzeitumgebungen bereitgestellt werden
müssen.
Somit sind mehrere Softwarekomponenten in unterschiedlichen Programmiersprachen und/oder
Binärprogramme
für unterschiedliche
Laufzeitumgebungen zu erstellen und zu pflegen.
-
Schließlich treten
Sicherheitsprobleme auf, da die Gefahr besteht, dass ein Unbefugter
schädliche
Programme lädt
und startet, so dass das Laden von Programmen mit beliebigem Inhalt
streng überwacht
werden muss. Mehrere Sicherheitsvorkehrungen sind deshalb erforderlich,
die wiederum Kosten und Komplexität erhöhen: Zum Einen muss das Laden
von Programmen auf zu überwachende
Einheiten beschränkt
und kontrolliert werden, zum Anderen müssen Zugriffe, die Programme
zur Laufzeit auf die MOs haben, passend bestimmt und kontrolliert
werden. Zum Beispiel sollten schreibende Zugriffe auf zu überwachende
MOs nicht zugelassen werden. Des Weiteren muss die Laufzeitumgebung
so beschränkt werden,
dass Programme nicht auf andere Betriebsmittel der zu überwachenden
Einheiten zugreifen können.
-
Drei
Verfahren, die den Ansatz des Management by Delegation umsetzen,
sind bisher gründlich untersucht
und standardisiert worden:
Die ITU entwickelte den so genannten
Command Sequencer für
Telekommunikationsnetzwerke, der in der ITU-T Empfehlung X.753 dokumentiert
ist. Der Command Sequencer erlaubt das Laden komplexer Programme
auf die zu überwachenden
Einheiten. Dabei muss eine speziell zu diesem Zweck entwickelte
Programmiersprache verwendet werden, die Teil des Standards ist.
-
Die
IETF standardisierte eine etwas flexiblere Technologie namens Script
MIB, die in der IETF RFC 3165 dokumentiert ist. Diese erlaubt es,
Programme in beliebigen Sprachen und für beliebige Laufzeitumgebungen
zu laden, sofern sie von der jeweiligen ÜE unterstützt werden.
-
Beide
Technologien – Command
Sequencer und Script MIB – wurden
einige Male von verschiedenen Organisationen implementiert, jedoch
wurden sie wegen der oben genannten Nachteile nie zur Überwachung
großer
Netzwerke eingesetzt.
-
Darüber hinaus
entwickelte die IETF eine Technologie mit einer eingeschränkteren
Funktionalität
namens Expression MIB, die in der IETF RFC 2982 dokumentiert ist.
Diese erlaubt es einem NMS, einfache Ausdrücke (sog. expressions) zu erzeugen, die
Operationen auf MOs enthalten. Die Werte dieser Ausdrücke können rekursiv
zur Erzeugung komplexerer Ausdrücke
verwendet werden, zum Beispiel eines kompletten „Health-Checks" einer ÜE. Die Technologie
ist weniger kostenintensiv, weniger komplex und einfacher zu sichern
als Script MIB und Command Sequencer, jedoch werden die oben beschriebenen
Probleme nicht weit genug reduziert, so dass auch diese Technologie
bislang nicht in großen
Netzwerken zum Einsatz kam und die IETF eine Implementierung nicht
mehr empfiehlt.
-
Aus
der
DE 199 53 877
A1 ist für
sich gesehen ein Verfahren und ein Kommunikationssystem zum Verwalten
eine Kommunikationsnetzes bekannt, wobei herstellerabhängige MOs
in netzwerkweite, herstellerübergreifende
Tests eingebunden werden. Eine Verringerung der Anzahl der von dem
NMS auszulesenden MOs wird dabei nicht erreicht.
-
Der
vorliegenden Erfindung liegt nunmehr die Aufgabe zugrunde, ein Verfahren
zur Überwachung
eines Netzwerks der eingangs genannten Art anzugeben, bei dem mit
kostengünstigen
und unter Sicherheitsaspekten möglichst
unkritischen Mitteln eine Erhöhung
der Skalierbarkeit erreicht ist, so dass auch große Netzwerke
effizient überwacht
werden können.
-
Erfindungsgemäß wird die
voranstehende Aufgabe durch die Merkmale des Patentanspruchs 1 gelöst. Danach
ist das in Rede stehende Verfahren derart ausgebildet, dass auf
den zu überwachenden Einheiten
jeweils ein zusätzliches
Management-Objekt – „Health-Check"-Objekt – implementiert
wird, bei dem in Bezug auf die Funktionalität, Effizienz und/oder Sicherheit
des Netzwerks relevante Zustände
und/oder Parameter der jeweiligen Einheit in einem einzigen Werk
zusammengefasst werden, der von dem Netzwerk-Management-System gelesen werden
kann.
-
In
erfindungsgemäßer Weise
ist erkannt worden, dass herkömmliche
Ansätze
zur Überwachung von
Netzwerken insbesondere für
umfangreiche komplexe Netzwerkarchitekturen aufgrund von Skalierbarkeitsproblemen
nicht praktikabel sind. Darüber hinaus
ist erkannt worden, dass durch Einführung eines zusätzlichen
Management-Objekts – des sog. „Health-Check"-Objekts – auf den
zu überwachenden Einheiten
erreicht werden kann, dass das NMS im Rahmen eines „Health-Checks" statt einer Vielzahl von
MOs nur ein einziges MO, nämlich
das „Health-Check"-Objekt, lesen muss.
Erfindungsgemäß wird das „Health-Check"-Objekt derart implementiert,
dass in Bezug auf die Funktionalität, Effizienz und/oder Sicherheit
des Netzwerks relevante Zustände
und/oder Parameter der jeweiligen zu überwachenden Einheit in einem
einzigen Wert zusammengefasst werden, der das Gesamtergebnis des „Health-Checks" anzeigt. Im Ergebnis
können
somit wesentlich größere Netzwerke
von einem einzelnen NMS verwaltet werden.
-
Auch
unter Sicherheitsaspekten ist das erfindungsgemäße Verfahren gegenüber den
bekannten Verfahren deutlich verbessert, da keine beliebigen Programme
bzw. Ausdrücke übertragen
werden. Im Unterschied zu Technologien wie dem Command Sequencer
oder der Script MIB ist es insoweit nicht möglich, dass schädliche Pro gramme,
die die Operation einer ÜE
beeinträchtigen,
z.B. von Unbefugten auf eine ÜE
geladen werden.
-
In
einer vorteilhaften Ausführung
könnte
vorgesehen sein, dass für
jedes MO, das bei der Berechnung eines „Health-Check"-Objekts berücksichtigt
wird, individuelle Grenzwerte, bspw. in Form von Maximalwerten und
Minimalwerten, und/oder eine Menge von regulären Zustandswerten festgelegt werden
können.
Reguläre
Zustandswerte beziehen sich dabei auf Zustände, bei denen ein funktionsfähiger, fehlerfreier
Betrieb des Netzwerks gewährleistet ist.
Die Grenzwerte und/oder Zustandswerte könnten dabei in zusätzlichen
MOs angegeben werden. Für ein
MO, das z.B. den Zustand einer Kommunikationsleitung durch einen
der beiden Werte 'an' oder 'aus' anzeigt, muss in
vielen Fällen
kein regulärer
Zustandswert gewählt
werden, so dass derartige Werte fest sein könnten und standardisiert werden
könnten. Für die meisten
anderen MOs, die in den „Health-Check" einbezogen werden
sollen, ist hingegen Flexibilität
bei der Wahl von Grenzwerten und regulären Zustandswerten äußerst nützlich.
Insbesondere könnten
die Grenzwerte durch ein NMS wählbar sein.
Typischerweise werden zum Beispiel bei der Leistungsüberwachung
Grenzwerte für
die maximal zulässige
Last auf einer Kommunikationsleitung angegeben, die verschiedene
Betreiber unterschiedlich wählen,
um jeweils andere Qualitätsansprüche zu erfüllen.
-
Im
Hinblick auf eine einfache und ökonomische
Auswertung der Ergebnisse könnte
das „Health-Check"-Objekt derart implementiert
werden, dass es entweder anzeigt, dass alle Zustände und Parameter auf den überwachten
Einheiten innerhalb der zulässigen
Grenzen liegen, oder dass zumindest ein Status oder Parameter außerhalb
dieser Grenzen liegt. Im letztgenannten Fall könnten die MOs der entsprechenden überwachten
Einheit dann einer weitergehenden Analyse unterzogen werden, wohingegen im
erstgenannten Fall keinerlei weiterreichenden Operationen notwendig
sind.
-
Für eine hohe
Flexibilität
und eine problemlose Anpassung an unterschiedliche Anforderungen könnte vorgesehen
sein, dass eine Menge von MOs ausgewählt wird, die bei der Berechnung
des „Health-Check"-Objekts berücksichtigt
werden. Auf diese Weise könnten
entsprechend der ausgewählten
MOs bestimmte Aspekte einer Netzwerküberwachung in den Vordergrund
gestellt werden. Dazu könnten
weitere MOs eingeführt
werden, die angeben, welche MOs in den „Health-Check" einbezogen werden
sollen. Einige dieser weiteren MOs könnten statisch sein, andere
könnten
durch das NMS konfigurierbar sein.
-
Die
Möglichkeiten
und die Komplexität
bei der Berechnung eines „Health-Check"-Objekts könnten in vorteilhafter Weise
gegenüber
den bekannten Technologien stark eingeschränkt und weitestgehend festgelegt
und kodiert werden, wodurch sowohl Kosten als auch Rechenleistung
eingespart würden.
Als Berechnungsoperationen für
das „Health-Check"-Objekt könnten bspw.
ausschließlich Vergleichsoperationen
mit Grenzwerten oder regulären
Zustandswerten zugelassen werden. Das NMS legt dabei lediglich die
Menge der zu vergleichenden MOs und die jeweiligen Vergleichswerte
fest. Auch die Wahlmöglichkeit
bezüglich
der Argumente der Vergleichsoperation könnte stark beschränkt werden: Eines
der beiden Argumente ist ein MO einer ÜE und das andere Argument sind
ein oder mehrere wählbare
Vergleichswerte. Durch eine derartige Einschränkung wird das Netzwerkmanagement
stark entlastet, da es lediglich die Vergleichswerte für zu überprüfende MOs
kennen und angeben muss.
-
Bei
einer Weiterbildung der Erfindung sind mehrere „Health-Check"-Objekte auf einer ÜE vorgesehen.
Dies ist insbesondere dann vorteilhaft, wenn mehrere NMS ein Netzwerk
unter verschiedenen Aspekten verwalten und überwachen. Oft sind ein NMS zur Überwachung
der Netzwerkkonfiguration einerseits und ein NMS zur Überwachung
der Systemleistung andererseits getrennt voneinander ausgeführt und überwachen
unterschiedliche MOs beim jeweiligen „Health-Check". In einem derartigen
Fall könnte jedes
NMS sein eigenes „Health-Check"-Objekt einrichten.
Selbst wenn Konfiguration und Systemleistung von demselben NMS durchgeführt werden, könnte vorgesehen
sein, dass das NMS zwei getrennte „Health-Check"-Objekte einrichtet.
-
Im
Hinblick auf eine besonders effiziente Netzwerküberwachung könnten hierarchisch
strukturierte „Health-Check"-Objekte vorgesehen
sein. Insbesondere wenn sich der „Health-Check" einer ÜE aus mehreren,
klar trennbaren Gruppen aus Überprüfungen zusammensetzt,
könnte
für jede
dieser Gruppe ein eigenes „Health- Check"-Objekt erzeugt werden.
Dabei könnte
ein zusammengefasstes Resultat des „Health-Check" durch ein übergeordnetes „Health-Check"-Objekt wiedergegeben
werden, das für
seine Berechnung lediglich die Werte der untergeordneten "Health-Check"-Objekte heranzieht.
Die hierarchische Aufgliederung des „Health-Check" könnte rekursiv
weiter aufgegliedert werden, so dass mehr als zwei Hierarchieebenen
entstehen.
-
Im
Hinblick auf eine erhöhte
Aussagekraft des durchgeführten „Health-Check" könnte eine
Gewichtung der für
die berücksichtigten
MOs ausgeführten
Vergleichsoperationen vorgenommen werden. Dabei könnte berücksichtigt
werden, dass sich die in die Berechnung des „Health-Check"-Objekts einbezogenen
MOs hinsichtlich der Bedeutung einer Überschreitung der zulässigen Grenzen
voneinander unterscheiden können.
Durch Hinzufügen
weiterer MOs könnte
jeder Vergleichsoperation, die Teil der Berechnung des „Health-Check"-Objekts ist, eine Gewichtung
gegeben werden. Der Wert des „Health-Check"-Objekts konnte dann
bspw. als das Maximum aller Gewichtungen von überwachten MOs, die ihre Grenzen überschreiten,
bereitgestellt werden oder als die Summe dieser Werte. Überschreitet
keines der überwachten
MOs seine jeweiligen Grenzen, könnte
dies angezeigt werden, indem der Wert des „Health-Check"-Objekts z.B. auf
Null gesetzt wird.
-
Alternativ
zu der Vorgehensweise, dass das NMS regelmäßig den Wert des „Health-Check"-Objekts liest und überprüft, könnte eine ÜE auch selbst eine
aktive Rolle übernehmen
und entsprechend eines vorgegebbaren Intervalls regelmäßig das „Health-Check"-Objekt berechnen.
Liefert die Berechnung einen Wert, der einen irregulären Zustand angibt,
weil mindestens ein MO außerhalb
seiner festgesetzten Grenzen liegt, könnte die ÜE eine Benachrichtigung generieren
und an das NMS senden. Dabei könnte
ein Grenzwert für
das „Health-Check"-Objekt festgelegt
werden, bei dessen Überschreitung
eine Benachrichtigung versendet wird.
-
Zur
Erleichterung des schnellen Auffindens einer Fehlfunktion könnte im
Fall eines detektierten Fehlers – bspw. zusammen mit der Benachrichtigung – ein Hinweis
auf die Fehlerursache versendet werden. Im Konkreten könnte dieser
Hinweis aus einer Liste derjenigen MOs bestehen, deren Werte die
jeweiligen Grenzwerte überschritten
haben. Ausgestattet mit einer derartigen Information könnte das
NMS schneller und gezielter Maßnahmen
zur Fehlerbehebung einleiten. Andernfalls müßte das NMS den „Health-Check" explizit wiederholen,
d.h. jedes überwachte
MO lesen und seinen Wert prüfen.
Deshalb ist es in vielen Fällen
vorteilhaft, weitere MOs einzuführen,
die angeben, bei welchen der überwachten, d.h.
beim „Health-Check" berücksichtigten
MOs der Vergleich mit den Grenzwerten fehlgeschlagen ist. Die zu überwachenden
Einheiten mit fehlerhaften Management-Objekten könnten sodann von dem Netzwerk-Management-System
umkonfiguriert werden und wieder in einen funktionsfähigen Betriebszustand
versetzt werden.
-
In
besonders vorteilhafter Weise könnte
der Umfang der auf einer ÜE überwachten
MOs, die in den „Health-Check" einbezogen werden, über die MOs
der jeweiligen zu überwachenden
Einheit hinaus auf die MOs einer oder mehrerer anderer zu überwachender
Einheiten ausgedehnt werden. Im Sinne eines Management by Delegation
könnte
eine zu überwachende
Einheit dann den „Health-Check" für mehrere
zu überwachende
Einheiten durchführen und
so die Skalierbarkeit weiter erhöhen.
Dabei könnte
ein hierarchischer Ansatz dahingehend angewendet werden, dass jede
einzelne ÜE
ein eigenes lokales „Health-Check"-Objekt benutzt und
dass diejenige ÜE,
die den gemeinsamen „Health-Check" mehrerer zu überwachender
Einheiten durchführt, zur
Berechnung auf die lokalen „Health-Check"-Objekte der einzelnen
zu überwachenden
Einheiten zugreift. Das NMS könnte
somit das akkumulierte Ergebnis des gemeinsamen „Health-Check" mit einem einzigen
Lesevorgang ermitteln.
-
Weiterhin
könnte
vorgesehen werden, dass die für
die Berechnung eines „Health-Check"-Objekts zur Verfügung stehenden
Betriebsmittel beschränkt werden.
Durch diese Maßnahme
wird effektiv vermieden, dass die Anzahl der bei der Berechnung
des „Health-Check"-Objekts zu vergleichenden
MOs seitens Unbefugter böswillig
so hoch gewählt
wird, dass die ÜE
dabei überlastet
und in ihrer eigentlichen Funktion beeinträchtigt wird. Alternativ oder
zusätzlich
zu einer Beschränkung
der Ressourcen könnte die
maximale Anzahl der erlaubten Vergleiche durch einen im regulären Betrieb
auszurechnenden Maximalwert begrenzt werden.
-
Abschließend sei
angemerkt, dass es verschiedene Möglichkeiten gibt, die Lehre
der vorliegenden Erfindung in vorteilhafter Weise auszugestalten
und weiterzubilden, wozu auf die nachgeordneten Patentansprüche verwiesen
sei.