SNMP简单网络管理协议
- 随着网络的规模越来越庞大,网络中的设备种类繁多,如何对越来越复杂的网络进行有效的管理,从而提供高质量的网络服务,已成为网络管理所面临的巨大挑战。
- 网络的管理和运维手段多样,下面将对几种常见的网管与运维手段展开介绍。
1、什么是网络管理
- 网络管理是通过对网络中设备的管理,保证设备工作正常,使通信网络正常地运行,以提供高效、可靠和安全的通信服务,是通信网络生命周期中的重要一环。
2、网络管理基本功能
OSI定义了网络管理的五大功能模型:
配置管理(Configuration Management)
:配置管理负责监控网络的配置信息,使网络管理人员可以生成、查询和修改硬件、软件的运行参数和条件,并可以进行相关业务的配置。性能管理(Performance Management)
:性能管理以网络性能为准则,保证在使用较少网络资源和具有较小时延的前提下,网络能够提供可靠、连续的通信能力。故障管理(Fault Management)
:故障管理的主要目标是确保网络始终可用,并在发生故障时尽快将其修复。安全管理(Security Management)
:安全管理可以保护网络和系统免受未经授权的访问和安全攻击。计费管理(Accounting Management)
:记录用户使用网络资源的情况并核收费用,同时也统计网络的利用率。
3、通过CLI或Web进行管理
当网络规模较小时,CLI和Web方式是常见的网络管理方式。
- 网络管理员可以通过HTTPS、Telnet、Console等方式登录设备后,对设备逐一进行管理。
- 这种管理方式不需要在网络中安装任何程序或部署服务器,成本较低。
- 网络管理员自身需要熟练掌握网络理论知识、各设备厂商网络配置命令。
- 当网络规模较大,网络拓扑较为复杂,这种方式的局限性较大。
4、基于SNMP的集中式管理
- SNMP(Simple Network Management Protocol,简单网络管理协议)是广泛用于TCP/IP网络的网络管理标准协议,提供了一种通过运行网络管理软件的中心计算机,即NMS(Networlk Management Station,网络管理工作站)来管理网元的方法。
- 网络管理员可以利用NMS在网络上的任意节点完成信息查询、信息修改和故障排查等工作,提升工作效率。
- 屏蔽了不同产品之间的差异,实现了不同种类和厂商的网络设备之间的统一管理。
5、SNMP典型架构
- 在基于SNMP进行管理的网络中,NMS是整个网络的网管中心,在它之上进行管理进程。每个被管理设备需要运行代理(Agent)进程。管理进程和代理进程利用SNMP报文进行通信。
- NMS是一个采用SNMP协议对网络设备进行管理/监控的系统,运行在NMS服务器上。
- 被管理设备是网络中接受NMS管理的设备。
- 代理进程运行于被管理设备上,用于维护被管理设备的信息数据并相应来自NMS的请求,把管理数据汇报给发送请求的NMS。(代理进程在设备出厂时已经内置进去了,直接用就行,无需安装)
6、SNMP的信息交互
- NMS和被管理设备的信息交互分为两种:
- NMS通过SNMP协议给被管理设备发送修改配置信息请求或查询配置信息请求。被管理设备上运行的代理进程根据NMS的请求消息做出响应。(Get/Set)
- 被管理设备可以主动向NMS上报告警信息(Trap)以便网络管理员及时发现故障。
- 被管理对象(Managed object):每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合。
- SNMP规定通过
MIB(Management Information Base,管理信息库)
去描述可管理实体的一组对象。
7、MIB(Management Information Base)
- MIB是一个
数据库
,指明了被管理设备所维护的变量(即能够被代理进程查询和设置的信息)。MIB在数据库中定义了被管理设备的一系列属性:- 对象标识符(Object IDentifier,OID):通过OID区分不同的设备
- 对象的状态
- 对象的访问权限
- 对象的数据类型等
- MIB给出了一个数据结构,包含了网络中所有可能的被管理对象的集合。因为数据结构与树相似,MIB又被称为
对象命名树
。
8、常见MIB节点
- 用于查询或修改的节点:
- 用于告警通知的节点:
9、SNMP管理模型
- 查询/修改操作:
- NMS作为管理者,向代理进程发送SNMP请求报文。
- 代理进程通过设备端的MIB找到所要查询或修改的信息,向NMS发送SNMP响应报文。
- 告警操作:
- 设备端的模块由于模块定义的告警触发条件,通过代理进程向NMS发送消息,告知设备侧出现的情况,这样便于网络管理人员及时对网络中出现的情况进行处理。
- 设备端的模块由于模块定义的告警触发条件,通过代理进程向NMS发送消息,告知设备侧出现的情况,这样便于网络管理人员及时对网络中出现的情况进行处理。
10、SNMPv1
SNMPv1比较简单,不支持设备间的认证,且明文传输。
11、SNMPv2c
- c即community的缩写。SNMPv2c支持设备间认证,通过community标识符来认证,可以将community看作是一个密码。
- GetBulk:查询一组。
- Inform:通告。被管理设备在回复报文时会进行一个通告,NMS收到后会进行响应。即被管理设备将通告告警发给NMS,NMS通过Trap捕获,捕获完后进行反馈。与v1相比,交互更加完善。
- 仍是明文传输。
12、SNMPv3
- SNMPv3与SNMPv1、SNMPv2c的工作机制基本一致,但添加了报头数据和安全参数。
- SNMPv3报文具有身份验证和加密处理的功能。
- SNMPv3适用于各种规模的网络,安全性极高。
13、SNMP小结
- SNMP的特点如下:
- 简单:SNMP采用轮询机制,提供基本的功能集,适合低速、低价格的场景使用,而且SNMP以UDP报文为承载,因而得到绝大多数设备的支持。
- 强大:SNMP的目标是保证管理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。
- SNMPv1版本适用于小型网络。组网简单、安全性要求不高或网络环境比较安全且比较稳定的网络,比如校园网、小型企业网。
- SNMPv2c版本适用于大中型网络。安全性要求不高或网络环境比较安全,但业务比较繁忙,有可能发生流量拥塞的网络。
- SNMPv3版本作为推荐版本,适用于各种规模的网络。尤其是对安全性要求较高,只有合法的管理员才能对网络设备进行管理的网络。