CN112422418B - 一种链路状态通告的负载均衡方法、装置、介质和设备 - Google Patents
一种链路状态通告的负载均衡方法、装置、介质和设备 Download PDFInfo
- Publication number
- CN112422418B CN112422418B CN202011155580.3A CN202011155580A CN112422418B CN 112422418 B CN112422418 B CN 112422418B CN 202011155580 A CN202011155580 A CN 202011155580A CN 112422418 B CN112422418 B CN 112422418B
- Authority
- CN
- China
- Prior art keywords
- router interface
- router
- election
- lsa
- root node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种链路状态通告的负载均衡方法、装置、介质和设备。由MA对应的各个路由器接口按照设定规则形成逻辑树,该MA中的各个路由器接口可以依据在该逻辑树中的位置,来传输LSA,实现链路信息交换。由于根据形成的逻辑树,作为根节点的竞选路由器接口接收到其它每个路由器接口发送的链路信息后,无需向其它每个路由器节点发送包括其接收到的链路信息及其自身的链路信息的LSA,其它各个作为中间节点的竞选路由器接口也可以用于转发该LSA,使得该MA中的各个路由器接口对应的链路信息可以由所有的竞选路由器接口来实现同步,实现了LSA的负载均衡。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种链路状态通告的负载均衡方法、装置、介质和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
开放最短路径优先路由协议(OSPF,Open Shortest Path First)标准协议模式中,可以通过链路状态通告(LSA,Link State Advertisement)来通告路由器的链路信息,LSA可以包括该路由器的接口信息、邻居路由器信息以及各邻居路由器的状态信息等。
在实际网络拓扑中,每台路由器会将已知的链路信息通过LSA通告给其邻居路由器,接收到LSA的邻居路由器也会将学习到的链路信息通告给自身的邻居路由器。通过这种链路信息交换机制,最终使得该网络拓扑中所有的路由器都可以学习到整网拓扑信息,建立邻接关系,进而计算出正确的路由。
在同一多路访问(MA,Multi-Access)网络中,可以基于接口选举产生指定路由器(DR,designated router)。具体的,可以根据发现邻居路由器过程中,每个路由器接口广播的Hello报文中的DR优先级字段以及路由器标识(router ID)字段,来选举产生DR。其中,DR优先级为0,表示该路由器接口不参与DR选举。DR优先级越大的路由器接口优先选举为指定路由器接口,若DR优先级相同,router ID越大的路由器接口优先选举为指定路由器接口,指定路由器接口所在的路由器即为指定路由器。
在一个MA网络中,各非指定路由器接口的路由器接口只与DR上的指定路由器接口通过LSA交换链路信息,由DR利用指定路由器接口,通过LSA实现各路由器接口之间的链路信息交换。即,各非指定路由器接口的路由器接口可以通过LSA将自身的链路信息发送给DR上的指定路由器接口,DR上的指定路由器接口将从LSA中学习到的链路信息以及自身的链路信息,通过LSA发送给各非指定路由器接口的路由器接口。各非指定路由器接口的路由器接口之间不直接通过LSA交换链路信息,由此可以大大减少MA网络中交换链路信息所消耗的网络资源。
DR选举示意图可以如图1所示。假设一个MA网络中,包括7个路由器接口,分别记为R1~R7,假设R2、R4、R5和R7广播的Hello报文中DR优先级字段的DR优先级为0,R1、R3和R6广播的Hello报文中DR优先级字段的DR优先级不为0,且根据DR优先级字段以及router ID字段,从R1、R3和R6中选举产生了R1作为指定路由器接口,此时R1所在的路由器作为DR,那么可以由R1所在的路由器利用R1,通过LSA实现各路由器接口之间的链路信息交换。
但是,由DR利用指定路由器接口,通过LSA向各路由器接口同步链路信息,会导致DR系统负荷较大。特别是如果DR上的指定路由器接口从LSA中学习的链路信息数据量很大,例如,百万甚至千万条,那么由DR利用指定路由器接口,通过LSA向各路由器接口同步这些链路信息,将对DR造成巨大的系统负荷。
发明内容
本发明实施例提供一种链路状态通告的负载均衡方法、装置、介质和设备,用于解决DR的系统负荷大的问题。
第一方面,本发明提供了一种LSA的负载均衡方法,应用于支持LSA负载均衡的各个路由器中,所述方法包括:
确定当前路由器接口在预先按照设定规则确定出的、与所述当前路由器接口连接到的多路访问网络MA对应的逻辑树中所处的位置,其中,所述逻辑树包括根节点、至少一级中间节点以及叶子节点,所述根节点为所述MA中的一个竞选路由器接口,所述至少一级中间节点为所述MA中除所述根节点外的竞选路由器接口,所述叶子节点为所述MA中的非竞选路由器接口;
若确定所述位置为根节点,则将所述当前路由器接口对应的链路信息和所述当前路由器接口接收到的链路信息携带在LSA中发送给在所述逻辑树中所述当前路由器接口连接的中间节点和叶子节点;
若确定所述位置为中间节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并将所述当前路由器接口接收到的在所述逻辑树中所述当前路由器接口连接的所述根节点或者上一级中间节点发送的LSA发送给在所述逻辑树中所述当前路由器接口连接的下一级中间节点和/或叶子节点;
若确定所述位置为叶子节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并接收在所述逻辑树中所述当前路由器接口连接的中间节点或者所述根节点发送的LSA。
在一种可能的实现方式中,所述方法还包括:
确定所述当前路由器接口接收到的各个Hello报文是否均携带支持LSA负载均衡标识;
若确定所述当前路由器接口接收到的各个Hello报文均携带所述支持LSA负载均衡标识,则按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树。
在一种可能的实现方式中,按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树,包括:
从所述MA中的各个竞选路由器接口中选取一个竞选路由器接口作为所述根节点;
将所述MA中的各个竞选路由器接口中除所述根节点外的其它竞选路由器接口分配为至少一级中间节点;
将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,得到所述MA对应的逻辑树。
在一种可能的实现方式中,将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
将所述MA中的非竞选路由器接口均匀分配为所述根节点和/或所述中间节点的叶子节点。
在一种可能的实现方式中,将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
按照router ID从小到大的顺序将所述MA中的非竞选路由器接口依次分配为所述根节点和/或所述中间节点的叶子节点。
第二方面,本发明还提供了一种LSA的负载均衡装置,应用于支持LSA负载均衡的各个路由器中,所述装置包括:
确定模块,用于确定当前路由器接口在预先按照设定规则确定出的、与所述当前路由器接口连接到的多路访问网络MA对应的逻辑树中所处的位置,其中,所述逻辑树包括根节点、至少一级中间节点以及叶子节点,所述根节点为所述MA中的一个竞选路由器接口,所述至少一级中间节点为所述MA中除所述根节点外的竞选路由器接口,所述叶子节点为所述MA中的非竞选路由器接口;
执行模块,用于若确定所述位置为根节点,则将所述当前路由器接口对应的链路信息和所述当前路由器接口接收到的链路信息携带在LSA中发送给在所述逻辑树中所述当前路由器接口连接的中间节点和叶子节点;
若确定所述位置为中间节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并将所述当前路由器接口接收到的在所述逻辑树中所述当前路由器接口连接的所述根节点或者上一级中间节点发送的LSA发送给在所述逻辑树中所述当前路由器接口连接的下一级中间节点和/或叶子节点;
若确定所述位置为叶子节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并接收在所述逻辑树中所述当前路由器接口连接的中间节点或者所述根节点发送的LSA。
在一种可能的实现方式中,所述装置还包括判断模块:
所述判断模块,用于确定所述当前路由器接口接收到的各个Hello报文是否均携带支持LSA负载均衡标识;若确定所述当前路由器接口接收到的各个Hello报文均携带所述支持LSA负载均衡标识,则按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树,并触发所述确定模块。
在一种可能的实现方式中,所述判断模块,按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树,包括:
从所述MA中的各个竞选路由器接口中选取一个竞选路由器接口作为所述根节点;
将所述MA中的各个竞选路由器接口中除所述根节点外的其它竞选路由器接口分配为至少一级中间节点;
将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,得到所述MA对应的逻辑树。
在一种可能的实现方式中,所述判断模块,将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
将所述MA中的非竞选路由器接口均匀分配为所述根节点和/或所述中间节点的叶子节点。
在一种可能的实现方式中,所述判断模块,将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
按照router ID从小到大的顺序将所述MA中的非竞选路由器接口依次分配为所述根节点和/或所述中间节点的叶子节点。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现如上所述的方法。
第四方面,本发明还提供了一种LSA的负载均衡设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存储的程序时,实现如上所述的方法步骤。
根据本发明实施例提供的方案,可以由MA对应的各个路由器接口按照设定规则形成逻辑树,该MA中的各个路由器接口可以依据在该逻辑树中的位置,来传输LSA,实现链路信息交换。由于根据形成的逻辑树,作为根节点的竞选路由器接口接收到其它每个路由器接口发送的链路信息后,无需向其它每个路由器节点发送包括其接收到的链路信息及其自身的链路信息的LSA,其它各个作为中间节点的竞选路由器接口也可以用于转发该LSA,使得该MA中的各个路由器接口对应的链路信息可以由所有的竞选路由器接口来实现同步,实现了LSA的负载均衡,减小了作为根节点的竞选路由器接口所在路由器的负荷,避免了作为根节点的竞选路由器接口所在路由器的负荷过大。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的DR选举示意图;
图2为本发明实施例提供的LSA的负载均衡方法的流程示意图;
图3为本发明实施例提供的初始逻辑树的结构示意图;
图4为本发明实施例提供的逻辑树的结构示意图;
图5为本发明实施例提供的LSA的负载均衡装置的结构示意图;
图6为本发明实施例提供的LSA的负载均衡设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有技术方案中,在一个MA网络中,仅由DR利用指定路由器接口,通过LSA向各台非指定路由器接口的路由器接口同步链路信息,导致DR系统负荷较大。由于在一个MA网络中,参与指定路由器接口选举,但未被选举为指定路由器接口的路由器接口也同样具有指定路由器接口的功能,因此,本发明考虑利用所有具有指定路由器接口的功能的路由器接口,共同用于同步链路信息,以实现LSA的负载均衡,避免DR的系统负荷过大。
本发明提供的方案中,路由器可以在通过路由器接口发送的Hello报文中(例如,Hello报文的IP头的IP选项字段),添加表示支持上述LSA负载均衡功能的标识,来通知其他路由器自身具有上述LSA负载均衡功能。这样,同一MA网络中的各路由器接口所在的路由器,在确定该MA网络中其他路由器接口所在的路由器均具有上述LSA负载均衡功能时,可以分别执行上述LSA负载均衡功能,使得在该MA网络中可以实现LSA负载均衡。
基于上述技术构思,下面对本发明方案涉及的几个技术术语进行简单说明。
邻居路由器:一台路由器的邻居路由器可以理解为与该路由器直接相连的路由器。一台路由器基于Hello协议,通过Hello报文来发现邻居路由器。具体的,一台路由器接收到一个Hello报文,即可以将广播该Hello报文的路由器作为自己的邻居路由器。进一步的,互为邻居路由器的两台路由器,在通过数据同步,具有相同的路由表之后,即进入FULL状态,此时,可以认为两台路由器建立了邻接关系;
指定路由器接口:在一个MA网络中,广播的Hello报文中的指定路由器优先级字段不为零,基于DR优先级越大越优先,router ID越大越优先的原则被选举出的路由器接口;
竞选路由器接口:在一个MA网络中,广播的Hello报文中的指定路由器优先级字段不为零的路由器接口;
非竞选路由器接口:在一个MA网络中,广播的Hello报文中的指定路由器优先级字段为零的路由器接口;
router ID:OSPF标准协议(例如,RFC 2328)中规定router ID为一个32位的整数,可以在一个MA网络内中唯一地标识一台路由器,一般可以使用IP地址表示Router ID。在同一个MA网络内,若有两台路由器使用相同的Router ID,就会出现路由计算错误等异常。
DR优先级:DR优先级影响路由器接口在被选举指定路由器接口时所具有的资格。DR优先级为0的路由器接口不会被选举为DR,DR优先级不为0的路由器接口,DR优先级越高,越优先被选举为指定路由器接口。
基于上述说明,本发明实施例提供一种LSA的负载均衡方法,应用于支持LSA负载均衡的各个路由器中,该方法的步骤流程可以如图2所示,包括:
步骤101、确定当前路由器接口在预先按照设定规则确定出的、与当前路由器接口连接到的MA对应的逻辑树中所处的位置。
在本步骤中,一个支持LSA负载均衡的路由器,可以针对当前路由器接口,确定当前路由器接口在预先按照设定规则确定出的、与该路由器接口连接到的MA对应的逻辑树中所处的位置,以便根据确定出的位置,实现LSA的传输。
在本实施例中,当前路由器接口连接到的MA对应的逻辑树包括根节点、至少一级中间节点以及叶子节点。且该逻辑树的根节点为该MA中的一个竞选路由器接口,该逻辑树的至少一级中间节点为该MA中除根节点外的竞选路由器接口,该逻辑树的叶子节点为该MA中的非竞选路由器接口。
步骤102、根据确定出的位置,利用当前路由器接口传输LSA。
在本步骤中,路由器若确定当前路由器接口在该路由器接口连接到的MA对应的逻辑树中所处的位置为根节点,可以利用当前路由器接口,将当前路由器接口对应的链路信息和当前路由器接口接收到的链路信息携带在LSA中发送给在逻辑树中当前路由器接口连接的中间节点和叶子节点。
也就是说,作为根节点的路由器接口与现有技术中的指定路由器接口的功能类似,可以接收MA中的其他每个路由器接口上报的链路信息。但其与现有技术中的指定路由器接口的功能不同之处在于,其并不是将学习到的链路信息以及自身的链路信息,通过LSA发送给MA中的其它每个路由器接口,而是根据逻辑树,仅将学习到的链路信息以及自身的链路信息,通过LSA发送给在逻辑树中与根节点连接的中间节点(对应的路由器接口)和叶子节点(对应的路由器接口)。
路由器若确定当前路由器接口在该路由器接口连接到的MA对应的逻辑树中所处的位置为中间节点,可以利用当前路由器接口,将当前路由器接口对应的链路信息携带在LSA中发送给根节点,并将当前路由器接口接收到的在逻辑树中当前路由器接口连接的根节点或者上一级中间节点发送的LSA发送给在逻辑树中当前路由器接口连接的下一级中间节点和/或叶子节点。
也就是说,作为中间节点的路由器接口,除了将自身的链路信息上报给作为根节点的路由器接口之外,还可以将接收到的作为根节点的路由器接口直接或间接通过作为中间节点的路由器接口发送的、包括作为根节点的路由器接口学习到的链路信息以及作为根节点的路由器接口自身的链路信息的LSA,发送给在逻辑树中与其连接的中间节点(对应的路由器接口)和/或叶子节点(对应的路由器接口),以实现LSA的负载均衡,避免作为根节点的路由器接口单独同步包括其学习到的链路信息以及自身的链路信息的LSA。
路由器若确定当前路由器接口在该路由器接口连接到的MA对应的逻辑树中所处的位置为叶子节点,可以利用该路由器接口,将当前路由器接口对应的链路信息携带在LSA中发送给根节点,并接收在逻辑树中当前路由器接口连接的中间节点或者根节点发送的LSA。
也就是说,作为叶子节点的路由器接口,除了将自身的链路信息上报给作为根节点的路由器接口之外,不仅可以接收作为根节点的路由器接口发送的、包括其学习到的链路信息以及自身的链路信息的LSA,也可以接收作为中间节点的路由器接口转发的、作为根节点的路由器接口发送的包括其学习到的链路信息以及自身的链路信息的LSA。
需要说明的是,在步骤101之前,还可以包括步骤100:
步骤100、确定当前路由器接口接收到的各个Hello报文是否均携带支持LSA负载均衡标识。
在本步骤中,路由器可以确定当前路由器接口接收到的各个Hello报文是否均携带支持LSA负载均衡标识。若确定当前路由器接口接收到的各个Hello报文均携带支持LSA负载均衡标识,则按照设定规则确定当前路由器接口连接到的MA对应的逻辑树,并继续执行步骤101,否则,可以结束本流程。
在一种可能的实现方式中,按照设定规则确定当前路由器接口连接到的MA对应的逻辑树,包括:
从MA中的各个竞选路由器接口中选取一个竞选路由器接口作为根节点;
将MA中的各个竞选路由器接口中除根节点外的其它竞选路由器接口分配为至少一级中间节点;
将MA中的非竞选路由器接口分配为根节点和/或中间节点的叶子节点,得到MA对应的逻辑树。
进一步的,在一种可能的实现方式中,将MA中的非竞选路由器接口分配为根节点和/或中间节点的叶子节点,可以包括:将MA中的非竞选路由器接口均匀分配为根节点和/或中间节点的叶子节点。
需要说明的是,将非竞选路由器均匀分配到根节点和/或中间节点的叶子节点位置,可以实现得到的逻辑树的均衡配置。使得根据该逻辑树,可以更好地实现对LSA的负载均衡。
另外,在一种可能的实现方式中,从MA中的各个竞选路由器接口中选取一个竞选路由器接口作为根节点,将MA中的各个竞选路由器接口中除根节点外的其它竞选路由器接口分配为至少一级中间节点,此时形成的初始逻辑树可以为二叉树,以实现初始逻辑树的均衡配置。
此外,在一种可能的实现方式中,将MA中的非竞选路由器接口分配为根节点和/或中间节点的叶子节点,可以包括:按照router ID从小到大的顺序将MA中的非竞选路由器接口依次分配为根节点和/或中间节点的叶子节点。
也就是说,在本实施例中,可以按照router ID的大小,来依次分配非竞选路由器接口在逻辑树中的位置,实现逻辑树构建。
当前路由器接口接收到的各个Hello报文是当前路由器接口连接到的MA中的其它路由器接口发送的。也就是说,在本步骤中,可以确定当前路由器接口连接到的MA网络中的每个其它路由器接口所在的路由器,是否均支持LSA负载均衡功能。
当确定当前路由器接口接收到的每个Hello报文中,均携带表示支持LSA负载均衡的标识时,可以按照设定规则确定当前路由器接口连接到的MA对应的逻辑树,并继续执行步骤101,路由器针对当前路由器接口的LSA负载均衡功能启动。
当然,如果确定当前路由器接口接收到的每个Hello报文中,不是均携带表示支持LSA负载均衡的标识,则可以结束本流程,路由器针对当前路由器接口的LSA负载均衡功能关闭。
也就是说,只有在确定当前路由器接口连接到的一个MA网络中的每个其它路由器接口所在的路由器均支持LSA负载均衡功能,才会在当前路由器接口所在的路由器中执行具体的LSA负载均衡步骤。
可以理解为,同一个MA网络中的每个路由器接口所在的路由器在执行具体的LSA负载均衡步骤之前,均会执行相同的判断步骤,以保证同一个MA网络中的每个路由器接口所在的路由器均会执行LSA负载均衡,按照相同的方式生成相同的逻辑树,根据确定出的路由器接口在逻辑树中的位置,利用路由器接口传输LSA,保证链路信息同步的正常实现。
在一种可能的实现方式中,表示支持LSA负载均衡的标识可以携带在Hello报文IP头的IP选项字段。也就是说,路由器接口周期性发送的Hello报文的IP头的IP选项字段中,可以携带表示支持LSA负载均衡的标识。
下面通过一个具体的实例对上述实施例进行说明。
与图1类似的,假设一个MA网络中,包括7个路由器接口,分别记为R1~R7,假设R2、R4、R5和R7广播的Hello报文中DR优先级字段的DR优先级为0,R1、R3和R6广播的Hello报文中DR优先级字段的DR优先级不为0。那么R2、R4、R5和R7即为该MA网络中的非竞选路由器接口,R1、R3和R6为该MA网络中的竞选路由器接口。
R1~R7所在的路由器均可以执行以下步骤:
第一步、确定对应的路由器接口(R1,或R2,或R3,或R4,或R5,或R6,或R7)接收到的每个Hello报文中,是否均携带表示支持LSA负载均衡的标识。
第二步、如果确定对应的路由器接口接收到的每个Hello报文中,均携带表示支持LSA负载均衡的标识,那么可以构建逻辑树。
在本步骤中,可以从R1、R3和R6中选取一个作为根节点,例如,选取R1作为根节点,并将R1、R3和R6中除R1之外的R3和R6,分配为至少一级中间节点,例如,将R3和R6分配为同一级中间节点,形成MA对应的初始逻辑树。初始逻辑树的结构示意图可以如图3所示,此时形成的初始逻辑树为一棵二叉树。
进一步的,可以将R2、R4、R5和R7分配为如图3所示的初始逻辑树中作为根节点的R1,和/或,作为中间节点的R3和R6的叶子节点,得到MA对应的逻辑树,MA对应的逻辑树的结构示意图可以如图4所示,此时形成的逻辑树为一棵完全平衡二叉树。
从图4可以看出,可以将MA中的非竞选路由器接口均匀分配为根节点和/或中间节点的叶子节点。在本实施例中,将MA中的非竞选路由器接口均匀分配为根节点和/或中间节点的叶子节点,可以通过任意方式来实现。
在一种可能的实现方式中,可以先将router ID小的路由器接口填充到初始逻辑树中,例如,将R2分配为R3的子节点,将R5分配为R6的子节点,使初始逻辑树成为每个节点都具有子节点的完全平衡二叉树。
然后,可以继续遵循先将router ID小的路由器接口填充到初始逻辑树中的原则进行填充,例如,将R4分配为R3的子节点,将R7分配为R6的子节点,使确定出的逻辑树仍然为完全平衡二叉树。
进一步的,假设还有其他非竞选路由器接口,例如R8、R9和R10,那么,可以继续遵循先将router ID小的路由器接口填充到逻辑树中的原则进行填充,将R8分配为R3的附属子节点,将R9分配为R1的附属子节点,将R10分配为R6的附属子节点,从而保证各个竞选路由器接口的负载均衡,避免某个竞选路由器接口所在路由器的负载过大。
第三步、实现链路信息同步。
构建出如图4所示逻辑树之后,路由器可以根据其对应的路由器接口在逻辑树中所处的位置,利用该路由器接口传输LSA。
其中,R1可以在学习到链路信息之后,通过LSA向R3和R6同步链路信息;R3可以接收R1发送的LSA,并向R2和R4转发该LSA,实现向R2和R4的链路信息同步;R6可以接收R1发送的LSA,并向R5和R7转发该LSA,实现向R5和R7的链路信息同步。
这样,将原本由R1执行的链路信息同步,分散到由R1、R3和R6执行,利用起MA网络中各竞选路由器的计算能力,提高网络资源利用率,并可以避免DR的性能瓶颈造成的同步异常。且可以在R1、R3和R6之间实现负载均衡,进一步避免可能造成各路由器接口所在路由器的系统负荷过大的问题。
另外需要说明的是,现有技术方案中,DR一旦出现故障,将无法利用指定路由器接口与任意一个路由器接口进行链路信息同步,即使重新选举DR,在重新选举DR的时间内,也无法实现链路信息同步。而基于本发明方案,即使作为根节点的路由器接口所在的路由器出现故障,仍可以在一定程度上实现链路信息同步。
与提供的方法对应的,进一步提供以下的装置。
本发明实施例提供一种LSA的负载均衡装置,该装置可以集成在支持LSA负载均衡的各个路由器中,该装置的结构可以如图5所示,包括:
确定模块11用于确定当前路由器接口在预先按照设定规则确定出的、与所述当前路由器接口连接到的多路访问网络MA对应的逻辑树中所处的位置,其中,所述逻辑树包括根节点、至少一级中间节点以及叶子节点,所述根节点为所述MA中的一个竞选路由器接口,所述至少一级中间节点为所述MA中除所述根节点外的竞选路由器接口,所述叶子节点为所述MA中的非竞选路由器接口;
执行模块12用于若确定所述位置为根节点,则将所述当前路由器接口对应的链路信息和所述当前路由器接口接收到的链路信息携带在LSA中发送给在所述逻辑树中所述当前路由器接口连接的中间节点和叶子节点;
若确定所述位置为中间节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并将所述当前路由器接口接收到的在所述逻辑树中所述当前路由器接口连接的所述根节点或者上一级中间节点发送的LSA发送给在所述逻辑树中所述当前路由器接口连接的下一级中间节点和/或叶子节点;
若确定所述位置为叶子节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并接收在所述逻辑树中所述当前路由器接口连接的中间节点或者所述根节点发送的LSA。
在一种可能的实现方式中,所述装置还包括判断模块13:
所述判断模块13用于确定所述当前路由器接口接收到的各个Hello报文是否均携带支持LSA负载均衡标识;若确定所述当前路由器接口接收到的各个Hello报文均携带所述支持LSA负载均衡标识,则按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树,并触发所述确定模块。
在一种可能的实现方式中,所述判断模块13按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树,包括:
从所述MA中的各个竞选路由器接口中选取一个竞选路由器接口作为所述根节点;
将所述MA中的各个竞选路由器接口中除所述根节点外的其它竞选路由器接口分配为至少一级中间节点;
将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,得到所述MA对应的逻辑树。
在一种可能的实现方式中,所述判断模块13将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
将所述MA中的非竞选路由器接口均匀分配为所述根节点和/或所述中间节点的叶子节点。
在一种可能的实现方式中,所述判断模块13将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
按照router ID从小到大的顺序将所述MA中的非竞选路由器接口依次分配为所述根节点和/或所述中间节点的叶子节点。
本发明上述实施例提供的各装置的各功能单元的功能,可以通过上述对应的各方法的步骤来实现,因此,本发明实施例提供的各装置中的各个功能单元的具体工作过程和有益效果,在此不复赘述。
基于同一发明构思,本发明实施例提供以下的设备和介质。
本发明实施例提供一种LSA的负载均衡设备,该设备的结构可以如图6所示,包括处理器21、通信接口22、存储器23和通信总线24,其中,所述处理器21,所述通信接口22,所述存储器23通过所述通信总线24完成相互间的通信;
所述存储器23,用于存放计算机程序;
所述处理器21,用于执行所述存储器上所存储的程序时,实现本发明上述方法实施例所述的步骤。
可选的,所述处理器21具体可以包括中央处理器(CPU)、特定应用集成电路(ASIC,Application Specific Integrated Circuit),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(FPGA,Field Programmable Gate Array)开发的硬件电路,可以是基带处理器。
可选的,所述处理器21可以包括至少一个处理核心。
可选的,所述存储器23可以包括只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)和磁盘存储器。存储器23用于存储至少一个处理器21运行时所需的数据。存储器23的数量可以为一个或多个。
本发明实施例还提供一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,当可执行程序被处理器执行时,实现本发明上述方法实施例提供的方法。
在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus Flash Drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
在本发明实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus Flash Drive)、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种链路状态通告的负载均衡方法,其特征在于,应用于支持链路状态通告LSA负载均衡的各个路由器中,所述方法包括:
确定当前路由器接口在预先按照设定规则确定出的、与所述当前路由器接口连接到的多路访问网络MA对应的逻辑树中所处的位置,其中,所述逻辑树包括根节点、至少一级中间节点以及叶子节点,所述根节点为所述MA中的一个竞选路由器接口,所述至少一级中间节点为所述MA中除所述根节点外的竞选路由器接口,所述叶子节点为所述MA中的非竞选路由器接口,所述逻辑树为完全平衡二叉树;
若确定所述位置为根节点,则将所述当前路由器接口对应的链路信息和所述当前路由器接口接收到的链路信息携带在LSA中发送给在所述逻辑树中所述当前路由器接口连接的中间节点和叶子节点;
若确定所述位置为中间节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并将所述当前路由器接口接收到的在所述逻辑树中所述当前路由器接口连接的所述根节点或者上一级中间节点发送的LSA发送给在所述逻辑树中所述当前路由器接口连接的下一级中间节点和/或叶子节点;
若确定所述位置为叶子节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并接收在所述逻辑树中所述当前路由器接口连接的中间节点或者所述根节点发送的LSA。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述当前路由器接口接收到的各个Hello报文是否均携带支持LSA负载均衡标识;
若确定所述当前路由器接口接收到的各个Hello报文均携带所述支持LSA负载均衡标识,则按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树。
3.如权利要求2所述的方法,其特征在于,按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树,包括:
从所述MA中的各个竞选路由器接口中选取一个竞选路由器接口作为所述根节点;
将所述MA中的各个竞选路由器接口中除所述根节点外的其它竞选路由器接口分配为至少一级中间节点;
将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,得到所述MA对应的逻辑树。
4.如权利要求3所述的方法,其特征在于,将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
将所述MA中的非竞选路由器接口均匀分配为所述根节点和/或所述中间节点的叶子节点。
5.如权利要求3所述的方法,其特征在于,将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
按照router ID从小到大的顺序将所述MA中的非竞选路由器接口依次分配为所述根节点和/或所述中间节点的叶子节点。
6.一种链路状态通告的负载均衡装置,其特征在于,应用于支持链路状态通告LSA负载均衡的各个路由器中,所述装置包括:
确定模块,用于确定当前路由器接口在预先按照设定规则确定出的、与所述当前路由器接口连接到的多路访问网络MA对应的逻辑树中所处的位置,其中,所述逻辑树包括根节点、至少一级中间节点以及叶子节点,所述根节点为所述MA中的一个竞选路由器接口,所述至少一级中间节点为所述MA中除所述根节点外的竞选路由器接口,所述叶子节点为所述MA中的非竞选路由器接口,所述逻辑树为完全平衡二叉树;
执行模块,用于若确定所述位置为根节点,则将所述当前路由器接口对应的链路信息和所述当前路由器接口接收到的链路信息携带在LSA中发送给在所述逻辑树中所述当前路由器接口连接的中间节点和叶子节点;
若确定所述位置为中间节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并将所述当前路由器接口接收到的在所述逻辑树中所述当前路由器接口连接的所述根节点或者上一级中间节点发送的LSA发送给在所述逻辑树中所述当前路由器接口连接的下一级中间节点和/或叶子节点;
若确定所述位置为叶子节点,则将所述当前路由器接口对应的链路信息携带在LSA中发送给所述根节点,并接收在所述逻辑树中所述当前路由器接口连接的中间节点或者所述根节点发送的LSA。
7.如权利要求6所述的装置,其特征在于,所述装置还包括判断模块:
所述判断模块,用于确定所述当前路由器接口接收到的各个Hello报文是否均携带支持LSA负载均衡标识;若确定所述当前路由器接口接收到的各个Hello报文均携带所述支持LSA负载均衡标识,则按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树,并触发所述确定模块。
8.如权利要求7所述的装置,其特征在于,所述判断模块,按照设定规则确定所述当前路由器接口连接到的MA对应的逻辑树,包括:
从所述MA中的各个竞选路由器接口中选取一个竞选路由器接口作为所述根节点;
将所述MA中的各个竞选路由器接口中除所述根节点外的其它竞选路由器接口分配为至少一级中间节点;
将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,得到所述MA对应的逻辑树。
9.如权利要求8所述的装置,其特征在于,所述判断模块,将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
将所述MA中的非竞选路由器接口均匀分配为所述根节点和/或所述中间节点的叶子节点。
10.如权利要求8所述的装置,其特征在于,所述判断模块,将所述MA中的非竞选路由器接口分配为所述根节点和/或所述中间节点的叶子节点,包括:
按照router ID从小到大的顺序将所述MA中的非竞选路由器接口依次分配为所述根节点和/或所述中间节点的叶子节点。
11.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现权利要求1~5任一所述的方法。
12.一种链路状态通告的负载均衡设备,其特征在于,所述设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存储的程序时,实现权利要求1~5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011155580.3A CN112422418B (zh) | 2020-10-26 | 2020-10-26 | 一种链路状态通告的负载均衡方法、装置、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011155580.3A CN112422418B (zh) | 2020-10-26 | 2020-10-26 | 一种链路状态通告的负载均衡方法、装置、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112422418A CN112422418A (zh) | 2021-02-26 |
CN112422418B true CN112422418B (zh) | 2022-09-20 |
Family
ID=74840410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011155580.3A Active CN112422418B (zh) | 2020-10-26 | 2020-10-26 | 一种链路状态通告的负载均衡方法、装置、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112422418B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765795B (zh) * | 2021-10-15 | 2023-07-04 | 北京小米移动软件有限公司 | 组网方法及装置、系统和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547418A (zh) * | 2016-06-29 | 2018-01-05 | 华为技术有限公司 | 一种拥塞控制方法和装置 |
CN108924011A (zh) * | 2018-08-14 | 2018-11-30 | 赛尔网络有限公司 | 用于ospf+路由协议的监测系统、相关设备、方法及介质 |
CN109510768A (zh) * | 2017-09-14 | 2019-03-22 | 华为技术有限公司 | 链路状态通告lsa发送方法、装置和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7697454B2 (en) * | 2004-01-14 | 2010-04-13 | Avaya, Inc. | Method and apparatus for controlling the dissemination of routing information on a communication network |
CN101272393B (zh) * | 2008-05-14 | 2010-11-03 | 杭州华三通信技术有限公司 | 基于链路状态路由协议的路由计算方法和网络节点 |
CN102638820B (zh) * | 2012-03-23 | 2015-11-11 | 山东大学 | Ad Hoc网络中链路稳定性预测方法 |
CN108075981B (zh) * | 2016-11-16 | 2021-04-09 | 华为技术有限公司 | 一种链路状态数据包的传输方法及路由节点 |
-
2020
- 2020-10-26 CN CN202011155580.3A patent/CN112422418B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547418A (zh) * | 2016-06-29 | 2018-01-05 | 华为技术有限公司 | 一种拥塞控制方法和装置 |
CN109510768A (zh) * | 2017-09-14 | 2019-03-22 | 华为技术有限公司 | 链路状态通告lsa发送方法、装置和系统 |
CN108924011A (zh) * | 2018-08-14 | 2018-11-30 | 赛尔网络有限公司 | 用于ospf+路由协议的监测系统、相关设备、方法及介质 |
Non-Patent Citations (1)
Title |
---|
IP multicast fault recovery in PIM over OSPF;Xin Wang等;《IEEE》;20020806;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112422418A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102342050B (zh) | 用于广播网络的ldp igp同步 | |
EP3270553B1 (en) | Ospf point-to-multipoint over broadcast or nbma mode | |
US11310080B2 (en) | VXLAN configuration method, device, and system | |
JP2017500819A (ja) | 協働するネットワークコントローラに基づくマルチドメイン送信元ルート選択転送 | |
CN103428088B (zh) | 一种树根分配、报文处理的方法及路由网桥 | |
CN105791169A (zh) | 软件定义网络中交换机转发控制、转发方法及相关设备 | |
CN110784407B (zh) | 接口配置方法、数据传输方法、装置及电子设备 | |
CN101686188B (zh) | 层次化有序地址分组网络中建立路由表的方法、路由的方法及路由器 | |
CN114513429A (zh) | 检测报文的传输方法、反向路径的确定方法及设备 | |
CN112422418B (zh) | 一种链路状态通告的负载均衡方法、装置、介质和设备 | |
CN102884762A (zh) | 网络路径控制方法、设备及系统 | |
CN111327524B (zh) | 流量转发方法、系统、sdn控制器及计算机可读存储介质 | |
US11804985B2 (en) | Packet transmission method, apparatus, and system, and storage medium | |
JP7404185B2 (ja) | 通信システム、ノード、通信方法及びプログラム | |
CN105939262B (zh) | 标签分配的方法及装置 | |
CN102325154B (zh) | 具有容灾备份功能的网络系统及实现容灾备份功能的方法 | |
CN102769571B (zh) | 一种平滑重启实现方法及设备 | |
US20230208722A1 (en) | Communication method and related apparatus | |
CN114006854B (zh) | 通信方法及网络设备 | |
JP2023516349A (ja) | ルート送信方法及びデバイス | |
CN102857441A (zh) | 避免端系统地址分发信息协议报文风暴的方法及路由网桥 | |
CN102006240B (zh) | 一种在mpls网络中转发报文的方法、装置及系统 | |
CN114786138B (zh) | 自组网的中心节点切换方法、装置以及电子设备 | |
CN113726663B (zh) | 一种路由处理方法及装置 | |
CN111327537B (zh) | 流量转发方法、系统、sdn控制器及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |