SNMP--简单网络管理协议
在目前越来越复杂的网络环境中,整个环境有各种各样的网络设备,为了能更好的对这些设备进行管理,及早的发现网络中已经存在或可能存在的问题,SNMP提供了一种对这些网络设备进行有效管理的技术基础。
SNMP是由IETF(Internet Engineeriing Task Force,互联网工程任务组)定义的一套基于SGMP(Simple Gateway Monitor Protocol,简单网关监视协议)的网络管理协议。以SNMP为技术的网络管理系统(NMS)中,管理主机利用SNMP进行远程监控管理网络上的所有支持这种协议的设备(如计算机工作站、终端、路由器、Hub、网络打印机等),主要负责监视设备状态、修改设备配置、接受事件警告等。
SNMP主要工作在管理主机和网络设备之间。
基本概念:
Manager:安装了SNMP管理软件的主机
Managed Device:被管理的网络设备(包括计算机、路由器、交换机等等)
Agent:网络设备上的SNMP管理系统(可以简单认为Managed Device就是Agent)
MIB(Management Information Base):用于保存各类OID的数据库
OID(Object Identifies):用于描述网络设备的各类信息(事件),比如:CPU的利用率、接口状态、路由表等等。
MIB分为标准MIB和私有MIB,标准MIB适用于所有网络设备,而私有的MIB则由设备厂家向有关机构申请后自行定义。MIB采用树状结构,每个节点分配了一个字符串和一个小整数作为标号,即OID(Object Identifier)
MIB结构树中任一对象的名字就是从根到对象结点的路径上各个节点的标号序列,标号之间用点分隔。如被管理设备中每个网络接口的IP地址信息表示为:iso.org.dod.internet.mgmt.mid.ip,它的数字表示为:1.3.6.1.2.1.4。
标准MIB的基本OID以为1.3.6.1.2.1前缀,而私有的MIB的基本OID以为1.3.6.1.4.1前缀。如果在某一节点下有多个信息,则以列表方式存在,比如IP地址信息中包括子网掩码、网关地址等。
SNMP五种消息类型:
Get_Request:Manager端向Agent端发送读取信息的请求;
Get_Next_Request:Manager端向Agent端发送读取信息的请求;
Set_Request:Manager端向Agent端发送设备设置信息,Agent端可根据设置信息来改变设备状态;
Get_Response:Agent端对Manager端请求的响应;
Trap:当Agent端发生某些事件时,Agent端主动向Manager端发送陷阱信息,如关机事件。
两种Community:
RO:只读——只能接收网络设备发送过来的trap消息
RW:读写——既能接收网络设备发送过来的trap消息,也能对网络设备做配置修改
Community就像明文的密码一样在管理者和被管理者之间进行匹配;
例如:
假设管理者和被管理者之间设置的Community是CCIE;当管理者收到trap的信息之后首先检测Community字段跟CCIE是否一致,一致才接收,否则丢弃!
配置SNMP:
Switch(config)# access-list 10 permit 10.0.0.0 0.0.0.255
Switch(config)# snmp-server community wisdom RO 10
Switch(config)# snmp-server community xmws RW 10
Switch(config)# snmp-server enable trap
Switch(config)# snmp-server host 10.0.0.100 xmws