技术领域本公开涉及计算机网络,并且更特别地涉及确定计算机网络拓扑。
背景技术:
网络内的路由设备(经常被称为路由器)维持描述通过网络的可用路由的路由信息表。一旦接收到分组,则路由器检查分组内的信息并且根据路由信息转发分组。为了维持网络的准确表示,路由器根据诸如内部网关协议(IGP)或者边界网关协议(BGP)的一个或多个路由协议来交换路由信息。术语“链路”经常被用于指代网络上的两个设备之间的连接。链路可以是物理连接,诸如铜线、同轴电缆、众多不同光纤线或者无线连接中的任一种。另外,网络设备可以定义“虚拟”或者“逻辑”链路,并且将虚拟链路映射到物理链路。换句话说,虚拟链路的使用提供一定程度上的抽象。随着网络在大小和复杂性方面的增长,任何给定链路上的流量可能接近链路的最大带宽容量,从而导致拥塞和损耗。
技术实现要素:
总体上,描述了用于动态地确定用于基于端到端网络流量需求和网络的光传输网络(OTN)特性更高效地传输物理拓扑之上的网络流量的逻辑网络拓扑的技术。该技术可以应用以满足置于在具有基础传输层和在传输层上路由的逻辑或者重叠因特网协议(IP)层的多层网络上的网络流量需求。在某些示例中,针对多层网络的管理设备确定用于传输流量需求矩阵的逻辑网络拓扑。逻辑网络拓扑被确定为在任何基础层部件发生故障的情况下确保足够的容量和促进用于传输流量的网络的经优化的总资源成本。为了确定逻辑网络拓扑,管理设备获得描述可用于用作网络拓扑中的链路的候选链路的集合的抽象链路数据。在一些情况下,管理设备还可以获得描述由其物理(传输)路径上的这些候选链路所遭遇的共享风险的抽象链路数据,以及与诸如链路的物理长度或者链路的延迟的路径优化相关的信息。管理设备还可以确定光传输网络设备(诸如交叉连接、波分复用(WDM)/密集WDM(DWDM)复用器和解复用器、内联放大器、光纤链路等)的特性,以便确定针对候选链路的光路径对于光传输是否可行。即,管理设备可以确定针对遍历具有一个或多个光纤链路和各种光设备的光路径的给定候选链路,该光路径是否满足用于将光信号转换成电信号进行路径的设备(例如,光接收器)的光约束。如果针对候选链路的光路径可行,则管理设备将该候选链路包括在经过滤的候选链路集中。管理设备鉴于流量需求矩阵而迭代地分析候选链路和抽象链路数据,以选择经过滤的候选链路的子集以高效并且鲁棒地承载需求。在某些示例中,管理设备是积极管理并提供具有经过滤的候选链路的选定子集的多层网络的控制器。在这种示例中,例如,作为其设计输出的一部分,管理设备可以向网络(或者网络运营商)信号通知配置和激活经过滤的候选链路中的尚未激活和配置的这些所选择的子集中的如何子集所要求的信息。在某些示例中,管理设备是通过网络规划者、设计师、工程师和运营商来促进关于网络的操作和执行的设计决定的网络管理系统。在这种示例中,管理设备可以输出经过滤的候选链路的选定子集的表示例如作为推荐拓扑或者作为由管理设备确定的拓扑方案的描述。该表示可以用于确定是否存在足够的容量或者是否应当添加附加容量,标识那些可以被减少而不需要妥协弹性需求的链路,建模网络,标识并防止潜在瓶颈,在部署之前验证变化,执行流量负载分析等。该技术可以提供一个或多个优点。例如,应用上文所描述的技术的管理设备可以利用每次迭代使用具有可行光路径的经过滤的候选链路来促进沿着关于网络的总成本的流量需求矩阵的方案梯度的总成本向全局优化的移动。尽管全局优化方案可能未在所有情况中被达到,但是该技术可以避免方案梯度的总成本上的至少一些局部最小值,其可能导致鲁棒但是较低的资源成本方案。在一个示例中,一种方法,包括:由包括网络层和底层传输层的多层网络的管理设备获得多个候选链路,其中多个候选链路中的每个候选链路与传输层中的光路径相关联;由管理设备至少基于描述传输层的光纤链路的光特性的光网络数据,确定多个候选链路中具有可行光路径的每个候选链路;由管理设备确定包括确定具有可行光路径的每个候选链路的多个经过滤的候选链路;由管理设备确定包括针对网络层的网络拓扑的第一方案,该网络拓扑包括经过滤的候选链路的第一选定子集;由管理设备在至少基于网络拓扑生成经修改的网络拓扑之后,确定包括针对网络层的经修改的网络拓扑的第二方案,经修改的网络拓扑包括经过滤的候选链路的第二选定子集;以及由管理设备输出针对第一方案或者第二方案中具有最低总成本的一个方案的拓扑数据,最低总成本包括针对第一方案或者第二方案中的所述一个方案的对于所述网络的总资源成本。在另一示例中,一种针对包括网络层和底层传输层的多层网络的管理设备包括:一个或多个处理器,所述一个或多个处理器耦合到存储器;拓扑计算模块,所述拓扑计算模块被配置用于由所述一个或多个处理器执行以:获得多个候选链路,其中所述多个候选链路中的每个候选链路与传输层中的光路径相关联;至少基于描述传输层的光纤链路的光特性的光网络数据,确定多个候选链路中具有可行光路径的每个候选链路;确定包括确定具有可行光路径的每个候选链路的多个经过滤的候选链路;确定包括针对网络层的网络拓扑的第一方案,网络拓扑包括经过滤的候选链路的第一选定子集;以及在至少基于网络拓扑生成经修改的网络拓扑之后,确定包括针对网络层的经修改的网络拓扑的第二方案,经修改的网络拓扑包括经过滤的候选链路的第二选定子集,其中一个或多个处理器被配置用于输出针对第一方案或者第二方案中具有最低总成本的一个方案的拓扑数据,以用于配置多层网络,最低总成本包括针对第一方案或者第二方案中的所述一个方案的对于所述网络的总资源成本。在另一示例中,一种非瞬态计算机可读介质包含用于使得包括网络层和底层传输层的多层网络的管理设备的一个或多个可编程处理器执行以下操作的指令,包括:获得多个候选链路,其中多个候选链路中的每个候选链路与传输层中的光路径相关联;至少基于描述传输层的光纤链路的光特性的光网络数据,确定多个候选链路中具有可行光路径的每个候选链路;确定包括确定具有可行光路径的每个候选链路的多个经过滤的候选链路;确定包括针对网络层的网络拓扑的第一方案,该网络拓扑包括经过滤的候选链路的第一选定子集;在至少基于网络拓扑生成经修改的网络拓扑之后,确定包括针对网络层的经修改的网络拓扑的第二方案,该经修改的网络拓扑包括经过滤的候选链路的第二选定子集;以及输出针对第一方案或者第二方案中具有最低总成本的一个方案的拓扑数据,该最低总成本包括针对第一方案或者第二方案中的所述一个方案的对于网络的总资源成本。在附图和以下说明书中阐述一个或多个示例的细节。其他特征、目的和优点将从说明书和附图以及从权利要求书而变得容易理解。附图说明图1A和图1B各自是根据本公开内容中所描述的技术的图示示例网络系统的框图,其中在示例网络系统,管理设备获得针对多层网络的抽象链路数据并且使用抽象链路数据确定多层网络中的逻辑网络层的逻辑链路。图2是根据本公开内容的技术的图示被配置为确定针对路由流量的逻辑网络拓扑的示例管理设备的框图。图3是根据本公开内容中所描述的技术的图示用于确定和优化逻辑网络拓扑的一个或多个管理设备的操作的示例模式的流程图。图4是图示将流量路由到网络上的管理设备的操作的示例模式的流程图。图5是根据本文所描述的技术的图示用于确定多个等价多径(ECMP)路径的操作的示例模式的流程图。图6是根据本文所描述的技术的图示故障模拟的操作的示例模式的流程图。图7至图9描绘了根据本公开内容中所描述的技术的图示在运行确定网络的网络拓扑的示例期间的中间和最终参数和结果的图表。图10是根据本文所描述的技术的图示示例网络系统的框图,其中控制器获得针对多层网络的抽象链路数据和光网络数据并且使用该抽象链路数据以基于使用光网络数据的过滤候选链路来确定针对多层网络中逻辑网络层的逻辑链路。图11是根据本公开所述的技术更详细图示了包括用于切换光纤链路上λ的光组件的光纤链路的框图。图12是描绘了针对图11的示例光纤链路的光设备的损伤和光信噪比值的表。图13是图示了示例候选链路和根据本文所述技术确定的候选链路的光路径的框图。图14是根据本公开的技术更详细图示了被配置为确定用于路由流量流的逻辑网络拓扑的示例管理设备的框图。图15A和图15B描绘了根据本公开所述技术图示了一个或多个管理设备操作用于确定和优化逻辑网络拓扑的示例模式的流程图。相同附图标记贯穿附图和正文指示相同元件。具体实施方式图1A和图1B各自是根据本公开内容中所描述的技术的图示示例网络系统的框图,其中在示例网络系统中,管理设备获得针对多层网络的抽象链路数据并且使用抽象链路数据确定多层网络中的逻辑网络层的逻辑链路。虽然本公开中的拓扑计算主要针对作为能够向网络提供方案拓扑的控制器的管理设备进行描述,但是该技术类似地可应用于作为可能无法提供方案拓扑的网络管理系统的管理设备。当然,网络运营商可以出于网络规划和分析的目的使用该网络管理系统。在该示例中,多层网络60包括逻辑网络6和传输网络54。传输网络54表示光传输网络(OTN)或者在网络6下面的其他传输网络。网络6包括控制分组流的交换和路由的路由器4A-4F(统称为“路由器4”)。网络6可以表示因特网协议(IP)网络。路由器4的示例包括第3层(L3)路由器和第2层(L2)交换机或者L2/L3交换机,其共同地提供网络6。也就是说,网络6通常提供L2/L3流量转发服务,诸如经由包括标签交换路径(LSP)、虚拟局域网(VLAN)等的多协议标签交换流量工程(MPLS-TE)的流量工程。网络6的各种示例可以包含上百或者甚至上千个路由器/交换机。底层传输网络54通过高速光纤链路来传输、复用和交换基于分组的通信。传输网络54可以包括多个光通信设备(例如,分组光传输设备),其经由光链路相互连接并且控制沿着光链路的承载分组数据的光信号的传输。通过这种方式,传输网络54提供将网络6的路由器4物理地相互连接的物理层。尽管为简单起见,分组光传输设备未被示出在图1A和图1B中,但是分组光传输设备可以是例如PCX、波分复用(WDM)/密集WDM(DWDM)和基于时分复用(TDM)的设备、光交叉连接(OXC)、光分插复用器(OADM)、可重配置OADM(ROADM)、复用设备或者发射、交换和/或复用光信号的其他类型的设备或者其他设备。作为一个示例,路由器4可以是通过传输网络54的中间OXC(诸如路由器4具有接入链路的OXC)光学地连接的第三层(L3)路由器。传输网络54通常包括若干其他部件,诸如放大器、应答器、OTT、中继器和用于控制沿着光链路(也未示出)的光分组数据的传输的其他设备。大型光传输系统可以具有影响光传输的大量的这样的设备。尽管仅参考光链路描述,但是传输系统54也可以包括其他类型的物理链路,诸如以太网PHY、同步光网络(SONET)/同步数字系列(SDH)、λ或者包括分组传输能力的其他第2层数据链路。路由器4是由控制器52或网络管理系统53所服务的路径计算域的成员。路径计算域可以包括例如内部网关协议(例如,开放最短路径优先(OSPF)或者中间系统到中间系统(IS-IS))区域、自治系统(AS)、服务提供商网络内的多个AS、跨越多个服务提供商网络或者基于网络链路上可用RSVP带宽的针对标签交换路径(LSP)的约束最短路径计算的多个AS以及经由这些LSP路由的IP流量。在各种示例中,路由器4的不同组合可以包括多个AS的成员路由器。因此,连接路由器4的网络链路可以是内部链路、AS间传输链路、另一类型的网络链路或者其某种组合。逻辑网络6实际上是“建立在底层传输网络54上”的重叠网络。路由器4通过虚拟或者逻辑链路(在图1A和图1B中利用链路9A-9I(统称为“链路9”)图示的示例拓扑)连接,其中的每个链路与底层传输网络54中的路径相对应。每个路径可以包括传输网络54中的一个或多个物理链路(此外,在图1A和图1B中未示出这样的物理链路)。在一些示例实现方案中,控制器52通过光链路和其他设备提供对在关于分组数据的传输的传输网络54下面的路由器4和分组光传输设备二者的集成控制。例如,控制器52可以不仅控制网络6的路由和流量工程操作,而且可以提供对由在网络6的元件下面的传输网络54内的每个分组光传输设备所利用的光谱和波长的分配或者利用的集成控制,或者控制器52可以使用来自传输层的路径或者抽象链路信息以选择用于在传输网络54上路由的候选链路。控制器52可以表示用于配置和管理网络6的高级控制器。控制器52可以表示一个或多个通用服务器;电器、控制器或者用于计算路径的其他专用设备;由计算设备所执行的应用;计算由路由器所管理的LSP的路径的路由器4的分布式控制平面等。在一些情况下,控制器52的方面可以分布在一个或多个真实或者虚拟计算设备之间。上文所列出的任何这样的设备可以处于关于网络6处于网络内或者网络外。在于2013年6月5日提交的题为“PHYSICALPATHDETERMINATIONFORVIRTUALNETWORKPACKETFLOWS”的PCT国际专利申请PCT/US2013/044378中描述了可以执行本文所描述的操作以计算路径和路由LSP的软件定义网络的软件定义网络(SDN)控制器的示例细节,其整体内容通过引用并入本文。在于2013年9月30日提交的题为“SOFTWAREDEFINEDNETWORKCONTROLLER”的美国专利申请第14/042,614号和于2014年9月29日提交的题为“BATCHEDPATHCOMPUTATIONINRESOURCE-CONSTRAINEDNETWORKS”的美国专利申请第14/500,736号中描述了获得针对和用于提供网络的拓扑信息的软件定义的网络的SDN控制器的附加示例细节,其整体内容通过引用并入本文。控制器52可以通过执行延伸为承载流量工程信息的一个或多个网络路由协议来获得针对网络6的流量工程信息21,以聆听承载这样的流量工程信息的路由协议通告。流量工程信息可以包括用于路由器4的节点和接口标识符;用于链路的根据优先级的管理加权和可用带宽;用于虚拟链路的LSP标识符和状态信息,以及用于计算流量工程LSP的路径的其他信息。控制器52可以将流量工程信息存储到流量工程数据库(TED)。该示例中的控制器52呈现北向接口20,其可以由控制器的层级布置中的其他控制器或者由编排员、管理员、应用或者其他实体所调用,以呈现针对网络6的流量需求32。接口20对于与诸如OpenStack的编排系统的集成可以是可用的;接口20还可以或者备选地由其他应用或者运营商的操作支持系统(OSS)/业务支持系统(BSS)可用。在一些情况下,接口20可以呈现静止的(RESTful)应用编程接口(API)。在图1B的示例中,网络管理系统53表示执行软件的一个或多个计算设备,通过该软件网络运营商可以监督并管理多层网络60的操作。接口23可以包括针对控制器52描述的接口20的各方面。接口23还可以呈现GUI/CLI,通过该GUI/CLI,网络运营商可以访问网络管理工具(包括例如拓扑计算模块58)以获得关于多层网络60的操作的信息并且对多层网络60编程。流量需求对应于遍历从网络6边缘处的路由器4中的一个到网络6边缘处的路由器4中的另一个网络6的端到端流量30。在所图示的示例中,路由器4A、4D、4E和4F逻辑地位于网络6边缘处并且因此使针对跨网络6的传输的流量30进入和/或外出。根据待由从源节点到目的地节点的网络6路由(或者重新路由)的期望的流量带宽,可以定义流量需求。在一些情况下,流量需求可以与定时/日历信息相关联,其定义期望的流量带宽将由用于传输的网络6接收期间的间隔。流量与各自匹配一个或多个特性的集合的一个或多个网络分组相对应。可以使用不同的特性和特性值将不同的分组流分类。例如,一些分组流可以被标识为匹配标准5元组(或者其子集),其包括传输层协议(例如,用户数据报协议(UDP))或者传输控制协议(TCP)、源IP地址、目的地IP地址、源端口、目的地端口。分组流还可以通过例如应用协议(例如,LDP、APR、OSPF、BGP等等)和/或MPLS标签相互可区分。在一些情况下,控制器52可以基于由网络6所经历的当前流量需求而确定流量需求,在该情况中,控制器52可以近实时应用本文所描述的技术,以修改网络6拓扑以潜在地改进流量路由。在一些情况下,控制器52基于由网络6先前经历的需求的模型、即将到来的应用激活或者流量需求模型的其他已知和/或期望的改变,可以经由接口20接收或者估计预计需求,诸如改变从主要客户到数据的网络的条目的对等点、添加新节点或者存在点、合并两个或两个以上网络等。例如,控制器52或者另一控制器可以分析流量LSP统计和趋势以预计网络6上的未来流量需求。这些对于针对网络6的长期计划可以是有用的。各种流量需求形成从各种可能的源/入口路由器4到各种可能的目的地/出口路由器4的流量需求的流量需求矩阵。根据本文所描述的技术,控制器52包括拓扑计算模块58,其确定网络6的网络链路9的拓扑,其中,路由器4可以交换网络流量30,以便满足与流量30相对应的流量需求。拓扑计算模块58可以确定网络6的逻辑网络拓扑,以中传输网络54的部件发生故障的情况下确保足够的容量并且促进用于传输流量的对于网络6的经优化的总资源成本。拓扑计算模块58获得可用于用作网络6中的网络链路的候选链路的集合。在一些实例中,拓扑计算模块58附加地获得描述由其物理(传输)路径上的这些候选链路所遭遇的共享风险的抽象链路数据56。在一些情况下,抽象链路数据56还定义可用的候选链路并且可以定义在网络6中已经配置和激活的附加抽象链路。换句话说,并且在这样的情况下,抽象链路数据56是拓扑计算模块58获得候选链路的集合的机制。在一些情况下,抽象链路数据56还可以包括与路径优化(诸如链路的物理长度或者延迟)相关的信息。通过这种方式,抽象链路数据56表示以从传输网络54到控制器52的某种方式“泄漏”的数据,以使得能够通过拓扑计算模块58将另外的约束应用于确定在其上路由流量的路径和对应的候选链路。这样的约束可以与抽象链路数据56的类型相对应,其可以包括可用的候选链路、链路长度、链路度量(其可以基于链路长度)、链路成本(其也可以基于链路长度)和针对链路的共享风险链路组(SRLG)的列表。在一些情况下,拓扑计算模块58基于在数据文件中设定和在用于控制传输网络54的控制器52中配置的用户定义或者应用程序定义的规则,通过建立控制器52的附加候选链路以使用(如果要求并且如果这样的链路的使用将导致较低成本的总体方案),可以获得抽象链路数据56。换句话说,控制器52可以根据由控制器52所获得的候选链路定义建立候选链路。例如,用户或者应用可以将分组光传输设备的组定义为传输网络54内的节点的类型,例如接入节点、核心节点和超级核心节点,并且可以指示分组光传输设备允许组内或组之间的连接的情况。例如,规则可以指定:●接入节点可以连接到三个最近的核心节点。●核心节点可以连接到两个最近的其他核心节点。●核心节点可以连接到两个最近的超级核心节点。●任何超级核心节点可以连接到任何其他超级核心节点。以上规则仅是示例。所定义的规则还可以定义管理加权方案,其由软件可用于中候选链路被用于传输流量的情况下传输流量。关于上文,所定义的规则仅确定候选链路并且不指定这样的链路必须被用于传输流量。在应用本文所描述的技术确定网络6拓扑的链路的路径之后,控制器52可以仅配置用于在传输流量中使用的候选链路中所指示的可用链路中的所选择的子集。另外,如果这样的链路不在候选链路集中所生成的集合中,则控制器52可能不能够将链路添加到给定方案。相反,即使这样的链路不在候选链路集中,拓扑计算模块58也可以使用针对网络6已经定义的链路。换句话说,除非链路要么定义在候选链路集中要么已经存在于网络6中,否则拓扑计算模块58可能不能够在确定方案中使用链路。控制器52可以路由传输网络54中的可用的候选链路以确定例如传输网络54中的链路路径中的其实际长度和共享风险(SRLG)。如下文所进一步详细描述的,在选择候选链路之前,可以预计算这样的链路的路径。因为出于故障弹性的目的,传输路由的最短路径可以是过度限制性的,例如以防止来自传输链路的SRLG的故障,所以拓扑计算模块58可以确定针对拓扑计算模块58可以选择的给定候选链路的多个路径。在一些示例中,针对给定链路的多个路径可以包括较短路径、两个不同路径中的较短的路径和两个不同路径中的较长的路径。尽管最短路径和两个不同路径中的较短的路径可以是相同的,但是不一定需要是该情况。控制器52可以使用适于找到最短不同周期路径并且如果可用则考虑SRLG的强大的不同路径算法来确定不同路径。在一些情况下,诸如链路9中的任一个链路的逻辑链路可以已经配置在网络6中(即,“存在”),并且可以通过控制器52获得传输层54中的逻辑链路的路径。在这样的情况下,已知路径可以是固定的,并且上文所描述的不同路径可以不由拓扑计算模块58确定或者利用。在DavidWood和PingWang于2014年12月29日提交的题为“POINT-TO-MULTIPOINTPATHCOMPUTATIONFORWIDEAREANETWORKOPTIMIZATION”的美国专利申请第14/585,170号中描述了关于用于计算不同路径的示例技术的附加细节,其整体内容通过引用并入本文。因为在一些情况下,从候选集所选择或者在迭代地确定流量需求矩阵的方案之前所预计算链路的路径,所以在一些实施例中,拓扑计算模块58可以避免尝试以关于导致传输网络54元件中的可用波长的这样的方式设计链路的路径。实际上,这允许拓扑计算模块58假定光(例如,WDM)容量不限制针对需求的方案的确定。一旦选择候选链路,则控制器52可以将针对候选链路的路由路径映射到具有SRLG信息和底层路径的传输链路区段或者节点的SRLG信息(即,传输该传输网络54中的流量以实现路径)。在一些情况下,控制器52可以基于在传输网络中链路“旁路”的路由器4的数目,减少候选链路的集合,其可以允许根据传输链路拓扑和设备而不是仅根据长度而降低候选链路集。这还可以使得能够由仅具有直接λ光连接或者限于仅旁路小数目的节点的连接的受限的集合的高速路由器组成的核心IP网络的真实建模。因此,可以从链路的候选集合减少其路由旁路这些高速路由器的所有IP层链路。如上文所指出的,拓扑计算模块58可以从抽象链路文件或者从例如针对传输网络54的第三方网络管理系统所获得或者由用户所建立的其他数据结构获得抽象链路数据56。通过这种方式,拓扑计算模块58可以获得此处由传输网络54所表示的传输层的抽象图片,但是保持不知悉传输网络54拓扑的细节。换句话说,拓扑计算模块58可以具有经由抽象链路数据56从传输网络54控制器所取得或者从例如传输网络54网络管理系统(NMS)的输出所导出的传输网络的受限或者仅抽象的图片。通过这种方式,获得抽象链路数据56可以是有利的,因为定义候选链路是否不可用的规则取决于传输网络54中所采用的各种分组光传输设备的特殊性。获得候选链路直接作为来自抽象链路文件的“抽象链路”的集合可以使用针对候选链路生成的相对简单公式,使得能够实现比可能关于更复杂的连接的约束,如上文所描述的。如上文所指出的,抽象链路数据56可以包括可用的候选链路的链路信息,诸如链路长度、链路度量、链路成本和/或针对链路的共享风险链路组(SRLG)的列表。为了执行考虑光纤切断的传输网络中的潜在故障模式或者WDM/光部件故障以及IP层中的设备和接口的故障的设计,拓扑计算模块58可以通过向链路符合的SRLG应用惩罚来说明由IP链路所使用的传输层设备。例如,控制器52可以获得与抽象链路数据56中所标识的候选链路相对应的传输层元件的SRLG信息。这样的SRLG信息可以针对光纤区段、承载光纤的导管(conduit或者duct)、传输层交换元件等。控制器52可以获得针对网络6中的任何现有链路的这种SRLG信息。控制器52可以获得针对现有链路的这种SRLG信息以理解网络6的故障模式,其被修改为包括在用于根据本文所描述的技术确定流量需求矩阵的方案的迭代期间由抽象链路数据56所描述并且由拓扑计算模块58所选择的候选链路。关于上文,弹性机制需要依赖于预测哪些资源具有同时故障的高可能性以便正确地分配冗余路由。在简单网络中,节点或者节点之间的链路可能由于局部故障而发生故障。然而,在分组/光网络中,DWDM的单个光纤切断将影响所传输的所有波长。而且,每个单独的波长可以将不同对的路由器连接,使得光网络中的单个光纤切断似乎是网络拓扑中的三倍或者四倍故障,如同当存在超过两个层例如WDM上的SDH上的IP(在该示例中,WDM上的SDH表示传输网络54)时可能发生的那样。为了处理这样的情况,将SRLG或者SRLG的集合分配为链路属性。例如,SRLG可以由IGP(OSPFv2和IS-IS)域内唯一的32位数字表示,诸如网络6或者网络6内的IGP,其中网络6包含多个域。可以向链路分配多个SRLG。标签交换路径(LSP)中的路径的SRLG是针对路径中的所有链路的SRLG的集合。当确定针对候选链路的路径时,拓扑计算模块58可以使用抽象链路数据56中所提供的SRLG信息。一般而言,当计算针对候选链路的不同路径时,优选的是,在主要路径和次要路径的SRLG不相交的情况下,找到路径使得主要路径和次要路径不具有任何共同路径。这确保特定链路上的单点故障不使主要路径和次要路径同时发生故障。通过比较链路的SRLG属性,拓扑计算模块58可以在迭代期间应用惩罚,以促进主要路径和次要路径的链路的集合之间的不相交的SRLG属性并且通过这种方式到达不同的故障路由。作为先决条件,由传输网络54所表示的光域的SRLG必须渗到由网络6所表示的分组域中。因此,SRLG可以使能同步多层网络60的层之间的路由决策。此外,SRLG信息的特性是层独立的,并且可以因此用作任何层处的路由的共同参考信息。补充或者替代表示针对抽象链路的共享风险,抽象链路数据56可以指示抽象链路的给定集合的资源约束(或者包含抽象链路的集合的SRLG)。针对抽象链路的集合的资源约束可以指定来自集合的仅指定数目的抽象链路可以被选择以在针对网络6的网络拓扑中使用。例如,传输网络54中的特定光纤区段可以具有用于承载在光纤区段上激活的网络链路的40个波长的限制。通过例如在遍历光纤区段的候选链路的特定集合上指定40的资源约束,抽象链路数据56可以确保仅候选链路的特定集合的40的最大值可以由拓扑计算模块58选择以用于网络6中的激活。拓扑计算模块58鉴于流量需求矩阵迭代地分析候选链路和抽象链路数据,以选择候选链路的子集来高效并且鲁棒地承载需求。响应于拓扑计算模块58确定由候选链路的所选择的子集组成的逻辑网络拓扑,拓扑提供模块26可以向传输网络54(或者向网络运营商)信号通知路由候选链路的所选择的子集所要求的所确定的网络拓扑信息19,作为由传输网络54所表示的传输层中的需求。网络拓扑信息19可以包括候选链路的所选择的子集。候选链路的所选择的子集可以在网络拓扑信息19中被表达为传输网络54的需求的集合。在图1B的示例中,网络管理系统53可以经由接口23向网络运营商呈现候选链路的选定子集的表示33。该表示33可以包括向GUI显示器的输出、文本或数据文件和/或材料的账单,例如向网络运营商描述候选链路的选定子集。通过应用本公开内容中所描述的技术,管理设备(诸如控制器52或网络管理系统53)可以促进关于网络6拓扑的对于网络的总成本的全局优化,以用于满足流量需求矩阵。在一些示例中,管理设备还可以促进在任何单个元件故障的情况下能够承载流量需求矩阵的网络6的配置,同时还满足应用到网络6的其他约束,诸如针对通过网络的给定路径的延迟、下一跳的数目、定义为在网络上的特定地点可用的总资源等;或者如果中间方案不满足这些所请求的约束,则向总成本应用惩罚。尽管全局优化方案可能未实现在所有情况中,但是该技术可以避免方案梯度的总成本上的至少一些局部最小值,其可能导致鲁棒但是较低的资源成本方案。图2是根据本公开内容的技术的图示被配置为确定用于路由流量的逻辑网络拓扑的示例管理设备的框图。响应于接收到需求,控制器100计算和输出满足针对网络6的流量需求矩阵的逻辑网络拓扑。控制器100可以包括例如服务器或者网络控制器,并且可以表示图1A的控制器52的示例实例。在某些实例中,控制器100可以表示图1B的网络管理系统53的示例。在这种实例中,控制器100可以不包括拓扑提供模块118并且可以包括类似于接口23的接口用于输出针对方案的选定经过滤的链路的表示。控制器100包括控制单元102,其耦合到网络接口110以通过一个或多个入站链路122和一个或多个出站链路124与其他网络设备交换分组。控制单元102的主存储器108表示一个或多个计算机可读存储介质,其可以包括随机存取存储器(RAM),诸如各种形式的动态RAM(DRAM),例如DDR2SDRAM或者静态RAM(SRAM)、闪速存储器或者任何其他形式的固定或者可移除存储介质,其可以用于承载或者存储以可以由计算机访问的指令和数据结构的形式的期望的程序代码和程序数据。主存储器108提供包括由模块112、104可访问的可寻址存储器位置的物理地址空间。主存储器108耦合到盘127,其可以包括计算机可读存储介质,其包括以针对诸如处理器可读指令、数据结构、程序模块或者其他数据的信息的存储的任何方法或者技术实现的易失性和/或非易失性、可移除和/或不可移除介质。计算机可读存储介质包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、EEPROM、闪速存储器、CD-ROM、数字多用光盘(DVD)或者其他光学存储、磁带盒、磁带、磁盘存储或者其他磁性存储设备或者可以用于存储数据和指令的任何其他介质。在该示例中,控制单元102包括用于执行模块104、112的多核计算平台111。多核计算平台包括多个处理核心,其各自包括用于执行符合核心的指令集架构的指令的独立执行单元。多核计算平台111的核心可以各自实现为单独的集成电路(IC),或者可以组合在各自使用单个IC(即,芯片多处理器)实现的一个或多个多核处理器(或者“众核”处理器)内。多核计算平台111执行软件指令,诸如用于定义存储到主存储器108的软件或者计算机程序所使用的那些软件指令。备选地或者附加地,控制单元102可以包括专用硬件,诸如一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或者用于执行本文所描述的技术的专用硬件的前述示例中的一个或多个的任何组合。控制单元102提供针对网络服务应用104和拓扑元件112的操作环境。在一些示例中,这些模块可以实现为执行在一个或多个服务器的一个或多个虚拟机上的一个或多个过程。也就是说,尽管一般地图示并且描述为执行在单个控制器110上,但是模块104、112的方面可以执行在其他计算设备或者在一个或多个计算设备的不同虚拟机上。网络服务应用104表示向服务提供商网络的客户端提供服务的一个或多个过程,服务提供商网络包括用于管理路径计算域中的连接性的网络6和控制器100。网络服务应用104可以将例如包括电影、电视或者其他媒体内容分布、IP电话(VoIP)、视频点播(VOD)、批量传输、围墙/开放花园(Walled/opengarden)、IP移动子系统(IMS)和其他移动服务和因特网服务提供给至少部分由控制器100控制的服务提供商网络的客户端。网络服务应用104可以向拓扑元件112发出需求以请求网络6的传输服务。网络服务应用104中的一个或多个可以包括或者利用通过其一个或多个客户端应用请求传输服务的客户端接口106。例如,客户端接口106可以表示命令行接口(CLI)或者图形用户接口(GUI)。客户端106还可以或者备选地向客户端应用提供诸如网络服务的应用编程接口(API)。网络服务应用104可以向拓扑元件112发出需求以请求由控制器100所控制的从源到目的地的路径计算域中的相应的路径。例如,需求可以包括所请求的带宽或者其他约束和表示通过由控制器100所管理的路径计算域通信的源和目的地的两个端点。控制单元102将需求存储为需求18数据结构(“需求18”)中的需求的列表。在一些情况下,网络6的服务提供商或者其他管理员可以经由管理接口配置一个或多个需求18。在一些情况下,拓扑元件112可以附加地或者备选地基于由网络6先前经历的需求的模型,导出预计需求18。拓扑元件112接受在路径计算域上的需求的端点之间路由流量的需求。可以针对不同时间和日期并且利用不同带宽要求请求需求。拓扑元件112可以使来自网络服务应用104的需求一致,以基于需求参数和网络资源可用性,将对应的流量的所请求的路径复用到网络6路径计算域上。为了智能地计算网络层6的拓扑,在一些情况下,拓扑元件112可以包括用于接收流量工程信息的拓扑模块116,诸如流量工程信息21,其描述包括路由器4和其接口并且将网络链路相互连接的网络6的可用的资源。拓扑模块116可以执行诸如开放最短路径优先与流量工程扩展(OSPF-TE)、中间系统到中间系统与流量工程扩展(ISIS-TE)、BGP链路状态(BGP-LS)等的一个或多个南向协议以学习针对网络6的流量工程信息。流量工程数据库(TED)126存储由构成控制器100的路径计算域的网络6的拓扑模块116所接收的流量工程信息。TED126可以包括一个或多个链路状态数据库(LSDB),其中在从拓扑服务器所接收和/或由诸如重叠控制器的链路层实体所发现并且然后提供给拓扑模块116的路由协议通告中接收链路和节点数据。在一些实例中,服务提供商或者其他管理实体可以经由管理接口配置TED126内的流量工程或者其他拓扑信息。根据本公开内容中所描述的技术并且为了满足网络6的需求,拓扑元件112的拓扑计算模块114确定和优化针对需求18的路径。拓扑计算模块114应用本公开内容中所描述的技术以迭代地确定针对需求18的方案,以促进用于传输流量的对于网络6和底层传输网络的全局优化的总资源成本。拓扑计算模块114可以表示拓扑计算模块58的示例实例。为此,在一些情况下,拓扑计算模块114获得描述网络6的候选链路和由其物理(传输)路径上的这些候选链路所遭遇的共享风险的抽象链路数据56,以及与诸如链路的物理长度或者延迟的路径优化相关的信息。拓扑计算模块114鉴于需求18迭代地分析候选链路和其他抽象链路数据,以选择候选链路的子集来高效并且鲁棒地承载与需求18相对应的流量。拓扑计算模块114已经选择和路由网络6的候选链路的子集,拓扑提供模块118尝试将候选链路的路由路径设置到网络6上。控制器100的拓扑提供模块118可以将路径编程到网络6中,以使得网络6的状态匹配如由拓扑计算模块114所确定的网络6的状态。拓扑提供模块118可以表示拓扑提供模块26的示例。提供路径可以在提交路径之前要求路径验证,以提供分组传输。拓扑提供模块118执行用于路径提供的一个或多个南向协议,以将状态注入诸如路由器4中的任何一个或多个路由器的网络6的元件中。南向协议是指控制器100的部件可以与诸如路由器4的网络6元件通信,以获得或者注入确定网络6的操作的拓扑信息、转发和其他网络信息的协议。例如,南向协议可以包括路径计算单元(PCE)通信协议(PCEP)、开放最短路径优先与流量工程扩展(OSPF-TE)、中间系统到中间系统与流量工程扩展(ISIS-TE)、BGP链路状态(BGP-LS)、NETCONF/Yang、对接到路由系统(I2RS)协议、网络元件的CLI、简单网络管理协议(SNMP)和OpenFlow(或者其他SDN配置协议)。拓扑模块116可以接收来自网络6的更新的流量工程信息,其可以通过网络6的拓扑的拓扑计算模块114触发动态重新计算。例如,一旦接收到新或更新的TE链路或者接收到TE链路已经发生故障的信息,TED126就可以触发拓扑计算模块14以重新计算路径,其可以包括针对候选链路的相应的不同路径以便说明TED126变化。在接收到新或更新的抽象链路数据56时,拓扑计算模块114可以附加地/备选地动态地重新计算更新的网络6拓扑。例如,更新的抽象链路数据56可以指示针对链路的新SRLG,其可以指示先前不同的路径候选现在具有共同的SRLG并且因此不再关于SRLG而不同。因此,拓扑计算模块114可以重新计算针对候选链路的不同路径以便获得候选链路的多样性。图3是根据本公开内容中所描述的技术的图示用于确定和优化逻辑网络拓扑的一个或多个管理设备的操作的示例模式的流程图。参考控制器52来描述操作200,但是可以由例如由多个控制器或者路由器控制平面组成的分散的控制平面或者由一个或多个网络管理设备来应用操作200。拓扑计算模块58获得包括路由器4的网络6的实况拓扑信息21,其在该示例中协作实现IP路由平面(202)。拓扑计算模块58还获得针对网络6的候选链路、可在优化逻辑网络拓扑(203)中使用的候选链路。所确定的方案通常不使用所获得的所有候选链路,并且控制器52应用操作200以确定用于建立最低成本网络拓扑的候选链路的子集。拓扑计算模块58可以通过基于在控制器52中所配置或者由控制器52所接收的用户定义的规则建立候选链路来获得候选链路。拓扑计算模块58可以路由传输网络54中的这些新建立的链路以确定其实际物理长度和新建立的链路在传输层中的其路径中遭遇的共享风险(SRLG)。在一些情况下,当计算开始时,预计算这些路径。为了计算路径,拓扑计算模块58可以计算三个路径,并且优化算法自由地在这些之间选择:1.最短路径2.所计算的“最短不同周期”上的两个路径中的较短的路径3.所计算的“最短不同周期”上的两个路径中的较长的路径这些路径中的前两个路径经常是相同的,但是不一定是必要的情况。拓扑计算模块58可以应用“强”不同路径算法,其良好地工作以考虑SRLG信息(如果可用的话)找到复杂网络中的最短不同循环路径。更一般而言,拓扑计算模块58可以从最短/最短周期路径中确定总路径度量的某个范围内的N个“不同”、不循环传输层路径。这些N稍后将由根据本文所述技术的光系统计算进行过滤。例如,拓扑计算模块58可以确定七个“合理”传输层路径-最短路径;来自最短周期的两个路径以及不同于这些路径并且彼此不同的四个其他路径(例如,在距最短路径和来自最短周期的两个路径的基本集度量距离的某个限制内)。如本文所述,拓扑计算模块58继而可以基于光约束来过滤这些路径,从而产生K<N个可用路径。这些K路径继而被视为针对主优化算法的可行候选链路。如果逻辑链路已经存在并且传输网络54中的其路径是已知的,那么可以将这读取到拓扑计算模块58中并且已知路由可以是固定的——并且上文所描述的不同路径集不是确定的。在一些情况下,因为在应用操作200之前预计算这些路径全部,所以拓扑计算模块58可能不尝试设计考虑传输网络54中的可用波长的路径。在这样的情况中,拓扑计算模块58相反假定WDM容量不限制设计。备选地,计算模块可以具有关于WDM资源约束的信息(例如,从抽象链路数据56所获得的)并且如果方案不满足这些约束,则向方案应用惩罚。一旦选择路径,则拓扑计算模块58将这些路径映射到在每个传输网络54链路区段或者节点之上承载的IP链路的SRLG信息。在一些实例中,与传输路径有关,拓扑计算模块58可以具有用于基于链路在传输层中“旁路”的IP节点的数目来减少候选链路的集合的用户可配置的参数。这允许根据传输链路拓扑和所经过的设备而不是例如根据距离而减少候选链路集。拓扑计算模块58可以备选地接收包括描述候选链路的信息的抽象链路数据56。在一些情况下,抽象链路数据56是建立为来自传输层的第三方网络管理系统的数据提取的文件。在一些情况下,针对网络6的网络运营商可以通过将脚本应用到可用的传输层数据或者操纵可用的传输层数据来建立这样的文件。通过这种方式,直接从抽象链路数据56获得候选链路信息例如仅提供不包括传输层拓扑的细节的传输网络54的抽象或者受限描述。因此,拓扑计算模块58可以应用用于确定所选择的候选链路的更复杂的约束。例如,网络运营商可以指定链路或者SRLG的任何组上的最大计数、最大延迟、最大容量(或者其任何组合)。拓扑计算模块58可以将这样的约束应用到针对网络6的拓扑确定,其中这样的约束是该方案中的“软约束”,其违反被禁止的约束的要求而接收被添加到总网络成本的惩罚成本(拓扑计算模块58迭代地应用操作200的步骤以确定使这些惩罚降低或者达到0的方案)。描述候选链路的信息可以包括可用的链路和链路上的相关联的链路度量、链路成本和/或SRLG。针对网络6的实况拓扑信息21和所获得的候选链路的组合定义针对网络6的网络拓扑模型。拓扑计算模块58路由网络拓扑模型上的网络6的流量需求(204)。下文关于图4-5包括用于路由流量需求的示例详细操作。然后,拓扑计算模块58执行关于由当前网络拓扑模型所表示的方案的故障模拟,所述当前网络拓扑模型包括在其上拓扑计算模块58已经路由流量需求中的任一个流量需求的候选链路的当前子集(206)。如果例如不能保护流量、未满足特定故障阻力约束或者要求固定设备超过其所约束的容量以便承载流量,则故障模拟确定要应用到方案的惩罚。下文关于图6提供故障模拟的示例细节。拓扑计算模块58确定针对方案的网络6的资源成本和针对方案的惩罚(除在故障模拟期间所确定的那些外)(208)。为了出于优化的目的而确定资源成本,拓扑计算模块58确定多层网络60中的所有设备的总资源成本。这样的成本可以至少部分地基于承载流量所需要的链路能力(或者“尺寸”)。总资源成本公式是运营商可配置的,使得运营商可以关注网络“成本”(诸如总链路“里程”或者“总接口计数”)的单个措施,或者使用公式得到实际成本的现实措施以便形成不同的潜在方案之间的公平比较。在一些情况下,操作可以将至少一些分量添加到成本以反映例如等于“较短的链路”的所有其他比“较长的链路”更好使用等。例如,可以通过将小分量添加到与距离成比例的链路成本来在成本公式中反映这一点。对成本公式的这样的小改变经常使拓扑计算模块58标识针对大问题的有利的方案容易得多,这是因为拓扑计算模块58可以找到沿着成本梯度使方案转向的方向的某种指示。在一些情况下,拓扑计算模块58还可以尝试基于节点上的链路的数目和通过其的流量来进行节点设备的简单分配。如从上文描述可以推断,通过接口(链路)计数支配成本的网络的最佳方案与通过链路里程支配成本的网络的最佳方案将看起来非常不同。拓扑计算模块58附加地确定针对方案的惩罚。例如,方案可以违反具有相关联的惩罚的一个或多个约束。如上文所指出的,这样的约束可以包括链路或者SRLG的任何组上的最大计数或者最大容量(或者两者的组合)。因此,拓扑计算模块58可以确定方案违反哪些约束并且应用相关联的惩罚。步骤206的故障模拟还可以累积针对例如在要么正常要么故障条件的情况下的方案中不能路由的流量的惩罚。拓扑计算模块58累积应用到方案的惩罚并且将所积累的总惩罚成本添加到总资源成本以确定方案的总成本(210)。对于优化算法的初始运行(迭代)(212的是分支)而言,拓扑计算模块58不执行与先前方案的比较,而是作为替代修改网络拓扑(214)。为了修改网络6的网络拓扑,拓扑计算模块58可以(1)通过将高(但是不是无限的)惩罚添加到候选链路上的路由度量选择候选链路中用于阻塞的一个候选链路,(2)通过移除先前应用在所选择的候选链路的路由度量上的惩罚选择先前已经阻塞到“未阻塞”的候选链路,或者(3)(在一些情况下)路由传输层中的不同路径上的链路,使得新路径改变由逻辑网络层中的链路所遭遇的共享风险组合传输网络54中的容量要求。拓扑计算模块58可以在阻塞或者未阻塞之间进行选择并且根据随机函数选择链路。然而,在一些情况下,拓扑计算模块58可以应用简单启发法,诸如使较昂贵的链路向阻塞偏置和使较不昂贵的链路向未阻塞偏置,通过向在其上具有非常低流量[例如,非常低比例(所承载的流量/(链路成本))]的阻塞链路和向繁忙节点上的未阻塞较短链路偏置更多,或者通过使选择偏置,使得可以优选地选择作为在其所约束的容量处或大于其的共享资源约束的活动链路以用于阻塞。已经出于算法的目的而修改网络拓扑,拓扑计算模块58应用步骤204、206、208和210以确定具有新路由的流量的新方案和确定新方案的总成本。这是后续的迭代(212的否分支)。拓扑计算模块58将针对新方案的总成本与针对先前方案的总成本相比较(220),并且如果利用新方案总成本已经降低(220的是分支),则拓扑计算模块58接受经修改的网络拓扑并且转到步骤214。然而,如果利用新方案总成本尚未降低(220的否分支),则拓扑计算模块58应用模拟退火函数确定是否接受经修改的网络拓扑,而不管经修改的网络拓扑导致较大的总成本(222)。通过这种方式,拓扑计算模块58可以促进避免总成本梯度的局部最小值以使方案发展为更全局最佳的方案。模拟退火函数是根据依赖于成本增加的幅度和操作200的迭代进度(例如,迭代的数目)的概率而返回正结果的函数。作为一个示例,函数的概率可以定义为:exp(-ΔCT)]]>其中,ΔC是与先前方案相比的成本增加的幅度,并且T是拓扑计算模块58一般地但非排他性地随着迭代数目增加而降低的“温度”参数。如果模拟退火函数返回正结果(222的是分支),则拓扑计算模块58转到步骤214。如果模拟退火函数返回真(222的否分支)(其通常是更可能的),则拓扑计算模块58拒绝经修改的网络拓扑并且恢复针对先前迭代所确定的网络拓扑(224)。通过这种方式,拓扑计算模块58可以有效地跳出局部最小值。在步骤214处,拓扑计算模块58通过阻塞或者未阻塞如上文所描述的一个或多个候选链路来修改网络拓扑(214)。如果尚未到达待执行的迭代的数目(216的否分支),则拓扑计算模块58修改在步骤222中所应用的模拟退火函数的温度参数(218)。基于迭代的数目的可配置的阈值或者一些其他方案,该降低可以与迭代的数目成比例。参数T可以是用户可配置的或者依赖于计算的一些方面,诸如候选链路的数目或者其他方面。为了促进全局最佳算法,拓扑计算模块58应当在其中改变的合理百分比将增加成本并且然后逐渐地降低该百分比的温度区域中花费尽可能多的时间。作为用于确定T的一个示例,在操作200的开始,拓扑计算模块58将目标百分比设置到10%,使得网络拓扑修改的10%导致成本增加。最后,目标百分比设定到0%。在迭代期间,目标百分比随着迭代进程而线性地降低。例如,每隔N次迭代,拓扑计算模块58将检查增加成本的改变的实际百分比并且将此对目标值进行检查。如果实际百分比是太高,那么拓扑计算模块58将减少参数T。如果该实际百分比是太低,那么拓扑计算模块58将增加参数T。下文在图7至图9中描绘了该过程的示例中间结果和最终结果。一旦已经到达迭代循环限制并且执行要执行的迭代的数目(216的是),则拓扑计算模块58退出操作。在一些情况下,步骤216的迭代完成检查基于其他接受准则,诸如迭代:针对固定的经过时间,直到总资源成本小于某个可接受的值,或者直到满足某个其他接受准则。在操作200的运行期间,拓扑计算模块58存储在迭代中的任一个迭代期间所标识的最低成本方案的方案。尽管在操作200期间所标识的最低成本方案可能不是全局最佳的,但是方案可以仍然对初始确定或者至少在一些实例中对可以实际上通过备选方法获得的方案进行优化。拓扑提供模块26将针对方案(其可以包括所选择的候选链路)所确定的拓扑数据输出到传输层,以建立所选择的候选链路以建立所确定的网络6拓扑(226)。在一些情况下,拓扑提供模块26对所选择的候选链路进行配置。在一些情况下,拓扑计算模块58通过输出文件或者呈现供网络运营商使用的拓扑数据来经由接口向网络运营商输出针对方案确定的拓扑数据。图4是图示将流量路由到网络上的管理设备的操作的示例模式的流程图。参考图1的控制器52而描述操作300,但是可以由例如由多个控制器或者路由器控制平面组成的分散的控制平面而应用操作300。拓扑计算模块58初始地预处理流量需求的列表以根据源节点(例如,路由器4之一)来核对要路由的流量需求的列表(302)。对于每个源节点而言,拓扑计算模块58审核对应的核对列表以标识针对源节点的目的地的列表(例如,路由器4的任何集合)(304)。然后,对于每个源节点而言,拓扑计算模块58计算从源节点到针对源节点中的目的地的列表中的每个目的地的至少一个最短路径(306)。拓扑计算模块58可以利用所应用的“开放”最短路径优先(开放SPF)算法的特性,其花费与其找到从节点到所有节点的路径类似时间量找到从节点到单个节点的路径。这利用预处理步骤302、304。在一些情况下,拓扑计算模块58可以使用(例如,图2的多核计算平台111的)多个核心来执行多个并行线程以执行步骤306。计算针对每个源节点到其相关联的目的地列表的最短路径是独立的操作,并且因此多个线程中的每个可以独立地计算针对各种源节点的集合的不同子集的最短路径。例如,预处理步骤302、304可以导致源节点的队列,每个源节点要求最短路径的计算,并且多个线程可以使来自用于处理的队列的源节点出队以共同地执行步骤306。为了确保同步,每个源节点可以与互斥元或者其他同步基元相关联。在DavidWood于2014年9月29日提交的题为“BatchedPathComputationinResource-ConstrainedNetworks”的美国专利申请第14/500,736号中大体上找到关于计算约束的最短路径和最短路径的多线程计算的附加细节,其整体内容通过引用并入本文。在一些情况下,至少一个最短路径可以包括多个等价多径(ECMP)路径。为了找到采取通过网络的不同路由的多个ECMP路径,拓扑计算模块58可以若干次调用最短路径算法并且通过交换链路和路径搜索顺序实现不同的路径(下文参考图5所描述的附加示例细节)。已经计算最短路径,拓扑计算模块58然后将表示流量需求的流路由到最短路径上(308)。拓扑计算模块58将流量添加到最短路径的链路和最短路径的中间节点。在ECMP路径是可用的地方,拓扑计算模块58可以递归地分割可用的ECMP路径之上的流量、通过该递归算法将流量分配给各路径并且将分割的流量路由到网络上。图5是根据本文所描述的技术的图示用于确定多个等价多径(ECMP)路径的操作的示例模式的流程图。操作400的模式可以是图4的操作300的步骤306的至少一部分的示例实现方案,并且操作400参考图1的控制器52而描述操作400。由拓扑计算模块58所应用的原始最短路径算法找到以在节点上以链路的顺序排序的路径。因此,如果对链路重新排序使得具有相同度量的链路以不同的顺序出现,则所找到的路径将是不同的。第一次调用重新排序,具有相同度量的链路的顺序简单地反转。在第一调用之后,随机地搅乱顺序。最短路径算法中的其他排序来自搜索已经连接的节点列表的顺序。如由拓扑计算模块58所应用的,随机地搅乱该节点列表,并且当找到新连接节点时,其放置在该列表中的随机位置中。因此,如果存在相关联的ECMP路径,则最短路径算法每次调用算法时将找到不同的路径。因此,拓扑计算模块58迭代地计算源节点的最短路径并且将各列表重新排序。迭代中的第一步是计算从源节点到针对源节点中的目的地的列表中的每个目的地的至少一个最短路径(402)。如果标识任何新最短路径,则拓扑计算模块58将这些保存为源节点的新ECMP路径。然后,拓扑计算模块58可以对在节点上排序的链路的顺序和对已经连接的节点的排序进行重新排序(406)。拓扑计算模块58围绕循环迭代,直到源节点的ECMP的列表停止增长(408的是分支)或者标识ECMP的最大数目(410的是分支)。最大数目可以是例如5、10、12或者15。在这点上,流量需求具有与其相关联的ECMP路径的列表。网络6的路由器4中的ECMP负载均衡算法将跨每个分支路径均匀地分割流量。拓扑计算模块58应用上文的递归模式来分配每个分支路径上的需求的流量以模仿该行为。以如下伪代码提供上文步骤2的示例最短路径优先算法。该算法对本地于每个节点的数组起作用:double*distanceCosts;unsigned*routeMarks;unsigned*searchEntryPoints;unsigned*localDestinationMarks;Node**connectedNodes;Path*pathTable;在一些情况下,上文局部数组可以例如是链路或者节点自身的指针或者列表中的迭代器指针。注意该算法看起来具有3个嵌套层次。然而,最内层循环仅从该节点上使用的最后的链路到尚未连接的第一邻居进行迭代。因此,其通常仅循环1或2次,并且从而降低了算法复杂度。使用排序的链路的该算法可以针对节点将具有(至少原则上)大量的可能链路使用的情况提供很大的加速。对于节点将通常仅具有几个邻居的“正常”网络上的直接路由计算而言,存在一些加速,但是优点可以没有实质性。即便如此,使用批量处理找到来自单个源节点的目的地的列表的路由将加速所有情况中的开放最短路径计算。如上文所指出的,在上文示例中,拓扑计算模块58执行开放SPF(内部网关协议(IGP))路由计算,并且然后基于该开放路由设定网络部件上的容量要求。在一些情况下,路径确定可以作为替代或者附加地使用约束的SPF(CSPF)设计基于CSPF的路由要求的LSP的集合的网络容量要求。在这样的情况下,拓扑计算模块58可以通过修改针对网络6的候选链路(或者节点)的最大容量而不是通过简单地阻塞或者未阻塞来修改网络拓扑模型。拓扑计算模块58可以应用上文并入的Wood的美国专利申请第14/500,736号中所描述的批处理路径计算技术,以执行一些情况中的CSPF计算。图6是根据本文所描述的技术的图示故障模拟的操作的示例模式的流程图。操作500的模式可以是图3的操作200的步骤204、206的至少一部分的示例实现方案,并且参考图1A的控制器52而描述但可以由图1B的网络管理系统53执行的操作500。在操作500中,拓扑计算模块58确定在链路上和通过节点的最坏情况的流量水平,并且拓扑计算模块58使用该水平并且基于路由到其的通过流量来设定链路的尺寸和节点的大小。拓扑计算模块58进而使多层网络60的多个部件发生故障(502)。例如,拓扑计算模块58可以使用于针对方案路由流量的每个候选链路、通过其流量已经路由的路由器4中的每个路由器4、每个传输链路(或者SRLG,如果如抽象链路所获得的候选链路的话)、每个传输节点(如果已知的话)和每个地点发生故障。故障的部件的类型可以由网络6的网络运营商可配置。对于每个故障的部件而言,拓扑计算模块58标识受影响的流量、通过源节点布置受影响的流量并且生成针对每个源节点的目的地列表(504)。拓扑计算模块58生成由故障所影响的需求的列表(506)。对于在故障节点处发源或者终止的流量而言,拓扑计算模块58可以从路由网络模型移除流量。对于通过故障部件的流量而言,拓扑计算模块58尝试对流量进行重新路由。为了重新路由,拓扑计算模块58确定到每个受影响的源节点的目的地的最短路径(508)。步骤508可以与图4的步骤306类似。拓扑计算模块58将受影响的流重新路由到最短路径(510)上。这样的重新路由可以包括递归地分割可用的ECMP路径之上的经重新路由的流量、将分割的流量路由到网络模型上、将流量添加到链路和中间节点。另外,拓扑计算模块58可以通过链路上的网络模型和通过节点来存储描述最坏情况的流量水平的数据(这些可以定义针对这些元件的尺寸)。拓扑计算模块58还可以添加针对由于故障不能重新路由的流量的惩罚(512)。操作200可以将所有这样的惩罚并入针对方案的总成本中。图7至图9描绘了根据本公开内容中所描述的技术的图示在用于确定网络的网络拓扑的示例运行期间的中间和最终参数和结果的图表。运行中用于确定网络拓扑的候选链路可以包括未过滤的候选链路或者经过滤的候选链路。图表仅是说明性的。图7描绘了由拓扑计算模块58示出目标比例602的图标600,其具有针对给定迭代的值目标比例602将导致成本增加的目标概率。在该示例中,针对迭代1的初始目标比例被设置到10%,并且最后目标百分比设定到0%。在迭代期间,目标百分比随着迭代进程而线性地降低。例如,每隔N次迭代,拓扑计算模块58将检查增加成本的变化的实际百分比(在图表600中描绘为实际比例604)并且将此对目标值进行检查。如果实际百分比是太高,那么拓扑计算模块58将减少针对模拟退火函数的温度参数T。如果该实际百分比是太低,那么拓扑计算模块58将增加参数T。图8描绘了本公开内容中所描述的技术的用于确定网络的网络拓扑的示例运行的模拟退火函数的温度参数T的图表610。当拓扑计算模块58调节T的值以尝试满足图6的图表600中所描绘的目标比例602时,图表610图示了不稳定但是向下趋势。图9描绘了根据本公开内容中所描述的技术的图示在用于确定网络的网络拓扑的示例运行期间所确定的中间和最终总成本的图表620。当前总成本线622图示了由针对算法的迭代的拓扑计算模块58所确定的总成本。最好总成本线624图示了由直到该点的拓扑计算模块58所获得的最低成本方案的总成本。注意,在该示例中,初始迭代导致未再次到达直到在运行中远得多的最好总成本(在迭代~55,000之后)。方案实际上首先漂移到明显较高的成本。当前总成本与最好总成本之间的大的差异图示了存储还在运行的过程期间所标识的最好方案的重要性。图10是根据本文所描述的技术的图示示例网络系统的框图,其中控制器获得针对多层网络的抽象链路数据和光网络数据并且使用该抽象链路数据以基于使用光网络数据的过滤候选链路来确定针对多层网络中逻辑网络层的逻辑链路。网络系统702可以表示网络系统50和51中的任意网络系统的示例性实例,其中传输网络54进一步详细图示以包括由光纤链路706A-706F(统称为“光纤链路706”)互连的光节点704A-704F(统称为“光节点704”)。在图示的示例中,每个光节点704与网络6的路由器4之一相关联。例如,光节点704可以经由灰色光耦合至相应路由器4,其中路由器与变换器交换灰色(未着色)光信号,该变换器在灰色光信号和以与WDM设备交换的特定波长(着色)的光信号之间转换。在某些示例中,光节点704和路由器4的一个或多个对可以被集成,例如,路由器具有用于在光信号与电信号之间转换的集成变换器以及集成光交叉连接(OXC)或WDM设备。在某些示例中,一个或多个光节点704不包括与任何路由器4的接口。这种光节点可以表示切换光路径的λ的OXC。在某些示例中,多层网络60可以包括任意以下架构模型的任意组合:(1)添加到网络层6的光传输网络(OTN)层(旁路模型);(2)优化混合MPLS+OTN拓扑;(3)仅MPLS分组传输网络;以及(4)仅OTN电路传输网络。每个光节点704可以表示PCX、WDM/DWDM设备、基于TDM的设备、OXC、OADM、ROADM、复用设备、或其他类型的设备或者发射、切换和/或复用光信号的其他设备。拓扑提供模块26和/或传输网络54的管理员配置光节点704以沿光路径切换光信号,每个光路径开始于光发射器并且终止于光接收器,并且每个光发射器和光接收器与光节点704中包括与路由器4之一的接口的不同光节点相关联。通过此方式,路由器4可以经由光路径交换分组。光路径可以备选地被称为光路径、光路、λ或光传输网络波长。针对光路径的示例带宽可以包括例如,2.5Gbps、10Gbps、40Gbps、100Gbps或400Gbps。每个光节点704和光纤链路706展示了影响在针对光路径的光接收器接收的光信号的特性,该光路径包括此光节点704和光纤链路706。换言之,在接收器接收的光信号可以损伤影响,该损伤包括光设备的传输和光切换特性并因此不同于在光发射器发射的光信号。以下是损伤和光传输属性/现象的示例,其可以影响光信号的完整性并且确定针对光路径选定的光接收器是否能够将光信号准确地转换成电信号以向路由器4之一传输并且在路由层拓扑中路由。色散(CD)是光纤链路706中玻璃介质的属性。因为玻璃介质中的折射率是光波长的函数,因此较低频率波长比较高频率波长以不同速度通过玻璃,这使得以各种波长发射的信号模糊。传输网络54可以包括色散补偿组件以减少或移除一个或多个光纤链路706上的色散。这种色散补偿组件可以与内联放大器集成。然而,这种补偿通常是不完善的,至少在色散保持每个光纤链路706的属性的情况下。针对光路径的色散值是构成光纤链路和设备的累积属性,并因此线性累积针对光路径的光纤链路706的贡献以及部分构成该光路径的其他光设备(诸如光节点704的组件)的贡献(正、负或无关紧要/零)。针对光系统计算,色散可以被设置为限制,使得如果色散在此范围之外,则该链路被认为不可用,或者作为整个噪声因子图的附加损伤分量。因此色散可以是正或负,因此色散在某个限制之上的正值可以通过添加分量以添加负色散来将整个值置于该限制以下进行补偿。偏振模色散(PMD)和偏振相关损耗(PDL)由光纤的双折射和正交偏振光信号传输产生。PMD使得光脉冲扩散至邻近位周期并重叠。PDL是针对具有偏振的各种模式的光的传输中峰到峰差值的测量。PDL通常被定义为针对所有偏振状态的光设备或光纤链路的最大传输与最小传输的比率。光耦合器、隔离器、波分复用器和光检测器通常展示PDL。针对光系统计算,PMD、PDL和/或CD值可以被设置为限制,使得如果其位于容差之外,则该链路被认为不可用。备选地或附加地,这些实现可以被认为是整个噪声因子/OSNR图的附加损伤分量。光信噪比(OSNR)表示光信号中噪声的量。正如电信号,放大光信号放大了信号和噪声两者,而信号和噪声两者沿光纤的衰减对于信号而言更加显著。信号的OSNR因此沿光纤传输介质减少。每个光纤链路706具有依赖于光纤链路长度和质量的不同OSNR值。给定光纤链路706的光纤类型及其长度,控制器52可以确定一段的信号功率损耗,以及色散和偏振色散值(例如,PMD和PDL)。每个光纤段可以包括内联放大器以补偿这些损耗(利用设置等于段损耗的增益)。此内联放大器可以是专门用于放大器任务的单独设备或者在光节点704上变换器或波长旁路之前的前置放大器。内联放大器还可以与色散组件集成以减少或移除该光纤段上的色散。放大器增益向OSNR引入附加噪声因子,其可以由控制器52根据内联放大器增益设置和针对该内联放大器的数据表来确定。针对光纤链路706的给定光纤链路,控制器52可以确定信号功率损耗、色散、PMD和/或PDL。另外,控制器52向最低成本放大器分配能够提供用于补偿损耗的所需增益的能力。在某些示例中,如果无法补偿损耗,则控制器52选择最高增益放大器并且用最大可能增益配置放大器。控制器52继而可以使用从放大器数据表确定的信息根据放大器增益引入的噪声因子确定对整个OSNR的贡献。通过此方式,控制器52可以动态确定对光纤链路的OSNR的贡献。在示例中并且针对0.1nm参考波长,控制器52可以使用以下公式确定贡献:OSNR(dB0.1)=C-NoiseFactor(amplifiergain)-Gain+rx_power]]>其中C是可配置常数,NoiseFactor(amplifiergain)表示基于放大器增益由放大器引入的噪声,并且Gain表示放大器增益。rx_power表示在接收器处的光功率。此外,针对光纤链路并且在某些示例中,控制器52确定针对光纤链路的PMD和/或PDL。在某些示例中,控制器52还可以进行色散补偿。为了确定光路径损伤的值,控制器52获得针对光传输网络54的光网络数据750。光网络数据750包括描述光传输网络54的光设备的数据并且可供控制器52用于确定光路径损伤的值。如下文进一步详细所述,基于光路径损伤和针对光路径终止处可用光接收器的光接收器容差,控制器52可以确定候选链路用于在具有可行光路径的网络6中进行路由。如果影响防止不具有可行光路径的候选链路被考虑,则控制器52根据优化算法过滤这种候选链路。相反,控制器52仅向控制器52确定具有可行光路径的经过滤的候选链路集应用优化算法。换言之,控制器52可以在‘潜在链路’上使用光系统计算以在尝试主优化逻辑之前过滤掉由于其光属性而不可行的链路。控制器52可以从网络图中移除在其光属性方面不可行的链路,并且优化过程从此减少的链路集进行。通过此方式,可以录入可用于设计的光纤属性、放大器、收发器、乘法器等的细节,并且考虑到此数据还执行优化计算以确定优化网络拓扑。还可以使用这里所述的技术以调查可用光组件的特定属性如何影响整个网络设计及其在网络规模上的成本影响。此关于组件的信息可以基于制造商提供的数据表或者针对实时网络向管理软件提供的测量。因为色散可以是正或负,因此在某个限制之上的色散的正值可以通过添加分量以添加负色散来将整个值置于该限制以下进行补偿。光网络数据750可以包括以下非穷举的光传输网络54的光设备的描述数据的列表:●光纤拓扑,包括在光节点704光纤链路706之间切换的可用性。●针对每个光纤链路706:○光纤长度、PMD、PDL、色散(色散损耗特性可以每长度单元表达)。●针对每个光节点704,包括接收器、发射器、转换器、变换器、集成放大器、光交换机等的光组件的特性。这种特性可以包括对光传输路径上的损伤的容差,包括对PMD、PDL、色散、OSNR容差等的容差值。●每个路由器4的位置和路由器4与光节点704之间的关联性。●每个路由器4的特性。●光设备价格/成本。此关于组件的信息可以基于制造商提供的数据表或者针对实时网络向管理软件提供的测量。抽象链路数据56在本公开的其他位置进行了描述。控制器52接收流量需求32、抽象链路数据56和光网络数据750,并且控制器52基于该数据确定具有底层可行光传输路径的网络链路的网络拓扑。控制器52可以进一步例如经由接口20接收拓扑设计者期望用于特定示例的关于多层网络60上的其他约束的信息。获得关于流量需求32表示的所需端到端流量的准确数据通常是困难的任务。关于所需端到端流量的数据可以在某些情况下由顾客提供并且可以在某些情况下由提供者通过建立针对该流量的简单模型来获得。这种方法的组合还可以产生流量需求32。控制器52确定网络6的拓扑和底层光传输网络54的拓扑以促进以最小总成本承载所需流量。如上所述,控制器52确定所需的设备和组件,并且响应于执行优化算法,输出针对光传输网络54和网络6的至少一个的详细设计。输出在某些示例中可以是一个或多个电子表格、数据库、指令集、材料的详细账单,通过该输出网络运营商可以在其他示例中实现该拓扑。为了这么做,控制器52可以促进对用于传输流量的网络的优化总资源成本以满足流量需求32。如上文所述,拓扑计算模块58获得针对网络6的候选链路集并且应用拓扑优化算法(诸如本公开中描述的示例算法)以获得针对拓扑提供模块26可以提供至多层网络60的拓扑方案的候选链路集。例如,拓扑计算模块58可以从针对IP/网络层的候选链路网开始以用于设计。这些候选链路可以例如表示全部路由器4之间链路的“全网状”或者层级部分网状。针对层级部分网状,候选链路可以表示其中市区内的所有节点可以连接的拓扑,而核心节点经由长距离连接进行连接。备选地,候选链路集可以是用户定义的。通常,候选链路的确切网状的特定拓扑并不关键只要其可以连接所有路由器6。拓扑计算模块58确定通过针对至少某些候选链路(同样,候选链路表示网络6中的IP/网络层链路)的光传输网络54的路径。根据针对控制器52的一个示例网络模型,位于相同站点(例如,相同仓库、大都市区或者其他地理上近似定位)的路由器4配对可以直接连接而不需要依赖光传输网络54传输针对连接该对的候选链路的分组。然而,在路由器4配对处于不同站点的情况下,拓扑计算模块58确定传输/光纤层中的可能路径(即,通过光传输网络54)。这些路径需要理解对于多个候选链路常见的共享风险以及计算光属性以确定候选链路是否可行。在某些示例中并且如上文详细所述,拓扑计算模块58将确定多达N个可能的路径用于候选链路。这些潜在路径中的每个路径被认为是路由器4配对之间的单独候选链路并且具有通过传输网络54的唯一光路径。多个候选链路因此可以具有端点路由器4的相同配对但是具有不同光路径。在图10的示例中,拓扑计算模块58在使用经过滤的候选链路确定并优化逻辑网络拓扑之前另外通过光约束过滤候选链路。换言之,拓扑计算模块58在尝试路由候选链路上的流量或者执行应用针对网络拓扑计算的进一步操作之前从针对候选链路的光路径中确定具有可行光路径的候选链路。具有可行光路径的候选链路可以备选地在本文被称为可行候选链路。通过此方式,拓扑计算模块58促进包括具有可行光路径的候选链路集中的那些候选链路的优化网络6拓扑用于路由流量需求32。作为通过光传输网络54的光传输路径上的波长路由的网络链路9可以作为邻近光节点704之间的直接连接路由,或者备选地可以路由通过一个或多个有源WDM/DWDM、OXC、无源放大器(或其他光设备)。波长OSNR沿路径变化,因为其累积噪声、色散和其他降级到偏振特性。针对光路径的色散损伤如上文所述线性地累积光纤链路704的贡献和部分构成光路径的其他光设备(诸如光节点704的组件)的贡献(正、负或无关紧要/零)。拓扑计算模块58可以根据等式(1)确定针对光路径的总色散损伤:TotalCD=Σi=1KCD(i)---(1)]]>其中K是光纤段和设备的数目,并且CD(i)是针对第i个段/设备的色散损伤的值。针对光路径的偏振相关损耗和偏振模色散损伤作为扩散过程累积。因此,在某些示例中,拓扑计算模块58可以确定针对光路径的PMD和/或PDL作为单独光设备贡献的总和的平方根。例如,拓扑计算模块58可以根据等式(2)确定PMD:TotalPMD=(Σi=1KPMD(i)2)0.5---(2)]]>其中K是光纤段和设备的数目,并且PMD(i)是针对第i个段/设备的PMD损伤的值。同样地,拓扑计算模块58可以根据等式(3)确定PDL:TotalPDL=(Σi=1KPDL(i)2)0.5---(3)]]>其中K是光纤段和设备的数目,并且PDL(i)是针对第i个段/设备的PDL损伤的值。光信噪比(OSNR)累积为沿光路径的光设备的OSNR贡献倒数的和,通常表示为比率而不是分贝(dB)。聚合OSNR可以被确定为单独光设备的OSNR倒数的和的倒数。对OSNR的贡献包括来自输入发射器的贡献以及进入光纤的复用器设备、沿光路径的任意内联放大器以及最终解复用器阶段和光接收器上的后续增益。因此,在某些示例中,拓扑计算模块58可以基于OSNR值(dB)确定噪声值。例如,确定针对段/设备的噪声并且使用0.1nm作为参考波长:Noise=10(0.1*OSNR(dB))(4)则:TotalNoise=Σi=1KNoise(i)---(5)]]>其中K是光纤段和设备的数目,并且Noise(i)是针对第i个段/设备使用等式(4)确定的噪声值的值。以分贝表示的最终OSNR可以根据等式(6)确定:FinalOSNR(dB)=-10log10(TotalNoise)(6)其中TotalNoise是使用等式(5)确定的值。因此,在某些示例中,拓扑计算模块58可以根据等式(7)确定针对光路径的聚合OSNR:OSNRtotal=1/Σi=1K1OSNR(i)---(7)]]>其中K是光纤段和设备的数目,并且OSNR(i)是第i个段/设备的OSNR值。备选地,K可以单独表示光纤段的数目,其中OSNR(i)是第i个段的OSNR值。针对光路径选择的最终接收器具有对所有损伤以及OSNR最小值的相应容差,以便将光信号传输的数据重建为用于在网络6表示的网络层中交换的电信号。换言之,最终接收器尝试将光信号转换成电信号(如果可以这么做的话),这是由于光信号不具有足够受CD、PMD和/或PDL损伤的质量以至于损伤转换但是具有用户转换的足够OSNR。在各示例中,拓扑计算模块58可以考虑对色散、PMD或PDL的限制作为针对这些参数的每个参数的单独限制。备选地或附加地,违反这些限制相反可以被视为附加噪声损伤分量并且添加到针对链路的整体噪声因子/OSNR。基于光网络数据750,针对来自候选链路集并且具有光路径的给定候选链路,拓扑计算模块58尝试标识具有针对光路径确定的损伤和OSNR可接受的容差的光接收器。如果光节点704处的适当光接收器终止光路径,则拓扑计算模块58可以鉴于损伤和OSNR选择满足各容差的最低成本接收器。对应的候选链路是“可行的”。如果在光节点704没有可用(例如,存在)的适当光接收器,则拓扑计算模块58从候选链路集中移除该候选链路,这有效地禁止了该链路用于在网络拓扑上路由。在从候选链路集中过滤不可行的所有候选链路之后,拓扑计算模块58保留经过滤的候选链路集,各候选链路具有可行光路径。在某些示例中,拓扑计算模块58确定并报告最终OSNR值,以及出于排查目的对候选链路的损伤。在某些示例中,拓扑计算模块58除了基于光特性过滤还可以通过其他方式过滤候选链路。例如,请求网络方案的用户可以设置对候选链路可以在传输网络54中旁路的路由器4的数目的限制。如果此限制被设置为零,则仅允许路由器4配对之间的端到端连接。作为另一示例,用户可以禁止传输网络54中选定的光节点704通过波长。如果此“禁止”标志针对光节点704设置,则所有波长必须在该光节点704上终止而不是通过。因此,这些波长上的分组流量必须路由通过与此连接的一个或多个路由器4(或者在集成实施方式中通过光节点704的IP路由引擎方面)。不是所有具有位于地理上彼此邻近(“站点”)的路由器的路由器4集都需要连接至针对光传输的传输层(例如,用于长距离连接)。相反,在某些示例中,站点的一个或多个路由器4可以包括具有光接口的光卡,并且站点的剩余路由器例如经由灰色光上路由器层链路连接到具有这种光卡的路由器。根据某些模型,拓扑计算模块58可以使用以下过滤器的任意组合来过滤这些情况下的候选链路:(1)如果两个路由器4在相同站点,则连接路由器4的候选链路不需要通过传输网络54路由,因此拓扑计算模块58不需要应用基于光特性的候选链路过滤;以及(2)如果两个节点在不同站点,则只有连接至传输层的路由器允许承载流量。在某些情况下,光传输网络54可以包括不相交区域(即,没有光纤链路连接这些区域)。拓扑计算模块54可以过滤无法为其路由流量的候选链路,这种候选链路的端点路由器4位于光传输网络54的不相交区域中。在某些情况下,至少某些光节点704可以包括能够作为终端复用器或者允许波长的子集直接通过的光设备。针对节点旁路,仅在两个光纤(例如,东-西)之间允许,并且卡无法提供全面光连接除非在该路由器层终止并切换。可以具有连接至两个输入光纤配对集(例如,东-西和北-南)的至少两个这种卡配对。在此情况下,通过路由可以东-西或北-南但不允许交叉,即,不允许东-北。为了连接东-北或其他交叉,路由将再次需要用于终止的波长以及在路由器层实行切换。拓扑计算模块58除了或备选上文所述过滤规则还可以应用过滤以实现上文规则。根据上文所述技术过滤候选链路以获得经过滤的候选链路集,各候选链路具有可行光路径。拓扑计算模块58可以应用上文所述技术来使用经过滤的候选链路集作为针对网络拓扑的候选链路集以促进优化网络拓扑。在某些示例中,拓扑计算模块58向每个经过滤的候选链路指派路由度量。例如,拓扑计算模块58可以使用简单跳+x*距离公式来确定针对经过滤的候选链路的路由度量。拓扑计算模块58继而可以基于经过滤的候选链路集和相应确定的度量来计算针对端到端流量的最短路径(如果网络中存在等成本多路径(ECMP),则拓扑计算模块58将计算多达N个不同路径用于路由,其中在某些情况下N=12)。拓扑计算模块58继而可以在经计算的最短路径上放置流量需求32。如果网络中存在ECMP路径,则拓扑计算模块58可以应用递归公式以在由经过滤的候选链路构成的网络6的各路径上放置针对ECMP的流量需求的正确比例。类似于上文针对图3至图6描述的算法,拓扑计算模块58执行来自用户定义情景集的故障模拟,包括所有路由器4、所有网络链路9、SRLG等的故障。拓扑计算模块58从故障元件移除流量需求32,计算新的路径(如果可能),并且将移除的流量需求重新路由至经修改的网络拓扑。同样,如果存在ECMP路径,则拓扑计算模块58可以应用递归公式在各路径上放置针对ECMP的流量需求的正确比例。拓扑计算模块58可以在网络链路9上存储最坏情况流量值并且按照需要基于最坏情况流量值规划网络链路9和路由器4。拓扑计算模块58可以关于设备、组件和接口的成本从用户定义的输入数据确定总网络成本,并且将该总网络成本返回给请求用户。拓扑计算模块58通过鉴于流量需求32迭代地分析经过滤的候选链路集和抽象链路数据来促进优化网络方案以选择经过滤的候选链路的子集来高效鲁棒地承载需求。作为控制器52网络设计输出的一部分,拓扑提供模块26可以向网络(或网络运营商)信号传输配置并激活尚未被激活和配置的这些选定的经过滤的候选链路子集的任意候选链路所需的信息。更具体地,类似于上文针对图3以及经过滤的候选链路集所述的技术,拓扑计算模块58计算路径并路由流量需求32;执行故障模拟;规划网络;以及计算针对方案的总成本。拓扑计算模块58继而通过例如阻断或解阻断经过滤的候选链路集的经过滤的候选链路来改变针对该方案的网络拓扑。通过此方式,作为可能的方案的网络拓扑包括经过滤的候选链路集的选定子集。拓扑计算模块58再次计算路径并路由流量需求32;执行故障模拟;规划网络;以及计算针对该方案的新的总成本。拓扑计算模块58可以使用经模拟的退火来基于新的总成本和先前总成本确定是否接受该新的拓扑。如上文所述,如果经修改的网络拓扑减少了总成本,则其被接受。如果经修改的网络拓扑增加了总成本,则在某些概率下接受改变。如果改变被拒绝,则网络拓扑被恢复到改变之前的状态。拓扑计算模块58迭代地执行上述步骤到特定限制,并且随着迭代进行,对增加总成本的网络拓扑方案的修改的概率逐渐减少。拓扑计算模块58通过此方式引导网络拓扑朝向优化方案,从而促进优化网络拓扑。然而,拓扑计算模块58可能不是在所有情况下都可以获得全局优化。拓扑计算模块58已经确定针对多层网络60的方案,拓扑提供模块26可以向传输网络54(或向网络运营商)信号传输确定的网络拓扑信息19用于按照需求在传输网络54表示的传输层路由经过滤的候选链路的选定子集。网络拓扑信息19可以包括候选链路的选定子集。候选链路的选定子集可以在网络拓扑信息19中表达为针对传输网络54的需求集。图11是根据本公开所述的技术更详细图示了包括用于切换光纤链路上λ的光组件的光纤链路的框图。在此示例中,光纤链路706B包括可以传输波分复用(WDM)复用器709添加的多个波长/λ的光纤714。WDM解复用器711在光纤714的末端将波长分开。内联放大器710将正在光纤714上传输的波长放大。图12是描绘了针对图11的示例光纤链路的光设备的损伤和光信噪比值的表。光网络数据750可以包括表720作为拓扑计算模块58的输入数据的表示以确定候选链路集中的可行候选链路。在图示示例中,表720包括针对光设备的PMD、PDL、色散(CD)和OSNR的栏。例如,解复用器711具有OSNR值V1。图13是图示了示例候选链路和根据本文所述技术确定的候选链路的光路径的框图。在此示例中,拓扑计算模块58确定从路由器4A到路由器4E的候选链路740A以及从路由器4A到路由器4F的候选链路740B。候选链路740A-740B(统称为“候选链路740”)可以仅表示用于确定网络6的网络拓扑方案的候选链路初始集的子集。拓扑计算模块58计算针对每个候选链路740的一个或多个光路径。在此示例中,针对候选链路740A的光路径742A从与路由器4A相关联的光节点704A前进到光节点704B用于光切换至与路由器4B相关联的光节点704E。另外,针对候选链路740B的光路径742B从与路由器4A相关联的光节点704A前进到光节点704B用于光切换至与路由器4F相关联的光节点704F。虽然针对每个候选链路740仅示出了一个光路径,但是拓扑计算模块58可以计算针对每个候选链路的多个潜在光路径。如上文所述,拓扑计算模块58将每个潜在光路径评估为单独候选链路,并且如果该光路径可行,则该候选链路被添加到经过滤的候选链路集中。拓扑计算模块58根据这里所述的技术使用经过滤的候选链路集来促进优化网络。图14是根据本公开的技术更详细图示了被配置为确定用于路由流量流的逻辑网络拓扑的示例管理设备的框图。虽然针对控制器描述,但是该描述类似地可应用于网络管理系统。响应于接收需求,控制器748计算并且输出满足针对网络6的流量需求矩阵的逻辑网络拓扑。控制器748可以表示控制器100的示例实例,该控制器100在计算网络方案的网络拓扑之前确定针对候选链路的经确定光路径的可行性。拓扑计算模块114包括计算针对网络拓扑的候选链路的光路径的光路径模块752。拓扑计算模块114进一步包括通过确定由光路径模块752计算的对应光路径的可行性来过滤候选链路的过滤模块754。过滤模块754使用光网络数据750来确定光路径是否可行,该光网络数据750描述了针对传输网络54的光设备的损伤和OSNR特性。如果针对候选链路的光路径可行,则作为针对网络6的候选链路的端点的路由器4配对与光路径的组合表示可以用于拓扑计算模块114计算的网络拓扑方案的可行候选链路。拓扑计算模块114已经选择并路由了针对网络6的候选链路的子集,拓扑提供模块118尝试为网络6上的候选链路设置路由路径。控制器100的拓扑提供模块118可以将路径编程至网络6以使得网络6的状态匹配由拓扑计算模块114确定的网络6的状态。拓扑提供模块118可以表示图2的拓扑提供模块118的示例。提供路径可以要求在提交路径以为分组传输提供之前进行路径验证。拓扑提供模块118执行用于路径提供的一个或多个南向协议以将状态注入网络6的元件,诸如任意一个或多个路由器4。南向协议指的是如下协议,通过该协议控制器100的组件可以与网络6元件(诸如路由器4)通信以获得或注入拓扑信息,从而转发确定网络6的操作的其他网络信息。图15A和图15B描绘了根据本公开所述技术图示了一个或多个管理设备操作用于确定和优化逻辑网络拓扑的示例模式的流程图。虽然针对图10的控制器52进行描述,但是操作800可以由这里所述的控制器集或任意控制器或者网络管理系统执行。操作800包括由网络6表示的网络/IP层的分组层拓扑设计(PLTD)的步骤以及至少部分由传输网络54表示或包含的光层的光传输层规划(OTLP)的步骤。作为PLTD的设置阶段的一部分,拓扑计算模块58获得包括针对网络6的更新拓扑信息的输入数据(801)。针对网络6的拓扑信息可以包括由路由器4(和/或其他网络层路由/交换节点)和现有网络链路构成的网络6的现有拓扑。拓扑信息可以进一步包括针对任意网络方案的规则或条件。在某些实例中,拓扑计算模块58获得定义网络6层级以及网络6的访问、核和超级核部分之间/中允许的链路的拓扑信息。拓扑计算模块58使用该拓扑信息生成连接路由器4配对的候选链路集。例如,拓扑计算模块58可以从请求方案的用户指定的层级规则和现有链路中生成候选链路集。拓扑计算模块58可以备选地或附加地接收包括描述候选链路的信息的抽象链路数据56。在一些情况下,抽象链路数据56是建立为来自传输层的第三方网络管理系统的数据提取的文件。在一些情况下,针对网络6的网络运营商可以通过将脚本应用到可用的传输层数据或者操纵可用的传输层数据来建立这样的文件。通过这种方式,直接从抽象链路数据56获得候选链路信息例如仅提供不包括传输层拓扑的细节的传输网络54的抽象或者受限描述。因此,拓扑计算模块58可以应用用于确定所选择的候选链路的更复杂的约束。例如,网络运营商可以指定链路或者SRLG的任何组上的最大计数、最大延迟、最大容量(或者其任何组合)。拓扑计算模块58可以将这样的约束应用到针对网络6的拓扑确定,其中这样的约束是该方案中的“软约束”,其违反被禁止的约束的要求而接收被添加到总网络成本的惩罚成本(拓扑计算模块58迭代地应用操作200的步骤以确定使这些惩罚降低或者达到0的方案)。确定的方案通常不使用所有获得的候选链路,并且控制器52应用操作800以确定候选链路的子集用于促进并构建最低成本网络拓扑。候选链路是对下一OTLP阶段的输入。拓扑计算模块58获得针对传输网络54的光传输网络数据750(“光网络数据750”)(803)。拓扑计算模块58可以使用光网络数据750在传输网络54中路由候选链路以确定其实际物理长度以及新构建的链路在其传输层中的路径中遇到的共享风险(SRLG)。在某些情况下,这些路径是在计算开始时预先计算的。为了计算路径,拓扑计算模块58可以计算三个路径并且优化算法自由地在这些路径之间选择:4.最短路径5.经计算的“最短不同周期”上的两个路径中的较短的路径6.经计算的“最短不同周期”上的两个路径中的较长的路径这些路径中的前两个路径经常是相同的,但是不一定是必要的情况。拓扑计算模块58可以应用“强”不同路径算法,其良好地工作以考虑SRLG信息(如果可用的话)找到复杂网络中的最短不同循环路径。更一般而言,拓扑计算模块58可以从最短/最短周期路径中确定总路径度量的某个范围内的N个“不同”、不循环传输层路径。这些N稍后将由根据本文所述技术的光系统计算进行过滤。例如,拓扑计算模块58可以确定七个“合理”传输层路径-最短路径;来自最短周期的两个路径以及不同于这些路径并且彼此不同的四个其他路径(例如,在距最短路径和来自最短周期的两个路径的基本集度量距离的某个限制内)。如本文所述,拓扑计算模块58继而可以基于光约束来过滤这些路径,从而产生K<N个可用路径。这些K路径继而被视为针对主优化算法的可行候选链路。如果逻辑链路已经存在并且传输网络54中的其路径是已知的,那么可以将这读取到拓扑计算模块58中并且已知路由可以是固定的——并且上文所描述的不同路径集不是确定的。在一些情况下,因为在应用操作800之前全部预先计算了针对现有逻辑链路的这种路径,所以拓扑计算模块58可能不尝试设计考虑传输网络54中的可用波长的路径。在这样的情况中,拓扑计算模块58相反假定WDM容量不限制设计。备选地,计算模块可以具有关于WDM资源约束的信息(例如,从抽象链路数据56所获得的)并且如果方案不满足这些约束,则向方案应用惩罚。一旦选择路径,则拓扑计算模块58将这些路径映射到在每个传输网络54链路区段或者节点之上承载的IP链路的SRLG信息。在一些实例中,与传输路径有关,拓扑计算模块58可以具有用于基于链路在传输层中“旁路”的IP节点的数目来减少候选链路的集合的用户可配置的参数。这允许根据传输链路拓扑和所经过的设备而不是例如根据距离而减少候选链路集。使用光网络数据750,控制器52确定针对候选链路的光路径的聚合损伤和聚合OSNR。基于针对终止光路径的光节点704的光接收器的这些质量的光接收器容差,拓扑计算模块58过滤不具有可行光路径的那些候选链路以获得经过滤候选链路集(804)。描述候选链路的信息可以包括可用的链路和链路上的相关联的链路度量、链路成本和/或SRLG。针对网络6的实况拓扑信息21和所获得的候选链路的组合定义针对网络6的网络拓扑模型。拓扑计算模块58路由由经过滤候选链路集的子集构成的网络拓扑模型上的网络6的流量需求(805)。用于路由流量需求的示例详细操作在本公开的其他位置描述。然后,拓扑计算模块58执行关于由当前网络拓扑模型所表示的方案的故障模拟,所述当前网络拓扑模型包括在其上拓扑计算模块58已经路由流量需求中的任一个流量需求的候选链路的当前子集(806)。如果例如不能保护流量、未满足特定故障阻力约束或者要求固定设备超过其所约束的容量以便承载流量,则故障模拟确定要应用到方案的惩罚。下文关于图6提供故障模拟的示例细节。拓扑计算模块58确定针对方案的网络4的资源成本和针对方案的惩罚(除在故障模拟期间所确定的那些外)(808)。为了出于优化的目的而确定资源成本,拓扑计算模块58确定多层网络60中的所有设备的总资源成本。这样的成本可以至少部分地基于承载流量所需要的链路能力(或者“尺寸”)。总资源成本公式是运营商可配置的,使得运营商可以关注网络“成本”(诸如总链路“里程”或者“总接口计数”)的单个措施,或者使用公式得到实际成本的现实措施以便形成不同的潜在方案之间的公平比较。在一些情况下,操作可以将至少一些分量添加到成本以反映例如等于“较短的链路”的所有其他比“较长的链路”更好使用等。例如,可以通过将小分量添加到与距离成比例的链路成本来在成本公式中反映这一点。对成本公式的这样的小改变经常使拓扑计算模块58标识针对大问题的有利的方案容易得多,这是因为拓扑计算模块58可以找到沿着成本梯度使方案转向的方向的某种指示。在一些情况下,拓扑计算模块58还可以尝试基于节点上的链路的数目和通过其的流量来进行节点设备的简单分配。如从上文描述可以推断,通过接口(链路)计数支配成本的网络的最佳方案与通过链路里程支配成本的网络的最佳方案将看起来非常不同。拓扑计算模块58附加地确定针对方案的惩罚。例如,方案可以违反具有相关联的惩罚的一个或多个约束。如上文所指出的,这样的约束可以包括链路或者SRLG的任何组上的最大计数或者最大容量(或者两者的组合)。因此,拓扑计算模块58可以确定方案违反哪些约束并且应用相关联的惩罚。步骤206的故障模拟还可以累积针对例如在要么正常要么故障条件的情况下的方案中不能路由的流量的惩罚。拓扑计算模块58累积应用到方案的惩罚并且将所积累的总惩罚成本添加到总资源成本以确定方案的总成本(810)。对于优化算法的初始运行(迭代)(812的是分支)而言,拓扑计算模块58不执行与先前方案的比较,而是作为替代修改网络拓扑(814)。为了修改网络6的网络拓扑,拓扑计算模块58可以(1)通过将高(但是不是无限的)惩罚添加到候选链路上的路由度量选择候选链路中用于阻塞的一个候选链路,(2)通过移除先前应用在所选择的候选链路的路由度量上的惩罚选择先前已经阻塞到“未阻塞”的候选链路,或者(3)(在一些情况下)路由传输层中的不同路径上的链路,使得新路径改变由逻辑网络层中的链路所遭遇的共享风险组合传输网络54中的容量要求。拓扑计算模块58可以在阻塞或者未阻塞之间进行选择并且根据随机函数选择链路。然而,在一些情况下,拓扑计算模块58可以应用简单启发法,诸如使较昂贵的链路向阻塞偏置和使较不昂贵的链路向未阻塞偏置,通过向在其上具有非常低流量[例如,非常低比例(所承载的流量/(链路成本))]的阻塞链路和向繁忙节点上的未阻塞较短链路偏置更多,或者通过使选择偏置,使得可以优选地选择作为在其所约束的容量处或大于其的共享资源约束的活动链路以用于阻塞。已经出于算法的目的而修改网络拓扑,拓扑计算模块58应用步骤804、806、808和810以确定具有新路由的流量的新方案和确定新方案的总成本。这是后续的迭代(812的否分支)。拓扑计算模块58将针对新方案的总成本与针对先前方案的总成本相比较(820),并且如果利用新方案总成本已经降低(820的是分支),则拓扑计算模块58接受经修改的网络拓扑并且转到步骤814。然而,如果利用新方案总成本尚未降低(820的否分支),则拓扑计算模块58应用模拟退火函数确定是否接受经修改的网络拓扑,而不管经修改的网络拓扑导致较大的总成本(822)。通过这种方式,拓扑计算模块58可以促进避免总成本梯度的局部最小值以使方案发展为更全局最佳的方案。模拟退火函数是根据依赖于成本增加的幅度和操作800的迭代进度(例如,迭代的数目)的概率而返回正结果的函数。作为一个示例,函数的概率可以定义为:exp(-ΔCT)]]>其中,ΔC是与先前方案相比的成本增加的幅度,并且T是拓扑计算模块58一般地但非排他性地随着迭代数目增加而降低的“温度”参数。如果模拟退火函数返回正结果(822的是分支),则拓扑计算模块58转到步骤814。如果模拟退火函数返回真(822的否分支)(其通常是更可能的),则拓扑计算模块58拒绝经修改的网络拓扑并且恢复针对先前迭代所确定的网络拓扑(824)。通过这种方式,拓扑计算模块58可以有效地跳出局部最小值。在步骤814处,拓扑计算模块58通过阻塞或者未阻塞如上文所描述的一个或多个候选链路来修改网络拓扑(814)。如果尚未到达待执行的迭代的数目(816的否分支),则拓扑计算模块58修改在步骤822中所应用的模拟退火函数的温度参数(818)。基于迭代的数目的可配置的阈值或者一些其他方案,该降低可以与迭代的数目成比例。参数T可以是用户可配置的或者依赖于计算的一些方面,诸如候选链路的数目或者其他方面。为了促进全局最佳算法,拓扑计算模块58应当在其中改变的合理百分比将增加成本并且然后逐渐地降低该百分比的温度区域中花费尽可能多的时间。作为用于确定T的一个示例,在操作800的开始,拓扑计算模块58将目标百分比设置到10%,使得网络拓扑修改的10%导致成本增加。最后,目标百分比设定到0%。在迭代期间,目标百分比随着迭代进程而线性地降低。例如,每隔N次迭代,拓扑计算模块58将检查增加成本的改变的实际百分比并且将此对目标值进行检查。如果实际百分比是太高,那么拓扑计算模块58将减少参数T。如果该实际百分比是太低,那么拓扑计算模块58将增加参数T。上文在图7至图9中描绘了该过程的示例中间结果和最终结果。一旦已经到达迭代循环限制并且执行要执行的迭代的数目(816的是),则拓扑计算模块58退出操作。在一些情况下,步骤816的迭代完成检查基于其他接受准则,诸如迭代:针对固定的经过时间,直到总资源成本小于某个可接受的值,或者直到满足某个其他接受准则。在操作800的运行期间,拓扑计算模块58存储在迭代中的任一个迭代期间所标识的最低成本方案的方案。尽管在操作800期间所标识的最低成本方案可能不是全局最佳的,但是方案可以仍然对初始确定或者至少在一些实例中对可以实际上通过备选方法获得的方案进行优化。拓扑提供模块26将针对方案(其可以包括所选择的候选链路)所确定的拓扑数据输出到传输层,以建立所选择的候选链路以建立所确定的网络6拓扑(826)。在一些情况下,拓扑提供模块26对所选择的候选链路进行配置。例如,拓扑提供模块26可以将来自网络层链路的波长放置在网络上,以及指派用于交换并促进针对链路的光信号的光路径的波长、放大器、变换器、过滤器和其他光设备(828)。在操作800的某些示例中,网络管理系统的拓扑计算模块58通过输出文件或者呈现供网络运营商使用的拓扑数据来经由接口向网络运营商输出针对方案确定的拓扑数据。在这种示例中,管理设备可以不提供多层网络60。可以以硬件、软件、固件或者其任何组合实现本文所描述的技术。如模块、单元或者部件所描述的各种特征可以一起实现在集成逻辑设备中或者分离的但可互操作的逻辑设备或者其他硬件设备。在一些情况下,电子电路的各种特征可以实现为诸如集成电路芯片或者芯片集的一个或多个集成电路设备。如果以硬件实现,则本公开内容可以涉及诸如处理器或者集成电路的装置,诸如集成电路芯片或者芯片集。备选地或者附加地,如果以软件或者固件实现,则本技术可以至少部分由计算机可读数据存储介质实现,其包括在执行时使得处理器执行上文所描述的方法中的一个或多个方法。例如,计算机可读数据存储介质可以存储这样的指令以用于由处理器执行。计算机可读介质可以形成计算机程序产品的一部分,其可以包括封装材料。计算机可读介质可以包括计算机数据存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、磁性或者光学数据存储介质等。在一些示例中,制造品可以包括一个或多个计算机可读存储介质。在一些示例中,计算机可读存储介质可以包括非瞬态介质。术语“非瞬态”可以指示存储介质不是实现在载波或者传播信号中。在某些示例中,非瞬态存储介质可以存储能够随时间改变(例如,在RAM或者高速缓存中)的数据。代码或者指令可以是由包括一个或多个处理器的处理电路执行的软件和/或固件,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他等价的集成或者分离的逻辑电路。因此,如本文所使用的术语“处理器”可以指代适合于本文所描述的技术的实现方案的前述结构或者任何其他结构中的任一种结构。另外,在一些方面中,本公开内容中所描述的功能性可以被提供在软件模块或者硬件模块内。作为上文的补充或者取代,描述了以下示例。以下示例中的任一个示例所描述的特征可以与本文所描述的其他示例中的任一个示例一起利用。示例1.一种方法,包括:由包括网络层和底层传输层的多层网络的管理设备获得多个候选链路,其中多个候选链路中的每个候选链路与传输层中的光路径相关联;由管理设备至少基于描述传输层的光纤链路的光特性的光网络数据,确定多个候选链路中具有可行光路径的每个候选链路;由管理设备确定包括确定具有可行光路径的每个候选链路的多个经过滤的候选链路;由管理设备确定包括针对网络层的网络拓扑的第一方案,网络拓扑包括经过滤的候选链路的第一选定子集;由管理设备在至少基于网络拓扑生成经修改的网络拓扑之后,确定包括针对网络层的经修改的网络拓扑的第二方案,经修改的网络拓扑包括经过滤的候选链路的第二选定子集;以及由管理设备输出针对第一方案或者第二方案中具有最低总成本的一个方案的拓扑数据,最低总成本包括针对第一方案或者第二方案中的一个方案的对于网络的总资源成本。示例2.根据示例1的方法,进一步包括:由管理设备获得描述多个经过滤的候选链路中的至少一个经过滤的候选链路的抽象链路数据,其中确定第一方案包括由管理设备基于抽象链路数据确定针对网络层的网络拓扑,网络拓扑包括经过滤的候选链路中的第一选定子集。示例3.根据示例2的方法,其中抽象链路数据指示针对多个经过滤的候选链路中的至少一个经过滤的候选链路的至少一个共享风险链路组,其中确定第二方案包括由管理设备至少基于网络拓扑和针对多个经过滤的候选链路中的至少一个经过滤的候选链路的至少一个共享风险链路组,通过将惩罚成本应用到多个经过滤的候选链路中的第二子集的第一经过滤的候选链路和第二经过滤的候选链路来确定第二方案,并且其中第二方案的最低总成本包括惩罚成本。示例4.根据示例2的方法,其中获得抽象链路数据包括由管理设备接收针对传输层的抽象链路数据结构,抽象链路数据结构包括抽象链路数据。示例5.根据示例4的方法,其中接收抽象链路数据结构包括由管理设备从管理实现传输层的传输网络的网络管理系统接收抽象链路数据结构。示例6.根据示例1的方法,进一步包括:由管理设备向网络拓扑路由多个流量需求,多个流量需求中的每个流量需求表示针对网络层的端到端流量。示例7.根据示例6的方法,进一步包括:由管理设备通过选择在其上管理设备已经路由了多个流量需求中的流量需求的经过滤的候选链路,确定经过滤的候选链路中的第一选定子集。示例8.根据示例1的方法,其中经修改的网络拓扑包括第一经修改的网络拓扑,方法进一步包括:由管理设备在基于第一经修改的网络拓扑生成第二经修改的网络拓扑之后并且响应于确定第二方案具有比第一方案更低的总成本,确定包括针对网络层的第二经修改的网络拓扑的第三方案,第二经修改的网络拓扑包括经过滤的候选链路中的第三选定子集;以及由管理设备在基于网络拓扑生成第三经修改的网络拓扑之后并且响应于确定第二方案具有比第一方案更高的总成本,确定包括针对网络层的第三经修改的网络拓扑的第四方案,第三经修改的网络拓扑包括经过滤的候选链路中的第三选定子集。示例9.根据示例1的方法,进一步包括:由管理设备确定从第一方案到第二方案的总成本增加的幅度;以及由管理设备基于总成本增加的幅度和温度参数,确定模拟退火函数的结果。示例10.根据示例9的方法,还包括:由管理设备根据模拟退火函数的目标概率,设置温度参数,目标概率是针对从第一方案到第二方案的总成本增加的概率。示例11.根据示例1的方法,其中经修改的网络拓扑包括第一经修改的网络拓扑,方法进一步包括:由管理设备确定从第一方案到第二方案的总成本增加的幅度;由管理设备基于总成本增加的幅度和温度参数,确定模拟退火函数的结果;由管理设备在基于第一经修改的网络拓扑生成第二经修改的网络拓扑之后并且响应于确定第二方案具有比第一方案更低的总成本并且仅当模拟退火函数的结果为正时,确定包括针对网络层的第二经修改的网络拓扑的第三方案,第二经修改的网络拓扑包括候选链路中的第三选定子集;以及由管理设备在基于网络拓扑生成第三经修改的网络拓扑之后并且响应于确定第二方案具有比第一方案更高的总成本并且仅当模拟退火函数的结果为负时,确定包括针对网络层的第三经修改的网络拓扑的第四方案,第三经修改的网络拓扑包括候选链路中的第三选定子集。示例12.根据示例1的方法,进一步包括:由管理设备将多个流量需求路由到网络拓扑,多个流量需求中的每个流量需求表示映射到针对网络层的标签交换路径的端到端流量。示例13.根据示例1的方法,其中确定多个候选链路中的候选链路是否具有可行光路径包括:确定对针对候选链路的光路径的损伤;响应于确定终止光路径的光节点包括可用并且能够容忍损伤的光接收器,确定候选链路具有可行光路径;以及响应于确定终止光路径的光节点不包括可用并且能够容忍损伤的光接收器,确定候选链路不具有可行光路径。示例14.根据示例13的方法,其中损伤包括偏振模色散、偏振相关损耗和色散中的至少一个。示例15.根据示例1的方法,其中确定多个候选链路中的候选链路是否具有可行光路径包括:确定针对候选链路的光路径的聚合光信噪比(OSNR);响应于确定终止光路径的光节点包括可用并且能够接收具有聚合OSNR的光信号的光接收器,确定候选链路具有可行光路径;以及响应于确定终止光路径的光节点不包括可用并且能够接收具有聚合OSNR的光信号的光接收器,确定候选链路不具有可行光路径。示例16.根据示例1的方法,进一步包括:由管理设备确定传输层中的一个或多个光路径以位于连接网络层中路由器配对的网络链路之下;以及由管理设备生成多个候选链路中的候选链路,其中候选链路各自至少部分由一个或多个光路径中的光路径和路由器配对限定。示例17.一种针对包括网络层和底层传输层的多层网络的管理设备,管理设备包括:一个或多个处理器,一个或多个处理器耦合到存储器;拓扑计算模块,拓扑计算模块被配置用于由一个或多个处理器执行以:获得多个候选链路,其中多个候选链路中的每个候选链路与传输层中的光路径相关联;至少基于描述传输层的光纤链路的光特性的光网络数据,确定多个候选链路中具有可行光路径的每个候选链路;确定包括确定具有可行光路径的每个候选链路的多个经过滤的候选链路;确定包括针对网络层的网络拓扑的第一方案,网络拓扑包括经过滤的候选链路的第一选定子集;以及在至少基于网络拓扑生成经修改的网络拓扑之后,确定包括针对网络层的经修改的网络拓扑的第二方案,经修改的网络拓扑包括经过滤的候选链路的第二选定子集,其中一个或多个处理器被配置用于输出针对第一方案或者第二方案中具有最低总成本的一个方案的拓扑数据,以用于配置多层网络,最低总成本包括针对第一方案或者第二方案中的一个方案的对于网络的总资源成本。示例18.根据示例17的管理设备,其中拓扑计算模块进一步被配置用于获得描述多个经过滤的候选链路中的至少一个经过滤的候选链路的抽象链路数据,并且其中为了确定第一方案拓扑计算模块进一步被配置用于基于抽象链路数据确定针对网络层的网络拓扑,网络拓扑包括经过滤的候选链路中的第一选定子集。示例19.根据示例18的管理设备,其中抽象链路数据指示针对多个经过滤的候选链路中的至少一个经过滤的候选链路的至少一个共享风险链路组,其中为了确定第二方案拓扑计算模块进一步被配置用于至少基于网络拓扑和针对多个经过滤的候选链路中的至少一个经过滤的候选链路的至少一个共享风险链路组,通过将惩罚成本应用到多个经过滤的候选链路中的第二子集的第一经过滤的候选链路和第二经过滤的候选链路来确定第二方案,并且其中第二方案的最低总成本包括惩罚成本。示例20.根据示例18的管理设备,其中为了获得抽象链路数据,拓扑计算模块进一步被配置用于接收针对传输层的抽象链路数据结构,抽象链路数据结构包括抽象链路数据。示例21.根据示例20的管理设备,其中为了接收抽象链路数据结构,拓扑计算模块进一步被配置用于从管理实现传输层的传输网络的网络管理系统接收抽象链路数据结构。示例22.根据示例17的管理设备,其中拓扑计算模块进一步被配置用于将多个流量需求路由到网络拓扑,多个流量需求中的每个流量需求表示针对网络层的端到端流量。示例23.根据示例22的管理设备,其中拓扑计算模块进一步被配置用于通过选择在其上管理设备已经路由多个流量需求的流量需求的经过滤的候选链路,确定经过滤的候选链路中的第一选定子集。示例24.根据示例17的管理设备,其中经修改的网络拓扑包括第一经修改的网络拓扑,其中拓扑计算模块进一步被配置用于在基于第一经修改的网络拓扑生成第二经修改的网络拓扑之后并且响应于确定第二方案具有比第一方案更低的总成本,确定包括网络层的第二经修改的网络拓扑的第三方案,该第二经修改的网络拓扑包括经过滤的候选链路中的第三选定子集;以及拓扑计算模块进一步被配置用于在基于网络拓扑生成第三经修改的网络拓扑之后并且响应于确定第二方案具有比第一方案更高的总成本,确定包括网络层的第三经修改的网络拓扑的第四方案,该第三经修改的网络拓扑包括经过滤的候选链路中的第三选定子集。示例25.根据示例17的管理设备,其中拓扑计算模块进一步被配置用于确定从第一方案到第二方案的总成本增加的幅度;以及其中拓扑计算模块进一步被配置用于基于总成本增加的幅度和温度参数,确定模拟退火函数的结果。示例26.根据示例25的管理设备,其中拓扑计算模块进一步被配置用于根据模拟退火函数的目标概率,设置温度参数,目标概率是针对从第一方案到第二方案的总成本增加的概率。示例27.根据示例17的管理设备,其中经修改的网络拓扑包括第一经修改的网络拓扑,其中拓扑计算模块进一步被配置用于确定从第一方案到第二方案的总成本增加的幅度,其中拓扑计算模块进一步被配置用于基于总成本增加的幅度和温度参数,确定模拟退火函数的结果,其中拓扑计算模块进一步被配置用于在基于第一经修改的网络拓扑生成第二经修改的网络拓扑之后并且响应于确定第二方案具有比第一方案更低的总成本并且仅当模拟退火函数的结果为正时,确定包括针对网络层的第二经修改的网络拓扑的第三方案,第二经修改的网络拓扑包括候选链路中的第三选定子集;以及其中拓扑计算模块进一步被配置用于在基于网络拓扑生成第三经修改的网络拓扑之后并且响应于确定第二方案具有比第一方案更高的总成本并且仅当模拟退火函数的结果为负时,确定包括针对网络层的第三经修改的网络拓扑的第四方案,第三经修改的网络拓扑包括候选链路中的第三选定子集。示例28.根据示例17的管理设备,其中拓扑计算模块进一步被配置用于将多个流量需求路由到网络拓扑,多个流量需求中的每个流量需求表示映射到针对网络层的标签交换路径的端到端流量。示例29.根据示例17的管理设备,其中为了确定多个候选链路中的候选链路是否具有可行光路径,拓扑计算模块进一步被配置用于确定对针对候选链路的光路径的损伤;响应于确定终止光路径的光节点包括可用并且能够容忍损伤的光接收器,确定候选链路具有可行光路径;以及响应于确定终止光路径的光节点不包括可用并且能够容忍损伤的光接收器,确定候选链路不具有可行光路径。示例30.根据示例29的管理设备,其中损伤包括偏振模色散、偏振相关损耗和色散中的至少一个。示例31.根据示例17的管理设备,其中为了确定多个候选链路中的候选链路是否具有可行光路径,拓扑计算模块进一步被配置用于确定针对候选链路的光路径的聚合光信噪比(OSNR);响应于确定终止光路径的光节点包括可用并且能够接收具有聚合OSNR的光信号的光接收器,确定候选链路具有可行光路径;以及响应于确定终止光路径的光节点不包括可用并且能够接收具有聚合OSNR的光信号的光接收器,确定候选链路不具有可行光路径。示例32.根据示例17的管理设备,其中拓扑计算模块进一步被配置用于确定传输层中的一个或多个光路径以位于连接网络层中路由器配对的网络链路之下;以及生成多个候选链路中的候选链路,其中候选链路各自至少部分由一个或多个光路径中的光路径和路由器配对限定。示例33.根据示例17的管理设备,进一步包括:拓扑提供模块被配置用于由一个或多个处理器执行以输出拓扑数据,用于配置多层网络。示例34.一种非瞬态计算机可读介质包含用于使得包括网络层和底层传输层的多层网络的管理设备的一个或多个可编程处理器执行以下操作的指令,包括:获得多个候选链路,其中多个候选链路中的每个候选链路与传输层中的光路径相关联;至少基于描述传输层的光纤链路的光特性的光网络数据,确定多个候选链路中具有可行光路径的每个候选链路;确定包括确定具有可行光路径的每个候选链路的多个经过滤的候选链路;确定包括针对网络层的网络拓扑的第一方案,该网络拓扑包括经过滤的候选链路的第一选定子集;在至少基于网络拓扑生成经修改的网络拓扑之后,确定包括针对网络层的经修改的网络拓扑的第二方案,该经修改的网络拓扑包括经过滤的候选链路的第二选定子集;以及输出针对第一方案或者第二方案中具有最低总成本的一个方案的拓扑数据,该最低总成本包括针对第一方案或者第二方案中的一个方案的对于网络的总资源成本。此外,上文所描述的任何示例中所阐述的任何特定特征可以组合到所描述的技术的有益示例中。也就是说,任何特定特征通常可适用于本发明的所有示例。已经描述本发明的各种示例。