专利名称:获得智能光网络中松散路由的约束路径的方法和装置的制作方法
技术领域:
本发明涉及智能光网络,具体涉及获得智能光网络中松散路由的约束路径的方法和装置。
背景技术:
光网络,包括SDH/Sonet、波长网络,传统上是一种基于集中管理的系统。光网络节点通常是“哑”的,光连接的创建、维护、拆除都需要人工干预,这种方式建立的光连接称为永久连接。这种光网络系统不能满足数据业务的不断增长、动态和灵活的需求,解决这个问题的关键是动态光交换。ITU的自动交换光网络(ASON)架构给传统上的光网络上增加了一个控制平面光网络节点首先通过链路局部的发现技术获得本网络节点与其他光网络节点的连接关系;再通过控制平面发布其节点和链路状态,并接收网络中其他网络节点的状态发布,最终每个光网络节点都有一份描述网络精确拓扑的“网络地图”,其中包括节点、链路、资源信息;光网络节点被客户设备或管理系统要求建立连接时,利用“网络地图”的信息,结合一定的路由算法得到一条可行的路径,再通过信令协议驱动路径上的节点建立交叉连接,直到目的节点完成光连接的动态建立;在网络连接动态建立、拆除,或者故障引起链路资源变化时相应光网络节点需要及时发布更新的节点、链路状态信息,实现“网络地图”的再同步。
在目前的路径计算方法中主要使用的是带约束的最短路径优先算法(CSPF算法)。主要约束包括带宽、链路保护类型、禁止节点、禁止链路。CSPF算法实现如下CSPF算法使用两个名为PATHS(路径)和TENT(尝试路径)的数据库。PATHS中保存了最短路径树的信息,而TENT中包含了在找到最短路径之前的尝试节点的信息。仅当找到了到达一个节点的最短路径时,该节点才会放入PATHS数据库中。
CSPF算法计算的步骤如下1.将参加计算的节点放入PATHS中(表示没有比到它自身更短的路径存在),TENT中预先放入计算节点的邻居节点。
2.当一个节点被放入PATHS时,检查该节点到各个邻居节点的链路,对链路的属性与约束条件进行匹配,并对邻居节点进行约束条件的匹配。如果约束匹配成功,则如果邻居已经存在于PATHS中,表示新路径是一条较长的路径,这时忽略新路径;如果邻居存在于TENT中,并且新路径更短,则用新路径代替老路径。如果新路径和TENT中的路径同样长,则邻居有等价的路径。如果邻居节点不在TENT中,则在将节点移到TENT之前,裁减不满足LSP约束条件的链路和节点,并把满足LSP约束条件的链路对应节点放入TENT。
3.将TENT中有最小代价的节点放入PATHS中。
4.当TENT为空时或者TENT中有最小代价的节点是目的节点,路由计算结束,输出计算结果;否则,跳转到步骤2。
在现有技术中,松散路由约束的实现是通过MPLS(多协议标签交换)信令与CSPF算法结合完成的。主要实现方法是在松散路由的各个节点上多次进行CSPF计算完成。具体实现如下
1、在源节点设备上,以源节点为源节点、松散节点1作为目的节点利用CSPF算法计算路径。如果计算成功,利用信令把这些路径节点发送到松散节点1;2、松散节点1收到上个节点计算的路径信息,把这些路径上的节点作为排除计算节点,把本节点作为源节点,松散节点2作为目的节点进行CSPF路径计算。如果计算成功,利用信令把这些路径节点发送到松散节点3;3、松散节点N收到上个节点计算的路径信息,把这些路径上的节点作为排除计算节点,把本节点作为源节点,松散节点N+1作为目的节点进行CSPF路径计算。如果计算成功,利用信令把这些路径节点发送到松散节点N+1;4、直到信令达到最后的目的节点,完成整个路径的计算。再向上游节点返回信令,直到源节点。
图1为有松散路由约束的网络拓扑示意图;本说明书将结合该示意图描绘现有技术与本发明的实施例中实现获得智能光网络中松散路由的约束路径的方法。
在该网络中,路径建立的要求是源节点是1,目的节点是10,松散路由约束是节点5、节点6,也就是说路径必须顺序经过节点5、节点6。
按照上述方法,建立过程为1)在源节点1进行计算路径,计算从节点1到节点5的路径。经过计算,最短路径是{1,4,3,5}。
2)节点1的MPLS会发送PATH信令到下一跳节点4,在PATH信令中会携带路径信息{1,4,3,5}、松散节点信息{5,6}、及目的节点信息{10};节点4也会发送PATH消息到节点3,节点3也会发送PATH消息到节点5。
3)信令到达节点5,节点5发现没有下一跳路径可选,便计算源节点是5,目的节点是6的路径(并排除路径上的节点)。计算成功,路径是{5,6}。如果计算失败则向上游节点3返回错误信令。
4)计算成功后,节点5把PATH信令发送到下一跳节点6,在PATH信令中会携带路径信息{1,4,3,5,6}、松散节点信息{5,6}、及目的节点信息{10}。
5)信令到达节点6,节点6发现没有下一跳路径可选,便计算源节点是6,目的节点是10的路径(并排除路径上的节点)。计算成功,路径是{6,9,8,10}。如果计算失败则向上游节点5返回错误信令。
6)计算成功后,节点6把PATH信令发送到下一跳节点9,在PATH信令中会携带路径信息{1,4,3,5,6,9,8,10}、松散节点信息{5,6}、及目的节点信息{10}。
信令最后到达节点10,从节点10沿原路径返回RESV(预留)信令,到达源节点1。LSP建立成功。
这个方法在源节点和各个松散节点分别计算路径,在源节点处,如果没有收到目标节点返回的信令,是不能知道能否成功到达目的节点路径。因此需要与MPLS信令结合,在各个松散节点进行多次计算。而且在源节点和中间节点上是不能立即知道带松散约束的LSP能否建立成功,需要等待返回信令,才能知道成功与否。
发明内容
本发明的目的是针对上述现有技术的缺点,提供一种获得智能光网络中松散路由的约束路径的方法和装置,用于针对松散路由约束,在源节点只需要计算一次,就能知道到目的节点能否找到一条符合松散路由约束的路径。
本发明提供一种获得智能光网络中松散路由的约束路径的方法,包括步骤获得所述约束路径的顺序松散节点和源节点与目的节点;获取所述网络的拓扑结构;将所述源节点为起始节点,所述松散节点中的目前排序第一顺序的松散节点为目的节点,利用CSPF算法计算所述源节点到所述第一顺序的松散节点的路径;以所述目前排序第一松散节点为起始节点,所述松散节点中的下一个松散节点作为目的节点,使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径;重复该步骤直到最后一个松散节点;以所述最后一个松散节点作为起始节点,所述目的节点作为目的节点,使用CSPF算法计算所述最后一个松散节点到所述目的节点的路径;合并所有计算完的路径,将每条路径按顺序首尾相连形成完整的路径输出。
可选地,所述获取所述网络的拓扑结构的步骤包括如果网络路由为域内路由,所述源节点通过域内路由协议获取所述网络的拓扑结构;如果网络路由包括域间路由,所述源节点通过域内路由协议与多域路由获取所述网络的拓扑结构。
优选地,所述利用CSPF算法计算所述源节点到所述第一顺序的松散节点的路径的步骤包括禁止所有其它松散节点。
可选地,所述使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径的步骤包括禁止已计算的路径中的节点和还没有参加计算的松散节点。
优选地,所述使用CSPF算法计算所述最后一个松散节点到所述目的节点的路径的步骤还包括,禁止已计算的路径中的节点。
可选地,所述以所述目前排序第一松散节点为起始节点,所述松散节点中的下一个松散节点作为目的节点,使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径;重复该步骤直到最后一个松散节点的步骤包括判断是否存在下一个松散节点,如果存在,设定目前排序第一松散节点为起始节点,所述存在的下一个松散节点为目的节点;如果不存在,结束该步骤。
优选地,方法还包括步骤判断所述路径是否有约束松散节点,如果有,执行所述方法的步骤,如果没有,直接利用CSPF算法获取路径。
可选地,方法还包括步骤判断所述约束路径的松散节点是否有顺序,如果有,执行所述方法的步骤,如果没有,利用其它方法获取路径。
优选地,方法还包括步骤通告MPLS完整的路径信息;MPLS得到完整的路径信息后,通过所述完整的路径发送PATH消息,再返回RESV消息,如果资源预留成功,建立了所述路径。
本发明还提供一种获得智能光网络中松散路由的约束路径的装置,包括
获取装置,位于源节点中,用于获得所述约束路径的顺序松散节点和源节点与目的节点;和获取所述网络的拓扑结构;计算与控制装置,用于将所述源节点为起始节点,所述松散节点中的目前排序第一顺序的松散节点为目的节点,利用CSPF算法计算所述源节点到所述第一顺序的松散节点的路径;以所述目前排序第一松散节点为起始节点,所述松散节点中的下一个松散节点作为目的节点,使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径;重复该步骤直到最后一个松散节点;以所述最后一个松散节点作为起始节点,所述目的节点作为目的节点,使用CSPF算法计算所述最后一个松散节点到所述目的节点的路径;路径合并装置,用于合并所有计算完的路径,将每条路径按顺序首尾相连形成完整的路径输出。
可选地,所述计算与控制装置还包括判断装置,用于判断是否所有松散节点计算完毕。
利用本发明,实现了针对松散路由约束高效建立符合松散路由约束的路径。利用本发明在源节点就能确定符合约束的路由是否能有,而不需要在各个松散节点分别进行计算确定路径。提高了网络效率,减少了对节点的处理能力的要求。
图1为有松散路由约束的网络拓扑示意图,这是一个MESH(网格)网络,链路是双向的带权图,链路上的数值为权值;图2示出了本发明实施例的获得智能光网络中松散路由的约束路径的方法的流程图。
具体实施例方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明的实施例。
图2示出了本发明实施例的获得智能光网络中松散路由的约束路径的方法的流程图。本发明利用在源节点通过多次的CSPF计算来实现松散路由约束,以获得建立网络的路径;其中,CSPF计算的次数与松散节点的数目有关。在本发明中,要求给出的松散节点是顺序的,也就是说在给出的松散节点是在最终的路径中是要顺序经过的。本发明的方法的过程如下在开始建立网络路径时,首先在步骤10,设置所有松散节点禁止;然后在步骤15,初始化松散节点变量;在步骤20,设定源节点为起始节点。
在步骤25,判断是否还存在松散节点未处理,如果还有,在步骤30,将松散节点1作为设定目的节点,然后在步骤35,使用CSPF算法计算路径,保存结果,并在该次计算中禁止已计算的路径中的节点和还没有参加计算的松散节点,也就是排除这些节点;然后,在步骤40,将松散节点1作为源节点;并在步骤45,改变松散节点变量,这里,将该变量加1;返回步骤25;如果没有,在步骤50,将目的节点作为设定目的节点,然后在步骤55,使用CSPF算法计算路径,保存结果;
然后,在步骤60,将所有获得的路径合并。方法结束。
换言之,该方法包括下面的过程1)首先,需要在给出的松散节点是顺序的。也就是说在给出的松散节点是在最终的路径中是要顺序经过的;2)将源节点为起始节点,松散节点1作为目的节点,使用CSPF算法计算路径,并在该次计算中禁止其他松散节点,也就是排除其他节点;3)再将松散节点1作为起始节点,松散节点2作为目的节点,使用CSPF算法计算路径,并在此次计算中禁止先前计算的路径中的节点和还没有参加计算的松散节点;4)再将松散节点n作为起始节点,松散节点n+1作为目的节点,使用CSPF算法计算路径,并在此次计算中禁止先前计算的路径中的节点和还没有参加计算的松散节点;5)最后将再将最后一个松散节点作为起始节点,目的节点作为目的节点,使用CSPF算法计算路径,并在此次计算中禁止先前计算的路径中的节点;6)合并所有计算完的路径,将每条路径按顺序首尾相连形成完整的路径输出。
在本发明的实施例中,需要注意的是1)松散路由约束的定义必须节点是有顺序的,也就是说在给出的松散节点是在最终的路径中是要顺序经过的。本发明对无序的松散约束是不适用的。
2)在本发明的方法使用的CSPF算法必须实现禁止节点约束,因为算法是需要使用到禁止节点约束的,即上文中提到的禁止先前计算的路径中的节点和还没有参加计算的松散节点。
3)在实际应用中需要判断计算请求中是否携带松散约束,如果有则可使用本发明的方法,如果没有则只需要CSPF算法就可以了。
现以图1的网络拓扑为例描绘在图1的网络拓扑中如何实现本发明。其中,在该实施例中,路径建立的要求是源节点是1,目的节点是10,松散路由约束是节点5、节点6,也就是说路径必须顺序经过节点5、节点6。
获得网络路径的方法包括以下步骤1)在源节点进行路由计算。首先以节点1作为源节点,松散节点5作为目的节点进行路径计算。计算成功,路径为{1,4,3,5};如果计算失败,在节点1就能知道要求的LSP是不能建立的。
2)再以节点5作为源节点,松散节点6作为目的节点,进行路径计算。计算成功,路径为{5,6};如果计算失败,在节点1就能知道要求的LSP是不能建立的。
3)再以节点6作为源节点,目的节点10作为目的节点,进行路径计算。计算成功,路径为{6,9,8,10};如果计算失败,在节点1就能知道要求的LSP是不能建立的。
4)合并路径信息。完整的路径信息就为{1,4,3,5,6,9,8,10}。通告MPLS完整的路径信息。
5)MPLS得到完整的路径信息后,就逐跳发送PATH消息1->4->3->5->6->9->8->10,从目的节点再返回RESV消息1<-4<-3<-5<-6<-9<-8<-10,如果资源预留成功,则要求的LSP就建立成功了。
利用本发明在源节点就能确定符合约束的路由是否存在,而不需要在各个松散节点分别进行计算确定路径。
本发明特别适用于域内路由,在域内路由情况下,可以提高效率。在多域路由情况下,通过利用域间的路由协议,可以高效地建立智能光网络中松散路由的约束路径。
本发明的实施例中的一种获得智能光网络中松散路由的约束路径的装置,包括获取装置,位于源节点中,用于获得所述约束路径的顺序松散节点和源节点与目的节点;和获取所述网络的拓扑结构;计算与控制装置,用于将所述源节点为起始节点,所述松散节点中的目前排序第一顺序的松散节点为目的节点,利用CSPF算法计算所述源节点到所述第一顺序的松散节点的路径;以所述目前排序第一松散节点为起始节点,所述松散节点中的下一个松散节点作为目的节点,使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径;重复该步骤直到最后一个松散节点;以所述最后一个松散节点作为起始节点,所述目的节点作为目的节点,使用CSPF算法计算所述最后一个松散节点到所述目的节点的路径;所述计算与控制装置还包括判断装置,用于判断是否所有松散节点计算完毕。
其中,还包括路径合并装置,用于合并所有计算完的路径,将每条路径按顺序首尾相连形成完整的路径输出。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种获得智能光网络中松散路由的约束路径的方法,其特征在于,包括步骤获得所述约束路径的顺序松散节点和源节点与目的节点;获取所述网络的拓扑结构;将所述源节点为起始节点,所述松散节点中的目前排序第一顺序的松散节点为目的节点,利用最短路径优先(CSPF)算法计算所述源节点到所述第一顺序的松散节点的路径;以所述目前排序第一松散节点为起始节点,所述松散节点中的下一个松散节点作为目的节点,使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径;将所述下一个松散节点作为当前排序第一松散节点,重复上一步骤直到最后一个松散节点;以所述最后一个松散节点作为起始节点,所述目的节点作为目的节点,使用CSPF算法计算所述最后一个松散节点到所述目的节点的路径;合并所有计算完的路径,将每条路径按顺序首尾相连形成完整的路径输出。
2.如权利要求1所述的方法,其中,所述获取所述网络的拓扑结构的步骤包括如果网络路由为域内路由,所述源节点通过域内路由协议获取所述网络的拓扑结构;如果网络路由包括域间路由,所述源节点通过域内路由协议与多域路由获取所述网络的拓扑结构。
3.如权利要求1所述的方法,其中,所述利用CSPF算法计算所述源节点到所述第一顺序的松散节点的路径的步骤包括禁止所有其它松散节点。
4.如权利要求3所述的方法,其中,所述使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径的步骤包括禁止已计算的路径中的节点和还没有参加计算的松散节点。
5.如权利要求4所述的方法,其中,所述使用CSPF算法计算所述最后一个松散节点到所述目的节点的路径的步骤还包括,禁止已计算的路径中的节点。
6.如权利要求1所述的方法,其中,所述以所述目前排序第一松散节点为起始节点,所述松散节点中的下一个松散节点作为目的节点,使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径;重复该步骤直到最后一个松散节点的步骤包括判断是否存在下一个松散节点,如果存在,设定目前排序第一松散节点为起始节点,所述存在的下一个松散节点为目的节点;如果不存在,结束该步骤。
7.如权利要求1所述的方法,还包括步骤判断所述路径是否有约束松散节点,如果有,执行所述方法的步骤,如果没有,直接利用CSPF算法获取路径。
8.如权利要求1所述的方法,还包括步骤判断所述约束路径的松散节点是否有顺序,如果有,执行所述方法的步骤,如果没有,利用其它方法获取路径。
9.如权利要求1所述的方法,还包括步骤通告MPLS完整的路径信息;MPLS得到完整的路径信息后,通过所述完整的路径发送PATH消息,再返回RESV消息,如果资源预留成功,建立了所述路径。
10.一种获得智能光网络中松散路由的约束路径的装置,其特征在于,包括获取装置,位于源节点中,用于获得所述约束路径的顺序松散节点和源节点与目的节点;和获取所述网络的拓扑结构;计算与控制装置,用于将所述源节点为起始节点,所述松散节点中的目前排序第一顺序的松散节点为目的节点,利用CSPF算法计算所述源节点到所述第一顺序的松散节点的路径;以所述目前排序第一松散节点为起始节点,所述松散节点中的下一个松散节点作为目的节点,使用CSPF算法计算所述目前排序第一松散节点到下一个松散节点的路径;重复该步骤直到最后一个松散节点;以所述最后一个松散节点作为起始节点,所述目的节点作为目的节点,使用CSPF算法计算所述最后一个松散节点到所述目的节点的路径;路径合并装置,用于合并所有计算完的路径,将每条路径按顺序首尾相连形成完整的路径输出。
全文摘要
本发明提供了一种获得智能光网络中松散路由的约束路径的方法和装置,方法包括获得顺序松散节点和源节点与目的节点和网络的拓扑结构;计算所述源节点到所述第一顺序的松散节点的路径;合并所有计算完的路径,将每条路径按顺序首尾相连形成完整的路径输出。装置包括获取装置;计算与控制装置;路径合并装置,利用本发明,实现了针对松散路由约束高效建立符合松散路由约束的路径;提高了网络效率,减少了对节点的处理能力的要求。
文档编号H04Q3/52GK1592159SQ0315761
公开日2005年3月9日 申请日期2003年8月29日 优先权日2003年8月29日
发明者罗贤龙, 王彧 申请人:华为技术有限公司