用于网络的网络设备和网络管理模块以及用于网络中的负载均衡的方法与流程
- 国知局
- 2024-08-02 12:41:09
本发明涉及一种用于网络的网络设备、一种用于网络的网络管理模块和一种用于网络中的负载均衡的方法。
背景技术:
1、本发明涉及网络和这类网络中的负载均衡的领域。具体地,本发明涉及网络设备和网络管理模块以及用于网络中的负载均衡的方法。
技术实现思路
1、发明人考虑以下几点:
2、负载均衡在提高网络利用率方面发挥着至关重要的作用。负载均衡的主要思想是在多条路径上拆分网络中的流量,以便更好地利用网络容量。
3、软件定义网络(software-defined networking,sdn)控制器或路径计算单元(path computation element,pce)集成流量工程方法,以持续优化路由和负载均衡。这些集中式控制平面实体利用网络的全局视图来决定最高效的方式拆分流量方式。分段路由(segment-routing,sr)或多协议标签交换(multiprotocol label switching,mpls)可以用于引导网络中的流量跨越多条分离的路径。在这种情况下,控制器向在网络中执行负载均衡的源(源节点)或头设备提供路由信息(即源路由)。但是,这些技术方案需要集中式路由控制器随时间计算、配置下发和维护多条路径,这可能不利于可扩展性、抗故障或部署性。另外,当使用sr或mpls时,需要更换不具有可编程asic的网络设备(例如,ip设备),这可能需要网络运营商花费巨大成本。
4、分散式负载均衡技术方案可以用于在发生拥塞或链路故障的情况下动态调整路由。但是,这些技术方案只决定将流分配给多条路径(例如,由胖树拓扑提供的并行路径)。一种用于提供多条路径的分布式技术方案称为等价多路径路由(equal-cost multipathrouting,ecmp)。ecmp是为开放式最短路径优先(open shortest path first,ospf)、路由信息协议(routing information protocol,rip)、中间系统到中间系统(intermediatesystem to intermediate system,is-is)和增强型内部网关路由协议(enhancedinterior gateway routing protocol,eigrp)等内部网关协议(interior gatewayprotocol,igp)定义的。ecmp在起始节点和目的地节点之间的等价路径上均匀地拆分网络中的流量。术语“起始节点”和“目的地节点”可以用作同义词。术语“节点”和“网络节点”可以用作同义词。在igp中,链路权重用于分散每个路由器上的路径计算(即分布式路由)。每个路由器都维护一个最短路径树,以确定下一跳。如果存在多条最短路径,则路由器可以通过ecmp自动激活负载均衡。但是,在实践中,很少存在多条等价路径,这些路径是分离的,以有利于实现负载均衡。
5、希望定义一种比ecmp实现更多路由机会的分布式路由系统。与ecmp类似,希望路由器以分布式方式执行路径计算,而不需要交换额外的路由信息。这种系统不需要依赖集中式实体来计算路由路径(例如,sr策略)或路由信息(例如,igp度量)。
6、为了提高igp协议中的路由灵活性,例如,多拓扑路由(multi-topology routing,mtr)扩展版本可以用于ospf和中间系统到中间系统(intermediate system tointermediate system,is-is)协议。因此,在一个网络中,运营商可以设计多个igp权重,以便每个设备可以计算一组最短路径树,这些最短路径树可以用于根据不同的需求(例如,低延迟、低拥塞)进行路由。在这种情况下,协议为每个拓扑维护单独的路由信息库(routinginformation base,rib)和转发信息库(forwarding information base,fib)。rib由接收到的针对不同拓扑的链路状态公告(link state advertisement,lsa)填充。由于协议需要针对每个拓扑交换数据,因此实际中拓扑的数量非常有限(一般为3个或4个)。例如,可以优化多个拓扑的链路权重,以在所有拓扑中实现最大路径分集。优化不同拓扑的链路权重通常由集中式网络管理模块实现。根据这种优化的多拓扑路由内部网关(multi-topologyrouting interior gateway,mtr-igp)配置,自适应流量工程算法可以执行动态流量拆分调整来均衡多个路由拓扑之间的负载,以响应监控的流量动态。灵活算法(flexalgo)可以用作mtr的扩展版本,并且可以增加利用具有不同约束(例如,包含或排除节点/链路)的拓扑(即度量类型)的可能性。
7、集中式技术方案可以用于配置具有负载均衡功能的网络设备。但是,依赖集中式实体会影响系统的可扩展性和稳健性。在一些场景中,集中式控制器也是不可取的。当使用分段路由(segment routing,sr)时,路径计算由sr-流量工程(sr-traffic engineering,sr-te)控制器(例如,sdn或pce控制器)实现,该sr-te控制器完全控制路由策略。分段路由(segment routing,sr)可以在igp/mtr/flexalgo之上运行,并且通过使用编码为srv6报文头中的ip地址的标签栈的中间站点来提供连接最短路径的可能性。当设备不具有可编程芯片组时,这种技术方案需要进行硬件升级。这种技术方案还需要在控制器和设备之间进行广泛通信。
8、虽然与分段路由(segment routing,sr)相比,mtr/flexalgo提供了一种很好的轻量级流量工程(traffic engineering,te)技术方案,但是由于为每个实例都发送链路状态公告(link state advertisement,lsa),并且路由灵活性仅绑定到几个可用的igp实例(一般为3个或4个)有关,因此产生了巨大的开销。另外,集中式管理实体需要优化链路权重或“算法”的定义,以便设备可以产生一组对负载均衡感兴趣的不同路径。一般而言,网络运营商在寻找具有一些额外约束(例如,最大延迟或跳数)的特定节点对之间的许多最大分离的最短路径。
9、一种用于网络中的分布式负载均衡的技术方案可以基于网络中的源节点为了以发现多条路径而发起的“自适应概率泛洪”。泛洪调整接收消息的数量以限制开销。与sr类似,源节点在通往目的地的路径上每个中间节点插入一个标签,数据平面通过弹出标签转发报文。这种技术方案的主要缺点是,发现路由路径产生了大量开销,路径的质量取决于泛洪强度。在单向网络的情况下,还会发现不可行路径。
10、另一种用于网络中的分布式负载均衡的技术方案仅使用根在目的地(目的地节点)的路由树。据此,基本的最短路径树(shortest path tree,spt)通过边进行扩展,以创建更多的路由路径(获取有向无环图(directed acyclic graph,dag))。树的这种扩展可以由网络中的每个路由器以确定性的方式完成。当将流量转发给目的地时,每个设备都会选择dag中的所有邻居(或邻居的子集)将流量发送到目的地。虽然这种机制是完全分布式的,但缺点是,路径的总数取决于与目的地的距离,路径的计算不能参数化(例如,具有给定数量的路径、端到端延迟或跳数限制、激活源-目的地对的子集)。
11、有鉴于此,本发明的目的是改善网络中的负载均衡。具体地,一个目的可以是提供一种用于网络的网络设备,其中,所述网络设备可以改善所述网络中的负载均衡。另一个目的可以是提供一种用于网络的网络管理模块,其中,所述网络管理模块可以改善所述网络中的负载均衡。又一个目的可以是提供一种可以改善网络中的负载均衡的方法。
12、上述目的通过所附独立权利要求的主题来实现。有利的实现方式在从属权利要求中进一步限定。
13、本发明的第一方面提供了一种用于网络的网络设备。所述网络设备用于根据所述网络的拓扑计算逐跳路由到所述网络中的目的地节点的k条分离的最短路径。k是大于或等于2的整数。
14、也就是说,所述第一方面提出了一种用于网络中的分布式负载均衡的网络设备,因为网络设备本身用于根据网络的拓扑计算逐跳路由到网络中的目的地节点的k条分离的最短路径。因此,网络设备可以克服集中式负载均衡的缺点,例如,上文描述的缺点。此外,由于网络设备用于计算逐跳路由到网络中的目的地节点的k条分离的最短路径,因此网络设备不使用源路由。因此,所述第一方面提供的网络设备可以克服用于负载均衡的源路由的缺点,例如,上文描述的缺点。例如,当在网络中使用网络设备时,不需要源路由配置下发和维护多条路径所需的集中式路由控制器。
15、换句话说,所述第一方面提供的网络设备实现了分布式负载均衡。为此,网络设备用于根据网络的拓扑计算逐跳路由到目的地节点的k条分离的最短路径。也就是说,网络设备可以维护一组分离的最短路径,这些路径可以使用标准转发(例如,在ip网络的情况下,使用标准ip转发)以逐跳的方式实现。因此,网络设备不基于源路由,因此不需要集中式路由控制器。这就实现了分布式负载均衡。此外,当在网络中使用所述第一方面提供的至少两个网络设备时,不需要在至少两个网络设备之间显式交换路由信息(假设至少两个网络设备使用相同的策略或算法来计算k条分离的最短路径)。这样减少了网络中的流量(在至少两个网络设备之间交换路由信息没有产生额外的流量),因此是有利的。此外,不需要预先配置下发任何与负载均衡有关的内容(例如,路由路径、拓扑等)。鉴于上述情况,所述第一方面提供的网络设备可以改善网络中的负载均衡。
16、网络设备可以称为用于网络中的负载均衡的网络设备或用于网络中的分布式负载均衡的网络设备。例如,当网络设备是网络的一部分时,网络设备可以根据网络的拓扑计算逐跳路由到网络中的目的地节点的k条分离的最短路径。也就是说,网络设备可以是网络中的节点,也可以被配置为网络中的节点。网络设备可以通过硬件和/或软件实现。
17、网络中的目的地节点可以是所述第一方面提供的网络设备。网络中的节点可以是所述第一方面提供的网络设备。术语“网络节点”可以用作术语“节点”的同义词。因此,目的地节点可以称为目的地网络节点。
18、表述“用于计算逐跳路由到网络中的目的地节点的k条分离的最短路径”可以理解为“用于计算和维护逐跳路由网络中的目的地节点的k条分离的最短路径”。术语“下一跳路由”或“基于下一跳的路由”可以用作术语“逐跳路由”的同义词。
19、可选地,k条分离的最短路径中的至少两条路径可以具有一条或多条共同的链路。k条分离的最短路径可以是最大分离的(也就是说,这些路径共用最少的链路)。也就是说,k条分离的最短路径可以是k条最大分离的最短路径。如果k条分离的最短路径彼此完全分离的,则k条分离的最短路径共用的链路的最小数量可以是0。可选地,k条分离的最短路径中的至少一条路径可以与k条分离的最短路径中的其它一条或多条路径完全分离的,也就是说,至少一条路径可以与其它一条或多条路径没有共同的链路。换句话说,两条分离的最短路径在没有共同链路的情况下是完全分离的。
20、网络可以是互联网协议(internet protocol ip)网络。在这种情况下,网络设备可以是ip网络设备。可选地,网络设备可以被配置为ip网络中的路由器(路由器节点)或交换机(交换机节点)。例如,网络设备可以被配置为内部网关协议(interior gatewayprotocol,igp)区域中的自治系统边界路由器(autonomous system border router,absr)或asbr节点。
21、网络设备可以用于使用计算出的分离的最短路径来执行网络中的负载均衡,即网络中流量的负载均衡。例如,为了将报文或数据传输到计算出k条分离的最短路径的目的地节点,网络设备可以用于使用计算出的k条分离的最短路径来执行负载均衡。在这种情况下,网络设备可以被配置为网络中的源节点。也就是说,网络设备可以是网络中的源节点。网络设备可以被配置为源节点,并且通过在计算出的k条分离的最短路径(为目的地节点计算的)中的两条或两条以上路径上拆分流量或数据(发往目的地节点)来执行负载均衡。在整个本发明中,k是大于或等于2的整数。
22、网络设备可以用于学习或了解网络的拓扑。例如,网络设备可以用于学习或了解网络中的节点和节点之间的链路。为此,网络设备可以用于接收在网络中(例如,由网络中的节点)广播的信息或消息。网络设备可以用于在控制平面上接收这类信息或消息。例如,这类消息可以是链路状态路由协议(例如,ospf或is-is)的链路状态公告(link stateadvertisement,lsa)。
23、在所述第一方面的一种实现方式中,所述网络设备用于接收负载均衡请求(loadbalancing request,lbr)消息。所述网络设备可以用于:响应于所述lbr消息,计算逐跳路由到所述网络中的目的地节点的k条分离的最短路径。
24、lbr消息也可以称为消息或第一消息。换句话说,网络设备可以被配置为由lbr消息触发,以计算逐跳路由到网络中的目的地节点的k条分离的最短路径。也就是说,网络设备可以用于:响应于接收lbr消息,计算逐跳路由的k条分离的最短路径。这具有以下优点:计算用于负载均衡的k条分离的最短路径可以由另一个实体(例如,网络中的网络管理模块)触发。
25、网络设备可以用于从网络中的网络管理模块接收lbr消息。网络管理模块可以是本发明第二方面提供的网络管理模块,如下所述。
26、在所述第一方面的一种实现方式中,所述lbr消息包括第一集合,其中,所述第一集合包括所述网络中的一个或多个目的地节点。所述网络设备可以用于根据所述网络的拓扑,为所述第一集合中的与所述网络设备存在路径的每个目的地节点计算逐跳路由到所述目的地节点的k条分离的最短路径。
27、换句话说,网络设备可以用于根据网络的拓扑,为第一集合中的与网络设备到存在路径的每个目的地节点计算逐跳路由到相应目的地节点的k条分离的最短路径。lbr消息可以指示网络中的一个或多个目的地节点。对于负载均衡,一个或多个目的地节点可以称为一个或多个激活节点。
28、这样可以减少网络设备在启用网络中的分布式负载均衡方面的计算工作量,因此是有利的。也就是说,不是网络设备为网络中的每个目的地节点计算k条分离的最短路径,而是计算可以限于与网络设备存在路径(例如,经由网络设备)的(一个或多个)激活目的地节点。
29、在所述第一方面的一种实现方式中,所述第一集合包括所述网络中的每个目的地节点。换句话说,lbr消息可以指示网络中的所有目的地节点。
30、在所述第一方面的一种实现方式中,所述lbr消息包括第二集合,其中,所述第二集合包括所述网络中的一对或多对源节点和目的地节点。所述网络设备可以用于根据所述网络的拓扑,为所述第二集合中的存在所述网络设备到每对中的目的地节点的路径的每对计算逐跳路由到每对中的目的地节点的k条分离的最短路径。
31、换句话说,网络设备可以用于根据网络的拓扑,为第二集合中的存在网络设备到每对中的目的地节点的路径的每对计算逐跳路由到每对中的目的地节点的k条分离的最短路径。lbr消息可以指示网络中的一对或多对源节点和目的地节点。对于负载均衡,第二集合中的每对源节点和目的地节点可以分别称为激活源节点或激活目的地节点。术语“起始节点”可以用作术语“源节点”的同义词。
32、这样可以减少网络设备在启用网络中的分布式负载均衡方面的计算工作量,因此是有利的。也就是说,不是网络设备为网络中的每个目的地节点计算k条分离的最短路径,而是计算可以限于与激活源节点经由网络设备存在路径的(一个或多个)激活目的地节点。
33、在所述第一方面的一种实现方式中,所述lbr消息包括激活标志。所述网络设备可以用于:响应于包括所述激活标志的所述lbr消息,在所述网络中广播负载均衡定义(loadbalancing definition,lbd)消息。
34、lbd消息也可以称为消息或第二消息。上述标志可以称为“半分布式模式标志”。上述标志在激活过程中可以用于触发半分布式配置。换句话说,上述标志(包括在lbr消息中)可以是在激活过程中触发lbd消息的标志。例如,“在网络中广播lbd消息”可以表示“在网络中公告lbd消息”。也就是说,网络设备可以用于:响应于包括激活标志的lbr消息,在网络中公告lbd消息。如果网络中的通信基于互联网协议(internet protocol,ip)(例如,ospf路由协议),也就是说,如果网络是ip网络,则可能是这样。
35、在所述第一方面的一种实现方式中,所述网络设备用于从所述网络中的目的地节点接收负载均衡定义(load balancing definition,lbd)消息。所述网络设备可以用于根据所述网络的拓扑计算逐跳路由到所述目的地节点的k条分离的最短路径。
36、网络中的目的地节点可以是所述第一方面提供的网络设备。网络中的节点可以是所述第一方面提供的网络设备。
37、在所述第一方面的一种实现方式中,所述lbd消息包括第三集合,其中,所述第三集合包括所述网络中的一个或多个源节点。所述网络设备可以用于:如果所述网络设备是所述第三集合的一部分或者是所述第三集合内的一个或多个源节点中的至少一个源节点到所述目的地节点的路径的一部分,根据所述网络的拓扑计算逐跳路由到所述目的地节点的k条分离的最短路径。
38、换句话说,lbd消息可以指示网络中的一个或多个源节点。对于负载均衡,第三集合内的源节点可以称为激活源节点。网络设备可以用于:如果网络设备是第三集合的一部分或者是第三集合内的一个或多个源节点中的至少一个源节点到目的地节点(网络设备从其接收lbd消息)的路径的一部分,根据网络的拓扑计算逐跳路由到目的地节点(网络设备从其接收lbd消息)的k条分离的最短路径。
39、这样可以减少网络设备在启用网络中的分布式负载均衡方面的计算工作量,因此是有利的。另外,这样可以减少转发表(例如,fib)中的转发规则的数量,从而为其它流留出空间(例如,三重内容寻址内存(ternary content-addressable memory,tcam)等内存可能在规则数量方面有限)。也就是说,计算k条分离的最短路径可以仅限于存在经由网络设备通往目的地节点(从其接收lbd消息)的路径或与网络设备对应的(一个或多个)激活源节点。
40、在所述第一方面的一种实现方式中,所述lbd消息包括以下至少一个内容:
41、-包括所述网络中的一个或多个源节点的第三集合,
42、-所述整数k,
43、-关于k条分离的最短路径的分离原则,
44、-对服务质量(quality of service,qos)的约束,
45、-用于识别所述网络的拓扑的度量,
46、-是否复制路径的授权,
47、-计算k条分离的最短路径的算法类型,
48、-所述网络中的链路和/或节点的排除集合。
49、换句话说,lbd消息可以指示以下至少一个内容:包括网络中的一个或多个源节点的第三集合;整数k;关于k条分离的最短路径的分离原则;对服务质量(quality ofservice,qos)的约束;用于生成网络的拓扑的度量;是否复制路径的授权;用于计算k条分离的最短路径的算法类型;网络中的链路和/或节点的排除集合。
50、包括网络中的一个或多个源节点的第三集合可以为网络中的特定源或特定源-目的地流(可以称为起始-目的地流)激活多路径路由(负载均衡)。整数k可以指示要为目的地节点计算的分离的最短路径的数量。例如,分离原则可以包括可多次使用的链路的数量、路径中链路的出现次数等中的至少一个。不同的分离原则可以最小化。
51、例如,qos可以包括最大跳数、最大延迟等中的至少一个。qos约束可以是端到端qos约束。qos约束可以应用于所有k条分离的最短路径。上述度量可以指示基本拓扑,以用作网络的拓扑来计算逐跳路由到目的地节点的k条分离的最短路径的。基本拓扑可以使基本拓扑上的路由成本最小化,这为网络中的每条链路提供了度量(可以称为权重)。上述度量可以定义成本类型。例如,上述度量可以包括或者是成本、跳、延迟等。是否复制路径的授权可以指示网络设备(例如,在作为源节点时)是否可以复制路径实现负载均衡。
52、算法类型可以指示使用哪种算法为网络中的目的地节点计算k条分离的最短路径。lbd消息中的算法类型可以在包括所述第一方面提供的网络设备作为节点的网络中使得这些节点就用于计算相应目的地节点的k条分离的最短路径的公共计算策略达成一致。也就是说,lbd消息中的算法类型可以使得网络中的节点就分布式多路径计算策略达成一致。当在网络中执行或进行负载均衡时,这允许在无环路径上逐跳路由网络中的数据或报文。算法类型可以指示用于计算k条无环的可用于逐跳路由的分离的最短路径的算法。
53、网络中的链路和/或节点的排除集合可以指示不对哪些链路和/或哪些节点进行负载均衡。因此,网络设备可以用于忽略包括排除集合内的链路和/或节点的分离的最短路径。
54、网络设备可以用于在计算逐跳路由到相应目的地节点的k条分离的最短路径时,使用或考虑包括在lbd消息中的信息。
55、在所述第一方面的一种实现方式中,所述网络设备用于将所述lbd消息中的信息存储在所述网络设备的数据库中。所述网络设备可以用于使用所述存储的信息来计算逐跳路由到所述目的地节点的k条分离的最短路径。数据库可以是控制平面的一部分。
56、在所述第一方面的一种实现方式中,所述lbr消息包括以下至少一个内容:
57、-在激活过程中触发负载均衡定义(load balancing definition,lbd)消息的标志,
58、-包括所述网络中的一个或多个目的地节点的第一集合,
59、-包括所述网络中的一对或多对源节点和目的地节点的第二集合,
60、-包括所述网络中的一个或多个源节点的第三集合,
61、-所述整数k,
62、-关于k条分离的最短路径的分离原则,
63、-对服务质量(quality of service,qos)的约束,
64、-用于识别所述网络的拓扑的度量,
65、-是否复制路径的授权,
66、-计算k条分离的最短路径的算法类型,
67、-所述网络中的链路和/或节点的排除集合。
68、换句话说,lbr消息可以指示以下至少一个内容:在激活过程中触发lbd消息的标志;包括网络中的一个或多个目的地节点的第一集合;包括网络中的一对或多对源节点和目的地节点的第二集合;包括网络中的一个或多个源节点的第三集合;整数k;关于k条分离的最短路径的分离原则;对服务质量(quality of service,qos)的约束;用于生成网络的拓扑的度量;是否复制路径的授权;用于计算k条分离的最短路径的算法类型;网络中的链路和/或节点的排除集合。
69、上述标志可以称为“半分布式模式标志”。也就是说,当网络设备接收包括在激活过程中的标志的lbr消息时,网络设备可以用于:响应于接收到的包括激活标志的lbr消息,在网络中广播lbd消息。如果标志处于非激活状态,则网络设备可以用于在网络中不广播lbd消息。
70、包括网络中的一个或多个目的地节点的第一集合可以激活特定目的地节点的多路径路由(负载均衡)。包括网络中的一对或多对源节点和目的地节点的第二集合可以为特定源-目的地流(可以称为起始-目的地流)激活多路径路由(负载均衡)。包括网络中的一个或多个源节点的第三集合可以为网络中的特定源节点或特定源-目的地流激活多路径路由(负载均衡)。
71、整数k可以指示要为目的地节点计算的分离的最短路径的数量。例如,分离原则可以包括可多次使用的链路的数量、路径中链路的出现次数等中的至少一个。不同的分离原则可以最小化。例如,qos可以包括最大跳数、最大延迟等中的至少一个。qos约束可以是端到端qos约束。qos约束可以应用于所有k条分离的最短路径。上述度量可以指示基本拓扑,以用作网络的拓扑来计算逐跳路由到目的地节点的k条分离的最短路径的。基本拓扑可以使基本拓扑上的路由成本最小化,这为网络中的每条链路提供了度量(可以称为权重)。上述度量可以定义成本类型。例如,上述度量可以包括或者是成本、跳、延迟等。是否复制路径的授权可以指示网络设备(例如,在作为源节点时)是否可以复制路径实现负载均衡。
72、算法类型可以指示使用哪种算法为网络中的目的地节点计算k条分离的最短路径。lbr消息中的算法类型可以在包括所述第一方面提供的网络设备作为节点的网络中使得这些节点就用于计算相应目的地节点的k条分离的最短路径的公共计算策略达成一致。也就是说,lbr消息中的算法类型可以使得网络中的节点就分布式多路径计算策略达成一致。当在网络中执行或进行负载均衡时,这允许在无环路径上逐跳路由网络中的数据或报文。算法类型可以指示用于计算k条无环的可用于逐跳路由的分离的最短路径的算法。
73、网络中的链路和/或节点的排除集合可以指示不对哪些链路和/或哪些节点进行负载均衡。因此,网络设备可以用于忽略包括排除集合内的链路和/或节点的分离的最短路径。
74、网络设备可以用于在计算逐跳路由到相应目的地节点的k条分离的最短路径时,使用或考虑包括在lbr消息中的信息。
75、在所述第一方面的一种实现方式中,所述网络设备用于将所述lbr消息中的信息存储在所述网络设备的数据库中。所述网络设备可以用于使用所述存储的信息来计算逐跳路由到所述目的地节点的k条分离的最短路径。数据库可以是控制平面的一部分。
76、在所述第一方面的一种实现方式中,所述网络设备用于通过根据所述网络的拓扑在k次迭代中的每次迭代中计算根在所述目的地节点的最短路径树,计算逐跳路由到所述目的地节点的k条分离的最短路径。在第一次迭代之后的每次迭代中,所述网络设备可以用于通过增加在上一次迭代中计算出的最短路径树的每条链路的链路成本,更新所述网络的拓扑的链路成本,并且使用所述更新后的链路成本来计算根在所述目的地节点的最短路径树。
77、可选地,在第一次迭代之后的每次迭代中,网络设备用于通过将在上一次迭代中计算出的最短路径树的每条链路的链路成本增加一个系数,更新网络的拓扑的链路成本,并且使用更新后的链路成本计算根在目的地节点的最短路径树。例如,将每条链路的链路成本增加一个系数可以表示将相应的链路成本与该系数相乘。在第二次迭代之后的每次迭代中,该系数可以与上一次迭代相比增加。
78、在所述第一方面的一种实现方式中,所述网络设备用于通过以下步骤计算逐跳路由到所述目的地节点的k条分离的最短路径:在k/2次迭代中设置所述网络的拓扑的链路权重以及根据所述网络的拓扑计算广义极大有向无环图(generalized almost directedacyclic graph,gadag)。在第一次迭代之后的每次迭代中,所述网络设备可以用于通过将上一次迭代的gadag的每条链路的权重增加第一值以及在从相反的方向考虑时增加比所述第一值小的第二值,更新所述网络的拓扑的链路权重,并且使用所述更新后的链路权重来计算所述gadag。所述网络设备可以用于根据k/2个计算出的gadg中的每个gadg获取两个树。
79、在第一次迭代之后的每次迭代中,设置网络的拓扑的链路权重可以包括或者是更新网络的拓扑的链路权重。
80、在所述第一方面的一种实现方式中,所述网络设备用于在所述计算出的逐跳路由到所述网络中的目的地节点的k条分离的最短路径中过滤出重复路径。
81、在所述第一方面的一种实现方式中,所述网络设备用于将所述计算出的逐跳路由到与所述目的地节点相关联的所述目的地节点的k条分离的最短路径存储在转发表中。转发表可以是数据平面的一部分。
82、在所述第一方面的一种实现方式中,所述网络设备用于:如果所述目的地节点对于负载均衡处于激活状态并且服务于对于负载均衡处于激活状态的至少一个源节点,将所述计算出的逐跳路由到与所述目的地节点相关联的所述目的地节点的k条分离的最短路径存储在所述转发表中。
83、在所述第一方面的一种实现方式中,所述网络设备用于通过使用除所述网络中的期望目的地节点的互联网协议地址(ip地址)之外的报文头来选择通往所述期望目的地节点的路径。所述报文头指示所述路径在逐跳路由到所述期望目的地节点的k条路径中。
84、换句话说,网络设备可以被配置为网络中的源节点,其中,网络设备用于通过使用除网络中的期望目的地节点的ip地址之外的报文头来选择通往期望目的地节点的路径。使用报文头的优点是,网络不需要具有不同的ip前缀,为相应的目的地节点计算出的k条分离的最短路径中的每个路径对应一个ip前缀(即每个路由树对应一个ip前缀)。这减轻了管理负担。
85、在所述第一方面的一种实现方式中,所述网络设备用于通过使用所述网络中的期望目的地节点的ip地址的前缀来选择通往所述期望目的地节点的路径。所述前缀指示所述路径在逐跳路由到所述期望目的地节点的k条路径中。
86、换句话说,网络设备可以被配置为网络中的源节点,其中,网络设备用于通过使用网络中的期望目的地节点的ip地址的前缀来选择通往期望目的地节点的路径。使用ip地址的前缀的优点是,在网络中传输的报文或数据中没有新的报文头,而且网络中的通信(报文或数据的传输)可以依赖于或基于基本ip转发。
87、在所述第一方面的一种实现方式中,所述网络设备用于在所述网络中传输信息,其中,所述信息指示所述网络设备用于根据所述网络的拓扑计算逐跳路由到所述网络中的目的地节点的k条分离的最短路径。
88、在所述第一方面的一种实现方式中,所述网络设备是路由器或交换机。例如,交换机可以是层3交换机。路由器可以是层3路由器。例如,网络设备可以是ip路由器或ip交换机(例如,ip层3交换机)。
89、为了实现本发明所述第一方面提供的网络设备,上述第一方面的部分或全部实现方式和可选特征可以相互组合。
90、本发明的第二方面提供了一种用于网络的网络管理模块。所述网络管理模块用于将负载均衡请求(load balancing request,lbr)消息传输到所述网络中的至少一个节点。所述lbr消息用于触发所述网络中的至少一个节点根据所述网络的拓扑计算逐跳路由到所述网络中的目的地节点的k条分离的最短路径,其中,k是大于或等于2的整数。
91、网络管理模块可以称为用于网络中的负载均衡的网络管理模块或用于网络中的分布式负载均衡的网络管理模块。网络管理模块可以由硬件和/或软件实现。网络中的至少一个节点可以是上述第一方面提供的网络设备。可选地,网络管理模块可以称为网络管理系统。
92、在所述第二方面的一种实现方式中,所述网络管理模块用于将所述lbr消息传输到所述网络中的所有节点。
93、在所述第二方面的一种实现方式中,所述lbr消息包括以下至少一个内容:
94、-非激活标志,
95、-包括所述网络中的一个或多个目的地节点的第一集合,
96、-包括所述网络中的一对或多对源节点和目的地节点的第二集合。
97、上述标志可以称为“半分布式模式标志”。例如,对于第一集合内的一个或多个目的地节点中的每个目的地,计算逐跳路由到目的地节点的k条分离的最短路径。例如,对于第二集合内的每对中的目的地节点,计算逐跳路由到每对中的目的地节点的k条分离的最短路径。上述标志(包括在lbr消息中)可以是在激活过程中触发负载均衡定义(loadbalancing definition,lbd)消息的标志。因此,非激活标志不会触发lbd消息。
98、在所述第二方面的一种实现方式中,所述网络管理模块用于将所述lbr消息传输到所述网络中的一个或多个目的地节点。
99、换句话说,网络管理模块可以用于将lbr消息传输到网络中的节点的子集,其中,该子集包括网络中的一个或多个目的地节点。子集内的一个或多个目的地节点可以对于负载均衡处于激活状态。
100、在所述第二方面的一种实现方式中,所述lbr消息包括以下至少一个内容:激活标志以及包括所述网络中的一个或多个源节点的第三集合。
101、上述标志可以称为“半分布式模式标志”。上述标志(包括在lbr消息中)可以是在激活过程中触发lbd消息的标志。
102、在所述第二方面的一种实现方式中,所述lbr消息包括以下至少一个内容:
103、-在激活过程中触发负载均衡定义(load balancing definition,lbd)消息的标志,
104、-包括所述网络中的一个或多个目的地节点的第一集合,
105、-包括所述网络中的一对或多对源节点和目的地节点的第二集合,
106、-包括所述网络中的一个或多个源节点的第三集合,
107、-所述整数k,
108、-关于k条分离的最短路径的分离原则,
109、-对服务质量(quality of service,qos)的约束,
110、-用于识别所述网络的拓扑的度量,
111、-是否复制路径的授权,
112、-计算k条分离的最短路径的算法类型,
113、-所述网络中的链路和/或节点的排除集合。
114、以上对所述第一方面提供的网络设备的描述同相应地适用于所述第二方面中的网络管理模块。以上所述第二方面提供的网络管理模块的描述相应地适用于所述第一方面提供的网络设备。
115、所述第二方面中的网络管理模块及其实现方式和可选特征实现了与所述第一方面中的网络设备及其相应实现方式和可选特征相同的优点。
116、为了实现本发明所述第二方面提供的网络管理模块,上述第二方面的部分或全部实现方式和可选特征可以相互组合。
117、本发明的第三方面提供了一种用于网络中的负载均衡的方法。所述方法包括:所述网络中的网络设备根据所述网络的拓扑计算逐跳路由到所述网络中的目的地节点的k条分离的最短路径,其中,k是大于或等于2的整数。
118、负载均衡可以称为“分布式负载均衡”。对所述第一方面中的网络设备的描述相应地适用于所述第三方面中的方法。对所述第二方面中的网络管理模块的描述相应地适用于所述第三方面中的方法。执行所述第三方面中的方法的计算的网络设备可以是本发明所述第一方面提供的网络设备。
119、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备接收负载均衡请求(load balancing request,lbr)消息。所述方法可以包括:网络设备响应于所述lbr消息,计算逐跳路由到所述网络中的目的地节点的k条分离的最短路径。
120、在所述第三方面的一种实现方式中,所述lbr消息包括第一集合,其中,所述第一集合包括所述网络中的一个或多个目的地节点。所述方法可以包括:所述网络设备根据所述网络的拓扑,为所述第一集合内的与所述网络设备存在路径的每个目的地节点计算逐跳路由到所述目的地节点的k条分离的最短路径。
121、在所述第三方面的一种实现方式中,所述第一集合包括所述网络中的每个目的地节点。
122、在所述第三方面的一种实现方式中,所述lbr消息包括第二集合,其中,所述第二集合包括所述网络中的一对或多对源节点和目的地节点。所述方法可以包括:所述网络设备根据所述网络的拓扑,为所述第二集合内的存在所述网络设备到每对中的目的地节点的路径的每对计算逐跳路由到每对中的目的地节点的k条分离的最短路径。
123、在所述第三方面的一种实现方式中,所述lbr消息包括激活标志。所述方法可以包括:所述网络设备响应于包括所述激活标志的所述lbr消息,在所述网络中广播负载均衡定义(load balancing definition,lbd)消息。
124、也就是说,所述方法可以包括:网络设备响应于网络设备接收包括激活标志的lbr消息,在网络中广播负载均衡定义(load balancing definition,lbd)消息。
125、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备从所述网络中的目的地节点接收负载均衡定义(load balancing definition,lbd)消息。所述方法可以包括:所述网络设备根据所述网络的拓扑计算逐跳路由到所述目的地节点的k条分离的最短路径。
126、在所述第三方面的一种实现方式中,所述lbd消息包括第三集合,其中,所述第三集合包括所述网络中的一个或多个源节点。所述方法可以包括:如果所述网络设备是第三集合的一部分或者是从所述第三集合内的一个或多个源节点中的至少一个源节点到所述目的地节点的路径的一部分,所述网络设备根据所述网络的拓扑计算逐跳路由到所述目的地节点的k条分离的最短路径。
127、在所述第三方面的一种实现方式中,所述lbd消息包括以下至少一个内容:
128、-包括所述网络中的一个或多个源节点的第三集合,
129、-所述整数k,
130、-关于k条分离的最短路径的分离原则,
131、-对服务质量(quality of service,qos)的约束,
132、-用于识别所述网络的拓扑的度量,
133、-是否复制路径的授权,
134、-计算k条分离的最短路径的算法类型,
135、-所述网络中的链路和/或节点的排除集合。
136、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备将所述lbd消息中的信息存储在所述网络设备的数据库中。所述方法可以包括:所述网络设备使用所述存储的信息来计算逐跳路由到所述目的地节点的k条分离的最短路径。
137、在所述第三方面的一种实现方式中,所述lbr消息包括以下至少一个内容:
138、-在激活过程中触发负载均衡定义(load balancing definition,lbd)消息的标志,
139、-包括所述网络中的一个或多个目的地节点的第一集合,
140、-包括所述网络中的一对或多对源节点和目的地节点的第二集合,
141、-包括所述网络中的一个或多个源节点的第三集合,
142、-所述整数k,
143、-关于k条分离的最短路径的分离原则,
144、-对服务质量(quality of service,qos)的约束,
145、-用于识别所述网络的拓扑的度量,
146、-是否复制路径的授权,
147、-计算k条分离的最短路径的算法类型,
148、-所述网络中的链路和/或节点的排除集合。
149、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备将所述lbr消息中的信息存储在所述网络设备的数据库中。所述方法可以包括:所述网络设备使用所述存储的信息来计算逐跳路由到所述目的地节点的k条分离的最短路径。
150、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备通过根据所述网络的拓扑在k次迭代中的每次迭代中计算根在所述目的地节点的最短路径树,计算逐跳路由到所述目的地节点的k条分离的最短路径。在第一次迭代之后的每次迭代中,所述方法可以包括:通过增加在上一次迭代中计算出的最短路径树的每条链路的链路成本,更新所述网络的拓扑的链路成本,并且使用所述更新后的链路成本来计算根在所述目的地节点的最短路径树。
151、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备通过以下步骤计算逐跳路由到所述目的地节点的k条分离的最短路径:在k/2次迭代中设置所述网络的拓扑的链路权重以及根据所述网络的拓扑计算广义极大有向无环图(generalized almostdirected acyclic graph,gadag)。在第一次迭代之后的每次迭代中,所述方法可以包括:通过将上一次迭代的gadag的每条链路的权重增加第一值以及在从相反的方向考虑时增加小于所述第一值的第二值,更新所述网络的拓扑的链路权重,并且使用所述更新后的链路权重来计算所述gadag。所述方法可以包括:所述网络设备根据k/2个计算出的gadg中的每个gadg获取两个树。
152、在第一次迭代之后的每次迭代中,设置网络的拓扑的链路权重可以包括或者是更新网络的拓扑的链路权重。
153、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备在所述计算出的逐跳路由到所述网络中的目的地节点的k条分离的最短路径中过滤出重复路径。
154、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备将将所述计算出的逐跳路由到与所述目的地节点相关联的所述目的地节点的k条分离的最短路径存储在转发表中。
155、在所述第三方面的一种实现方式中,所述方法包括:如果所述目的地节点对于负载均衡处于激活状态并且服务于对于负载均衡处于激活状态的至少一个源节点,所述网络设备将所述计算出的逐跳路由到与所述目的地节点相关联的所述目的地节点的k条分离的最短路径存储在所述转发表中。
156、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备用于通过使用除所述网络中的期望目的地节点的互联网协议地址(ip地址)之外的报文头来选择通往所述期望目的地节点的路径所述报文头指示所述路径在逐跳路由到所述期望目的地节点的k条路径中。
157、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备通过使用所述网络中的期望目的地节点的ip地址的前缀来选择通往所述期望目的地节点的路径。所述前缀指示所述路径在逐跳路由到所述期望目的地节点的k条路径中。
158、在所述第三方面的一种实现方式中,所述方法包括:所述网络设备在所述网络中传输信息,其中,所述信息指示所述网络设备用于根据所述网络的拓扑计算逐跳路由到所述网络中的目的地节点的k条分离的最短路径。
159、在所述第三方面的一种实现方式中,所述网络设备是路由器或交换机。
160、所述第三方面中的方法及其实现方式和可选特征实现了与所述第一方面中的网络设备及其相应实现方式和可选特征相同的优点。
161、为了实现本发明所述第三方面提供的方法,上述第三方面的一些或全部实现方式和可选特征可以相互组合。
162、本发明的第四方面提供了一种用于网络中的负载均衡的方法。所述方法包括:所述网络中的网络管理模块将负载均衡请求(load balancing request,lbr)消息传输到所述网络中的至少一个节点。所述lbr消息用于触发所述网络中的至少一个节点根据所述网络的拓扑计算逐跳路由到所述网络中的目的地节点的k条分离的最短路径,其中,k是大于或等于2的整数。
163、负载均衡可以称为“分布式负载均衡”。对所述第二方面中的网络管理模块的描述相应地适用于所述第四方面中的方法。对所述第一方面中的网络设备的描述相应地适用于所述第四方面中的方法。执行所述第四方面中的方法的传输的网络管理模块可以是本发明所述第二方面提供的网络管理模块。
164、在所述第四方面的一种实现方式中,所述方法包括:所述网络管理模块将所述lbr消息传输到所述网络的所有节点。
165、在所述第四方面的一种实现方式中,所述lbr消息包括以下至少一个内容:
166、-非激活标志,
167、-包括所述网络中的一个或多个目的地节点的第一集合,
168、-包括所述网络中的一对或多对源节点和目的地节点的第二集合。
169、在所述第四方面的一种实现方式中,所述方法包括:所述网络管理模块将所述lbr消息传输到所述网络的一个或多个目的地节点。
170、在所述第四方面的一种实现方式中,所述lbr消息包括以下至少一个内容:激活标志以及包括所述网络中的一个或多个源节点的第三集合。
171、在所述第四方面的一种实现方式中,所述lbr消息包括以下至少一个内容:
172、-在激活过程中触发负载均衡定义(load balancing definition,lbd)消息的标志,
173、-包括所述网络中的一个或多个目的地节点的第一集合,
174、-包括所述网络中的一对或多对源节点和目的地节点的第二集合,
175、-包括所述网络中的一个或多个源节点的第三集合,
176、-所述整数k,
177、-关于k条分离的最短路径的分离原则,
178、-对服务质量(quality of service,qos)的约束,
179、-用于识别所述网络的拓扑的度量,
180、-是否复制路径的授权,
181、-计算k条分离的最短路径的算法类型,
182、-所述网络中的链路和/或节点的排除集合。
183、所述第四方面中的方法及其实现方式和可选特征实现了与所述第一方面中的网络设备及其相应实现方式和可选特征相同的优点。
184、为了实现本发明所述第四方面提供的方法,上述第四方面的部分或全部实现方式和可选特征可以相互组合。
185、需要说明的是,本技术中描述的所有设备、元件、单元和构件可以在软件或硬件元件或其任何类型的组合中实现。本技术中描述的各种实体所执行的所有步骤以及所描述的各种实体要执行的功能均意在指相应实体用于执行相应步骤和功能。虽然在以下具体实施例的描述中,外部实体执行的具体功能或步骤没有在执行具体步骤或功能的实体的具体详述元件的描述中反映,但是技术人员应清楚,这些方法和功能可以通过相应的硬件或软件元件或其任何组合实现。
本文地址:https://www.jishuxx.com/zhuanli/20240802/237319.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表