В простой таблице SNMP, такой как mib-2.interfaces.ifTable
, ifIndex
является индексом для таблицы, поэтому вы читаете ifIndex
.1 (т. е. читаете значение из прямых дочерних узлов ifIndex
), чтобы получить индекс для первой строки таблицы. Достаточно просто.
Но это не так очевидно с чем-то вроде mib-2.ip.ipRouteTable
. В этом случае ipRouteIfIndex
является столбцом индекса. Он определяется как INTEGER, как и ifIndex
. Однако вы не можете прочитать прямые дочерние узлы (т. е. ifIndex
.0 является прямым дочерним элементом), но вместо этого вам нужно прочитать ifIndex.0.0.0.0
, чтобы получить значение. Итак, как узнать, как найти значение, если оно не является прямым дочерним элементом столбца индекса?
Есть некоторая концепция, которую я не понимаю. (Возможно, это связано с тем, что объекты SNMP ограничены ., но IP-адреса тоже, и я не могу понять, как распознать разницу).