IT之道-艾锑知道

您当前位置: 主页 > IT服务 > 网络服务 >

网络运维 | snmp协议在网络运维中的作用


2020-05-31 20:11 作者:艾锑无限 浏览量:
网络运维 保姆级的IT外包,2小时内上门,专业工程师7*24h随叫随到,提供整体的IT解决方案,兼职网管,桌面运维,it外包
 
一、什么是SNMP?

SNMP是  “Simple Network Management Protocol” 的缩写,中文意思是简单网络管理协议,它是由互联网工作小组在RFC1157中定义的应用层协议,用于在网络实体或节点之间交换管理或监控信息。
 
二、为什么需要SNMP?

作为网络运维人员,我们很大一部分的工作就是为了保证我们的网络能够正常、稳定的运行。因此监控,控制,管理各种网络设备成了我们日常的工作。在网络兴起的早期,网络运维方式就是运维人员蹲在近端对设备进行各种操作,当网络设备越来越多,网络规模越来越大时,管理工作会变得越来越单调乏味,这样的近端维护方式也近乎不可能。因此,远程管理网络的需求日益迫切,SNMP应运而生。使用SNMP,一个运行网管软件的工作站就能对成千上万的网络设备进行监控和信息采集,这些信息可以用来构建网络或者定位网络中的问题。
 
三、SNMP的优点

如其名字所述,这个协议简单易懂,部署的开销成本也小。正因为它足够简单,所以被广泛的接受,事实上它已经成为了主要的网络管理标准。在一个网络设备上实现SNMP的网络运维管理比绝大部分其他管理方式都简单直接。使用SNMP将带来如下好处:

标准化的协议:SNMP是TCP/IP网络的标准网络管理协议。互联网标准协议是由互联网组织志愿贡献的开放、非专利性的,SNMP的维护及将来所有的增强都将基于现有的协议标准。

广泛认可:所有主流供应商都支持SNMP。所有SNMP管理的设备使用相同的管理接口以支持通用的管理消息集合。

可移植性:SNMP独立于操作系统和编程语言。SNMP的功能设计同样是可移植的。同时它定义了一套核心操作集,所有支持SNMP的设备都需要支持这套操作。

轻量级:SNMP增强对设备的管理能力的同时不会对设备的操作方式或性能产生冲击。网络设备可以以极小的资源消耗和些微的负载作为代价增加SNMP的管理支持。

可扩展性:在所有SNMP管理的设备上都会支持相同的一套核心操作集。SNMP也支持计算机网络设备中各种类型的设备信息的交互,设备加入网络也变得简单。

广泛部署:SNMP是最流行的管理协议,最为受设备供应商关注,被广泛部署在各种各样的设备上。
 
四、SNMP的关键特征

SNMP一般主要由三个组件构成,这三个组件分别是:

网络设备:一般是指网络中需要监控和管理的设备或管理对象。

Agent:agent是网络设备和管理组件的中间件,是驻留在网络设备中的程序进程,它收集设备的管理信息并与管理组件交互。

一个典型的agent应有如下特征:

   ●支持完整的SNMP协议

   ●保存与检索定义在MIB中的管理信息

   ●收集与维护本地设备的信息

   ●发送事件给管理组件

   ●作为某些非SNMP可管理的节点上的代理

管理组件:一个管理组件或者说管理系统是一个远程部署的独立实体(区别于agent部署于被管理设备上)。一般典型可视为一台部署了管理组件的计算机,并且可能从地理位置上都与网络设备相隔甚远,管理者只需要通过这台计
算机就能够对设备进行各种监控与管理操作。

一个典型的管理组件应有如下特征:

   ●实现网络管理系统

   ●支持完整的SNMP协议

   ●查询agent,获取agent 的响应消息,设置agent的变量,告知agent异步事件已收到等
 
通讯:管理组件与agent之间以协议数据单元进行通讯( Protocol Data Units,PDUs),数据在进行网络传输前必须进行分块和封装,SNMP传输的过程中,数据首先会被封装成PDU,PDU再被UDP协议封装进行传输。

SNMP消息的格式可以参考下图


 


 
1.msgVersion 指定SNMP的版本

2.msgID 指定SNMP消息唯一辨识符

3.msgMaxSize 指定交互SNMP实体所能接收的最大消息大小

4.msgFlags 指定消息的安全级别

5.msgSecurityModel 指定消息所使用的安全模式.SNMPv3为USM

6.msgAuthoritativeEngineID 此消息交互的SNMP实体的 SNMP EngineID

7.msgAuthoritativeEngineBoots 此消息交互的SNMP实体启动的次数

8.msgAuthoritativeEngineTime 此消息交互的SNMP实体自上次启动后所过去的时间

9.msgUserName 此消息交互的SNMP实体所使用的用户名

10.msgAuthoritaticationParameters 认证协议的参数

11.msgPrivacyParameters 加密协议的参数

12.contextEngineID 作为实现了某个具体管理功能上下文的唯一辨识符

13.contextName 用来标记一个上下文的名称

14.pdu SNMP实体间通信数据单元
 
管理模式:SNMP 对于管理组件和agent的实现一般可划分为如下三个层面:

   ●协议,定义SNMP的基本操作和管理组建与agent间消息交换的格式


   ●管理信息结构(Structure of Management Information (SMI)),定义SNMP该以何种形式访问管理对象的规则集合

   ●管理信息库(Management Information Base (MIB)),定义管理对象属性的集合

MIB和SMI使用一种叫做ASN.1(Abstract Syntax Notation One)的表示法来描述,这是一种以ASCII文本格式清晰描述数据的表示法。MIB的数据通过SNMP消息进行网络传输,传输前会通过简单编码规则( Basic Encoding Rules (BER))进行编码。
 
五、SNMP的基本操作

SNMP是一个请求-响应式的协议,它的基本操作可以分类如下:

   ●检索数据

   ●修改变量

   ●接收主动上报消息

检索数据:管理组件向agent发送请求以获取数据,有如下操作类型:

   ●GET:GET请求用以从agent上获取指定OID对应的一条或多条值。

   ●GETNEXT:与GET请求类似,最明显的区别是GETNEXT获取指定OID在系统树种所处位置的下一个OID。

   ●GETBULK:用于从agent上获取大表中的大量数据。

修改变量:管理组件有时会希望能够修改设备上的一些变量:

   ●SET:管理组件使用这个命令来修改设备的一些配置值。

接收主动上报消息:

   ●TRAP: 当agent遇到数据传输问题,或设备出现故障希望上层管理组件知晓时,使用TRAP操作上报此信息。
 
 
 
以上内容由北京艾锑无限科技发展有限公司整理

相关文章

IT外包服务
二维码 关闭