SNMP
SNMP简介
SNMP的开发允许管理员管理IP网络上的节点,例如服务器,工作站,路由器,交换机和安全设备。它使网络管理员可以监视和管理网络性能,发现和解决网络问题以及规划网络增长。
SNMP是一种应用程序层协议,为管理者和代理之间的通信提供消息格式。SNMP系统包含三个元素:
- SNMP管理器
- SNMP代理(受管节点)
- 管理信息库(MIB)
要在网络设备上配置SNMP,首先必须定义管理器和代理之间的关系。
SNMP管理器是网络管理系统(NMS)的一部分。SNMP管理器运行SNMP管理软件。如图所示,SNMP管理器可以使用“get”操作从SNMP代理收集信息,并可以使用“set”操作更改代理的配置。此外,SNMP代理可以使用“traps”将信息直接转发到网络管理器。
SNMP代理和MIB驻留在SNMP客户端设备上。必须管理的网络设备(例如交换机,路由器,服务器,防火墙和工作站)配备了SMNP代理软件模块。MIB存储有关设备和操作统计信息的数据,并且可供认证的远程用户使用。SNMP代理负责提供对本地MIB的访问。
SNMP定义了网络管理应用程序和管理代理之间如何交换管理信息。SNMP管理器轮询代理,并在MIB上查询UDP端口161上的SNMP代理。SNMP代理将所有SNMP陷阱发送到UDP端口162上的SNMP管理器。
SNMP操作
驻留在受管设备上的SNMP代理收集并存储有关设备及其操作的信息。该信息由代理本地存储在MIB中。然后,SNMP管理器使用SNMP代理访问MIB中的信息。
有两个主要的SNMP管理器请求:get和set。NMS使用获取请求来查询设备中的数据。NMS使用设置请求来更改代理设备中的配置变量。设置请求还可以启动设备内的操作。例如,一组路由器可能导致路由器重启,发送配置文件或接收配置文件。SNMP管理器使用get和set操作执行表中描述的操作。
SNMP代理响应SNMP管理器请求,如下所示:
- 得到一个MIB变量 - SNMP代理执行该功能在从网络管理器响应于一个的GetRequest-PDU。代理检索所请求的MIB变量的值,并使用该值响应网络管理器。
- 设置一个MIB变量 - SNMP代理执行该功能在从网络管理器响应于SetRequest等-PDU。SNMP代理将MIB变量的值更改为网络管理器指定的值。SNMP代理对设置请求的答复包括设备中的新设置。
该图说明了使用SNMP GetRequest来确定接口G0 / 0/0是否处于up / up状态。
SNMP代理陷阱
NMS使用get请求定期轮询托管设备上的SNMP代理。NMS向设备查询数据。使用此过程,网络管理应用程序可以收集信息以监视流量负载并验证受管设备的设备配置。该信息可以通过NMS上的GUI显示。可以计算平均值,最小值或最大值。可以对数据进行图形化处理,也可以设置阈值以在超过阈值时触发通知过程。例如,NMS可以监视Cisco路由器的CPU利用率。SNMP管理器会定期对该值进行采样,并将此信息显示在图形中,以供网络管理员用于创建基准,创建报告或查看实时信息。
定期SNMP轮询确实有缺点。首先,事件发生的时间与NMS注意到事件(通过轮询)之间存在一定的延迟。其次,在轮询频率和带宽使用之间需要权衡。
为了减轻这些缺点,SNMP代理可以生成并发送陷阱以将某些事件立即通知NMS。陷阱是不请自来的消息,用于警告SNMP管理器网络中的状况或事件。陷阱条件的示例包括但不限于不正确的用户身份验证,重新启动,链接状态(正常或关闭),MAC地址跟踪,TCP连接关闭,与邻居的连接断开或其他重要事件。定向陷阱的通知消除了对某些SNMP轮询请求的需求,从而减少了网络和代理资源。
该图说明了使用SNMP陷阱来警告网络管理员接口G0/0/0发生故障。NMS软件可以向网络管理员发送文本消息,在NMS软件上弹出一个窗口,或者在NMS GUI中将路由器图标设置为红色。
图中说明了所有SNMP消息的交换。
SNMP版本
- SNMPv1-这是简单网络管理协议,一个完整的互联网标准,即在RFC 1157中定义。
- SNMPv2c-这是在RFC中1901年1908年,采用的是基于团体字符串行政框架定义。
- SNMPv3-这是在最初的RFC 2273到2275,提供通过验证,并通过网络进行加密分组设备的安全访问所定义的可互操作的基于标准的协议。它包括以下安全功能:消息完整性,以确保数据包在传输过程中不会被篡改;身份验证,确定消息来自有效源;以及加密,以防止未经授权的源读取消息的内容。
所有版本都使用SNMP管理器,代理和MIB。Cisco IOS软件支持上述三个版本。v1是旧式解决方案,在当今的网络中并不常见。
SNMPv1和SNMPv2c都使用基于社区的安全性形式。能够访问代理的MIB的管理者社区由社区字符串定义。
与SNMPv1不同,SNMPv2c包括批量检索机制和向管理站报告更详细的错误消息。批量检索机制可检索表和大量信息,从而最大程度地减少了往返次数。SNMPv2c改进的错误处理包括扩展的错误代码,用于区分不同类型的错误情况。这些情况通过SNMPv1中的单个错误代码报告。SNMPv2c中的错误返回码包括错误类型。
注意:SNMPv1和SNMPv2c提供最少的安全功能。具体地说,SNMPv1和SNMPv2c既不能认证管理消息的来源,也不能提供加密。SNMPv3在RFC 3410至3415中进行了最新描述。它添加了一些方法来确保在受管设备之间安全传输关键数据。
SNMPv3提供了安全模型和安全级别。安全模型是为用户和用户所在的组设置的身份验证策略。安全级别是安全模型中允许的安全级别。安全级别和安全模型的组合确定在处理SNMP数据包时使用哪种安全机制。可用的安全模型为SNMPv1,SNMPv2c和SNMPv3。
- netsnmp 安装与配置
- 基于Java、SNMP技术采集各种SNMP数据、MIB数据的产品
- (转)用NET-SNMP软件包开发简单客户端代理
- SNMP: Simple? Network Management Protocol
- snmp学习笔记之二trap——分析notification.c文件
- win2008下SNMP服务功能安装
- Linux 监控/SNMP配置
- 基于SNMP的MIB库访问实现两个简单的画验证码图形程序
- SNMP技术介绍
- linux和windows配置SNMP
- snmp_pp bug
- Configuring SNMP in Cisco Routers
- centos里启用snmp的监控
- 华为开启snmp
- [转]SNMP 原理及配置简述
- debian6.0 安装配置snmp
- HowToUseSNMPAgentExtension
- snmpwalk命令常用方法总结
- snmp自动发trap的实现
- Linux安装net-snmp