CN104486236B - 负载分担的方法和路由设备 - Google Patents
负载分担的方法和路由设备 Download PDFInfo
- Publication number
- CN104486236B CN104486236B CN201410709183.4A CN201410709183A CN104486236B CN 104486236 B CN104486236 B CN 104486236B CN 201410709183 A CN201410709183 A CN 201410709183A CN 104486236 B CN104486236 B CN 104486236B
- Authority
- CN
- China
- Prior art keywords
- load balancing
- routing device
- information
- relation
- load
- 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
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/58—Association of routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
-
- 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
- H04L45/121—Shortest path evaluation by minimising delays
-
- 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/48—Routing tree calculation
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种负载分担的方法和路由设备,网络中所有具有负载分担关系的路由设备通过协商的方法确定自己的负载分担信息,以避免自己的负载分担信息中的扰动因子与其他路由设备的扰动因子相同。具体地,每个具有负载分担关系的路由设备,通过获取所有具有负载分担关系的下游路由设备的负载分担信息,在确定自己的负载分担信息时,根据自己的所有具有负载分担关系的下游路由设备的负载分担信息确定自己的负载分担信息,使得自己的扰动因子与所有具有负载分担关系的下游路由设备的扰动因子,从而使得网络中所有具有负载分担关系的路由设备之间的负载分担信息的耦合度降低,使得各级负载分担均匀。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种负载分担的方法和路由设备。
背景技术
路由设备在转发报文时,如果转发表项存在多个等价的出接口,则路由设备会根据报文特征进行负载分担,将流量平均散列到所有出接口上,保证路由设备带宽资源得到充分利用。负载分担分为逐包和逐流两种,逐包负载分担会导致一条业务流的报文被散列到不同的接口上,由于不同的接口的物理参数不同,可能导致该业务流的报文乱序,所以逐包负载分担现网使用的较少。逐流负载分担需要路由设备根据报文特征进行哈希(HASH)选路,实现负载分担的同时,确保相同报文特征的流量走相同的出接口。
如果网络中存在多级路由设备,每一级路由设备都需要对流量进行HASH选路,且每一级路由设备采用的HASH算法相同,则可能存在多级负载分担不均的问题,当多级负载分担不均时,有可能导致报文丢失。如图1所示,图1为一种网络结构的示意图,当流量在A设备上进行HASH选路时,A设备将流量发送给B设备,B设备使用与A设备相同的HASH算法对流量进行HASH选路,B设备的选路结果与A设备的选路结果相同,导致B设备出现负载分担不均的问题。
对于多级负载分担不均的问题,一般引入多种HASH算法,或者在HASH选路的过程中,使用扰动因子对HASH选路结果进行干扰,以降低不同路由设备之间的负载分担结果的耦合度。但是,由于路由设备的端口数量有限,即使各物理设备的扰动因子不同,路由设备根据扰动因子进行HASH运算得到的负载分担的结果的耦合度也可能很高,尤其是当网络规模足够大时,总会有路由设备存在多级负载分担不均的情况,影响网络运行质量。
发明内容
本发明实施例提供一种负载分担的方法和路由设备,以解决路由设备之间的多级负载分担不均的问题,使得多级负载分担均匀。
本发明第一方面提供一种负载分担的方法,包括:
路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息,所述负载分担信息包括所述所有具有负载分担关系的下游路由设备的负载分担算法和扰动因子;
所述路由设备根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述路由设备的第一负载分担信息,所述第一负载分担信息包括所述路由设备的第一负载分担算法和第一扰动因子,其中,所述第一扰动因子与所述所有具有负载分担关系的下游路由设备的扰动因子不同;
所述路由设备向具有负载分担关系的上游路由设备发送所述第一负载分担信息,以及所述所有具有负载分担关系的下游路由设备的负载分担信息;
当所述路由设备接收到数据报文时,所述路由设备使用所述第一负载分担信息确定所述数据报文的转发路径。
结合本发明第一方面,在本发明第一方面的第一种可能的实现方式中,所述每个负载分担信息中包括锁定状态标识,所述锁定状态标识用于表示对应的负载分担信息是否被锁定;
所述路由设备根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述路由设备的第一负载分担信息,包括:
所述路由设备判断所述所有具有负载分担关系的下游路由设备的负载分担信息的锁定状态标识是否均为锁定状态;
若是,则所述路由设备根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述第一负载分担信息;
所述路由设备向具有负载分担关系的上游路由设备发送所述第一负载分担信息,包括:
所述路由设备将所述第一负载分担信息的锁定状态标识置为锁定,向所述具有负载分担关系的上游路由设备发送所述第一负载分担信息。
结合本发明第一方面以及本发明第一方面的第一种可能的实现方式,在本发明第一方面的第二种可能的实现方式中,所述路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息之前,所述方法还包括:
所述路由设备确定自己是否为叶子节点;
若所述路由设备为非叶子节点,则所述路由设备获取所述所有具有负载分担关系的下游路由设备的负载分担信息。
结合本发明第一方面的第二种可能的实现方式,在本发明第一方面的第三种可能的实现方式中,若所述路由设备为叶子节点,则所述路由设备将第二负载分担信息发送给所述具有负载分担关系的上游路由设备,所述第二负载分担信息包括所述路由设备的第二负载分担算法和第二扰动因子。
结合本发明第一方面,在本发明第一方面的第四种可能的实现方式中,所述路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息,包括:
所述路由设备向相邻下游路由设备发送负载分担请求消息;
所述路由设备接收所述相邻下游路由设备返回的负载分担响应,所述负载分担响应中包括所述所有具有负载分担关系的下游设备的负载分担信息。
本发明第二方面提供一种路由设备,包括:
获取模块,用于获取所述路由设备的所有具有负载分担关系的下游路由设备的负载分担信息,所述负载分担信息包括所述所有具有负载分担关系的下游路由设备的负载分担算法和扰动因子;
第一确定模块,用于根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述路由设备的第一负载分担信息,所述第一负载分担信息包括所述路由设备的第一负载分担算法和第一扰动因子,其中,所述第一扰动因子与所述所有具有负载分担关系的下游路由设备的扰动因子不同;
发送模块,用于向具有负载分担关系的上游路由设备发送所述第一负载分担信息,以及所述所有具有负载分担关系的下游路由设备的负载分担信息;
第二确定模块,用于当所述路由设备接收到数据报文时,使用所述第一负载分担信息确定所述数据报文的转发路径。
结合本发明第二方面,在本发明第二方面的第一种可能的实现方式中,所述每个负载分担信息中包括锁定状态标识,所述锁定状态标识用于表示对应的负载分担信息是否被锁定;
所述第一确定模块具体用于:判断所述所有具有负载分担关系的下游路由设备的负载分担信息的锁定状态标识是否均为锁定状态;
若是,则根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述第一负载分担信息;
所述发送模块具体用于:将所述第一负载分担信息的锁定状态标识置为锁定,向所述具有负载分担关系的上游路由设备发送所述第一负载分担信息。
结合本发明第二方面以及本发明第二方面的第一种可能的实现方式中,在本发明第二方面的第二种可能的实现方式中,所述获取模块还用于:
在获取所述所有具有负载分担关系的下游路由设备的负载分担信息之前,确定所述路由设备是否为叶子节点;
若所述路由设备为非叶子节点,则获取所述所有具有负载分担关系的下游路由设备的负载分担信息。
结合本发明第二方面的第二种可能的实现方式中,在本发明第二方面的第三种可能的实现方式中,若所述路由设备为叶子节点,则所述发送模块还用于:将第二负载分担信息发送给所述具有负载分担关系的上游路由设备,所述第二负载分担信息包括所述路由设备的第二负载分担算法和第二扰动因子。
结合本发明第二方面,在本发明第二方面的第四种可能的实现方式中,所述获取模块具体用于:
向相邻下游路由设备发送负载分担请求消息;
接收所述相邻下游路由设备返回的负载分担响应,所述负载分担响应中包括所述所有具有负载分担关系的下游设备的负载分担信息。
本发明实施例提供的负载分担的方法和路由设备,网络中所有具有负载分担关系的路由设备通过协商的方法确定自己的负载分担信息,以避免自己的扰动因子与其他路由设备的扰动因子相同。具体地,每个具有负载分担关系的路由设备,通过获取所有具有负载分担关系的下游路由设备的负载分担信息,在确定自己的负载分担信息时,根据自己的所有具有负载分担关系的下游路由设备的负载分担信息确定自己的负载分担信息,使得自己的扰动因子与所有具有负载分担关系的下游路由设备的扰动因子,从而使得网络中所有具有负载分担关系的路由设备之间的负载分担信息的耦合度降低,使得各级负载分担均匀。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种网络结构的示意图;
图2为本发明实施例一提供的负载分担方法的流程图;
图3为另一种网络结构的示意图;
图4为本发明实施例二提供的路由设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例一提供的负载分担方法的流程图,如图3所示,本实施例的方法可以包括:
S101、路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息,该负载分担信息包括所有具有负载分担关系的下游路由设备的负载分担算法和扰动因子。
以图3所示例子为例,图3为另一种网络结构的示意图,网络中共有11台路由设备,路由设备被划分了多级,其中,路由设备A、B、C、D、E、F具有负载分担关系,这里,路由设备具有负载分担关系是指路由设备存在负载分担关系的接口,负载关系分担接口例如为等价路由的出接口或者捆绑成trunk的接口等。对于路由设备A和F来说,需要获取路由设备B、C、E的负载分担信息,对于路由设备B来说,需要获取路由设备E的负载分担信息,对于路由设备C和E来说,没有具有负载分担关系的下游路由设备的负载分担信息。
本实施例中,路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息,具体可以为:路由设备向相邻下游路由设备发送负载分担请求消息;该相邻的下游路由设备根据负载分担请求向该路由设备返回负载分担响应。该路由设备接收该相邻下游设备返回的负载分担响应,该负载分担响应中包括所有具有负载分担关系的下游路由设备的负载分担信息,其中,负载分担信息包括:路由设备采用的负载分担算法以及扰动因子。
网络中的所有路由设备在每个探测周期都会向自己相邻的下游路由设备发送一次负载分担请求消息,该负载分担请求用于获取具有负载分担关系的下游路由设备的负载分担信息。该负载分担请求消息的生存时间(Time-To-Live,简称TTL)值为1,因此,相邻的下游路由设备在接收到上游路由设备发送的负载分担请求消息后不会将该负载分担请求转发出去。相邻的下游路由设备在接收到负载分担请求消息后,判断自己是否存在负载分担接口,若存在,则相邻的下游路由设备将自己的负载分担信息,以及获取到的该相邻下游设备的具有负载分担关系的下游路由设备的负载分担信息携带在负载分担请求响应中返回给上游路由设备。若相邻的下游路由设备不存在负载分担接口,则该相邻的下游路由设备不向上游路由设备返回负载分担响应。例如,图3中路由设备B在向路由设备D和路由设备E发送负载分担请求消息后,路由设备E具有负载分担接口,因此,路由设备E向路由设备B返回负载分担响应,路由设备D不具有负载分担接口,因此,路由设备D不回复负载分担响应。最终多级负载分担路径中涉及的每台具有负载分担关系的路由设备都会生成一个树表,该树表中保存了自己的所有具有负载分担关系的下游路由设备的负载分担信息。
可选地,该负载分担请求消息中还携带该路由设备自己的负载分担信息,这里携带的负载分担信息为自己当前正在使用的负载分担信息,并不是根据本发明实施例的方法最终确定的负载分担信息。具体可以在网络互联协议(简称Internet Protocol,简称IP)头中携带OPTION选项字段中该路由设备的负载分担信息,IP选项中可通过类型长度值(Type-Length-value,简称TLV)的方式携带该路由设备的负载分担类型、负载分担算法以及扰动因子。该负载分担消息可以使用特殊的互联网控制报文协议(Internet Control MessageProtocol,简称ICMP)报文,或者复用内部网关协议(Interior Gateway Protocol,简称IGP)协议特殊字段,或者复用边界网关协议(Border Gateway Protocol,简称BGP)协议的特殊字段,或者使用特殊的网桥协议数据单元(Bridge Protocol Data Unit,简称BPDU)报文等,本发明并不对此进行限制。
本实施例的方法,在具体实现时引入了锁定原则避免路由设备的负载分担信息频繁变化,锁定原则的目的是确保负载分担信息的确定从叶子节点开始,逐步扩散到根节点,避免非叶子节点的负载分担信息反复变动。并且锁定原则可以确保路由设备重启或新增路由设备不会导致网络中出现大面积的负载分担信息变化。这里叶子节点为没有下游路由设备的路由设备,非叶子节点为具有下游路由设备的路由设备。本实施例中,为每个路由设备的负载分担信息设定了一个状态锁定标识,该锁定状态标识用于表示对应的负载分担信息是否被锁定,负载分担信息被锁定意味着负载分担信息处于稳定状态,每个路由设备在向上游路由设备发送自己的负载分担信息时,会根据实际情况设定状态锁定标识的值。
S102、该路由设备根据所有具有负载分担关系的下游路由设备的负载分担信息确定该路由设备的第一负载分担信息,该第一负载分担信息包括该路由设备的第一负载分担算法和第一扰动因子,其中,该第一扰动因子与所有具有负载分担关系的下游路由设备的扰动因子不同。
具体地,该路由设备判断所有具有负载分担关系的下游路由设备的负载分担信息的锁定状态标识是否均为锁定,若是,则该路由设备根据所有下游路由设备的负载分担信息确定第一负载分担信息。该路由设备在确定第一负载分担信息时选择散列性最好的负载分担算法和/或选择散列性最好的扰动因子,以便于保证网络中各级负载分担能够均匀。因此,确定的该第一扰动因子与所有具有负载分担关系的下游路由设备的扰动因子不同,但是,该第一负载分担算法可以与所有具有负载分担关系的下游路由设备的负载分担算法相同。本实施例中,每个路由设备确定的自己的扰动因子都与其具有负载分担关系的下游路由设备的扰动因子不同,因此,降低了各级路由设备的扰动因子的耦合性。
每个路由设备在向自己的上游设备发送自己的负载分担信息时都会设定负载分担信息的状态锁定标识的值,上游路由设备只有在确定自己的所有具有负载分担关系的下游路由设备的负载分担信息的状态锁定标记都为锁定状态时,才会根据该所有具有负载分担关系的下游路由设备的负载分担信息确定第一负载分担信息。若该路由设备的所有具有负载分担关系的下游设备的负载分担信息中有部分或全部的锁定状态标识为非锁定状态,那么该路由设备不会确定第一负载分担信息,而是将第二负载分担信息以及该路由设备的所有具有负载分担关系的下游路由设备的负载分担信息发送给上游路由设备。这里,第二负载分担信息是该路由设备当前使用的负载分担信息,具体可以是上次负载分担信息调整后确定的负载分担信息,也可以是默认的负载分担信息。该路由设备在将该第一负载分担信息发送给上游路由设备时,将该第一负载分担信息的锁定状态标识的值设置为锁定状态,但是该路由设备在将该第二负载分担信息发送给上游路由设备时,将该第二负载分担信息的锁定状态标识的值设置为非锁定状态。
S103、该路由设备向相邻上游路由设备发送该第一负载分担信息,以及该所有具有负载分担关系的下游路由设备的负载分担信息。
具体地,该路由设备在确定该第一负载分担信息之后,将该第一负载分担信息的锁定状态标识置为锁定状态,然后向相邻上游路由设备发送该第一负载分担信息,以及该所有具有负载分担关系的下游路由设备的负载分担信息。该路由设备向相邻上游路由设备发送该第一负载分担信息,以及该所有具有负载分担关系的下游路由设备的负载分担信息的目的是,将该第一负载分担信息以及该所有具有负载分担关系的下游路由设备的负载分担信息最终发送给所有具有负载分担关系的上游路由设备,使具有负载分担关系的上游路由设备根据该第一负载信息以及该所有具有负载分担关系的下游路由设备的负载分担信息确定自己的负载分担信息。
本实施例的方法,网络中的所有路由设备通过协商的方法确定自己的负载分担信息,负载分担信息的确定从叶子节点开始扩散至根节点,每个具有负载分担关系的路由设备在确定自己的负载分担信息时,都会根据自己的所有的具有负载分担关系的下游路由设备的负载分担信息确定自己的负载分担信息,在具体确定负载分担信息时,每个路由设备都会考虑下游路由设备的负载分担信息,尽量选择散列性最好的负载分担算法和扰动因子,从而使得网络中所有具有负载分担关系的路由设备之间的负载分担算法和扰动因子的耦合度降低,使得各级负载分担均匀。
如图3所示,图3中具有负载分担关系的路由设备A、B、C、E、F最终的负载分担信息分别为:路由设备A的负载分担算法为算法1,扰动因子为n,路由设备B的负载分担算法为算法5,扰动因子为Y,路由设备C的负载分担算法为算法2,扰动因子为X,路由设备E的负载分担算法为算法2,扰动因子为m,路由设备F的负载分担算法为算法2,扰动因子为z。可知,通过本实施例的方法,网络中的所有具有负载分担算法的路由设备的扰动因子都不相同,这样,各具有负载分担算法的路由设备在根据各自的负载分担信息进行哈希选路时,可以降低负载分担结果的耦合度。
S104、当该路由设备接收到数据报文时,该路由设备使用该第一负载分担信息确定该数据报文的转发路径。
具体地,当该路由设备接收到数据报文时,该路由设备根据该第一负载分担信息中包括负载分担算法和扰动因子对该数据报文进行选路,以确定将该数据报文从该路由设备的哪个具有负载分担关系的接口发送出去。具体的,路由设备通常会对数据报文进行两次哈希运算,第一次哈希运算时路由设备将数据报文的源IP地址和目的IP地址进行异或运算得到第一异或结果,然后,路由设备将扰动因子与该路由设备的物理出接口矩阵进行相乘,该路由设备的物理出接口矩阵由该路由设备的所有具有负载分担关系的物理出接口组成。其次,对相乘得到的矩阵求秩,将第一异或结果与相乘得到的矩阵的秩进行异或,得到第二次异或结果,根据第二次异或结果取模得到的结果确定该数据报文的出接口。可选地,在进行第一次哈希元运算时,可以将数据报文的源IP地址和目的IP地址分别进行取反,然后,对取反后的源IP地址和取反后的目的IP地址进行异或运算。本发明实施例中的扰动因子为随机数,该随机数由路由设备产生。
本实施例,网络中所有具有负载分担关系的路由设备通过协商的方法确定自己的负载分担信息,以避免自己的扰动因子与其他路由设备的扰动因子相同。具体地,每个具有负载分担关系的路由设备,通过获取所有具有负载分担关系的下游路由设备的负载分担信息,在确定自己的负载分担信息时,根据自己的所有具有负载分担关系的下游路由设备的负载分担信息确定自己的负载分担信息,使得自己的扰动因子与所有具有负载分担关系的下游路由设备的扰动因子,从而使得网络中所有具有负载分担关系的路由设备之间的负载分担信息的耦合度降低,使得各级负载分担均匀。
在上述实施例一的基础上,该路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息之前,该路由设备确定自己是否为叶子节点;若该路由设备为非叶子节点,则该路由设备获取所述所有具有负载分担关系的下游路由设备的负载分担信息。若该路由设备为叶子节点,则该路由设备将第二负载分担算法发送给所有具有负载分担关系的上游路由设备。
图4为本发明实施例二提供的路由设备的结构示意图,如图4所示,本实施例的路由设备包括:获取模块101、第一确定模块102、发送模块103和第二确定模块104。
其中,获取模块101,用于获取所述路由设备的所有具有负载分担关系的下游路由设备的负载分担信息,所述负载分担信息包括所述所有具有负载分担关系的下游路由设备的负载分担算法和扰动因子;
第一确定模块102,用于根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述路由设备的第一负载分担信息,所述第一负载分担信息包括所述路由设备的第一负载分担算法和第一扰动因子,其中,所述第一扰动因子与所述所有具有负载分担关系的下游路由设备的扰动因子不同;
发送模块103,用于向具有负载分担关系的上游路由设备发送所述第一负载分担信息,以及所述所有具有负载分担关系的下游路由设备的负载分担信息;
第二确定模块104,用于当所述路由设备接收到数据报文时,使用所述第一负载分担信息确定所述数据报文的转发路径。
可选地,所述每个负载分担信息中包括锁定状态标识,所述锁定状态标识用于表示对应的负载分担信息是否被锁定;则所述第一确定模块102具体用于:判断所述所有具有负载分担关系的下游路由设备的负载分担信息的锁定状态标识是否均为锁定状态;若是,则根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述第一负载分担信息。相应地,所述发送模块103具体用于:将所述第一负载分担信息的锁定状态标识置为锁定,向所述具有负载分担关系的上游路由设备发送所述第一负载分担信息。
可选地,所述获取模块101还用于:在获取所述所有具有负载分担关系的下游路由设备的负载分担信息之前,确定所述路由设备是否为叶子节点;若所述路由设备为非叶子节点,则获取所述所有具有负载分担关系的下游路由设备的负载分担信息。若所述路由设备为叶子节点,则所述发送模块103还用于:将第二负载分担信息发送给所述具有负载分担关系的上游路由设备,所述第二负载分担信息包括所述路由设备的第二负载分担算法和第二扰动因子。
本实施例中,所述获取模块101具体用于:向相邻下游路由设备发送负载分担请求消息;接收所述相邻下游路由设备返回的负载分担响应,所述负载分担响应中包括所述所有具有负载分担关系的下游设备的负载分担信息。
本实施例的路由设备,可用于执行实施例一的技术方案,具体实现方式和技术效果类似,这里不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种负载分担的方法,其特征在于,包括:
路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息,所述负载分担信息包括所述所有具有负载分担关系的下游路由设备的负载分担算法和扰动因子;
所述路由设备根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述路由设备的第一负载分担信息,所述第一负载分担信息包括所述路由设备的第一负载分担算法和第一扰动因子,其中,所述第一扰动因子与所述所有具有负载分担关系的下游路由设备的扰动因子不同;
所述路由设备向具有负载分担关系的上游路由设备发送所述第一负载分担信息,以及所述所有具有负载分担关系的下游路由设备的负载分担信息;
当所述路由设备接收到数据报文时,所述路由设备使用所述第一负载分担信息确定所述数据报文的转发路径。
2.根据权利要求1所述的方法,其特征在于,所述每个负载分担信息中包括锁定状态标识,所述锁定状态标识用于表示对应的负载分担信息是否被锁定;
所述路由设备根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述路由设备的第一负载分担信息,包括:
所述路由设备判断所述所有具有负载分担关系的下游路由设备的负载分担信息的锁定状态标识是否均为锁定状态;
若是,则所述路由设备根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述第一负载分担信息;
所述路由设备向具有负载分担关系的上游路由设备发送所述第一负载分担信息,包括:
所述路由设备将所述第一负载分担信息的锁定状态标识置为锁定,向所述具有负载分担关系的上游路由设备发送所述第一负载分担信息。
3.根据权利要求1或2所述的方法,其特征在于,所述路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息之前,所述方法还包括:
所述路由设备确定自己是否为叶子节点;
若所述路由设备为非叶子节点,则所述路由设备获取所述所有具有负载分担关系的下游路由设备的负载分担信息。
4.根据权利要求3所述的方法,其特征在于,若所述路由设备为叶子节点,则所述路由设备将第二负载分担信息发送给所述具有负载分担关系的上游路由设备,所述第二负载分担信息包括所述路由设备的第二负载分担算法和第二扰动因子。
5.根据权利要求1所述的方法,其特征在于,所述路由设备获取所有具有负载分担关系的下游路由设备的负载分担信息,包括:
所述路由设备向相邻下游路由设备发送负载分担请求消息;
所述路由设备接收所述相邻下游路由设备返回的负载分担响应,所述负载分担响应中包括所述相邻下游路由设备自己的负载分担信息,以及所述相邻下游路由设备获取到的与所述相邻下游路由设备具有负载分担关系的下游路由设备的负载分担信息。
6.一种路由设备,其特征在于,包括:
获取模块,用于获取所述路由设备的所有具有负载分担关系的下游路由设备的负载分担信息,所述负载分担信息包括所述所有具有负载分担关系的下游路由设备的负载分担算法和扰动因子;
第一确定模块,用于根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述路由设备的第一负载分担信息,所述第一负载分担信息包括所述路由设备的第一负载分担算法和第一扰动因子,其中,所述第一扰动因子与所述所有具有负载分担关系的下游路由设备的扰动因子不同;
发送模块,用于向具有负载分担关系的上游路由设备发送所述第一负载分担信息,以及所述所有具有负载分担关系的下游路由设备的负载分担信息;
第二确定模块,用于当所述路由设备接收到数据报文时,使用所述第一负载分担信息确定所述数据报文的转发路径。
7.根据权利要求6所述的路由设备,其特征在于,所述每个负载分担信息中包括锁定状态标识,所述锁定状态标识用于表示对应的负载分担信息是否被锁定;
所述第一确定模块具体用于:判断所述所有具有负载分担关系的下游路由设备的负载分担信息的锁定状态标识是否均为锁定状态;
若是,则根据所述所有具有负载分担关系的下游路由设备的负载分担信息确定所述第一负载分担信息;
所述发送模块具体用于:将所述第一负载分担信息的锁定状态标识置为锁定,向所述具有负载分担关系的上游路由设备发送所述第一负载分担信息。
8.根据权利要求6或7所述的路由设备,其特征在于,所述获取模块还用于:
在获取所述所有具有负载分担关系的下游路由设备的负载分担信息之前,确定所述路由设备是否为叶子节点;
若所述路由设备为非叶子节点,则获取所述所有具有负载分担关系的下游路由设备的负载分担信息。
9.根据权利要求8所述的路由设备,其特征在于,若所述路由设备为叶子节点,则所述发送模块还用于:将第二负载分担信息发送给所述具有负载分担关系的上游路由设备,所述第二负载分担信息包括所述路由设备的第二负载分担算法和第二扰动因子。
10.根据权利要求6所述的路由设备,其特征在于,所述获取模块具体用于:
向相邻下游路由设备发送负载分担请求消息;
接收所述相邻下游路由设备返回的负载分担响应,所述负载分担响应中包括所述相邻下游路由设备自己的负载分担信息,以及所述相邻下游路由设备获取到的与所述相邻下游路由设备具有负载分担关系的下游路由设备的负载分担信息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709183.4A CN104486236B (zh) | 2014-11-28 | 2014-11-28 | 负载分担的方法和路由设备 |
EP15863894.0A EP3166268B1 (en) | 2014-11-28 | 2015-08-06 | Load sharing method and routing device |
PCT/CN2015/086261 WO2016082580A1 (zh) | 2014-11-28 | 2015-08-06 | 负载分担的方法和路由设备 |
US15/607,104 US10404584B2 (en) | 2014-11-28 | 2017-05-26 | Load sharing method and router device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709183.4A CN104486236B (zh) | 2014-11-28 | 2014-11-28 | 负载分担的方法和路由设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104486236A CN104486236A (zh) | 2015-04-01 |
CN104486236B true CN104486236B (zh) | 2018-02-06 |
Family
ID=52760741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410709183.4A Active CN104486236B (zh) | 2014-11-28 | 2014-11-28 | 负载分担的方法和路由设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10404584B2 (zh) |
EP (1) | EP3166268B1 (zh) |
CN (1) | CN104486236B (zh) |
WO (1) | WO2016082580A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486236B (zh) | 2014-11-28 | 2018-02-06 | 华为技术有限公司 | 负载分担的方法和路由设备 |
CN107743094B (zh) * | 2016-08-30 | 2020-05-12 | 腾讯科技(深圳)有限公司 | 路由接入方法及路由接入装置 |
CN108540399B (zh) * | 2018-04-26 | 2022-03-01 | 新华三技术有限公司 | 一种负载分担实现方法及装置 |
CN112753198B (zh) * | 2018-09-30 | 2022-04-05 | 华为技术有限公司 | 在网络中的负载均衡和报文重排序方法及装置 |
CN109787914B (zh) * | 2019-03-28 | 2022-07-01 | 新华三技术有限公司 | 负载分担方法、装置及网络设备 |
CN112039783B (zh) * | 2020-08-19 | 2022-08-09 | 恒安嘉新(北京)科技股份公司 | 通信数据输出方法、装置、计算机设备及存储介质 |
CN115474215B (zh) * | 2022-09-06 | 2023-03-21 | 广东九博科技股份有限公司 | 一种基于路由器的组网方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1984071A (zh) * | 2006-06-05 | 2007-06-20 | 华为技术有限公司 | 通讯网络中对数据流的分流方法和装置 |
CN101527685A (zh) * | 2009-04-17 | 2009-09-09 | 华为技术有限公司 | 一种报文传输链路的分配方法和装置 |
CN102143041A (zh) * | 2010-07-02 | 2011-08-03 | 华为技术有限公司 | 一种网络流量分担的方法、装置及系统 |
EP2276207B1 (en) * | 2009-07-14 | 2013-05-15 | Broadcom Corporation | Node based path selection randomization |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100407705C (zh) * | 2006-04-12 | 2008-07-30 | 华为技术有限公司 | 一种路由器控制方法和系统 |
US7903654B2 (en) * | 2006-08-22 | 2011-03-08 | Foundry Networks, Llc | System and method for ECMP load sharing |
CN100456702C (zh) * | 2006-09-27 | 2009-01-28 | 北京航空航天大学 | 网络资源负载均衡方法 |
CN100531098C (zh) * | 2007-03-13 | 2009-08-19 | 华为技术有限公司 | 一种对等网络系统及重叠网间节点的互通方法 |
US8537679B2 (en) * | 2008-05-08 | 2013-09-17 | Telefonaktiebolaget L M Ericsson (Publ) | Load balancing pseudowire encapsulated IPTV channels over aggregated links |
US8274980B2 (en) * | 2009-02-26 | 2012-09-25 | International Business Machines Corporation | Ethernet link aggregation |
US20120287946A1 (en) * | 2011-05-13 | 2012-11-15 | Broadcom Corporation | Hash-Based Load Balancing with Flow Identifier Remapping |
US8743768B2 (en) * | 2012-02-27 | 2014-06-03 | Cisco Technology, Inc. | On-demand diverse path computation for limited visibility computer networks |
US10135914B2 (en) * | 2013-04-16 | 2018-11-20 | Amazon Technologies, Inc. | Connection publishing in a distributed load balancer |
US9621642B2 (en) * | 2013-06-17 | 2017-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods of forwarding data packets using transient tables and related load balancers |
CN104486236B (zh) * | 2014-11-28 | 2018-02-06 | 华为技术有限公司 | 负载分担的方法和路由设备 |
-
2014
- 2014-11-28 CN CN201410709183.4A patent/CN104486236B/zh active Active
-
2015
- 2015-08-06 WO PCT/CN2015/086261 patent/WO2016082580A1/zh active Application Filing
- 2015-08-06 EP EP15863894.0A patent/EP3166268B1/en active Active
-
2017
- 2017-05-26 US US15/607,104 patent/US10404584B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1984071A (zh) * | 2006-06-05 | 2007-06-20 | 华为技术有限公司 | 通讯网络中对数据流的分流方法和装置 |
CN101527685A (zh) * | 2009-04-17 | 2009-09-09 | 华为技术有限公司 | 一种报文传输链路的分配方法和装置 |
EP2276207B1 (en) * | 2009-07-14 | 2013-05-15 | Broadcom Corporation | Node based path selection randomization |
CN102143041A (zh) * | 2010-07-02 | 2011-08-03 | 华为技术有限公司 | 一种网络流量分担的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3166268A1 (en) | 2017-05-10 |
WO2016082580A1 (zh) | 2016-06-02 |
CN104486236A (zh) | 2015-04-01 |
EP3166268A4 (en) | 2017-11-22 |
US10404584B2 (en) | 2019-09-03 |
US20170264538A1 (en) | 2017-09-14 |
EP3166268B1 (en) | 2019-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104486236B (zh) | 负载分担的方法和路由设备 | |
Sallam et al. | Shortest path and maximum flow problems under service function chaining constraints | |
Chowdhury et al. | Dedicated protection for survivable virtual network embedding | |
Krioukov et al. | Compact routing on Internet-like graphs | |
EP2932693B1 (en) | Exchange of server status and client information through headers for request management and load balancing | |
CN108781188A (zh) | 用于平衡即兴网络构造的设备和方法 | |
CN111654438B (zh) | 一种网络中建立转发路径的方法、控制器及系统 | |
WO2010063321A1 (en) | Generating network topology parameters and monitoring a communications network domain | |
US20180268302A1 (en) | Systems and methods for compute node management protocols | |
CN108062243A (zh) | 执行计划的生成方法、任务执行方法及装置 | |
CN113472659B (zh) | 转发路径的确定方法、装置及sdn控制器 | |
Torkzaban et al. | Trust-aware service chain embedding | |
Torkzaban et al. | Trust-aware service function chain embedding: A path-based approach | |
CN109617805A (zh) | 链路动态属性的获取方法、装置及路径选择方法、装置 | |
Lodhi et al. | Complexities in Internet peering: Understanding the “black” in the “black art” | |
CN105207905B (zh) | 路由选择方法和装置 | |
CN106878356B (zh) | 一种调度方法及计算节点 | |
Nakata et al. | Analyzing the evolution and the future of the internet topology focusing on flow hierarchy | |
Amarasinghe et al. | Aggregation-based discovery for virtual network environments | |
Guan et al. | Multidimensional Resource Fragmentation-Aware Virtual Network Embedding for IoT Applications in MEC Networks | |
Kulakov et al. | Modified Method of Traffic Engineering in DCN with a Ramified Topology | |
Dragoş | Hierarchical QoS routing by using Multi-constrained Macro-routing | |
CN103491181B (zh) | 一种对等网络中节点间的信息流特征的分析方法 | |
Oprescu et al. | Rethinking iBGP routing | |
Ramadan et al. | A Distributed Cloud Architecture Based on General De Bruijn Overlay Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |