SNMP 简介

最近在研究WSN网络管理方面的内容,先看看事实上的工业标准SNMP长的是什么样子再说。数据库

SNMP前身是SGMP(Simple Gateway Management Protocol),长江后浪推前浪,SGMP就挂了。SNMP的主要架构思想是manager/agent模型,使用5种commands用于manager与agent之间的交互,他们分别是“Get”,“GteNext”,“GetResponse”,“Set”和“Trap”。其实就是manager使用Get,GetNext,Set来获取或是修改Agent中的信息,而Agent使用GetResponse与Trap来回应或是主动通知Manager。而这些信息又要怎么表示呢?使用统一的MIB(Management Information Base)来表示吧。编程

看上去很简单,其实就是很简单,可拓展性也强。两种角色:“Manager”与“Agent”,5种命令:“Get”,“GteNext”,“GetResponse”,“Set”和“Trap”,而命令使用标准的MIB格式。网络

无标题

图1 SNMP网络层次架构

如图1所示,有Manager主动发起的命令有3种:“Get”“GetNext”“Set”,对应这三种命令,Agent统统使用GetResponse来回应。但只有这四条命令显然不行,咱们须要Agent能够异步的通知Manager一些事情,好比传感器信息、失火警报、世界末日等等,因而又有了“trap”这条由Agent发起的命令……不过没看到Manager在收到“trap”信息后要不要回应呢?若是要,要使用什么格式呢?须要看看异步

Management Information Base 分析

要深刻了解SNMP的能力必需要深入认识MIB到底长什么样?适合什么样的数据交互。SNMP Agent被安装在网络中的一个元素中,可使一个路由器,一个交换机,一个带网络功能的设备等等。每一个SNMP Agent管理一系列特定的objects,而每一个object又有一些特定的特性。因而乎,每一个object/characteristic均可以使用一个惟一的ID号来肯定,这就是OID。就是相似于这样的东西“1.3.6.1.4.1.2682.1”,转化成图就是相似于树形结构。.net

image

图2 orm

发现没有,这货还真像Windows中的注册表……其实MIB的责任就是列出一个SNMP网络中全部设备的OID,至于怎么存储,再说吧……至于这货能不能胜任大容量的信息存储?如今还不清楚,但若是其真的像Windows中的注册表,还真的不太适合,可能须要一些辅助的方法。嗯,好比说经过OID获取的都是实时信息,然后在存储在数据库中。那么网络重编程怎么办?难道使用SET方法?变通一点咯,不必定使用SNMP进行重编程。路由

相关文章
相关标签/搜索