Was sind SNMP-Indizes?

2927
Mugen

Ich versuche herauszufinden, was mit SNMP-Indizes gemeint ist. Ich habe die folgende Aussage im Wiki gelesen:

Indexzuweisungen für eine SNMP-Geräteinstanz werden möglicherweise von Abfrage zu Abfrage geändert, hauptsächlich aufgrund von Änderungen, die vom Systemadministrator eingeleitet wurden

Meines Wissens ist es so, dass der Systemadministrator SNMP-Geräte abruft und sein Programm die SNMP-Geräte mit einigen Seriennummern (die wir als Indizes bezeichnen) anzeigt. Das Programm zeigt also jedes Mal, wenn er die SNMP-Geräte abfragt, die Geräte mit unterschiedlichen Indizes.

Ist mein Verständnis richtig? Was verstehen wir unter SNMP-Indizes und was bedeutet dies in diesem Zusammenhang?

3

2 Antworten auf die Frage

1
Shadok
So each time he polls the SNMP devices the program shows those devices with different indices. 

Das ist nicht wirklich der Fall, Indizes werden verwendet, um Informationen über neue Geräte zu erhalten, wenn diese eingefügt werden (denken Sie an das Hotplugging von RAID / RAM / CPU / Virtual Interfaces ...). Auf diese Weise können Sie ein Gerät nach dem nächsten Abruf nachverfolgen wurde eingefügt. Sie sollten sich NICHT (wie in RFCs) ändern, aber ich weiß nicht, dass es wirklich standardisiert ist.

1
David

Ich habe hier folgende Informationen gefunden .

Das Modul snmp_index implementiert einen Abstract Data Type (ADT) für eine SNMP-Indexstruktur für SNMP-Tabellen. Sie ist als ets-Tabelle des Datentyps 'order_set' implementiert, dh alle Operationen sind O (log n). In der Tabelle ist der Schlüssel ein ASN.1 OBJECT IDENTIFIER.

Dieser Index wird verwendet, um die Implementierung der SNMP-Reihenfolge von der tatsächlichen Implementierung der Tabelle zu trennen. Die SNMP-Reihenfolge, dh die Implementierung von GET NEXT, ist in diesem Modul implementiert.

Angenommen, es gibt eine SNMP-Tabelle, die am besten in Erlang als ein Prozess pro SNMP-Tabellenzeile implementiert wird. Angenommen, der INDEX in der SNMP-Tabelle ist ein OCTET STRING. Die Indexstruktur würde wie folgt erstellt:

 snmp_index:new(string) 

Für jeden neuen Prozess, den wir erstellen, fügen wir ein Element in eine snmp_index-Struktur ein:

 new_process(Name, SnmpIndex) -> Pid = start_process(), NewSnmpIndex =  snmp_index:insert(SnmpIndex, Name, Pid), <...> 

Mit dieser Struktur können wir nun einen OBJECT IDENTIFIER in zB einer GET NEXT-Anfrage dem richtigen Prozess zuordnen:

 get_next_pid(Oid, SnmpIndex) -> } = snmp_index:get_next(SnmpIndex, Oid), Pid. 

Zusammen mit den Informationen, die ich kenne, und den Informationen, die ich im vorherigen Zitat erhalten habe, bin ich der Meinung, dass die SNMP-Indizes nicht geändert werden sollten, da dadurch der Zweck eines Index zerstört würde (korrigieren Sie mich, wenn ich falsch liege).

UPDATE: So wie ich es sehe, ist ein SNMP-Index einem Datenbankindex ähnlich, er indiziert jedoch Netzwerkgeräte als Referenz. Der Index sollte sich nur dann ändern, wenn Hardware entfernt oder hinzugefügt wird. Sie möchten nicht, dass sich Datenbankindizes für einen vorhandenen Datensatz ändern, da dies zu Duplikaten oder anderen Problemen führen kann. Vielleicht könnte jemand diese Frage mit einer anderen Antwort oder einem Kommentar beleuchten. Ich weiß viel über das Networking, aber ich habe noch nie etwas von SNMP-Eigenheiten gehört. Ich habe dies etwa eine Stunde lang gegoogelt und nichts anderes als die bereits erwähnte Webseite und die Wiki-Seite gefunden .

Könnten Sie bitte erklären, was ein einfacher SNMP-Index genau ist? Ich kann keine Diskussion darüber nachvollziehen, ob sie sich ändern sollen oder nicht, bis ich dies erst klarstellen kann. Mugen vor 13 Jahren 0