发明内容
本发明的目的在于克服上述已有技术的不足,提出了一种基于栅格服务的策略路由系统及动态策略生成方法以提高路由计算结果在不同网络状态下的有效性,实现了复杂动态网络环境下用户和应用的端到端目标。
本发明的目的是这样实现的:
一、术语说明
PDM:策略决策模块;
PCM:策略生成模块;
PB:策略库;
QoS:服务质量;
二、本发明提出的基于栅格的策略路由系统,包括:
外部调用模块,用于接收包含用户信息和应用信息的的网络连接请求;
网络状态监测模块,用于监测网络的状态,并得到当前的网络状态信息;
路由器,用于执行策略,并监测策略执行效果;
策略库,用于存放策略;
策略生成模块,用于进行动态策略生成;
策略冲突消解模块,用于对产生冲突的策略进行冲突消解,它与策略生成模块单向交互策略信息,与策略库也单向交互策略信息;
策略决策模块,用于进行策略匹配,它与外部调用模块单向交互用户信息和应用信息,与策略库单向交互策略信息,与策略生成模块单向交互用户信息、应用信息和网络状态信息,与网络状态监测模块双向交互,策略决策模块发送网络状态查询信息给网络状态监测模块,网络状态监测模块给策略决策模块返回当前的网络状态信息,策略决策模块与路由器进行双向交互,策略决策模块将匹配到的策略发给路由器,执行策略的路由器将监测到的策略执行效果返回给策略决策模块。
所述的用户信息和应用信息,包括通信区域信息、路由响应速度信息、通信模式信息、安全性信息、端到端时延信息、时延抖动信息、丢失率信息、带宽信息、可靠性信息、跳数信息和费用信息。
所述网络状态信息,包括网络负载信息、流量分布信息、节点中保存的拓扑信息和链路故障恢复时间信息。
三、本发明的动态策略生成方法,包括如下步骤:
(1)策略生成模块根据接收到的用户信息、应用信息和网络状态信息作为策略生成条件,然后依此策略生成条件构造出一个输入信息向量,该向量中的各元素代表了影响动态路由策略生成过程的各类信息;
(2)对输入信息向量里的各元素进行分析,将其转换成路由策略生成向量,该向量中各元素表示目标路由算法子集具有的不同路由属性,该目标路由算法子集是路由算法空间中具有相同路由计算位置、计算时刻、约束条件、通信模式、选路数量、层次结构和网络规模属性的路由算法的集合;
(3)根据路由策略生成向量中各元素与路由算法子集之间的映射关系,找到包含目标路由算法的所有路由算法子集;
(4)由步骤(3)中得到的所有路由算法子集之间包含相等、正交和独立三种关系,根据这三种关系所对应的三种运算规则,计算出目标路由算法子集;
(5)统计最后得到的路由算法子集里路由算法的数量,若路由算法的数量不为零,则从该路由算法子集中任选一条路由算法作为策略操作的路由算法;若路由算法的数量为零,则选择最短路由算法作为策略操作的路由算法。
根据IETF的定义,策略由条件和操作两部分组成。本发明中,新策略的条件为策略生成条件,操作为使用路由算法集子集里选中的路由算法进行路由计算,由此可得到新的策略。
本发明与现有技术相比,具有如下优点:
(1)本发明中由于提出了一种策略路由系统中的动态策略生成方法,该方法通过接收不同业务流的用户和应用信息、观察网络状态、监测已有路由策略针对网络状态的适用程度、可以动态地生成新的路由策略,提高路由计算结果在不同网络状态下的有效性,确保用户和应用端到端目标的实现。通过这种方法,极大地增强了路由机制在动态网络环境条件的性能,能够提高网络资源利用率,降低路由计算开销和协议开销。
(2)本发明中由于将该策略路由过程以栅格服务的形式应用到网络中,可以不依赖特定的路由协议和系统平台,具有良好的扩展性和互操作特性。
具体实施方式
下面结合附图和实施例对本发明内容及其所依据的背景技术作详细叙述:
一、策略路由系统
参照图1,本发明的策略路由系统包括:外部调用模块、网络状态监测模块、路由器、策略决策模块PDM、策略生成模块PCM、策略冲突消解模块和策略库PB。其中外部调用模块和策略决策模块PDM单向连接,网络状态监测模块和策略决策模块PDM双向连接,路由器和策略决策模块PDM双向连接,策略决策模块PDM和策略生成模块PCM单向连接,策略决策模块PDM和策略库PB单向连接,策略生成模块PCM和策略冲突消解模块单向连接,策略冲突消解模块和策略库PB单向连接。
所述的外部调用模块接收包含用户信息和应用信息的网络连接请求,并和策略决策模块PDM单向交互用户信息和应用信息,包括通信区域信息、路由响应速度信息、通信模式信息、安全性信息、端到端时延信息、时延抖动信息、丢失率信息、带宽信息、可靠性信息、跳数信息和费用信息。
所述的网络状态监测模块实时监测网络的状态,并和策略决策模块PDM双向交互,网络状态监测模块接收策略决策模块PDM的网络状态查询信息,然后将当前的网络状态信息返回给策略决策模块PDM,网络状态信息包括网络负载信息、流量分布信息、节点中保存的拓扑信息和链路故障恢复时间信息。
所述的路由器与策略决策模块PDM双向交互,路由器接收策略决策模块PDM发过来的策略,执行接收到的策略,为当前的网络连接请求建立网络连接。而该网络连接上的路由器对策略执行效果进行监测,并将这些信息反馈给策略决策模块PDM。
所述的策略决策模块PDM接收外部调用模块发过来的用户信息和应用信息、接收网络状态监测模块发过来的网络状态信息,并将用户信息、应用信息和网络状态信息作为策略匹配条件进行策略匹配,策略决策模块PDM与路由器进行双向交互,策略决策模块PDM将策略信息发送给网络中的路由器,然后接收网络连接上的路由器发过来的策略执行效果的监测信息,策略决策模块PDM与策略生成模块PCM单向交互用户信息、应用信息和网络状态信息,策略决策模块PDM与策略库单向交互,策略决策模块PDM进行策略匹配时读取策略库PB中的策略信息。
所述的策略生成模块PCM与策略决策模块PDM单向交互用户信息、应用信息和网络状态信息,并将接收到的用户信息、应用信息和网络状态信息作为策略生成条件进行动态策略的生成,策略生成模块PCM与策略冲突消解模块单向交互,它将新生成的策略发送给策略冲突消解模块。
所述的策略冲突消解模块与策略生成模块PCM进行单向交互,策略冲突消解模块接收策略生成模块PCM传过来的策略,并对接收到的策略进行冲突消解,策略冲突消解模块与策略库PB单向交互,它将经过冲突消解后的策略存储到策略库PB中。
所述的策略库PB与冲突消解模块单向交互,它接收策略冲突消解模块发过来的策略信息,并将该策略存储到自己的策略库中,策略库PB与策略决策模块PDM单向交互策略信息。
二、动态策略生成方法
在描述动态策略生成方法前,先介绍本方法中路由算法子集的划分方法:本方法中的路由算法子集是依据不同的路由属性分类对路由算法空间进行完备划分得到的,如表1所示,例如:针对路由计算位置这个路由属性分类,将路由算法空间划分为集中式路由算法子集和分布式路由算法子集。
路由算法子集之间共有相等、正交和独立三种关系,定义如下:
定义1,若路由算法子集A与路由算法子集B是基于同一路由属性分类的相同划分,则路由算法子集A与路由算法子集B相等;
定义2,若路由算法子集A与路由算法子集B是基于同一路由属性分类的不同划分,则路由算法子集A与路由算法子集B正交;
定义3,若路由算法子集A与路由算法子集是基于不同路由属性分类的划分,则路由算法子集A与路由算法子集B相互独立。
参照图2,本发明的动态策略生成的步骤如下
步骤1,提取输入信息值,构造输入信息向量。
策略生成模块PCM将接收到的用户信息、应用信息和网络状态信息作为策略生成条件,该用户信息包括通信区域信息和路由响应速度信息;该应用信息包括通信模式信息、安全性信息、端到端时延信息、时延抖动信息、丢失率信息、带宽信息、可靠性信息、跳数信息和费用信息;该网络状态信息包括网络负载信息、流量分布信息、节点中保存的拓扑信息和链路故障恢复时间信息,然后提取策略生成条件中所有输入信息的信息值,将提取出的信息值以向量形式表示为:x=(x1,x2,…xn),其中n为策略生成条件中输入信息的个数,x1,x2,…xn为策略生成条件中n个输入信息的信息值,输入信息的取值范围如表2所示,例如:对于通信区域信息,它的取值空间为域内和域间。
步骤2,将输入信息向量转换成路由策略生成向量。
依据输入信息向量x里各元素对路由属性的约束关系,将其转换成路由策略生成向量y=(y1,y2,…,ym),其中,y1,y2,…,ym表示目标路由算法子集具有的路由属性,该目标路由算法子集是路由算法空间中具有相同路由计算位置、计算时刻、约束条件、通信模式、选路数量、层次结构和网络规模属性的路由算法的集合,m是目标路由算法子集具有的路由属性的个数,m和n不一定相等,因为x里的元素与y里的元素不是一一对应的关系,x里的元素可能没有对应的路由属性,也可能有多个对应的路由属性,其对应关系如表3所示,包括如下:
2a)若输入信息向量中包含域内信息,则设置路由策略生成向量具有域内路由属性;若输入信息向量中包含域间信息,则设置路由策略生成向量具有域间路由属性;
2b)若输入信息中包含路由响应速度要求,则设置路由策略生成向量具有预计算路由属性;
2c)若输入信息中包含单播信息,则设置路由策略生成向量具有单播路由属性;若输入信息中包含任播信息,则设置路由策略生成向量具有任播路由属性;若输入信息中包含组播信息,则设置路由策略生成向量具有组播路由属性;
2d)若输入信息中包含安全性要求,则设置路由策略生成向量具有约束路由属性;
2e)若输入信息中包含端到端时延要求,则设置路由策略生成向量具有约束路由属性;
2f)若输入信息中包含时延抖动要求,则设置路由策略生成向量具有约束路由属性;
2g)若输入信息中包含丢失率要求,则设置路由策略生成向量具有约束路由属性;
2h)若输入信息中包含带宽要求,则设置路由策略生成向量具有约束路由属性;
2i)若输入信息中包含可靠性要求,则设置路由策略生成向量具有约束路由属性;
2j)若输入信息中包含跳数要求,则设置路由策略生成向量具有约束路由属性;
2k)若输入信息中包含费用要求,则设置路由策略生成向量具有约束路由属性;
2l)若输入信息中包含重载信息,则设置路由策略生成向量具有约束路由属性和分布式路由属性;
2m)若输入信息中包含流量分布不均衡的信息,则设置路由策略生成向量具有约束路由属性和分布式路由属性;
2n)若输入信息中节点保存的是本地拓扑信息,则设置路由策略生成向量具有分布式路由属性;若输入信息中节点保存的是局部拓扑信息,则设置路由策略生成向量具有层次路由属性和分布式路由属性;若输入信息中节点保存的是全局拓扑信息,则设置路由策略生成向量具有集中式路由属性;
5o)若输入信息中包含链路故障恢复时间要求,则设置路由策略生成向量具有多路径路由属性。
步骤3,通过路由属性确定路由算法子集。
一个路由属性可唯一确定一个路由算法子集,其映射关系如表4所示,包括如下:
3a)若路由策略生成向量包含域内路由属性,则对应域内路由算法子集;
3b)若路由策略生成向量包含域间路由属性,则对应域间路由算法子集;
3c)若路由策略生成向量包含平坦路由属性,则对应平坦路由算法子集;
3d)若路由策略生成向量包含分层路由属性,则对应分层路由算法子集;
3e)若路由策略生成向量包含预计算路由属性,则对应预计算路由算法子集;
3f)若路由策略生成向量包含响应式路由属性,则对应响应式路由算法子集;
3g)若路由策略生成向量包含单播路由属性,则对应单播路由算法子集;
3h)若路由策略生成向量包含任播路由属性,则对应任播路由算法子集;
3i)若路由策略生成向量包含组播路由属性,则对应组播路由算法子集;
3j)若路由策略生成向量包含无约束路由属性,则对应无约束路由算法子集;
3k)若路由策略生成向量包含约束路由属性,则对应约束路由算法子集;
3l)若路由策略生成向量包含分布式路由属性,则对应分布式路由算法子集;
3m)若路由策略生成向量包含集中式路由属性,则对应集中式路由算法子集;
3n)若路由策略生成向量包含单路径路由属性,则对应单路径路由算法子集;
3o)若路由策略生成向量包含多路径路由属性,则对应多路径路由算法子集。
根据路由策略生成向量中各路由属性与路由算法子集之间的映射关系,找到包含目标路由算法的所有路由算法子集g(y1),g(y2),…,g(ym);
步骤4,根据路由算法子集之间的关系定义,确定g(y1),g(y2),…,g(ym)之间的关系,然后按如下三种运算规则进行运算:
相等运算规则,若g(yi)与g(yj)相等,则有g(yi,yj)=g(yi)=g(yj);
正交运算规则,若g(yi)与g(yj)正交,则有g(yi,yj)=g(yi),或g(yi,yj)=g(yj);
独立运算规则,若g(yi)与g(yj)相互独立,则有g(yi,yj)=g(yi)g(yj)。
上述三个运算规则中,g(yi)为具有yi这个路由属性的路由算法子集,g(yj)为具有yj这个路由属性的路由算法子集,g(yi,yj)为同时具有yi与yj两个路由属性的路由算法子集,其中,yi与yj分别为y中的第i个与第j个元素,
通过对g(y1),g(y2),…,g(ym)进行上述三种规则运算,可以确定目标路由算法子集g(y)。
下面举例具体说明该运算过程:
设路由策略生成向量y=(y1,y2,y3,y4),其中,y1为约束路由属性、y2为集中式路由属性、y3为约束路由属性、y4为分布式路由属性。
由路由属性y1、y2、y3和y4确定的路由算法子集分别为g(y1)、g(y2)、g(y3)和g(y4),其中,g(y1)=约束路由算法子集、g(y2)=集中式路由算法子集、g(y3)=约束路由算法子集、g(y4)=分布式路由算法子集。
依据路由算法子集之间的关系定义,可以确定如下关系:g(y1)与g(y3)是相等关系;g(y2)与g(y4)是正交关系;g(y1)与g(y2)、g(y1)与g(y4)、g(y2)与g(y3)和g(y3)与g(y3)之间都是相互独立关系。
下面对g(y1),g(y2),g(y3),g(y4)进行运算,确定目标路由算法子集g(y):
1)g(y1)与g(y3)相等,根据相等运算规则有:
g(y)=g(y1,y2,y3,y4)=g(y1,y2,y4);
2)g(y2)与g(y4)正交,根据正交运算规则有:
g(y)=g(y1,y2,y4)=g(y1,y2);
3)g(y1)与g(y2)相互独立,根据独立运算规则有:
g(y)=g(y1,y2)=g(y1)g(y2)。
步骤5,对目标路由算法子集g(y)进行解析,得到一条路由算法,并将该路由算法作为策略操作的路由算法。
具体解析过程为:统计g(y)里路由算法的数量l,若l大于1,则在g(y)里任意选择一个路由算法;若l等于1,则选择g(y)里唯一的路由算法;若g(y)等于0,即没有找到对应于策略生成条件的路由算法,则选择最短路由算法。
根据互联网工程任务组IETF对策略的定义,策略由条件和操作两部分组成。本发明中,新策略的条件为策略生成条件,操作为使用路由算法子集里选中的路由算法进行路由计算。由此可得到新的策略。
表1基于路由属件分类的路由算法空间划分
路由属性分类 |
路由算法空间的划分 |
计算位置 |
集中式路由算法子集分布式路由算法子集 |
计算时刻 |
预计算路由算法子集响应式路由算法子集 |
约束条件 |
无约束路由算法子集约束路由算法子集 |
通信模式 |
单播路由算法子集任播路由算法子集组播路由算法子集 |
选路数量 |
单路径路由算法子集多路径路由算法子集 |
层次结构 |
平坦路由算法子集分层路由算法子集 |
网络规模 |
域内路由算法子集域间路由算法子集 |
表2输入信息的取值范围
输入信息 |
取值范围 |
通信区域信息 |
域内,域间 |
路由响应速度信息 |
无要求,要求 |
通信模式信息 |
单播,任播,组播 |
安全性信息 |
无要求,要求 |
端到端时延信息 |
无要求,要求 |
时延抖动信息 |
无要求,要求 |
丢失率信息 |
无要求,要求 |
带宽信息 |
无要求,要求 |
可靠性信息 |
无要求,要求 |
跳数信息 |
无要求,要求 |
费用信息 |
无要求,要求 |
网络负载信息 |
轻载,重载 |
流量分布信息 |
负载均衡,负载不均衡 |
节点中保存的拓扑信息 |
本地拓扑信息,局部拓扑信息,全局拓扑信息 |
链路故障恢复时间信息 |
无要求,要求 |
表3输入信息与路由属性之间的对应关系
表4路由属性与路由算法子集的映射关系表