《精通SNMP》——第1章 SNMP基础1.1 网络管理和SNMP

简介:

本节书摘来自异步社区《精通SNMP》一书中的第1章,第1.1节,作者: 武孟军 更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 SNMP基础

SNMP是英文Simple Network Management Protocol(简单网络管理协议)的缩写。从狭义上讲,它是一种专门用于网络管理软件和网络设备之间通信的协议;从广义上讲,它是一组为实现网络的自动化管理任务而制订的一系列通行标准,包括了管理信息的表示与命名、通信协议等内容。

SNMP最早是Internet工程任务组(Internet Engineering Task Force,IETF)为解决Internet上的网络设备管理问题而提出的一个临时方案,第一个正式版本在1989年发布,经过二十多年的发展,SNMP日臻完善,目前已经是应用最广泛的一个成熟网络管理标准协议。

1.1 网络管理和SNMP

早期的计算机网络规模小,结构简单,因此网络管理活动也相对简单。随着计算机网络技术的迅速发展,网络规模日益庞大,结构也越来越复杂,简单、粗陋的管理方式已经不再适应现代的计算机网络,网络管理必须向高度集中和高度智能化的方向发展。

在此期间,先后出现了多种网络管理标准。最早致力于网络管理标准化工作的是国际标准化组织(International Standards Organization,ISO),它是网络互连协议OSI(Open System Interconnection Reference Model,开放系统互联参考模型)的制订者。ISO制订的第一个网络管理标准为CMIS/CMIP(The Common Management Information Service/Protocol),也是基于OSI模型的,并在当时的网络管理中得到了初步应用。同期出现的其他网络管理协议还有高层实体管理系统HEMS(High Level Entity Management Systems)、简单网关监控协议SGMP(Simple Gateway Monitoring Protocol)等。

随着TCP/IP和Internet的迅速普及,1987年Internet的管理机构IAB(Internet Activities Board)认为有必要为基于TCP/IP技术的网络制订新的网络管理标准。其长期目标是在CMIS/CMIP基础上,制订一套功能完善、适用于TCP/IP协议栈的网络管理协议CMOT(Common Management Information Services and Protocol Over TCP/IP)。然而,业界对基于TCP/IP的网络管理标准的需求是如此迫不及待,已经等不及CMOT的推出了。为了应急,IAB决定将已有的SGMP修订、完善,作为一种临时的网络管理解决方案,这就是后来一统天下的SNMP。
**
1.1.1 什么是网络管理**
简单地说,网络管理就是维护一个网络系统的正常运行。“正常运行”的意思是网络系统能够按照设计的目标,发挥应有功能。网络管理,最直接的原因是组成网络的硬件设备会损坏,通信线路会出现中断故障,过多的网络用户会争用有限的网络资源(线路带宽、设备CPU处理能力等)。现代的网络管理,已不仅仅是维护网络的正常运行,还需要收集、分析网络运行数据,展示网络运行状况的性能指标,进而判断、预测网络故障,为网络优化及改造提供基础运行数据支持。

关于网络管理的组成,ISO在ISO/IEC 7498文档第4部分,根据功能的不同,将基于OSI参考互联模型的网络管理划分为如下五部分:

  • 故障管理(fault management)
  • 计费管理(accounting management)
  • 配置管理(configuration management)
  • 性能管理(performance management)
  • 安全管理(security management)

故障管理和性能管理是最基本的网络管理,是其他管理活动的基础,也是最常见的网络管理。一个网络系统,无论发生什么故障,都是对网络服务功能的破坏,因此,网络故障是最严重的网络事件,直接导致网络某部分功能的丧失。性能管理则是在网络无故障的基础上,对网络资源进行监视和调度,合理分配网络资源,保障网络功能正常发挥。不适当的性能管理会使得网络堵塞、某一部位产生处理瓶颈甚至导致整个网络瘫痪。性能管理的目的不仅仅是保证网络系统有充裕的资源可用,还要求网络资源达到一定的利用率以避免资源浪费。性能管理的理想目标是网络各个环节资源利用率协调一致,避免存在“短板现象”。

早期的网络管理相对简单,基本上是命令行方式的手工管理。不同的网络设备,命令格式不同,管理方式也不同。例如,网络管理员可能从设备面板指示灯的状态发现异常,也可能是接到用户的报障,才知道网络出现了问题。下一步,可能是登录到网络设备,输入各种命令,检查设备的运行状态,判断哪个部分出现了问题,然后再根据不同情况,进一步采取措施,修复故障。可见,这种管理方式属于“事件驱动”型:网络管理员不能主动发现问题,往往是异常问题发生并产生了影响之后,才察觉网络问题,然后再去检查、解决,具有一定的滞后性。

有的网络设备生产商针对自己的产品,开发了一些专用的、可以实现自动管理网络设备的应用软件,这些软件是最早的网络管理软件。这些管理软件的应用,将网络管理员从手工管理方式上升到自动化智能管理方式。然而,随着网络的发展,特别是出现网络互联的需求后,被管理的网络规模增大、结构复杂程度增加,网络中的设备往往不止来自一家生产商,这样,要想实现自动化智能网络管理,就需要同时运行几套网络管理软件,不仅不能统一管理,而且效率也不高。
**
1.1.2 网络管理的演变**
网络管理的实质,是网络管理人员从网络设备获取一些网络运行状态信息,再对这些信息进行综合分析、判断,从而确定网络运行状态的一个过程。一次典型的网络管理活动可以分为如图1-1所示的3部分。


ab28be66d15da90dbca168eacf9f7f8647f7037e

网络管理活动中首要的一个步骤就是“获取运行状态信息”,例如某个网络接口运行状态,某台设备的CPU利用率等。这些信息,网络管理术语中称其为“管理信息”。广义上说,它可以是任何一种网络管理员感兴趣的、与网络运行状态有关的信息。自动化智能网络管理,其实就是将“获取运行状态信息”这一步骤程序化。先进一点的网络管理软件,可以实现管理信息的分析判断,从而在一定程度上隔离出故障范围。一般地,故障恢复措施仍需要管理人员手工完成。

因此,网络管理协议的主要工作,就是为网络管理软件如何从网络设备获取网络运行状态信息,制订一套通用标准。

网络管理协议首先要解决两个问题,一是管理信息的表示与标识,二是网络设备与网络管理软件之间在传递管理信息时使用的通信协议。所有的网络管理协议,基本上都是以这两个主题为中心的。

1.1.3 SNMP的发展
由于SNMP具有简单、易实施和容易扩充等优点,一经推出就得到了广泛的应用和支持,显示了强大的生命力。当CMOT趋于成熟时,SNMP在实际应用中早已是今非昔比,已经得到了包括IBM、HP等大公司的数百家厂商的支持,早已成为网络管理领域事实上的工业标准。至今,SNMP前后一共推出了8个版本,但实践中真正得到广泛应用的只有3个,分别是SNMPv1、SNMPv2c和SNMPv3。

1.SNMPv1
主要由以下RFC文档组成:

  • RFC 1155  基于TCP/IP的网络管理信息结构结构与标识。
  • RFC 1157  简单网络管理协议。
  • RFC 1212  简明MIB定义。
  • RFC 1213  基于TCP/IP的网络管理信息库(MIB-II)。
  • RFC 1215  定义SNMP陷阱消息宏。

SNMPv1简单易于实施,被业界广泛接受并得以实施。但它最致命的一个缺点是安全性差,唯一的安全机制是基于共同体字符串(community strings),类似一个普通的字符串密码。

2.SNMPsec
主要由以下RFC文档组成:

  • RFC 1351  SNMP管理模型。
  • RFC 1352  SNMP安全协议。
  • RFC 1353  用于SNMP管理团体的管理对象定义。

这个版本在SNMPv1基础上增加了较强的安全措施,其安全机制基于一种“团体(parties)”的结构。只有少数厂商实施过该版本,目前市场上已难觅踪影。

3.SNMPv2p
主要由以下RFC文档组成:

  • RFC 1441  网络管理架构版本2介绍。
  • RFC 1445  SNMPv2管理模型。
  • RFC 1446  SNMPv2安全协议。
  • RFC 1448  SNMPv2协议操作。
  • RFC 1449  SNMPv2传输层映射。

这个版本也称为SNMPv2,即第二版SNMP。它不仅仅改进了SNMPv1安全性(和SNMPsec一致),同时在数据定义、协议操作类型等方面也做了较大变动。

4.SNMPv2c
主要由以下RFC文档组成:

  • RFC 1901  介绍基于共同体的SNMPv2。
  • RFC 1905  SNMPv2协议操作。
  • RFC 1906  SNMPv2传输层映射。

这个版本实际上是将SNMPv2p的数据定义和协议操作,与SNMPv1安全机制结合起来,形成一种新的简化版本,称为基于共同体的SNMPv2,简称SNMPv2c。它在数据定义、协议操作类型等方面也做了较大变动。大部分标称支持SNMPv2的设备,实际上实施的就是这个版本。

5.SNMPv2u
主要由以下RFC文档组成:

  • RFC 1905  SNMPv2协议操作。
  • RFC 1906  SNMPv2传输层映射。
  • RFC 1909  SNMPv2管理架构。
  • RFC 1910  SNMPV2基于用户的安全模型。

该版本是将SNMPv2c安全机制加以改进,新的安全特性是基于用户(users)的安全结构。

6.SNMPv2*
该版本将SNMPv2p和SNMPv2u的优点集合起来,但它还没有形成RFC文档便夭折了。

7.SNMPv3
1998年IETF发布了SNMPv3,SNMPv3相关RFC文档如下:

  • RFC 3410   Internet标准管理架构及适用说明。
  • RFC 3411   SNMP网络管理框架结构。
  • RFC 3412   SNMP消息处理与分发。
  • RFC 3413   SNMP应用。
  • RFC 3414   SNMPv3基于用户的安全模式。
  • RFC 3415   SNMPv3基于视图的访问控制模式。
  • SNMPv3有一个显著特点,就是增加了安全性。在提供三对SNMP消息的加密和认证措施的同时,也加强了MIB的访问控制。
相关文章
|
2月前
|
XML JSON 监控
|
8月前
|
运维 监控 数据安全/隐私保护
【运维知识进阶篇】zabbix5.0稳定版详解5(SNMP网络管理协议监控)
【运维知识进阶篇】zabbix5.0稳定版详解5(SNMP网络管理协议监控)
189 0
|
网络协议 索引 数据处理
|
监控 数据格式
SNMP 简单网络管理协议
SNMP 简单网络管理协议 网络管理系统:监控(监视并控制)网络中各种设备的运行状态。SNMP,Simple Network Management Protocol,简单网络管理协议,用于网络设备的管理。 SNMP是一组协议标准,包括三个部分——管理信息库(MIB)、管理信息结构(SMI)和管理通信协议(SNMP)。 管理信息库(MIB)给出了管理对象的具体定义。 SNMP发展过程
1092 0
|
存储 监控 Linux
zabbix使用snmp监控Linux主机(二十)
使用snmp监控Linux主机 1.snmp协议介绍 SNMP(简单网络管理协议)也是应用层的一种协议,默认端口号为161,我们平时监控Linux主机都是安装一个agent客户端进行监控,但是有的公司还需要监控网络设备和Windows主机,这时就不得不采用snmp协议去监控设备了
589 0
zabbix使用snmp监控Linux主机(二十)
|
存储 监控 安全
Zabbix SNMP监控安装、配置与服务器实例(学习笔记六)
SNMP可以监控路由器、打印机、UPS、摄像头、服务器等。 1、安装、配置snmp  yum install net-snmp* -y # vim /etc/snmp/snmpd.
2528 0
|
9月前
|
监控 网络架构
Zabbix的snmp监控
Zabbix的snmp监控
69 0
|
11月前
|
监控 数据安全/隐私保护 网络架构
【Zabbix】Zabbix基于SNMP监控配置
【Zabbix】Zabbix基于SNMP监控配置
428 0
|
存储 消息中间件 Prometheus
统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?
统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?
统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?