基于LDAP的QoS策略信息模型
2010-06-08雷登科陈亮
雷登科,陈亮
(1.萍乡广播电视大学,江西 萍乡337000;2.北京交通大学,北京100044)
随着大量网络技术的兴起,有限的网络资源变得越来越紧张.一方面,不同种类的网络应用会有不同的服务质量要求,如视频、音频多媒体业务对时延、丢包率、抖动等有着严格的要求.另一方面,网络中存在非授权使用和偷窃网络资源的情况,如何保证合法用户使用网络资源也成为一个重要的网络安全问题.要解决这些问题,需要一种对IP网络的QoS进行控制管理的认证和安全机制[1-2].QoS不能制造带宽,它只能在有限的网络带宽的基础上,优先保证一些级别比较高的应用,而降低另外一些级别较低的应用.为此,笔者介绍了QoS策略控制系统的工作原理,并对其核心部分-策略信息模型给出了大体设计方案,通过该模型可以完成对各种策略信息有效的存储、查询,从而在该模型的基础上可以进一步建立整个策略控制系统.
1 QoS策略控制系统概述
一个典型的QoS策略控制系统如图1所示.
图1 QoS策略控制系统整体框架模型Fig.1 Theoverallframeworkofstrategiccontrolsystemmodel
策略控制系统的3个主要组成部分为策略决策者 (PDP),策略执行者 (PEP),策略仓库 (目录服务器DS).策略执行者一般位于网络节点如路由器中,用于执行策略决策者做出的决定;而策略决策者一般位于远程的策略服务器中,用来接收策略执行者的请求,从策略仓库中取出相应的策略并返回给策略执行者; 目录服务器 (DS),用于存储具体的策略规则.图1所示QoS策略控制系统的工作原理为:1)当一个请求QoS的RSVP信令消息到达路由器后,RSVP模块将该请求发送给PEP;2)PEP将该请求发送到远端的PDP,请求相应的策略;3)PDP从策略仓库中查找并取出策略返回给PEP,再由PEP将其转发到RSVP模块;4)RSVP模块通知通信控制模块 (Traffic control),根据策略由数据包分类器(PC)和数据包调度器 (PS)对数据包进行分类,并进入具有不同优先级的队列中进行发送.
通过该系统,具有高优先级的用户,如域内用户、实时性通信程序等可以获得较高的QoS保证;而一般的用户的通信质量则会被降低或只能按传统的尽最大努力方式进行;非法用户则会被拒绝.从而达到了管理IP网络QoS以及控制网络安全的目的.
目录服务器是实现策略统一管理的基础,用来存储策略及其相关的各种信息,而策略又是整个策略控制系统运行的核心,所以策略控制系统的核心技术就是如何将内容众多,形式多变的策略信息按照目录服务的信息模型组织成一个灵活、高效的策略信息库.要完成从普通的策略信息模型到基于LDAP目录服务的信息模型的转变则需要一个扩展过程和一个映射过程:从普通的策略信息模型扩展成为针对QoS的策略信息模型,从针对QoS的策略信息模型映射到基于LDAP目录服务的QoS策略信息模型.
2 策略及策略信息模型
2.1 策略
策略即一些通过 “与”和 “或”连接的条件集合,当值为真的时候就会采取一些措施.单独使用的一条策略一般称为策略规则,为了完成更为复杂的工作,策略还可以组合成为策略组,一些简单的策略组还可以组合成为更复杂的策略组.策略组可以表示出对象之间的复杂的相互依赖关系,如一个用于应用程序访问的用户登录策略组就是用户身份鉴别,网络定位,登录方法和时间等一系列策略的组合.
策略具有优先级,其目的是为了方便在通用的策略中的个别特殊情况的策略应用.例如,为一个组的成员发起的通信过程制定了一个通用的QoS策略,而该组中有一个特殊成员要求级别更高的服务质量保证,于是又为该成员制定了一条优先级更高的QoS策略,由于这2个策略对该成员都适用,但其优先级不同,高优先级的策略将被实施.策略有以下几种类型:驱动型策略、配置型策略、使用型策略、安装型策略、出错和事件型策略、安全型策略、服务型策略.
2.2 角色
角色的概念是整个策略模型的核心所在.与集中管理网络中众多的资源不同,策略管理员把每个资源分配给一个或多个角色,然后指定施加于这些角色的策略,因此策略模型就可以通过执行分配给角色的策略来管理和配置资源,从而减轻重复工作,便于管理.
角色是一种属性,用于从众多可用的策略中为网络设备和节点选择适合他们的一条或多条策略.角色又可以组合成为角色组合,它是一个属性集,同样用于在策略集合中选择适用于网络实体的策略子集,而这些正是角色和角色组合的主要功能所在.
例如定义了 3 个角色 “Ethernet”、“Campus”、“WAN”,在策略仓库中有分别适用于角色“Ethernet”、“Campus”和“WAN”,角色组合“Campus”+“Ethernet”和“Ethernet”+“WAN”的策略,如果定义了一个具有角色组合 “Ethernet”+“WAN” 的节点A,那么将会有3种策略适用于它,即适用于角色“Ethernet”及“WAN”的策略,以及适用于策略组合“Ethernet”+“WAN”的策略.
角色组合还可以用来解决策略冲突.如在策略管理系统明确知道“Campus”和“WAN”这 2 个角色不能兼容,策略管理员可以为具有角色组合“Campus”+“Ethernet” 的节点 A 和具有角色组合“Ethernet”+“WAN”的节点 B 制定 2 套策略.当发现角色组合“Campus”+“WAN”的时候,策略管理系统会把其标记为错误.
2.3 策略信息模型
策略信息模型定义了2种对象类:一种为结构类,用于表示及控制策略;另一种是关系类,指出了各个对象实例之间如何发生联系.共有PolicyGroup、 PolicyRule、 Policycondition、 Policyaction、 PolicyRepository和PolicyTimePeriod-Condition等几个主要的结构类,每个类都有自己对应的属性.在信息模型中,对象实例之间的关系也被表示成类,称为关系类.一个关系类通常联系了2个类,它可以表示出这2个类之间的一对多、多对多的包含关系;有的关系类联系的是同一个类,该关系类表示了它们之间的递归包含关系 , 共 有 PolicyGroupInPolicyGroup、 PolicyRuleInPolicyGroup、 PolicyConditionInPolicyRule、PolicyActionInPolicyRule等几个重要的关系类.
策略信息模型定义了高层的策略并引入了对各种类型的策略信息模型都适用的术语,它意在通过一系类的类和关系来得到一种对策略规则、策略组合、策略条件和行为等策略信息的通用表示方法,当策略信息模型扩展成其他的策略模型时,这些类和关系仍然可以使用,这极大地方便了互操作性.信息模型中不涉及具体的实现方式,实际使用中需要把具体的策略模型映射到使用LDAP存取的目录中.
3 基于LDAP的QoS策略信息模型
QoS策略信息模型对普通的策略信息模型在很多方面进行了许多扩展,如扩展了层次化的策略存储仓库的概念以满足具体的QoS应用,扩展了可重用对象的概念,扩展了策略规则的结构.另外,在QoS策略信息模型中还增加了许多普通的策略信息模型中没有的概念,如在普通的策略信息模型中PolicyGroup是PolicyGroup及PolicyRules的容器,但这些策略规则只是简单的集合,而不允许规则的嵌套,而扩展了的信息模型中则允许规则的嵌套;在QoS策略信息模型中增加了策略执行决定的概念,用于选择策略执行的先后顺序;QoS策略信息模型中还定义了复合条件和预定义常量和变量;并对Policycondition、Policyaction在QoS应用方面进行了扩展.
QoS策略信息模型和普通的策略信息模型都只是一个虚拟的信息模型,独立于具体的策略存储仓库和访问协议.只有依靠映射才能完成实际的应用.我们可以将其映射成使用LDAP协议访问的存储在目录中的信息模型.
在策略信息模型中包含2个系列的对象类:一是结构类,另一个是关系类.而在LDAP目录中有3种类:抽象类,结构类,辅助类.要完成到LDAP模型的映射,需要在2种模型的对象类之间完成相应的映射:对于结构类及其所包含的属性,只需要一对一的映射到LDAP类中即可;对于关系类,则有3种方法,即映射为LDAP的辅助类、映射为属性DN来索引被关联的对象、在目录信息树中利用子节点和父节点的关系来表示其包容关系.2种模型的类及属性之间还有其他一些不同之处:在LDAP模型中属性称为 “attribute”, 而在普通信息模型中为 “property”; 在LDAP模型中类和属性是以OID标识的,而在普通信息模型中是以名字标识;在LDAP中属性的定义是全局的,可以出现在许多类中,而在普通信息模型中一个属性只能出现在一个类中,或者继承到该类的子类中,但不会出现在其他类中.
LDAP的映射关系形成了一个严格的树型结构,一棵树由代表各个对象实例的结点组成,有3种类型的结点:一个根结点root,叶子结点,非叶子结点;根节点有一个或多个分支结点,这些节点是叶子结点或非叶子结点,非叶子节点又可以包含其他的叶子节点和非叶子节点.树形结构的一个特点就是包含:直接将被包含对象置于包含对象之下作为一个叶子节点或者将存储于其他地方的对象通过在包含对象中用DN索引来间接包含.
一棵QoS策略信息模型树通常是目录信息树的一个区域,它的根是qosPolicyGroup对象的一个实例,一般有2个分支,一个是可重用对象仓库policyRepository,包括一些可以重用对象qosPolicyVariable、 qosPolicyValue、 qosPolicySimpleCondition、PolicyAction等的实例;另一个则是由一些策略规则组成的策略信息树,它由一些qosPolicyDomain分支组成,每一个qosPolicyDomain分支代表了一个特定的管理域,如代表一个公司不同的部门,或代表执行不同的功能,如用户身份鉴定,网络资源的分配等,它包含了一组qosNamedPolicyContainer对象的实例,他们是QoS策略的容器,包含具体的策略规则PolicyRule,这些策略有一个优先级属性,高优先级的策略先执行.PolicyRule又由PolicyCondition和PolicyAction组成.
4 在目录信息树中查找策略对象
当策略决策者 (PDP)根据策略执行者 (PEP)的请求从LDAP目录中查找策略对象时,如何快速、有效地在目录中找到所查询策略所在子树的入口点就成为一个主要的问题.在基于LDAP的QoS策略信息模型中采用了DN和辅助类的方法.如图2所示,PDP开始得到了指向策略信息树的某个入口点A的DN,A是一个结构类,在A上附加了一个辅助类policySubtreesPtrAuxClass,该辅助类有一个多值的属性policySubtreesAux-ContainedSet用于指向一系列包含相关策略信息的策略信息子树的根节点,通过把该属性附加到其他类的实例上,用户可以很容易地找到目录中的相关策略信息的入口点.在此图中该辅助类包含了指向2棵子树的根节点C和D的DN.一旦PDP得到了这些DN,它将根据LDAP请求消息中的对象选择标准来选择策略对象.这些选择标准常定义为 “object class=policy”的形式,因为所有代表策略规则,策略条件,策略行为等的类都是抽象类Policy的子类,所以对于这些类该选择标准都为真值.特殊情况下,PDP要查找的不是策略对象,如IP地址等,这时可以用辅助类policyElement标记入口点,以满足 “object class=policy”形式的选择标准.有时PDP只需要策略对象的某个子集,这时可以用policyKeywords属性来增加选择标准.
图2 策略对象查找图例Fig.2 Policy object search map
5 结 语
笔者给出了一个基于LDAP的QoS策略信息模型的大体框架设计方案,通过该模型可以有效的建立QoS策略控制系统,从而达到管理IP网络QoS及实现网络安全的目的.QoS和网络安全是下一代网络亟待解决的问题,而策略控制是解决这些问题的关键所在.尽管现有的策略信息及策略控制方面的技术还不成熟,但是随着技术的不断发展完善,策略控制必将展现出其强大的发展前景.
[1]杨海松,洪佩琳,李津生.IP网络QoS策略信息存储模型的研究[J].计算机工程,2002,11(11):63-65.
[2]陈亮,梁满贵,张宗轶.QoS策略控制在Windows 2000中的实现[J].现代电子技术,2006(2):67-70.