更新时间:2022-01-11 来源:黑马程序员 浏览量:
早期的网络管理系统往往是厂商在自己的网络系统中开发的专用系统,很难应用在有其他厂商设备参与组建的网络中。随着网络的发展与规模的扩大,网络中设备的种类和数量逐渐增多,网络的复杂性大大加强,由厂商研发的专用系统难以满足人们对异构互连网络的管理需求,也不再符合网络的发展趋势。20世纪90年代初期诞生的Internet使人们更深刻地意识到统一网络管理方案的必要性,为此,研发人员展开了对网络管理的研究,并提出了多种网络管理方案,包括SGMP、SNMP、CMIS/CMIP等。
SNMP(Simple Network Management Protocol, 简单网络管理协议)由IETF(Internet Engineering Task Force, 互联网工程任务组)定义,其前身为在NYSERNET和SURANET网络上开发和应用的网络管理工具SGMP。Internet的发展过程中,设备数量和用户以几何级数增长,为了规范管理,研发人员对SGMP进行了大量修改,推出了更适用于Internet管理的SNMP。SGMP是TCP/IP框架网络的专用管理工具,早期SNMP同样用于TCP/IP框架网络的管理。
SNMP本身只是IETF制定的临时解决方案,它具有以下特点。
(1)管理信息结构(SMI)以及管理信息库(MIB)非常简单,扩展性好、容易实现、成本低。
(2)可管理绝大部分符合Internet标准的设备,伸缩性好。
(3)被管设备故障或错误不会影响管理者的正常工作。
因以上特点,SNMP得以迅速发展,并受到广泛的支持,成为网络管理方面事实上的标准。
管理信息结构( Structure of Management Information,SMI)用于定义MIB中管理信息的语法和语义,实现异构计算机中数据项的相同表示。它只允许存储标量和二维数组(表对象),不支持复杂的数据结构,简化了实现难度,加强了互操作性。
为满足协同操作的要求,SMI 提供了以下标准化技术用以表示管理信息:
(1) 声明定义和识别MIB对象的规则;
(2) 定义MIB的层次结构;
(3) 规定MIB对象值的编码方法。
管理信息库(MIB)是被管对象的集合。使用SNMP的管理环境中,所有被管对象都按层次性的结构或树状结构排列,树结构端节点对象是实际的被管对象,每一个对象都代表一些资源、活动或其他管理信息;树状结构本身定义了如何将对象组织成逻辑相关的集合。管理信息库的部分结构如下图所示。
上图所示的MIB结构又称为对象命名树(Object Naming Tree),通过此结构中蕴含的对象间的逻辑关系,可使管理平台通过对象识别符(Object ldentifier Desendant, OID)这种简洁而又方便的方式识别MIB中的被管对象。
上图中的节点mib-2为例,可通过分支名.iso.org.dod.internet.mgmt.mib-2,或数字标识符.1.3.6.1.2.1访问其标识的对象,大多数管理平台都允许以这两种表示方法来表示和管理MIB对象。
SNMP是基于TCP/IP协议簇的网络管理标准,是一种在网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。在实际管理中,SNMP为管理员提供一个网管平台,管理员可通过网管平台实现命令发送、数据收集、数据存储和数据分析;在被管设备上运行个SNMP代理(即Agent),通过代理实现本地数据采集以及与管理平台的SNMP通信,如下图所示。
被管设备中的SNMP代理持续采集数据,将数据存储到当地的MIB中。SNMP提供了两种通过代理从被管设备中收集数据的方式,一种方式基于轮询,另一种方式基于中断。
网管系统向被管设备依次发起查询请求,以获取被管设备在某一时刻的数据信息;为了分析被管设备中通信流量和变化率,网管系统又会分时间片定时查询被管设备中的数据。这样的操作方式即为轮询(polling-only),如下图所示。
轮询的主要缺陷在于缺乏信息的实时性,尤其是错误的实时性。轮询的间隔、轮询过程中设备的访问顺序等都会对轮询的效果产生影响:若轮询的间隔较小,将产生大量非必要的通信;若轮询间隔较大,且轮询顺序不合理,那么一些大的灾难性事件的通知又不够及时。因此采用轮询方式采集数据时合理设置轮询间隔非常重要。
采用基于中断(nterupt-based)的数据收集方法,可立即将异常信息通知给网管系统,如下图所示。
基于中断的数据收集方式解决了轮询的主要缺陷,但此种方式也不够完善。产生错误或异常事件需要消耗系统资源,若错误或异常需要转发大量信息,被管设备将不得不消耗大量系统资源,这会影响到网络管理的主要功能。
克服基于中断的数据收集方法缺点的方式是:为被管设备设置阈值,当SNMP代理采集到的数据达到阈值时及时发送通知,避免因可能产生的中断而耗费的系统资源。实际SNMP应用中往往是将以上两种方式结合,既保证数据采集的全面性,又保证及时采集到错误和异常信息。
基于SNMP的网络管理实际上就是对MIB对象实例值的管理,其管理主要分为值的读取和重设。SNMP中对外提供了3种管理MIB对象的基本操作命令,分别为get、set和trap。
(1) get:网管系统可通过该操作命令读取MIB对象实例的值,该命令是SNMP中最常使用的命令,是从网络设备中获取管理信息的基本方式。采用get 命令获取的数据通常由服务器的161端口接收。
(2) set:网管系统可通过该命令设置MIB对象实例的值,以改变被管设备的配置或控制设备的运行状态。
(3) trap: SNMP代理可通过该命令主动向管理站发送通知。若有异常产生,SNMP代理会向管理站的162端口发送消息,通知服务器及时对异常做出反应。trap命令可用来通知管理站线路的故障、连接的中断和恢复、认证失败等消息。
CMIS/CMIP由ISO制定,是用于OSI模型的网络管理协议簇,其中CMIS(Commom Management Information Service,公共管理信息服务)支持管理进程和管理代理之间的通信要求,CMIP(Common Management Information Protocol)提供管理信息服务的应用层协议,二者规定了OSI系统的网络管理标准。
SNMP是在简单和易于实现的原则下设计的,其实现不够完善,存在不能有效传送大块数据、不能将网络管理功能分散化、安全性不够好等缺点。20世纪80年代末,人们在SNMP的基础上进行了大量改进,推出了CMIP,并希望使用该协议代替SNMP。
与SNMP相比,CMIP的突出优势是其使用的变量既能像SNMP那样在网络管理系统和被管设备之间传递信息,又能被用来执行各种于SNMP中不可能实现的任务;此外,CMIP中内置了安全管理设备,支持验证、访问控制和安全日志等安全防范措施,使CMIP本身具备了安全性能。但CMIP占用的网络资源相当于SNMP的10倍,它虽然足够详细,也相当复杂,因此CMIP并未得到实际应用。
猜你喜欢: