next up previous contents
Next: 5.4.1 Einfaches Get/Set Up: 5 Implementierung des Gateways Previous: Einsatz der SOM Object

5.4 Funktionsweise des Gateways

 
  
Abbildung 5.5: Beispielkonfiguration des Gateways
\begin{figure}
\begin{center}
\leavevmode \epsffile{BspGW.eps}\end{center}\end{figure}

Die Abbildung 5.5 zeigt eine Beispielkonfiguration des Gateways zur Laufzeit. In der SNMP-Umgebung läuft ein SNMP-Agent auf dem Rechner ,,tosh``. Von der MIB-II des Agenten sind die system-Group und die Routing-Tabelle ipRouteTable der ip-Group (beide aus der mibII, [MR91]) abgebildet. Der Wert der Variable sysDesc ist ``SunOS 4.0.1``; die Routing-Tabelle besteht aus zwei Zeilen. Eine Zeile (bzw. die SNMP-Instanzen, die zu dieser Zeile gehören,) wird mit dem Wert des Spaltenobjektes ipRouteDest eindeutig identifiziert. Der Agent kann über die IP-Adresse (129.188.215.16) und die Portnummer (161) angesprochen werden.

Im Gatewayprogramm (s. o.) wurden durch den Discovery-Dämon Schattenobjekte erzeugt, die den dargestellten Auszug aus der Agenten-MIB entsprechen. Zu der SNMP-Gruppe system wurde eine Instanz der IDL-Schnittstelle systemGroup generiert. In dieser Schnittstelle wurde für jedes Managed Object der SNMP-Gruppe system ein Attribut definiert (s. 3.1.1). Auf die Instanz eines Managed Object kann über das gleichnamige Attribut des Schattenobjektes zugegriffen werden. Für das Managed Object sysDescr beispielsweise (s. Abb. 5.5) stehen dazu zwei Methoden, get_sysDescr und set_sysDescr, zur Verfügung. Bei einem Aufruf dieser Methoden werden die Werte zweier zusätzlicher Attribute benötigt, um die richtige SNMP-Instanz zu identifizieren. Das Attribut destination des Schattenobjektes der Klasse systemGroup trägt die IP-Adresse des Agenten. Das Attribut indexinfo ist mit dem gemeinsamen Zugriffsidentifikator (``.0``) der SNMP-Variablen belegt, die das Schattenobjekt repräsentiert[*]. Zur Erinnerung: Die Objektidentifikatoren der SNMP-Variablen sind als Konstante im Interface Repository abgelegt.

Im Beispiel wurde für jede Zeile der Routing-Tabelle eine Instanz der IDL-Klasse ipRouteTableEntry erzeugt. Bei beiden Schattenobjekten ist das Attribut destination mit der IP-Adresse des SNMP-Agenten belegt. Die Attribute indexinfo sind hingegen mit dem Wert desjenigen Spaltenobjektes belegt, das einen Zeileneintrag der Routing-Tabelle eindeutig identifiziert (i. e. der Wert des Indextyps ipRouteDest). Ein Schattenobjekt trägt den ,,Indexwert`` (``.128.129.215.13``) der ersten Tabellenzeile, das andere den der zweiten Zeile (``.234.111.116.64``). Dadurch sind die Schattenobjekte eindeutig einer Zeile der Routing-Table zugeordnet. Die Elemente einer Zeile können mit den Attributzugriffsfunktionen des entsprechenden Schattenobjektes abgefragt und/oder gesetzt werden.

Im Gateway befindet sich neben den Schattenobjekten auch noch das snmpserver-Objekt. Die Methoden snmp_get() und snmp_set() erzeugen, versenden und empfangen SNMP-PDUs (allerdings keine SNMP-Trap-PDUs, diese werden vom Trap-Dämon verarbeitet). Der Einfachheit halber wird für alle SNMP-Messages derselbe ,,public``-Community-String verwendet.

Ein Client-Objekt der Managementanwendung (in der Abb. 5.5 der ,,Manager``) greift nicht direkt auf die Schattenobjekte zu, sondern ruft die Methoden ihrer Proxy-Objekte auf. Die DSOM-Laufzeitumgebung sorgt dafür, daß ein Aufruf einer Proxy-Objekt-Methode umgeleitet wird auf das Zielobjekt des Proxy-Objektes. Dies ist für das aufrufende Objekt nicht erkennbar. Die Proxy-Objekte können in der Managementanwendung beliebig angeordnet werden. Die Schnittstellen der Objekte (bzw. Proxy-Objekte) können durch Dienste des ORBs festgestellt werden.



 
next up previous contents
Next: 5.4.1 Einfaches Get/Set Up: 5 Implementierung des Gateways Previous: Einsatz der SOM Object
Copyright Munich Network Management Team