Next: Bewertung
Up: 4.3 Zustandsloses Gateway
Previous: 4.3.1 Zugriff mittels generischer
Ein nächster Ansatz ist, die Schattenobjekte derart zu erweitern,
daß jedes für sich
mit einem Agenten in der SNMP-Umgebung kommunizieren kann. Jedes
Schattenobjekt ist also in der Lage, SNMP-PDUs
zu verschicken und zu empfangen, und übernimmt damit selbst die Rolle
eines (Protokoll-)Gateways. Ein eigener snmpserver ist in jedem
Schattenobjekt enthalten.
Der Zugriff auf einen Agenten ist in Abbildung 4.6
dargestellt. Im Beispiel wird angenommen, daß der Manager die Variable
SysLocation eines Agenten lesen möchte. Für
das zum Agenten gehörende
Schattenobjekt SystemGroup mit dem entsprechenden Attribut besitzt
der Manager eine Objektreferenz.
Abbildung:
Schattenobjekte mit Gatewayfunktionalität
|
Der Manager erzeugt einen Request, in dem er das Schattenobjekt als
Zielobjekt und die Attributzugriffsfunktion
get_SysLocation() als gewünschte Operation auf
diesem Zielobjekt angibt (1).
Dieser Request bewirkt einen Aufruf der
Methode get_SysLocation des Schattenobjektes.
Das Schattenobjekt berechnet daraufhin alle notwendigen Parameter für eine
GetRequest-PDU (Objekt- und Zugriffsidentifikator des
Managementobjektes, Host) und verschickt schließlich eine
SNMP-Message, welche die erzeugte PDU enthält (2).
Nachdem die SNMP-Message verschickt wurde, wartet der
Schattenobjekt-Prozeß auf die Antwort des Zielagenten. Sofern diese
eintrifft (3), untersucht das Schattenobjekt die GetResponse-PDU
auf Fehler und gibt die benötigte Information dem Aufrufer auf der
Managerseite zurück (4). Der schreibende Zugriff
läuft analog ab, es wird allerdings kein Wert zurückgegeben.
Für die Erzeugung der Schattenobjekte ist
der Discovery-Dämon zuständig (s. Abbildung 4.7).
Abbildung 4.7:
Erzeugung von Schattenobjekten
|
Sobald dieser ein Managementobjekt
,,findet`` (1), sucht er im Interface Repository anhand des
Objektidentifikators der gefundenen Variable eine passende Klasse.
Wenn das Managed Object noch von keinem Attribut aller schon
existierenden Instanzen dieser
Klasse repräsentiert wird, wird die Methode
Create() der entsprechenden Factory aufgerufen (2), wodurch
ein Schattenobjekt erzeugt
wird (3). Bei der Initialisierung (4) des neuen Schattenobjektes
werden die Adresse des Agenten und Zugriffsidentifikator (bei
Gruppenobjekten also ,,.0``, bei Tabellenzeile-Objekten der
Identifikator der Zeile, vgl. 4.1). Mit einem Event
wird die Erzeugung (und sinnvollerweise gleich die Objektreferenz)
des Schattenobjektes dem Manager mitgeteilt (5).
Next: Bewertung
Up: 4.3 Zustandsloses Gateway
Previous: 4.3.1 Zugriff mittels generischer
Copyright Munich Network Management Team