2

Where are stored SNMP MIB OID values and accsess type for every OID, that specified in MIB file, in Linux-based embedded systems? (such as networking equipment, set-top boxes, machine control, industrial automation) There should be internal database to store all these OID MIB values, names, Access types internally.

4

2 回答 2

2

通常存在多种数据存在方式并由 snmp 代理访问:

1)代理的内部存储器,通常只用于配置和监控代理本身

2)代理执行系统调用来查询本地设备/软件以查找它需要的信息。例如,当您从 HOST-RESOURCES-MIB 请求机器的正常运行时间时,代理将通过询问内核(通过 API 或通过 /proc 之类的文件系统或...)来确定

3)代理通过一些类似RPC的机制与其他东西通信。一种这样的机制是 AgentX 协议,它是一种主代理到子代理协议,它是 SNMP 的子集,用于在本地系统上使用。子代理向主代理注册,表明他们想为 MIB 树的某些部分提供服务。

基本上,代理本身知道数据的情况很少见。它几乎总是必须去询问系统上的其他东西才能报告信息。

于 2014-04-09T05:22:14.527 回答
0

一般来说,对于基于 net-snmp 的代理,对象定义用于生成最终构建并链接到 SNMP 代理 snmpd 的 C 源文件。我没有阅读 net-snmp 的所有源代码,但我怀疑是否使用了内部数据库。

于 2014-04-08T23:13:45.883 回答