网络管理与运维:SNMP的原理

发布时间:2023年12月28日

? 一、概述

? 简单网络管理协议SNMP(Simple Network Management Protocol)是广泛应用于TCP/IP网络的网络管理标准协议。SNMP提供了一种通过运行网络管理软件的中心计算机(即网络管理工作站)来管理设备的方法。

二、基本组件

? SNMP基本组件包括网络管理系统NMS(Network Management System)、代理进程(Agent)、被管对象(Managed Object)和管理信息库MIB(Management Information Base)。如图所示,他们共同构成SNMP的管理模型,在SNMP的体系结构中都起着至关重要的作用。

?

1.NMS

NMS在网络中扮演管理者角色,是一个采用SNMP协议对网络设备进行管理/监视的系统,运行在NMS服务器上。

2.Agent

Agent是被管理设备中的一个代理进程,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。

3.Managed Object

Managed Object指被管理对象。每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合。

4.MIB

MIB是一个数据库,指明了被管理设备所维护的变量,是能够被Agent查询和设置的信息。MIB在数据库中定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。通过MIB,可以完成以下功能:

SNMP的MIB采用树型结构,它的根在最上面,根没有名字。如图18-2所示,是MIB的一部分,它又称为对象命名树。每个对象标识符OID(object identifier)对应于树中的一个管理对象,该树的每个分支都有一个数字和一个名称,并且每个点都以从该树的顶部到该点的完整路径命名,如system的OID为1.3.6.1.2.1.1,interfaces的OID为1.3.6.1.2.1.2。

三、版本

SNMP有三种版本:SNMPv1,SNMPv2c和SNMPv3。

1.SNMPv1

SNMP的第一个版本,它提供了一种监控和管理计算机网络的系统方法,它基于团体名认证,安全性较差,且返回报文的错误码也较少。如图所示,

SNMPv1定义了5种协议操作:

  • Get-Request:NMS从被管理设备的代理进程的MIB中提取一个或多个参数值。
  • Get-Next-Request:NMS从代理进程的MIB中按照字典式排序提取下一个参数值。
  • Set-Request:NMS设置代理进程MIB中的一个或多个参数值。
  • Response:代理进程返回一个或多个参数值。它是前三种操作的响应操作。
  • Trap:代理进程主动向NMS发送报文,告知设备上发生的紧急或重要事件。

2.SNMPv2c

第二个版本SNMPv2c引入了GetBulk和Inform操作,支持更多的标准错误码信息,支持更多的数据类型。如图所示,

SNMPv2c新增了2种协议操作:

  • GetBulk:相当于连续执行多次GetNext操作。在NMS上可以设置被管理设备在一次GetBulk报文交互时,执行GetNext操作的次数。
  • Inform:被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS进行接收确认。如果被管理设备没有收到确认信息则会将告警暂时保存在Inform缓存中,并且会重复发送该告警,直到NMS确认收到了该告警或者发送次数已经达到了最大重传次数。

3.SNMPv3

SNMPv3增加了身份验证和加密处理的功能。

身份验证:身份验证是指代理进程(NMS)接收到信息时首先必须确认信息是否来自有权限的NMS(代理进程)并且信息在传输过程中未被改变。

加密处理:SNMPv3报文中添加了报头数据和安全参数字段。比如当管理进程发出SNMPv3版本的Get-Request报文时可以携带用户名、密钥、加密参数等安全参数,代理进程回复Response报文时也采用加密的Response报文。这种安全加密机制特别适用于管理进程和代理进程之间需要经过公网传输数据的场景。

本文部分内容参考《HCIA-datacom认证学习指南》

文章来源:https://blog.csdn.net/2301_76170756/article/details/135200107
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。