Next: 5.4.3 Behandlung eines SNMP-Traps
Up: 5.4 Funktionsweise des Gateways
Previous: 5.4.1 Einfaches Get/Set
Für den schreibenden Zugriff auf SNMP-Agenten kann beim Aufruf der Methode
snmp_set() nur eine SetRequest-PDU an den Agenten gesendet
werden. Für den lesenden Zugriff hingegen stehen neben der
GetRequest-PDU zwei weitere Protokolldateneinheiten zur Verfügung:
GetNextRequest und GetBulk. Mit ihnen kann effektiver auf
SNMP-Ressourcen zugegriffen werden. Der Manager kann beispielsweise alle
Attributwerte der Tabellenzeile-Objekte (Abb. 5.5) gleichzeitig
abfragen. Um entsprechend den gesamten Inhalt der Tabelle vom SNMP-Agenten
zu holen, wird theoretisch nur eine einzige GetBulk-PDU benötigt.
Die Schattenobjekte werden aber voneinander unabhängig
die Methoden des snmpserver-Objektes aufrufen. Dieses kann aber weder
feststellen, daß zwischen angeforderten SNMP-Variablen ein Zusammenhang
-- alle sind Elemente der Routing-Tabelle -- besteht, noch kann es wissen,
wie viele von diesen SNMP-Variablen, die es in einer GetBulk-PDU
zusammenfassen könnte, von den Schattenobjekten noch angefordert werden.
Jeder Methodenaufruf wird einzeln abgearbeitet, was bedeutet, daß mit
einer GetRequest-PDU immer nur eine einzige SNMP-Variable abgefragt wird.
Folgende Maßnahmen müssen getroffen werden, um den SNMP-Verkehr effektiver
zu gestalten:
- Erweiterung der Schattenobjekte, sodaß mehrere (unterschiedliche)
Attributzugriffsfunktionen gleichzeitig aufgerufen werden
können.
- Modifizieren der Parameter der Methode snmp_get() so, daß
Schattenobjekte mehr als eine SNMP-Variable übergeben können.
- Im snmpserver-Objekt werden Anforderungen von Schattenobjekten
nach Zielagent sortiert ,,gesammelt`` und mehrere Variablen gleichzeitig
in einer GetRequest-PDU oder einer
GetBulk-PDU abgefragt. Es wird also
versucht, angeforderte SNMP-Variablenwerte mit möglichst
wenigen SNMP-PDUs zu erhalten.
Hinweis: Ein GetNextRequest kann nur eingeschränkt
verwendet werden: Durch eine GetNextRequest-PDU werden Informationen
vom Agenten zurückgegeben, die nicht dem Schattenobjekt, das die Methode
snmp_get() aufgerufen hat, zugeordnet werden darf. Wenn
beispielsweise die Methode get_ipRouteNextHop() des Schattenobjektes,
das die erste Zeile der Routing-Tabelle repräsentiert (in Abb. 5.5
das Schattenobjekt mit indexinfo=``.128.129.215.13``), aufgerufen
wird und daraufhin eine GetNextRequest-PDU verschickt wird, so wird
der entsprechende Spalteneintrag der nächsten Tabellenzeile, also
``131.156.10.176`` vom Agenten zurückgegeben. Da mit der
GetNextRequest-PDU Tabellen traversiert werden können, von denen
die Zeilenindizes nicht bekannt sind, wird diese PDU im Gateway nur vom
Discovery-Dämon eingesetzt.
Next: 5.4.3 Behandlung eines SNMP-Traps
Up: 5.4 Funktionsweise des Gateways
Previous: 5.4.1 Einfaches Get/Set
Copyright Munich Network Management Team