基于SNMPv3的策略网管的设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Feb.2005,Volume2,No.2(SerialNo.3)通讯和计算机JournalofCommunicationandComputer,ISSN1548-7709,USA62基于SNMPv3的策略网管的设计与实现乐毅1,肖德宝2(1,2华中师范大学计算机网络与通信研究所,湖北武汉430079)摘要:本文引述了基于业务规则的策略网络管理的概念以及模型,提出了SNMPv3的管理实现框架,并以此为基础研究了策略网络管理的实施,在最后提出了基于SNMPv3的策略网管的实现框图。关键词:SNMPv3;策略网络管理;业务规则本文受湖北省科技攻关重大项目(项目编号:2001AA104A05)和湖北省自然科学基金项目(项目编号:2001ABB013)资助。1乐毅(1979-),硕士研究生,主要研究领域为计算机网络管理。E-mail:ccnuyy3218@163.com.2肖德宝,教授,博士生导师,研究方向为网络管理、网络安全、协议工程学。1.引言网络管理的框架在过去主要是基于网元设备的管理[1],网络管理员需要了解被管设备(ManagedObject)的管理接口,掌握MIB变量的精确含义,而对于监视、控制网络运行的状态以及修改网络配置参数。这些工作异常的烦琐,而网络管理员本身的专业水平也直接影响了网络管理的有效性。随着网络规模的不断扩大,不仅有网络设备、用户数量的增加,而且许多网络设备如主机、服务器、交换机、路由器、集线器等来自不同的厂商,这就使得网络管理日趋大型、复杂和异构化,从而加重了管理员的负担,并最终成为网络管理的瓶颈。此外,由于多媒体在网络中的应用,如网络会议、视频点播等多种业务,网络变得越来越拥挤,用户对服务质量(QoS)的要求越来越高。针对网络管理所面临的越来越复杂,要求越来越高的问题,基于策略的网络管理(PBNM)[2]方案产生了,并且成为近几年发展比较迅速网管技术之一。另一方面,随着计算机网络技术的发展,计算机网络的规模和应用范围急剧扩大,网络所承担的任务愈来愈繁重。如何成功地对网络进行管理,提高网络的性能和服务质量,已成为一项迫切的任务。国际上的Internet组织为网络管理制订了SNMP(简单网络管基于SNMPv3的策略网管的设计与实现63理协议)[3],这一协议由于其简单和易操作性,而得到了广泛的应用,并且已成为事实上的标准。本文以SNMPv3为基础,探讨策略网管的设计与实现,从而扩展了SNMPv3对现有网络的管理。2.基于策略的网络管理2.1策略的概念在网络管理范畴,策略是指一组指导和确定如何管理、分配和控制网络资源的规则[4]。策略的执行确保业务规则总是得到遵循。业务规则构成指导行动的条件。条件是用于确定是否应采取某种行动的一系列表述或对象。策略在定义客户机之间分配网络资源的方法中,客户机可以是单个用户计算机、部门计算机、主机或应用程序。网络资源的分配可以依据一天的时间、客户认证优先权、资源的可用性以及其他因素。网络资源的分配可以是静态的,也可以根据业务量的变化动态进行。策略可以由网络管理人员产生,并保存在策略库中。在网络运行期间,网络管理软件查询和运用策略,做出决策。IETF与DMTF(DistributedManagementTaskForce)合作定义了策略核心信息模型(PolicyCoreInformationModel)[5]及其扩展,并提出了基于策略的网管系统实现框架[6]。在CIM(CommonInformationModel)的基础上,IETF定义了基于条件-动作规则的策略模型,并将策略网管系统划分为策略仓库、策略编辑器、策略决定点PDP(PolicyDecisionPoint)、策略执行点PEP(PolicyEnforcementPoint)、策略监视器五个功能实体。用户使用策略编辑器输入策略;编辑器对策略处理之后存入策略仓库;PDP负责策略规则的解释和发起执行;PEP实际执行策略动作;最后由监视器反馈执行效果。除此之外,IETF还制定了交换策略信息的通信协议COPS(CommonOpenPolicyService),并在QoS(QualityofService)和安全领域对策略核心信息模型作了扩展。2.2策略网管的模型根据以上给出策略的概念,策略实际上定义了系统需要完成的行为或期望达到的状态。策略本身可以区分出多个抽象层次。从高级的组织或企业目标的指导策略到低级的编码在程序实现中的过程性策略,形成一个策略层次体系。本文中,网络管理的策略处在较低级抽象层次上,它把策略定义为一组基于SNMPv3的策略网管的设计与实现64Event-Condition-Action(ECA)规则的集合,规定当事件E发生时,如果满足条件C,则执行动作A。据此,策略可以看作是一个事件集到动作集的映射函数,基于策略控制的网络系统也可以被看作是一个状态机,策略决定了被管设备所处的合法状态。策略规则中的事件和条件定义了策略应用的场合,可以表示为一个条件命题的析取范式或合取范式,当条为真时,规则指定的动作集将被执行,这可能导致系统停留在原有的状态或变迁到一个新的状态;对于策略规则中的动作集,既可以规定一个特定的执行顺序,指出这一执行顺序是强制性的或仅仅是建议性的,也可以说明动作的执行顺序无关紧要。策略既可以简单到一条策略规则,也可以是若干策略规则的聚合,聚合而成的策略组还可以互相嵌套,如图1所示。图1策略与策略规则模型根据触发条件,策略可以分为静态和动态两种方式。静态策略根据预定义的参数,以一种预定义的方式应用一个固定的动作集合。例如规定VOD业务只能在下午5点钟以后使用,或为了安全起见禁止某些IP地址的用户使用特定的网络资源等等。动态策略根据网络状态的变化,仅仅在需要的时候执行。例如当发生网络拥塞时,禁止视频流负载,或某种高级别的用户使用网络时,把“尽力而为”业务的流量限制在网络容量的某个门限值以下等等。2.3基于策略的网络管理系统的框架实现基于策略的网络管理系统,通常至少需要三个基本功能组件。●策略存储仓库——负责存储、检索策略和其他相关信息的存储设施,如关系性数据库。目前多倾向于目录服务器。●策略决定点PDP——根据策略规则和网络服务状态做出决定的实体,负责策略规则的解释和发起执行。例如,接受PEP发来的请求和策略条件,在策略仓库中查找匹配的策略,然后把结果(动作)返回PEP。●策略执行点PEP——实际执行策略动作的实体。负责向PDP发起策略决定请求,提供策略条件,并把返回的决定翻译为具体设备相关的配置操动作事件条件策略组动作策略规则条件事件基于SNMPv3的策略网管的设计与实现65作命令进行执行。此外,为了方便管理员创建和管理系统中的策略以及监控并及时调整策略执行的效果,还需要一个策略编辑器和策略监视器。策略编辑器是提供给管理员的用户接口,具有编辑、察看、(从语法和语义)验证策略的功能,能够把管理员输入的自然语言形式的策略细化为多个策略规则,检测规则之间的冲突,并以适当的格式存入策略仓库。策略监视器是一个反馈机制,它实时地收集网络状态信息,检查策略执行的效果,并通过PDP调整策略的执行,以达到预期的目标。由此,可以给出一个由PDP、PEP、策略仓库、策略编辑器和策略监视器构成的网管系统的框架[7],如图2所示。对于支持策略网管的新式设备,可以直接内嵌PEP软件,而对于老式的设备,则可以通过增加一个外部PEP代理来加入策略网管系统。PEP代理把PDP发来的策略决定转换成适合具体设备管理接口的命令,再通过设备能理解的方式与其交互。PDP和PEP之间需要一种新的、可用于传递策略信息的通信协议,如COPS,而对策略仓库的访问则可以通过LDAP协议[8]实施。策略监视器实时监视网络运行状态并反馈给PDP,以决定策略是否得到了正确执行以及下一步可能的动作。PDP、PEP、策略监视器三者构成了一个管理活动控制环。图2基于策略的网络管理系统的框架3.SNMPv3的网络管理3.1SNMPv3管理概述SNMP是基于TCP/IP的应用层管理协议,它使用UDP作为传输层协议,能管理支持代理进程(或委托代理)的网络设备。SNMP是适用于互联网络设备的网络管理框架,主要由管理信息结构(StructureofManagementInformation,SMI)、管理信息库(ManagementInformationBase,MIB)和SNMP协议组成。SNMPv3即第三版的SNMP与第一、二版有着较大的区别,提出了一种全新的体系结构。在SNMPv3中,SNMP代理和SNMP管理器都被称为基于SNMPv3的策略网管的设计与实现66SNMP实体,它由SNMP引擎和SNMP应用程序组成[9]。SNMP引擎包括调度器、消息处理子系统、安全子系统和访问控制子系统四个部分。●调度器(Dispatcher)主要负责发送和接收消息。当接收到消息时,调度器试图确定该消息的版本号,然后把该消息传递给适当的消息处理模型。同时,它还负责发送PDU给应用程序,为要发送的消息选择适当的传输。●消息处理子系统是由一个或多个消息处理模型组成。它主要负责准备要发送的消息以及从接收到的消息中提取数据。●安全子系统提供SNMPv3的安全服务。主要体现在消息的验证和加/解密消息,以防止被未授权SNMP实体的修改和窃听。SNMPv3定义了基于用户的安全模型(User-BasedSecurityModel,USM)。●访问控制子系统的责任是确定是否允许访问一个管理对象。RFC中定义了一种访问控制模型,即基于视图访问控制模型(View-BasedAccessControlModel,VACM)。3.2SNMPv3的实现框架RFC3411给出了SNMPv3的体系结构,在本研究所实现基于SNMPv3协议网管平台时,根据具体实践做出了必要的改动,在尽量简化结构的同时,需要实现SNMPv3的所要达到的安全服务功能。因此,提出了以下的实现框架(图3所示)。在图3中,最上层的虚线框表示的是直接提供给上层用户的SNMP的通用API接口。与之用双箭头连接加粗的大框图表示SNMP的实体,它一分为二,分别是SNMP操作原语模块和SNMP引擎模块。SNMP操作原语模块由命令发生器、通告产生器和通告接受器三个应用程序组成(对于Agent,还要有访问控制模块,如SNMPv3定义的VACM);SNMP引擎包括调度器、消息处理子系统和安全子系统三部分。SNMP实体下面是报文的网络传输,主要使用UDP和TCP协议。在这一实现框架中,各个子系统或模块之间的信息交换以报文为单位,调度器的调度也是针对报文的调度,只有进入到某个子系统或模块内部时,才会解开报文,针对报文的某一个部分操作。4.基于SNMPv3的策略网络管理的实现SNMPv3增加了网络管理安全的特性,表现在基于SNMPv3的策略网管的设计与实现67对报文的验证和加密,因此在应用策略管理时,要很好的把两者结合起来。此外,如何把策略指令转化为相对应的SNMP管理原语以及返回给PDP相应的结果也是值得考虑的地方。图3SNMPv3的实现框架在我们研究所开发网络管理平台过程中,我们在充分考虑以上分析的种种因素的基础上,参考了NewZealandCanterbury大学JenneWong提出的实现体系结构[10],给出了图4的其实现框架。PEP(策略执行点)将PDP(策略决定点)传过来的策略任务转化为相应的网管命令,它可以是一个单独的PEP代理,也可以嵌入在Agent当中。PDP根据策略规则和网络服务状态做出决定,使用LDAP从目录服务器中查找匹配的策略,然后把结果返回给PEP。此外,它接受PEP发来的请求和策略条件,并以此来调整策略的执行。例如,设备可能会向管理端发送Trap命令,PEP必须先接收到这一命令,提取相应的有效信息,并把请求返回给PDP。在图4中,Manager与一般意义上管理者是有区别的,它是一个广义上的策略管理者。在一个被管网络中,这样的管理者可能不止一个,它们之间是协同工作的。图4基于SNMPv3的策略网管的实现框图在GUI界面,用

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功