|
|
SNMP(Simple Network Management Protocol,简单网络管理协议)是基于TCP/IP的网络管理协议,也能扩展到其他类型的网络设备上。SNMP由一系列协议组和规范组成,它们提供了一种从网络上的设备中收集网络管理信息的方法。SNMP协议采用管理者/代理的管理模型,由SNMP管理者(SNMP Manager)、SNMP代理(SNMP Agent)和管理信息库(MIB)三部分组成,其中MIB是核心,由网管代理维护并由管理者读写。每一个支持SNMP的网络设备中都包含一个SNMP代理,SNMP代理随时记录网络设备的各种信息,SNMP管理者再通过SNMP通信协议收集SNMP代理所记录的信息。
|
|
|
下图所示为使用SNMP的典型配置。整个系统必须有一个管理站(Management Station),实际上就是网络控制中心。在管理站上运行管理进程。在每一个被管对象中一定要有代理进程。管理进程和代理进程利用SNMP报文进行通信。下图中有两个主机和一个路由器。
|
|
|
|
|
SNMP工作在TCP/IP协议体系中的UDP协议上。在SNMP应用实体间通信时无须先建立连接,虽然对报文正确到达不作保证,但这样降低了系统开销。SNMP在两个熟知端口161和162上使用UDP服务,熟知端口161由服务器(SNMP代理)使用,熟知端口162由客户机(SNMP管理者)使用。SNMP只涉及OSI模型的低三层,只能管到网卡,不能管到PC、服务器或者打印机。
|
|
|
SNMP管理者从被管理设备中收集数据有两种方法:一种是轮询方法;另一种是基于中断的方法(又称为事件驱动)。通常,是将这两种方法结合起来使用,从而形成了陷入制导轮询方法。一般来说,网络管理工作站轮询用于被管理设备中的代理,用来收集数据,并且在控制台上用数字或图形的表示方法来显示这些数据。被管理设备中的代理可以在任何时候向网络管理工作站报告错误情况,并不需要等到管理工作站为获得这些错误情况而轮询它的时候才报告。
|
|
|
|
在网络管理中,一般采用"被管对象(Managed Object)"表示网络中的资源。被管对象的集合称为MIB,即管理信息库,所有相关的网络被管对象信息都放在其中。MIB仅是一个概念上的数据库,在实际网络中并不存在。目前网络管理系统的实现主要依靠被管对象和MIB。
|
|
|
MIB是网络管理系统中的一个非常重要的部分。MIB定义了一种对象数据库,由系统内的许多被管对象及其属性组成。通常,网络资源被抽象为对象进行管理,对象的集合被组织为MIB。MIB作为设在网管代理者处的管理站访问点的集合,管理站通过读取MIB中对象的值来进行网络监控。管理站可以在网管代理处产生动作,也可以通过修改变量值改变网管代理处的配置。
|
|
|
MIB中的数据可大体分为三类,即感测数据、结构数据和控制数据。
|
|
|
|
SNMP实体不需要在发出请求后等待响应到来,是一个异步加请求/响应协议。
|
|
|
SNMP仅支持对管理对象值的检索和修改等简单操作,具体来讲,SNMPv1支持以下4种操作。
|
|
|
(1)get:用于获取特定对象的值,提取指定的网络管理信息。
|
|
|
(2)get-next:通过遍历MIB树获取对象的值,提供扫描MIB树和依次检索数据的方法。
|
|
|
(3)set:用于修改对象的值,对管理信息进行控制。
|
|
|
(4)trap:用于通报重要事件的发生,代理使用它发送非请求性通知给一个或多个预配置的管理工作站,用于向管理者报告管理对象的状态变化。
|
|
|
以上4种操作中,前3种是由管理者发给代理请求,需要代理发出响应给管理者;最后一种则是由代理发给管理者请求,但并不需要管理者响应。
|
|
|