针对回弹双层网络的双故障的保护的制作方法

文档序号:11162078阅读:606来源:国知局
针对回弹双层网络的双故障的保护的制造方法与工艺

本申请要求2015年12月18日递交的发明名称为“针对回弹双层网络的双故障的保护(Protection Against Dual Failures For Resilient Two Layer Networks)”的第14/974,409号美国非临时专利申请案的在先申请优先权,该在先申请又要求2014年12月19日递交的发明名称为“基于单故障回弹双层网络的双故障协同保护(Protection Synergy for Dual Failure on Single Failure Resilient Two Layer Networks)”的第62/094,630号美国临时专利申请案的在先申请优先权,这两个在先申请的全部内容以引入的方式并入本文本中。



背景技术:

现代通信网络的分层架构利用互联网协议(Internet protocol,IP)和多协议标记交换(multiprotocol label switching,MPLS)等上层或逻辑层技术的灵活性以及光传送网(optical transport network,OTN)和自动交换光网络(automatically switched optical network,ASON)等下层或物理层技术的高数据速率。光网络可通过单根光纤提供高达每秒数太比特的传输。因此,即使短时间的物理网络故障也可能导致大量数据丢失。然而,网络故障是在所难免的。因此,针对网络故障的保护和恢复方案对设计高速数据网络很重要。



技术实现要素:

在一项实施例中,本发明包括一种方法,所述方法包括:根据网络的逻辑层中的逻辑环通过网元(network element,NE)的处理器识别所述网络的物理层中的物理环,其中所述逻辑环由通过多个逻辑链路互联的多个节点构成,所述物理环由通过第一多个物理链路互联的至少所述多个节点构成;通过所述处理器计算跨所述逻辑环上非相邻节点之间的所述物理环的多个跨线路径(cross cord path),其中所述多个跨线路径遍历第二多个物理链路;以及通过为所述多个跨线路径和所述物理环上的所述多个逻辑链路确定主用路径和备用路径,经由所述处理器将所述逻辑环映射到所述物理层上,使得所述多个逻辑链路中的第一逻辑链路的备用路径与所述多个逻辑链路中的第二逻辑链路的主用路径不重合,从而提供双物理链路故障生存性。在一些实施例中,本发明还包括:通过为所述逻辑环和所述物理环选择旋转方向映射所述逻辑环;根据所述旋转方向对所述多个逻辑链路进行排序;以及确定所述第一逻辑链路沿所述逻辑环按所述旋转方向将所述多个节点的头节点连接至所述多个节点的尾节点;和/或通过第一环链路为所述第一逻辑链路确定所述主用路径,所述第一环链路来自沿所述物理环按所述旋转方向将所述头节点连接至所述尾节点的所述第一多个物理链路;和/或通过从在所述多个节点的所述尾节点与末端节点之间延伸的所述多个跨线路径中选择第一跨线路径,为所述第一逻辑链路确定所述备用路径;以及从沿所述物理环按所述旋转方向将所述末端节点连接至所述头节点的所述第一多个物理链路中选择第二环链路;和/或通过排除与所述第一节点相邻的所述第一多个物理链路的第一环链路来计算在所述多个节点中的第一节点处开始的所述多个跨线路径中的第一跨线路径,从而确定所述多个跨线路径,其中所述第一跨线路径在所述多个节点中的所述第一节点与第二节点之间延伸;选择位于所述物理环上的所述第一节点与所述第二节点之间的所述多个节点中的第三节点;以及通过排除沿所述物理环的所述第三节点与所述第一节点之间的所述第一多个物理链路的第二环链路以及排除沿所述物理环的所述第三节点与所述第二节点之间的所述第一多个物理链路的第三环链路,计算在所述第三节点处开始的所述多个跨线路径中的第二跨线路径,其中所述第二环链路不同于所述第三环链路,和/或所述多个跨线路径中的第一跨线路径与所述多个跨线路径中的至少第二跨线路径交叉,和/或所述多个跨线路径中的第一跨线路径在所述多个节点中的第一节点与所述多个节点中的第二节点之间延伸,其中所述多个跨线路径中的第二跨线路径在所述第二节点与第三多个节点之间延伸,所述第一节点不同于所述第三节点,和/或所述物理层包括光网络,和/或所述逻辑层包括互联网协议(Internet protocol,IP)网络,和/或所述逻辑层包括虚拟网络。

在另一项实施例中,本发明包括非瞬时性介质,用于存储包括计算机可执行指令的计算机程序产品,所述计算机可执行指令在由处理器执行时使所述处理器执行以下操作:根据网络的逻辑层中的逻辑环识别所述网络的物理层中的物理环,其中所述逻辑环由通过多个逻辑链路互联的一组有序节点构成,所述物理环由通过第一多个物理链路互联的至少所述一组有序节点构成;计算跨所述逻辑环上非相邻节点之间的所述物理层中的物理环的多个跨线路径,其中所述多个跨线路径遍历第二多个物理链路;以及根据所述物理环和所述多个跨线路径为所述多个逻辑链路中的每一个确定主用路径和备用路径,使得所述多个逻辑链路中的第一逻辑链路的备用路径与所述多个逻辑链路中的第二逻辑链路的主用路径不重合。在一些实施例中,本发明还包括:还使所述处理器为所述物理环和所述逻辑环选择旋转方向来为所述多个逻辑链路中的每一个确定所述主用路径和所述备用路径的指令;和/或还使所述处理器通过以下方式为每个逻辑链路确定所述主用路径的指令:确定每个逻辑链路沿所述逻辑环按所述旋转方向将所述一组有序节点的头节点连接至所述一组有序节点的尾节点,以及从所述第一多个物理链路中选择第一环链路,所述第一环链路沿所述物理环按所述旋转方向将所述头节点连接至所述尾节点;和/或所述指令还使所述处理器通过以下方式为每个逻辑链路确定所述备用路径:从所述多个跨线路径中选择第一跨线路径,所述第一跨线路径在所述一组有序节点的所述尾节点与末端节点之间延伸,以及从所述第一多个物理链路中选择第二环链路,所述第二环链路沿所述物理环按所述旋转方向将所述末端节点连接至所述头节点;和/或所述指令还使所述处理器通过以下方式确定所述多个跨线路径:通过排除与所述第一节点相邻的所述第一多个物理链路的第一环链路,计算在所述一组有序节点中的第一节点处开始的所述多个跨线路径中的第一跨线路径,其中所述第一跨线路径在所述一组有序节点的所述第一节点与第二节点之间延伸,选择位于所述物理环上的所述第一节点与所述第二节点之间的所述一组有序节点中的第三节点,以及通过排除沿所述物理环的所述第三节点与所述第一节点之间的所述第一多个物理链路的第二环链路以及排除沿所述物理环的所述第三节点与所述第二节点之间的所述第一多个物理链路的第三环链路,计算在所述第三节点处开始的所述多个跨线路径中的第二跨线路径,其中所述第二环链路不同于所述第三环链路。

在又一项实施例中,本发明包括网络控制器,所述网络控制器包括:处理器,用于根据网络的逻辑层中的逻辑环识别所述网络的物理层中的物理环,其中,所述逻辑环由通过多个逻辑链路互联的一组有序节点构成;所述物理环由通过所述第一多个物理链路互联的至少所述一组有序节点构成;计算跨所述逻辑环上非相邻节点之间的所述物理层中的所述物理环的多个跨线路径,其中所述多个跨线路径遍历第二多个物理链路;根据所述物理环为所述多个链路确定主用路径;以及根据所述物理环和所述多个跨线路径两者为所述多个链路确定备用路径,使得所述多个逻辑链路中的第一逻辑链路的备用路径与所述多个逻辑链路中的第二逻辑链路的主用路径不重合;以及发射器,耦合至所述处理器并用于向所述一组有序节点中的至少一个节点发送路由指令,其中所述路由指令指示至少一些主用路径和至少一些备用路径。在一些实施例中,所述处理器还用于为所述物理环和所述逻辑环选择旋转方向;以及确定多个逻辑链路中的第一逻辑链路沿所述逻辑环按所述旋转方向将所述一组有序节点的头节点连接至所述一组有序节点的尾节点,其中为所述第一逻辑链路确定主用路径包括从所述第一多个物理链路中选择第一环链路,所述第一环链路沿所述物理环按旋转方向将所述头节点连接至所述尾节点;和/或所述处理器还用于通过以下方式为所述第一逻辑链路确定备用路径:从所述多个跨线路径中选择第一跨线路径,所述第一跨线路径在所述一组有序节点的所述尾节点与末端节点之间延伸;以及从所述第一多个物理链路中选择第二环链路,所述第二环链路沿所述物理环按所述旋转方向将所述末端节点连接至所述头节点;和/或所述处理器还用于通过以下方式确定所述多个跨线路径:通过排除与所述第一节点相邻的所述第一多个物理链路的第一环链路,计算在所述一组有序节点中的第一节点处开始的所述多个跨线路径中的第一跨线路径,其中所述第一跨线路径在所述一组有序节点的所述第一节点与第二节点之间延伸;选择位于所述物理环上的所述第一节点与所述第二节点之间的所述一组有序节点中的第三节点;以及通过排除沿所述物理环的所述第三节点与所述第一节点之间的所述第一多个物理链路的第二环链路以及排除沿所述物理环的所述第三节点与所述第二节点之间的所述第一多个物理链路的第三环链路,计算在所述第三节点处开始的所述多个跨线路径中的第二跨线路径,其中所述第二环链路不同于所述第三环链路,和/或所述逻辑层包括软件定义网络(software-defined network,SDN),所述多个节点中的每一个连接至所述第一多个物理链路中的至少两个物理链路以及所述第二多个物理链路中的至少一个物理链路。

在又一项实施例中,本发明包括网络控制器。所述网络控制器包括:识别单元,其根据网络的逻辑层中的逻辑环识别所述网络的物理层中的物理环,其中所述逻辑环由通过多个逻辑链路互联的多个节点构成,所述物理环由通过第一多个物理链路互联的至少所述多个节点构成;确定单元,其确定跨所述逻辑环上非相邻节点之间的所述物理环的多个跨线路径,其中所述多个跨线路径遍历第二多个物理链路;以及映射单元,其通过为所述多个跨线路径和所述物理环上的所述多个逻辑链路确定主用路径和备用路径将所述逻辑环映射到物理层上,使得所述多个逻辑链路中的第一逻辑链路的备用路径与所述多个逻辑链路中的第二逻辑链路的主用路径不重合,从而提供双物理链路故障生存性。

结合附图和权利要求书可以从以下的详细描述中更清楚地理解这些和其它特征。

附图说明

为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。

图1为示出分层网络中跨层映射的实施例的示意图。

图2为示出单一映射网络中单链路故障场景的实施例的示意图。

图3为示出单一映射网络中双链路故障场景的实施例的示意图。

图4A为示出逻辑拓扑与物理拓扑之间第一映射场景的实施例的示意图。

图4B为示出逻辑拓扑与物理拓扑之间第二映射场景的实施例的示意图。

图4C为示出逻辑拓扑与物理拓扑之间最终映射场景的实施例的示意图。

图5A为示出将逻辑环映射至物理环上的物理环构建场景的实施例的示意图。

图5B为示出跨线路径构建场景的实施例的示意图。

图5C为示出路由第一逻辑链路的路由场景的实施例的示意图。

图5D为示出路由第二逻辑链路的路由场景的实施例的示意图。

图6为NE的实施例的示意图。

图7为示出跨线路径构建方案的实施例的示意图。

图8为示出跨线路径构建方案的实施例的示意图。

图9为示出双链路生存性场景的实施例的示意图。

图10为示出双链路故障场景的实施例的示意图。

图11为进行跨层映射以提供双链路生存性的方法的实施例的流程图。

图12为用于针对双链路生存性确定逻辑环的双链路可生存路由的方法的实施例的流程图。

图13为计算跨线路径的方法的实施例的流程图。

具体实施方式

首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统及/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。

当网络中存在从每一个节点到其它每一个节点之间的路径时,该网络称为连接网络。当移除网络中的任何单个链路后剩余网络仍保持连接时,该网络称为二连接网络。当移除网络中的任意两个链路后剩余网络仍保持连接时,该网络称为三连接网络。网络生存性是指当一个或多个网络部件发生故障时维持路由等网络运行的能力。在分层网络中,逻辑拓扑映射至物理拓扑或虚拟网络嵌入在物理网络中,其中每一个逻辑链路或虚拟链路均通过采用物理拓扑中的一个或多个路径跨越。例如,将IP网络映射至光网络上时,单个光纤切断可导致共享该光纤的多个逻辑链路发生故障。因此,分层网络的生存性取决于基础物理网络及逻辑层到物理层的映射。跨层生存性映射是指将逻辑拓扑映射至物理拓扑上使得逻辑拓扑在物理层故障期间仍保持连接的一种映射方法。逻辑网络必须至少是二连接的,以便在物理层处发生任何单链路故障或任何双链路故障时能够存活。

图1为示出分层网络100中跨层映射的实施例的示意图。网络100包括物理层110和逻辑层120。物理层110包括多个节点111,示为通过多个物理链路112互联的A、B、C、D、E、F、G、H和I。物理链路112可包括电链路、光链路及它们的组合。节点111与物理链路112之间的互联形成网络100中的一个物理拓扑。节点111可包括通过网络100经由物理链路112传输数据包和帧的路由器、交换机、网桥、光学设备以及它们的组合。逻辑层120包括多个节点121,示为A、B、C、D、E、F、G、H和I,它们可对应于物理层110中的节点111的至少一个子集。多个节点121通过多个逻辑链路122互联。节点121与逻辑链路122的互联形成网络100中的一个逻辑拓扑。

节点G和C 121之间的逻辑链路122映射至通过虚线113示出的多条物理链路112。例如,逻辑层120支持两种业务需求,其中,一种业务需求123在节点G与I 121之间,另一种业务需求124在节点A与D 121之间。当节点B与C 111之间的物理链路112发生故障时,节点B与C之间的逻辑链路122以及节点G与C 121之间的逻辑链路也会发生故障。由此,业务需求123和业务需求124可能都不能恢复。

逻辑链路122与物理链路112之间的映射可在网络规划期间确定或在运行期间动态地确定。在一项实施例中,网络100可以是由网络控制器130控制和管理的SDN或虚拟网络。网络控制器130通信地耦合至通过虚线箭头131示出的节点112和122。网络控制器130可以是任何计算或联网设备或虚拟机。网络控制器130获得网络100的物理拓扑,基于物理拓扑确定逻辑链路122的逻辑至物理的映射,并且维持网络100的全局视图。在确定逻辑链路122的逻辑至物理的映射后,网络控制器130可向节点111和121发送路由指令。

图2为示出单一映射网络200中单链路故障场景的实施例的示意图。网络200在结构上与网络100类似并进一步示出与单一映射关联的故障。单一映射是指物理拓扑中逻辑链路映射至单个路径的映射。为简单起见且不失一般性,本描述中,与逻辑链路122类似的两个逻辑链路222分别映射至包括与物理链路112类似的单个物理链路212的物理路径。网络200包括与物理层110类似的物理层210和与逻辑层120类似的逻辑层220。如图所示,物理层210包括物理链路212。物理层210可包括与节点111类似的其它节点以及与链路112和212类似的链路。逻辑层220包括两个逻辑子拓扑230。每个逻辑子拓扑230可包括与通过类似于逻辑链路122的逻辑链路互联的物理层中的节点对应的节点111类似的节点。这两个逻辑子拓扑230通过两个逻辑链路222互联。由此,该逻辑拓扑称为二连接的。这两个逻辑链路222映射至相同的物理链路212。在物理链路212发生单链路故障时,如交叉所示,这两个逻辑子拓扑230之间的互联会断开。因此,当不恰当地进行跨层映射时,例如,通过考虑物理层故障并将逻辑链路222映射至不同物理链路上,网络200中的单一逻辑至物理的映射可能不能在物理层210中的单链路故障下生存。

图3为示出单一映射网络300中双链路故障场景的实施例的示意图。网络300在结构上与网络100和网络200类似。网络300包括与物理层110和210类似的物理层310以及与逻辑层120和220类似的逻辑层320。如图所示,物理层310包括与物理链路112和212类似的两个物理链路312和313。逻辑层320包括与逻辑子拓扑230类似的两个逻辑子拓扑330。这两个逻辑子拓扑330通过与逻辑链路122和222类似的逻辑链路322和323互联。与网络200相比,逻辑链路322和323并不映射至相同物理链路312和物理链路313上。如图所示,逻辑链路322映射至物理链路312上,逻辑链路323映射至物理链路313上。由此,网络300可在物理层310中的单链路故障下生存。然而,在物理链路312和313发生双链路故障时,如交叉所示,两个逻辑子拓扑330之间的互联会断开。因此,尽管恰当地进行网络300中的单一逻辑至物理的映射,但是单一逻辑至物理的映射可能不支持双物理链路故障生存性。

图4A至4C示出了防范单链路故障的逻辑至物理单一映射方案400的实施例。方案400应用于与网络100、网络200和网络300类似的网络。方案400与M.Kurant等人在电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)期刊2007年6月第25卷第5期的关于通讯中选定区域(Selected Areas in Communications)的“通过递归图收缩的IP对WDM网络中的网状拓扑的可生存路由(Survivable Routing of Mesh Topologies in IP-over-WDM Networks by Recursive Graph Contraction)”中描述的通过环微调的可生存映射算法(survivable mapping algorithm by ring trimming,SMART)类似,其内容以引入的方式并入本文中。方案400开始于从逻辑拓扑中选择子图和在物理拓扑上为该子图找到可生存映射。例如,该子图为环状形式。选择映射后,方案400通过压缩子图将逻辑拓扑收缩为一个节点,并对新收缩的逻辑拓扑重复映射过程。

图4A为示出逻辑拓扑412与物理拓扑411之间第一映射场景410的实施例的示意图。物理拓扑411包括多个物理链路,示为aΦ、bΦ、cΦ、dΦ、eΦ、fΦ和gΦ,与物理链路112、212、312和313类似。物理拓扑411表示为GΦ={aΦ,bΦ,cΦ,dΦ,eΦ,fΦ,gΦ}。逻辑拓扑412包括多个逻辑链路,示为aL、bL、cL、dL、eL、fL、gL和hL,与逻辑链路122、222、322和323类似。逻辑拓扑412表示为GL={aL,bL,cL,dL,eL,fL,gL,hL}。例如,第一子图413和第二子图414从逻辑拓扑412中选择。第一子图413遍历形成第一环的逻辑链路aL、bL和cL。第二子图414遍历形成第二环的逻辑链路fL、gL和hL。第一映射,表示为MA,针对表示为A={aL,bL,cL,fL,gL,hL}的第一组逻辑链路生成。例如,第一子图413映射至通过路径415所示的物理链路的第一子集上,第一子集包括物理链路aΦ、bΦ和cΦ。第二子图414映射至通过路径416所示的物理链路的第二子集,第二子集包括bΦ、dΦ、eΦ、fΦ和gΦ。生成第一映射MA之后,第一子图413收缩为示为uc的单个节点,第二子图414收缩为示为vc的单个节点。节点uc和节点vc通过逻辑链路eL和dL联接,生成收缩的逻辑拓扑417。收缩的逻辑拓扑417表示为Gc=GL↓A。

图4B为示出逻辑拓扑412与物理拓扑411之间第二映射场景420的实施例的示意图。生成第一映射MA并收缩逻辑拓扑412以得到收缩的逻辑拓扑417后,针对映射场景420中表示为B={eL,dL}的第二组链路生成表示为MB的第二映射。第二映射MB将逻辑链路dL映射至包括aΦ、cΦ和dΦ的一组路径421,并将逻辑链路eL映射至包括gΦ和bΦ的一组路径422。

图4C为示出逻辑拓扑412与物理拓扑411之间最终映射场景430的实施例的示意图。在场景430中,完整映射ME针对完整的一组逻辑链路生成,所述完整的一组逻辑链路是A和B的并集。所述一组完整的逻辑链路表示为E=A∪B={aL,bL,cL,dL,eL,fL,gL,hL}。如图所示,合并从第一映射MA映射的路径415和416以及从第二映射MB映射的路径421和422来生成完整映射ME

方案400中的链路映射和子图收缩机制在为跨层网络提供完整映射时相对有效。然而,方案400为每一个逻辑链路生成单一映射,单一映射设计可能不能在网络100、200和300所示的双链路故障下生存。

本文公开了将逻辑网络映射至物理网络上以防范双物理链路故障的实施例。公开的实施例将逻辑网络部分映射至物理网络上。例如,在逻辑网络中识别形式为逻辑环的子图。逻辑环由通过多个逻辑链路互联的多个节点构成。逻辑环的映射开始于找到物理网络中按与逻辑环相同的顺序遍历至少多个节点的物理环。找到物理环后,计算跨物理环上非相邻逻辑环节点之间的物理环的多个跨线路径(cross cord path)。为了提供双链路生存性,为每个逻辑链路确定主用路径和备用路径。主用路径映射至物理环上。备用路径映射至跨线路径和物理环两者。通过采用相交的跨线路径,主用路径和备用路径的路由确保任何一对逻辑链路中的一个逻辑链路的至少一个备用路径不与另一个逻辑链路的主用路径重合。由此,采用双逻辑至物理的映射和跨线路径使逻辑环能够在任何双物理链路故障下生存。在完成映射之后,逻辑环收缩为单个收缩的节点,其可用于形成逻辑网络中的其它逻辑环,并且重复映射过程直到将整个逻辑网络映射至物理网络上。公开的实施例适于将IP网络、虚拟网络、SDN等任何类型的逻辑网络映射至电网络和光网络等任何类型的物理网络上。公开的实施例可结合其它物理层保护方案使用。公开的实施例可在网络规划期间实施或可用于动态地通过物理网络路由逻辑网络。公开的实施例可提高网络中的双链路故障弹性并限制资源过度使用。

图5A至5D示出了防范双物理链路故障的逻辑至物理的映射方案500的实施例。方案500应用于与网络100类似的网络。在一项实施例中,方案500在网络规划期间应用。例如,网络运营商可执行实施方案500的软件来确定逻辑层120、220和320等逻辑网络与物理层110、210和310等物理网络之间的双重映射。逻辑网络可以是IP网络,物理网络可以是光网络。在另一项实施例中,网络控制器或SDN控制器使用方案500来确定虚拟网络或SDN启动网络与物理网络之间的双重映射。从与逻辑拓扑412类似的逻辑拓扑中选择与子图413和414类似的逻辑环以及逻辑层120、220和320后,应用方案500。方案500将逻辑环映射至与物理拓扑411类似的物理拓扑和物理层110、210和310上。为防止网络发生双链路故障,方案500从物理拓扑中选择物理环、构建跨线路径,并沿逻辑环将每个链路映射至遍历部分物理环的主用路径和遍历跨线路径之一的备用路径,下文进行更充分的描述。

图5A为示出将逻辑环512映射至物理环511上的物理环构建场景510的实施例的示意图。逻辑环512通过粗虚线表示。物理环511通过粗实线表示。逻辑环512从逻辑拓扑中选择。物理环511从物理拓扑中确定。逻辑环512遍历与节点111和121类似的多个节点513。两个邻节点513之间的逻辑环512的每一段对应于与逻辑链路122、222、322和323类似的逻辑链路。方案500选择物理环511,使得物理环511按与逻辑环512相同的顺序遍历逻辑环512上的至少节点513。如图所示,顺时针方向用于逻辑环512和物理环511的排序。物理环511可以比逻辑环512遍历更多节点。如图所示,物理环511遍历额外节点514。两个邻节点513和/或514之间的物理环511的每一段对应于与物理链路112、212、312和313类似的物理链路。在一项实施例中,通过在不遍历节点513或514两次的情况下计算逻辑环512中连续节点513之间的最短路径来确定物理环511。

图5B为示出跨线路径构建场景520下的一项实施例的示意图。构建如场景510所示的物理环511后,针对物理环511计算一组跨线路径521。跨线路径521示为细实线。跨线路径521是遍历物理环511并与另一个跨线路径521相交或与另一个跨线路径521共享共同末端节点513的物理路径。计算跨线路径521使得逻辑环512中的每个节点513通过跨线路径521可达。计算跨线路径521的详情在下文更充分地描述。

图5C为示出路由第一逻辑链路531的路由场景530的实施例的示意图。构建完如场景520所述的跨线路径521后,方案500为第一逻辑链路531确定主用路径532和备用路径533。例如,方案500选择顺时针等旋转方向并根据旋转方向对逻辑链路进行排序。接着,方案500通过从图5A所示的逻辑环512中任意选择第一逻辑链路531开始路由。如图所示,第一逻辑链路531连接两个末端节点513。逻辑环512根据选择的方向首先遍历的末端节点513称为头节点,示为H,另一个末端节点513称为尾节点,示为T。方案500通过按所选方向选择第一逻辑链路531的两个末端节点H和T 531之间的物理环511的分段来为第一逻辑链路531确定主用路径。由此,主用路径532按与逻辑环512相同的顺序遍历物理环511。主用路径532示为粗点虚线。方案500通过以下方式为第一逻辑链路531确定备用路径533:在尾节点T 513处开始,遍历连接到尾节点T 513的跨线路径521,到达跨线路径另一个末端节点513,并接着沿物理环511按选定方向环回,直至到达头节点H 513。备用路径533示为细点虚线。

图5D为示出路由第二逻辑链路541的路由场景540的实施例的示意图。第二逻辑链路541可以是如图5A所示的逻辑环512上的任何其它逻辑链路。方案500通过采用与路由场景520中所描述的相同的机制为第二逻辑链路541确定主用路径542和备用路径543。主用路径542示为粗点线虚线,备用路径543示为细点线虚线。方案500所采用的路由机制使得逻辑环512能够在任何双链路故障下生存,下文将进行更充分的描述。重复选择主用路径532和542等主用路径以及备用路径533和543等备用路径,直至逻辑环512上的所有逻辑链路均映射至物理环511和跨线路径521上。可以看出,为支持将主用路径映射至物理环51上和将备用路径映射至跨线路径521上,物理拓扑必须为至少三连接。

图6为NE 600的实施例的示意图,NE 600为例如网络控制器130、SDN控制器或用于生成如网络100和方案600所描述的逻辑至物理的映射以提供双故障生存性的任何设备。NE 600可在单个节点中实现,或者NE 600的功能可在多个节点中实现。本领域技术人员将认识到术语NE包含广泛的设备,其中NE 600仅仅是一个示例。包括NE 600是为了论述的简洁性,但绝不意味着将本发明的申请限制于特定NE实施例或一类NE实施例。

本发明中描述的至少一些特征/方法在NE 600等网络装置或部件中实现。例如,本发明中的特征/方法可以使用硬件、固件及/或安装的在硬件上运行的软件来实现。NE 600是通过交换机、路由器、网桥、服务器、客户端等网络传输数据包的任何设备。如图6所示,NE 600包括收发器(Tx/Rx)610,其可以是发射机、接收机、或它们的组合。Tx/Rx 610耦合至多个端口620来发送和/或从其它节点接收帧。

处理器630耦合至每一个Tx/Rx 610以处理帧及/或确定向哪些节点发送帧。处理器630可以包括一个或多个多核处理器和/或存储设备632,其可用作数据存储器、缓冲器等。处理器630可作为通用处理器实现或可为一个或多个专用集成电路(application specific integrated circuit,ASIC)和/或数字信号处理器(digital signal processor,DSP)的一部分。处理器630可包括双链路故障保护映射模块633,其可进行逻辑至物理拓扑映射并可实现如下文更充分论述的方法1200、1300和1400,和/或本文论述的任何其它流程图、方案和方法。因此,包括双链路故障保护映射模块633以及相关方法和系统提高了NE 600的功能。此外,双链路故障保护映射使特定物品(如网络)转变到不同状态。在一项替代性实施例中,双链路故障保护映射模块633可实施为存储在存储设备632中的指令,这些指令可由处理器630执行。存储设备632可以包括用于临时存储内容的缓存,例如,随机存取存储器(random-access memory,RAM)。另外,存储设备632可包括将内容存储相对长时间的长期存储器,例如,只读存储器(read-only memory,ROM)。例如,缓存和长期存储器可包括动态RAM(dynamic RAM,DRAM)、固态驱动器(solid-state drive,SSD)、硬盘,或它们的组合。存储设备632可用于存储一个或多个路由表。

可以理解的是,通过将可执行指令编程和/或加载到NE 600上,处理器630和/或存储设备632中的至少一个发生改变,将NE 600部分转换成特定机器或装置,例如,本发明宣扬的拥有新颖功能的多核转发架构。加载可执行软件至计算机所实现的功能可以通过现有技术中公知的设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于设计稳定性及待生产的单元数量的考虑而不是从软件领域转换至硬件领域中所涉及的任何问题。通常,仍然频繁改变的设计优选在软件中实施,因为重新编写硬件实施比重新编写软件设计更为昂贵。通常,稳定及大规模生产的设计优选在ASIC这样的硬件中实施,因为对于大规模生产运行,硬件实施比软件实施更为便宜。设计通常可以以软件形式进行开发和测试,之后通过众所周知设计规则转变成ASIC中等同的硬件实施,该ASIC硬线软件指令。由新的ASIC以相同方式控制的机器是一种特定的机器或装置,同样地,已编程及/或已加载有可执行指令的电脑可视为特定的机器或装置。

图7为示出跨线路径构建方案700的实施例的示意图。方案700由NE 700、网络控制器、SDN控制器或网络规划软件等NE使用。方案700可应用于任何三连接物理拓扑。方案700在为与如场景510所描述的逻辑环512类似的逻辑环构建与物理环511类似的物理环710之后实施。采用方案700以构建物理环710中的第一跨线路径721,例如跨线路径521。物理环710包括与节点111、121、513和514类似的多个节点711、712、713和714,节点111、121、513和514通过与物理链路112、212、312和313类似的多个物理链路715互联。所述多个节点711至714对应于逻辑环中的节点。例如,方案700确定构建在节点712处开始的第一跨线路径721。为了构建第一跨线路径721,方案700排除与如交叉所示的节点712相邻的物理链路715,并计算路径,例如物理环710上从节点712到其它节点的最短路径。通过排除相邻的物理链路715,任何路由算法都可找到对直穿过物理环710的第一跨线路径721,因为物理拓扑是至少三连接的。如图所示,第一跨线路径721在节点712和714之间延伸。

图8为示出跨线路径构建方案800的实施例的示意图。方案800由NE 700、网络控制器、SDN控制器或网络规划软件等NE实施。方案800可应用于任何三连接物理拓扑。方案800在以下操作之后实施:通过采用方案700为如场景510中描述的逻辑环,例如逻辑环512,构建与物理环511和710类似的物理环810,并构建至少一个跨线路径,例如跨线路径521和721。物理环810包括通过多个物理链路816互联的多个节点811、812、813、814和815。节点811至815类似于节点111、121、513、14和711至714,并对应于逻辑环上的节点。物理链路816类似于物理链路112、212、312、313和715。如图所示,构建在两个末端节点811和814之间延伸的第一跨线路径821。为了构建第二跨线路径822使得第二跨线路径822与第一跨线路径821相交,方案800选择末端节点811与814之间的节点813,并如箭头831所示沿节点813与末端节点811和814之间的物理环810收缩物理链路816。应当注意的是,被收缩或排除的物理链路816不重合。收缩物理链路816之后,方案800计算物理环810上从节点813到其它节点的第二跨线路径822。如图所示,所计算的第二跨线路径822从节点813延伸至节点815。通过将末端节点811和814收缩至第二跨线路径822的起始节点813,确保第二跨线路径822通过使用任意路由算法与所述第一跨线路径821相交。

图9为示出方案600、800和900提供的双链路生存性场景900的示意图。在场景900中,根据与逻辑环512类似的逻辑环920确定与物理环511、710和810类似的物理环910。如图所示,物理环910包括通过多个物理链路917互联的多个节点911、912、913、914、915和916,计算跨与场景510和520类似的物理环910的多个跨线路径918和919。节点911至916与节点111、121、513、514、711至714和811至815类似,并对应于逻辑环920上的节点。物理链路917与物理链路112、212、312、313、715和816类似。跨线路径918和919与跨线路径521、721、821和822类似。

出于简洁性,场景900仅说明沿逻辑环920的第一逻辑链路921和第二逻辑链路922的映射。第一逻辑链路921位于节点911与912之间,包括示为粗点曲线的主用路径931和示为细点曲线的备用路径932。第二逻辑链路922位于节点913与914之间,包括示为粗点划线曲线的主用路径941和示为细点划线曲线的备用路径942。主用路径931和941以及备用路径932和942按场景530和540所描述的生成。通过检查逻辑环920和物理环910,只有当物理环910上的物理链路917的两条链路发生故障时,逻辑环才会断开。然而,路由承载在跨线路径上的备用路径保证了至少一个备用路径不与其它逻辑链路的主用路径重合。由此,逻辑环920在任何双物理链路故障下仍保持连接。例如,当在节点911与912之间的第一物理链路917处以及在节点913与914之间的第二物理链路917处发生双故障时,第一逻辑链路921的主用路径931、第二逻辑链路922的主用路径941和备用路径942断开。然而,第一逻辑链路921的备用路径932在双故障下生存下来。由此,逻辑环920仍然是连接的。因此,方案600、800和900生在双物理链路故障下生存下来的逻辑至物理的映射。

图10为示出了双链路故障场景1000的实施例的示意图。场景1000示出了使用跨线路径521、721、821、822、918和919等跨线路径路由的重要性。例如,为逻辑环1020构建物理环1010以及跨线路径1013和1014。物理环1010与逻辑环511、710、810和910类似。逻辑环1020与逻辑环512和920类似。然而,跨线路径1013和1014不根据方案500、700和800构建为跨线路径。当物理环1010中存在不相交跨线路径1013和1014时,场景530和场景540中的上述路由机制可能不能保证至少一条备用路径,如备用路径533、543、932和942,与逻辑链路122、222、322、323、531、541、921和922等其它逻辑链路的主用路径,如主用路径532、542、931和941,不重合。

例如,逻辑环1020的第一逻辑链路1021包括映射至物理环1010上的主用路径1031和映射至跨线路径1013上的备用路径1032。类似地,逻辑环1020的第二逻辑链路1022包括映射至物理环1010上的主用路径1041和映射至跨线路径1014上的备用路径1042。由于跨线路径1013和1014不相交,所以第一逻辑链路1021的备用路径1032与第二逻辑链路1022的主用路径1041重合。类似地,第二逻辑链路1022的备用路径1042与第一逻辑链路1021的主用路径1031重合。当如交叉所示在物理环1010处发生双链路故障时,第一逻辑链路1021的主用路径1031和备用路径1032以及第二逻辑链路1022的主用路径1041和备用路径1042都会失败。因此,与不相交的跨线路径路由可能不能提供双链路故障保护。

图11为进行跨层映射以提供双链路生存性的方法1100的实施例的流程图。方法1100由NE 700、网络控制器、SDN控制器或网络规划软件等NE实施。方法1100采用与方案500、700和800类似的机制。方法1100在将网络的逻辑层120等逻辑层的逻辑环,例如逻辑环512、920和1020,映射至该网络的物理层110等物理层上时实施。例如,逻辑环由通过逻辑链路122、222、322、323、531、541、921和922等多个逻辑链路互联的节点111、121、513、514、711至714和811至815等多个节点构成。逻辑环上的节点构成逻辑层中以环形拓扑排列的一组有序的节点。在步骤1110中,根据网络的逻辑层中的逻辑环在网络的物理层中识别物理环,例如物理环511、710、810、910和1010。物理环由通过物理链路112、212、312、313、715、816和917等第一多个物理链路互联的至少多个节点构成。例如,通过计算遍历网络中任何节点不超过一次的逻辑环的邻节点之间的连续最短路径来识别物理环。在步骤1120中,计算跨逻辑环上非相邻节点之间的物理环的多个跨线路径,如跨线路径521、721、821、822、918和919。多个跨线路径遍历第二多个物理链路。在一项实施例中,第二多个物理链路可与第一多个物理链路中的一些物理链路重合。在步骤1130中,通过为物理环和多个跨线路径上的多个逻辑链路确定主用路径,如主用路径532、542、931和941以及备用路径,如备用路径533、543、932和942,将逻辑环映射至物理层上以提供双物理链路故障生存性。主用路径映射至物理环上,备用路径映射至多个跨线路径和物理环上,如方案500中所述。映射主用路径和备用路径使得多个逻辑链路的第一逻辑链路的备用路径与多个逻辑链路的第二逻辑链路的主用路径不重合。完成方法1100后,逻辑环可收缩为单个收缩的节点,并可在收缩的逻辑网络上重复方法1100。

图12为用于针对双链路生存性确定逻辑环的路由的方法1200的实施例的流程图。方法1200由NE 700、网络控制器、SDN控制器或网络规划软件等NE实施。方法1200采用与方案500、700和800类似的机制。方法1200在以下操作之后实施:为逻辑环512、920和1020等逻辑环识别物理环511、710、810、910和1010等物理环,以及确定跨物理环的多个跨线路径,如跨线路径521、721、821、822、918和919。例如,方法1200的步骤1230采用方法1200以确定逻辑环的路由路径。

在步骤1210中,为物理环和逻辑环选择旋转方向。旋转方向可以是顺时针或逆时针。逻辑环由通过逻辑层,如逻辑层120中的逻辑链路122、222、322、323、531、541、921和922等多个逻辑链路互联的节点111、121、513、514、711至714和811至815等多个节点构成。物理环由通过物理链路112、212、312、313、715、816和917等多个物理链路互联的至少多个节点构成。在步骤1220中,根据旋转方向对多个逻辑链路进行排序。在步骤1230中,从沿逻辑环的多个逻辑链路中任意选择第一逻辑链路。在步骤1240中,确定第一逻辑链路沿着逻辑环按旋转方向将多个节点的头节点连接至多个节点的尾节点。

在步骤1250中,通过从第一多个物理链路中选择沿物理环按旋转方向将头节点连接至尾节点的第一环链路来为第一逻辑链路确定主用路径,如主用路径532、542、931和941。在步骤1260中,为第一逻辑链路确定备用路径,如备用路径533、543、932和942。备用路径包括两段:第一段和第二段。为了确定第一段,从多个跨线路径中选择在多个节点的尾节点与末端节点间延伸的第一跨线路径。为了确定第二段,从第一多个物理链路中选择沿物理环按旋转方向将末端节点连接至头节点的第二环链路。可为逻辑环上的其它逻辑链路重复步骤1230至1260来为其它逻辑链路选择主用路径和备用路径。

图13为计算跨线路径,如跨线路径521、721、821、822、918和919的方法1300的实施例的流程图。方法1300由NE 700、网络控制器、SDN控制器或网络规划软件等NE实现。方法1300采用与方案500、700和800类似的机制。方法1300在为逻辑环512、920和1020等逻辑环识别物理环511、710、810、910和1010等物理环后实施。例如,方法1200的步骤1220采用方法1300来计算跨物理环的跨线路径。物理环由通过逻辑链路122、222、322、323、531、541、921和922等多个逻辑链路互联的节点111、121、513、514、711至714和811至815等多个节点构成。在步骤1310中,通过排除如方案700中描述的与第一节点相邻的第一环链路,计算在物理环上的第一节点处开始的第一跨线路径。第一跨线路径在物理环上的第一节点与第二节点之间延伸。在步骤1320中,为第二跨线路径选择位于物理环上的第一节点与第二节点之间第三节点。在步骤1330中,通过排除如方案800中描述的沿物理环的第三节点与第一节点之间的第二环链路以及沿物理环的第三节点与第二节点之间的第三环链路,计算在第三节点处开始的第二跨线路径。

虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。

此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1