有关snmp的一个很菜,但是困扰了小弟我很久的有关问题,有关工作原理的,望大家赐教

有关snmp的一个很菜,但是困扰了我很久的问题,有关工作原理的,望大家赐教
我想实现一个基于snmp的网络管理软件,刚接触,对于一些基本原理方面有点模糊。

我要实现的工作是这样的,代理是运行在linux上的,管理软件运行在windows上,对linux系统设备做监控。

我的问题是,我看了很多资料,知道了管理软件都是通过snmp协议与代理交互,提取被管理设备的mib库的数据并返回到管理软件(不知道这么理解正确否)。问题是:那么mib库的信息,比如,像网络流量,这种具体的参数值到底是怎么获取的?我知道要访问mib库啊,mib库的某个结点存储了这个具体值。但是mib库里相对应于网络流量这一具体值的数据,又是从什么地方,怎么得到并更新的?我想应该要和linux内核交互的吧?那这种交互工作是谁来完成的?linux内核本身,还是网管开发者?

望高手赐教啊!送分的!谢谢!


------解决方案--------------------
搂主搞明白了么?

我也刚开始接触,感觉好像是mib库是代理,和管理机器上面各有一个相同的。管理通过这个mib知道你那个节点表示的是网络流量,然后通过snmp协议,去代理上读这个节点,你的代理收到管理的主机读这个节点的内容,就把网络流量的数据返过来发给管理主机。这样管理机就知道网络流量了。

想法可能不对,大家研究研究。


------解决方案--------------------
SNMP网络管理软件我做过一段时间,楼主的问题我想大概是这样的

mib库里相对应于网络流量这一具体值的数据是哪里来的?这个值是代理(Agent)自己回去取得
你的manager程序只要去取你想要的的Mib节点值或者设置节点的值,如果你的任务只是做Mananger程序。

如果你需要做Agent,那么一半你需要自己定义一些mib节点,通常需要和设备底层打交道取得想要的数据或者进行参数设置。