Я пытаюсь узнать то, что предназначено индексами SNMP. Я считал следующее утверждение на Wiki:
Индексные присвоения для экземпляра устройства SNMP могут измениться от опроса до опроса главным образом в результате изменений, инициируемых системным администратором
Мое понимание - то, что системный администратор использует для опроса устройств SNMP, и его программа отображает устройства SNMP с некоторыми порядковыми номерами (что мы звоним как индексы). Так каждый раз, когда он опрашивает устройства SNMP, программа показывает те устройства с различными индексами.
Мое понимание корректно? Что означает что точно мы подразумеваем под индексами SNMP и в этом контексте?
Я нашел следующую информацию здесь.
Модуль snmp_index реализует Абстрактный тип данных (ADT) для индексной структуры SNMP для таблиц SNMP. Это реализовано как ets таблица ordered_set типа данных, что означает, что все операции являются O (зарегистрируйте n). В таблице ключ является ИДЕНТИФИКАТОРОМ ОБЪЕКТА ASN.1.
Этот индекс используется для разделения реализации упорядочивания SNMP от фактической реализации таблицы. Упорядочивание SNMP, которое является реализацией, ДОБИРАЕТСЯ, ЗАТЕМ, реализован в этом модуле.
Например, предположите, что существует таблица SNMP, которая лучше всего реализована в Erlang как один процесс на строку таблицы SNMP. Предположим далее, что ИНДЕКС в таблице SNMP является СТРОКОЙ ОКТЕТА. Индексная структура была бы создана следующим образом:
snmp_index:new(string)
Для каждого нового процесса мы создаем, мы вставляем объект в snmp_index структуру:
new_process(Name, SnmpIndex) -> Pid = start_process(), NewSnmpIndex = snmp_index:insert(SnmpIndex, Name, Pid), <...>
С этой структурой мы можем теперь отобразить ИДЕНТИФИКАТОР ОБЪЕКТА в, например, ПОЛУЧИТЬ запрос NEXT к корректному процессу:
get_next_pid(Oid, SnmpIndex) -> {ok, {_, Pid}} = snmp_index:get_next(SnmpIndex, Oid), Pid.
В Заключении с информацией я знаю и информация, предоставленная в предыдущей кавычке, я полагаю, что индексы SNMP не должны быть изменены из-за того того, что это победило бы цель индекса (исправьте меня, если я неправ).
ОБНОВЛЕНИЕ: путем я вижу его, индекс SNMP подобен индексу базы данных, но это индексирует сетевые устройства для ссылки. Единственное время, которое должен изменить этот индекс, - когда аппаратные средства удалены или добавлены. Вы не хотели бы Вас индексы базы данных, изменяющиеся на существующей записи, потому что она могла вызвать дубликаты или другие проблемы. Возможно, кто-то мог пролить некоторый свет на этот вопрос с другим ответом или комментарием. Я знаю много о сетях, но я никогда не слышал об индексном изменении SNMP. Я Погуглил это приблизительно в течение часа и не придумал ничего очень полезного кроме веб-страницы, уже упомянутой и страница Wiki.
So each time he polls the SNMP devices the program shows those devices with different indices.
Это действительно не имеет место, индексы используются для получения информации о новых устройствах, поскольку они вставляются (думайте, заменяя Интерфейсы RAID/RAM/ЦП/виртуального в горячем режиме...), тот способ, которым можно отследить устройство, как только следующий опрос после того, как это было вставлено. Они не ДОЛЖНЫ (как в RFCs) изменение, но я не знаю это, это действительно стандартизировано.