什么是SNMP?
受SNMP管理的机器与网络中的SNMP管理服务器通信,通信方式有两种:投票和中断。投票是由被管理设备向管理服务器定时询问当前的状态和统计信息,如果设备增多或投票频率过高容易造成网络拥堵。中断的方式即被管理设备主动向服务器发送设备异常信息,服务器可以及时知道信息,除非设备崩溃。如果网络出现严重问题,也容易造成网络拥塞或服务器收到错误信息。
SNMP的核心是帮助管理员简化对一些支持 SNMP 设备设置的操作(也包括这些信息的收集)。例如,使用SNMP可以关闭路由器的一个端口,也可以查看以太网端口的工作速率。SNMP还可以监控交换机的温度,在出现过高现象进行报警。SNMP通常和管理路由器相关联,实际上SNMP可以用于管理很多类型的设备。
SNMP有哪些版本?
SNMP有2个主体:管理端和agent。管理端指的是运行了可以执行网络管理任务软件的服务器,通常被称作为网络管理工作站(NMS),NMS负责采样网络中agent的信息,并接受agent的trap。采样,顾名思义,就是查询agent(路由器、交换机、Unix服务器等等)中的信息。借助于这些信息,系统可以判断是否出现了某种故障。Trap 就是agent主动告诉NMS发生了的事情。Trap的传送属于实时的,不是NMS查询的响应。
NMS会对收到的信息会进行判断,有必要的话在做出相应的动作。例如,当网络出口的Internet线路断掉,路由器将会发送Trap信息给NMS,NMS收到可以进行一些动作,比如以告警的方式通知管理员。注意:这个动作作必须NMS支持,而且要提前定义好。
Agent是运行在可网络设备上的软件。可以是一个独立的程序(在 Unix 中叫守护进程),也可以是已经整合到操作系统中(比如:锐捷路由器的RGNOS,或者UPS中的底层操作系统)。如今,大多数IP设备都植入了SNMP agent,目的是为系统管理员管理设备提供方便。
SMI和MIB是什么?
管理信息结构(SMI)定义了管理对象以及管理对象的表现形式。Agent具有一份可跟踪对象的列表。路由器接口具备一些不同状态标志(例如:up,down)。基本管理信息(MIB)可以理解成为agent维护的管理对象数据库。MIB 中定义的大部分管理对象的状态和统计信息都可以被NMS访问。SMI提供一种定义(采用SMI格式)管理对象的方式,而MIB用于定义对象自身。MIB给管理对象起了一个名字,并且做出具体的解释。所有的Agent都使用被称作为MIB-II的MIB(RFC1213 进行定义)。这个标准定义了端口统计(接口速率,MTU,发送的字节数,接收的字节数等等)信息以及系统自身描述信息(系统位置,联系方式,等等)。MIB-II的主要目的是为TCP/IP提供通用管理信息,并不包含厂家自身定义的信息。注意:MIB-I是MIB的早期版本,已被升级版MIB-II所取代。
其次,只有这些MIB是远远不够的,因为这个原因,厂商或者个人可以定义私有的MIB。例如,厂商新推出一款路由器,这款路由器可能具备一些非常重要的新特性,非常值得监控,但标准的MIB中并不存在。因此,厂商只能开发出相对应的的私有MIB。