原作者: 张晓晖,李标庆(南京邮电学院通信工程系)
一、前言
网络的发展日新月异,新技术、新业务、新概念层出不穷,无论是规模,还是广度和深度,对人们生活的影响均非昔日可比。随着网络规模的扩大,管理问题日益突出,针对服务质量的保证以及业务管理,人们提出了基于策略的网络管理PBNM(Policy-Based Network Management)方案。基于策略的网络管理方案已经成为近几年迅猛发展的网管技术之一。
同时,由于网络装置变得愈来愈大、愈来愈复杂、愈来愈富于变化,使得网络的管理费用随之增加。为了控制费用,需要使用标准工具,使其能够应用于更多的产品类型,包括终端系统、网桥、路由器和电信设备以及可用于多供应商环境中的设备。正是为了满足这种需要,SNMP发展起来,它提供了一种对多供应商、可协同操作的网络管理工具。
本文对基于策略的网络管理和基于SNMPv3的网络管理如何融合,从而更好的发挥管理作用作了初步探讨。
二、基于策略的网络管理
所谓策略,目前对其定义和描述并无统一的标准,根据IETF的定义是指一系列管理规则的集合。每条规则的定义采用if/then结构,由条件(condition)和操作(action)构成,当网络环境满足规则的条件时,则执行规则定义的相应操作。也可以把策略看成影响主体(subject)与目标(target)的行为。这里的主体就是引用策略的对象,而目标就是受管对象,它们可以是管理员、用户或软硬件部件。
有两种类型的策略:授权策略和义务策略。授权策略定义了允许一个主体在一个对象上实施的操作。通常,一个授权策略可以是肯定的(即允许),可以是否定的(即禁止)。由于决定一个操作是否被允许以及实施操作的引用监控器与目标对象有关,因此称授权策略是基于目标的。义务策略定义了一个主体必须或不应实施的操作。由于主体负责解释策略并实施指定的操作,因此义务策略被称为是基于主体的。
随着网络规模的不断扩大,网络应用的增多,需要将整个网络划分成多个管理域,每个域实现各自的管理策略,但域之间存在着对等的或层次的关系。域可以理解为由被管对象构成的集合。域一般是按照地域、组织、管理策略或其它形式来划分的。各个域实现各自的管理方案,而且域内的管理也大大简化。
所谓基于策略的管理,是指网络自动根据已确定的策略,去实施信息存取、信息传输以及网络设备的监控与配置,提供优化网络所必须的各项服务:包括目录/策略服务、逐级信息流管理、虚拟专网和安全服务。基于策略的管理基本原理如图1所示。基于策略的管理系统将用户提出的服务要求或管理目标,经适当的检查及调整后转化为一定的策略(这些策略可包括授权代理,防火墙,质量服务管理)并将其存储在策略库中。基于策略的管理系统根据网络设备的策略服务请求,查询有关策略,通过计算,判定有关策略是否执行,最终将策略转化为面向具体设备的指令,对网络设备配置和操作,以满足有关的管理目标或服务要求;同时基于策略的管理系统通过监测网络性能变化检查策略的执行情况,来决定是否对有关策略进行修改。
图1 基于策略的管理原理示意图
基于策略的网络管理由四个核心组件构成:策略控制台-它是网络管理人员定义和编辑策略的一种管理工具;策略服务器(又称策略决策点PDP)-负责通知交换机和路由器该如何处理不同类型的流量;策略数据库-保存策略的目录服务器;策略执行点(PEP)-通过访问列表、队列管理算法和其它方式执行策略的网络设备,如被策略激活的交换机或路由器等。
三、基于SNMPv3的网络管理
SNMP(简单网络管理协议)实际上是指网络管理的一系列标准,包括协议、数据库结构定义和数据对象。它提供了最小但功能强大的一套方法,使用简单的SMI(管理信息结构)、MIB(管理信息库)和协议来直接监视和控制网络元素。
SNMPv3(SNMP第三版)提出了一个新的SNMP体系结构,这个体系结构为各种基于SNMP的管理系统提供了一个通用的实现模型。在这个体系结构中,提出了SNMP实体、SNMP引擎、分发器、消息处理子系统、安全子系统、访问控制子系统和SNMP应用等概念。
一个SNMP管理系统由若干包含SNMP实体的节点组成。在这些实体中,至少有一个实体包含命令产生者,和/或通告接收者的应用(对应以往的管理者),多个实体包含能够访问管理设备的命令执行者和通告产生者应用(对应以往的代理者)。实体间用管理通信协议传递管理信息。包含命令生成者和通告接收者应用的SNMP实体监测和控制被管设备。被管设备是指主机、路由器、终端服务器等设备。这些被管设备的监测和控制通过对它们的管理信息的访问实现。
SNMPv3最主要的功能是其安全性,它体现在SNMPv3定义的基于用户的安全模型(USM)和基于视图的访问控制模型(VACM)。VACM MIB包含了下面类别的信息:
1、vacmContextTable:按名称列出了本地可用的上下文。
2、vacmSecurityTogroupTable:为给定的securityModel和securityName提供了一个groupName。
3、vacmAccessTable:定义组的访问权限。
4、vacmViewTreeFamilyTabel:赋给组成一个视图的行的集合的名称。
访问控制子系统提供的服务由原语isAccessAllowed来定义。isAccessAllowed原语的定义规定输入参数为securityModel、securityName、securityLevel、viewType、contextName和variableName。图2提供了一种有效的方法来查看输入变量,显示了VACM MIB中各种表是怎样作出访问控制策略的。
图2 VACM逻辑
1、谁:securityModel和securityName的组合定义了该操作是谁;它识别一种给定的要素,该要素的通信由给定的securityNodel保护。在该SNMP引擎中,这种组合最多属于一个组。VacmSecurityToGroupTable提供groupName、securityModel和securityName。
2、哪儿:contextName规定了在哪儿能找到想要的管理对象。VacmContextTable包含了一个被识别的contextName的列表。
3、怎样:securityNodel和securityLevel的组合定义了怎样保护流入的request或Inform PDU。谁、哪儿以及怎样的组合用来识别vacmAccessTable中的零或一个条目。
4、为什么:viewType规定了为什么要请求访问:读、写或通告操作。vacmAccessTable中选定的条目为这三种操作中每一种都包含了一个MIB viewName,viewType用于选择特定的viewName。viewName从vacmViewTreeFamilyTable中选择合适的MIB视图。
5、什么:variableName是一个对象标识符,其前缀识别具体的对象类型,其后缀识别具体的对象实例。对象类型指示了请求什么样的管理信息类型。
6、哪一个:对象实例指出请求的信息是哪一个具体的项。
最后,variableName与检索到的MIB视图进行比较。如果variableName与MIB视图中包含的一个元素相匹配,则授予访问权限。
四、策略执行应用程序:实现结构
授权策略向VACM表的映射是一个向VACM MIB表翻译策略模板的过程。表1总结了策略映射过程中受影响的变量。
表1 向VACM MIB映射策略属性
作为ModularSNMPv3的一部分,策略映射在SNMPv3体系结构中已经得到实现。ModularSNMPv3本质上是实现SNMPv3框架的一系列可配置的模块。其结构如图3所示。
图3 ModularSNMPv3 体系结构
实现结构由一系列的模块和相关的MIB组成,同时这些模块是由引擎和应用程序组成。包含在这些模块中的引擎有:
1、分发器:允许在SNMP引擎中同时支持多个版本的SNMP消息。分发器负责:接收PDU并把接收到的PDU递交给应用程序;传递流出PDU,为消息处理子系统作一个消息准备,并且传递流入消息给消息处理子系统来提供流入PDU;发送和接收网络上的SNMP消息。
2、消息处理子系统:负责准备消息用于发送,并从接收到的消息中提取数据。
3、安全子系统:提供安全服务,例如消息的鉴别和保密,这个子系统潜在的包含了多个安全模型。
4、访问控制子系统:提供一系列授权的服务,应用程序可以用它来检查访问权限、检索或修改请求操作以及通告产生操作,可以调用访问控制。
在SNMPv3实体的应用程序中有一些用于特定目的,比如proxy。策略执行功能就融合在SNMPv3实体的应用程序中。策略可以定义为影响主体与目标的行为、描述二者之间关系的对象。将策略显式地表示为对象有很多好处。首先,易于查找策略和个性策略,便于策略管理。其次,便于定义具有某特定策略性的类。在为一个特定应用定义策略时,该策略的实例即被创建,并保存为特定实例而定义的策略属性。授权策略就是显式地表示为存储在SNMP代理LCD(本地配置数据库)中的对象,可以被授权用户修改。运行在代理侧的策略执行应用程序把授权策略映射到相关的访问控制模块,比如VACM。管理者的请求,也就是一系列有序操作,被封装成合适的SNMP PDU。当收到SNMP PDU时,代理根据封装的策略修改相关的VACM MIB表,采用SNMP-SET原语。基于策略的网络管理和基于SNMPv3的网络管理相融合的实现框架如图4所示。
图4 实现框架
PEP(策略执行点)将策略信息转化为相应的、面向网络设备的配置和操作命令。PEP接收来自设备的策略服务请求,例如PEP接收到RSVP的数据包,其中有资源预留请求,PEP将策略服务请求发往与其对应的策略服务器,策略服务器根据请求中的相应参数查询相关的策略,通过推理,决定是否执行相关的策略,并把决定发往PEP,PEP依据策略服务器的决定来执行相关的操作。策略代理起到了网络设备与策略服务器之间桥梁的作用。策略代理检测网络设备中的策略服务请求,并将请求发往策略服务器,在策略服务器作出判决之后,将策略指令转化为现有设备支持的网络操作命令。策略代理与网络设备之间的管理就可以使用现有的网管设备和SNMPv3协议。
五、结论
将策略应用在基于SNMPv3的网络管理中,显著改进了网络管理人员过去所遵循的传统方法,它使业务和网络管理人员能够采用业务规则,并使这些业务规则自动转换成设备特有的指令,从而模拟和定义其网络。它消除了以设备为中心的传统方法常常引发的许多网络配置差错,大大提高了管理效率和可伸缩性,并使网络管理人员把工作的着眼点放在业务需求而不是设备配置的细节上,从而提高了管理效能。
摘自《通讯世界》