CN103001781B - 分布式链路聚合组的聚合链路选择/去选择的方法及装置 - Google Patents
分布式链路聚合组的聚合链路选择/去选择的方法及装置 Download PDFInfo
- Publication number
- CN103001781B CN103001781B CN201110265928.9A CN201110265928A CN103001781B CN 103001781 B CN103001781 B CN 103001781B CN 201110265928 A CN201110265928 A CN 201110265928A CN 103001781 B CN103001781 B CN 103001781B
- Authority
- CN
- China
- Prior art keywords
- node
- link
- information
- actor
- group
- 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.)
- Expired - Fee Related
Links
Abstract
本发明提供了一种分布式链路聚合组的聚合链路选择/去选择的方法及装置,该去选择的方法包括:分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断Actor端内的节点连接关系是否发生变化;如果是,则将受变化影响的聚合链路从链路聚合组中去选择。在本发明中,通过每个节点都参与连接关系是否发生变化的判断,可准确确定出应该隔离的节点,从而解决了现有技术中由于指定隔离节点所导致的不该隔离的节点从聚合组中隔离出来的问题,进而实现了链路和节点的双冗余的网络互连保护的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种分布式链路聚合组的聚合链路选择/去选择的方法及装置。
背景技术
随着宽带业务的飞速发展,网络与网络之间的互连使用得越来越多,承载了更多的业务。网络内部根据其所采用的技术,均可有多种方法对链路,及其上的节点实现保护。随着对流量的保护需求越来越强烈,要求越来越高,有运营商也提出了需要在网络互连接口处的保护的需求。目前在IEEE标准组织中正在讨论通过采用端口聚合的方式来实现网络接口的保护。目前IEEE已有现有标准802.1AX-链路聚合能够实现多条链路的保护,但仅限于支持的是一个节点上的端口聚合,因此仅能用于链路保护上,但是在网络边缘接口上若要对节点保护在采用当前的链路聚合技术中就无法实现。因此IEEE802.1工作组对一种分布式的链路聚合技术进行了立项,即由一个或多个节点组成一个逻辑节点来进行链路聚合,将多个节点上的多条链路聚合为一个聚合组中,从而实现了链路和节点的双冗余的网络互连保护。
如图1所示,两个网络的边缘节点之间互连,将这些节点互连的多条链路聚合为一个链路聚合组LAG。在正常情况下,网络A的a、b节点上的链路和网络C上的a、b、c节点上的链路聚合为一个LAG,这些链路互相保护,通过同一网络侧的节点之间也是可以互相保护。从网络C侧看来,网络A的a、b节点是一个逻辑节点。但是这里有一个前提,就是a、b之间存在一条内部的通信路径,用于a、b节点之间交互各自的信息,从而将他们各自的链路聚合为一个聚合组,并且使其工作为一个逻辑节点。
一旦节点之间内部路径发生故障,则这些节点无法再聚合为一个逻辑节点,如图2所示,这时需要将其中一个节点从聚合组中隔离出来。对于网络A侧,a、b节点之间的内连路径故障,a、b无法再聚合了,这时需要节点a、b做出决策,是其中一个节点,或者a节点、或者b节点从原聚合组中隔离出来。
现有技术的方法是:在指定其中一个节点在感知发生故障后,修改其自身的LACP参数,从而实现该节点从聚合组中隔离出来的目的。这时无需判断是链路故障还是节点故障,只需判断有故障,则其中一个节点修改其系统参数,但同时也携带原来统一的那个系统参数。对端如果收到了两种不同的系统参数LACP PDU,则将于与原来统一的那个系统参数不同的链路从聚合组中隔离出来。
但是,上述的方法存在以下不足:对于一侧节点有2个及以上节点的情况,这种指定容易产生混乱,尤其容易出现不该隔离的节点从聚合组中隔离出来,从而导致聚合组中不再有节点的情况。
发明内容
本发明的主要目的在于提供一种分布式链路聚合组的聚合链路去选择的方法及装置,以至少解决上述现有技术中由于指定隔离节点所导致的不该隔离的节点从聚合组中隔离出来的问题。
根据本发明的一个方面,提供了一种分布式链路聚合组的聚合链路去选择的方法,包括:分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断Actor端内的节点连接关系是否发生变化;如果是,则将受变化影响的聚合链路从链路聚合组中去选择。
优选地,节点连接关系的变化至少包括以下之一:链路故障、节点故障、节点的移除。
优选地,分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断Actor端内的节点连接关系是否发生变化之前,还包括:Actor端的每个节点将各自的节点属性信息和相邻连接信息通告给相邻节点,并根据所有相邻节点通告过来的节点属性信息和相邻连接信息生成节点连接关系信息。
优选地,Actor端的每个节点通告给相邻节点的相邻连接信息为该节点与除被通告的相邻节点外的其它相邻节点的连接信息。
优选地,节点属性信息包括节点标识ID和节点性能属性。
优选地,节点性能属性包括节点优先级和/或节点带宽能力。
优选地,将受变化影响的聚合链路从链路聚合组中去选择,包括:当Actor端出现链路故障时,故障链路两端的节点进行节点性能属性的比较;根据比较结果将第一节点从Actor端隔离出来,其中第一节点为故障链路两端的节点中的一个。
优选地,将第一节点从Actor端隔离出来,包括:第一节点修改其发送至链路聚合组的Partner端的LACP报文中的系统参数;Partner端将接收到系统参数发生改变的LACP报文的链路/端口从链路聚合组中去选择。
优选地,将受变化影响的聚合链路从链路聚合组中去选择之后,还包括:当链路故障恢复时,第一节点将LACP报文中的系统参数恢复到原有的系统参数;Partner端将接收到系统参数恢复的LACP报文的链路/端口重新选择到链路聚合组中。
优选地,将受变化影响的聚合链路从链路聚合组中去选择,包括:当Actor端出现节点故障或有节点被移除时,Partner端将不再收到LACP报文的端口/链路从链路聚合组中去选择。
优选地,Actor端的所有节点组成链路聚合组的一个逻辑节点。
优选地,Actor端内的相邻节点之间通过LACP或LLDP协议交互各自的节点属性信息和相邻连接信息。
优选地,分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断Actor端内的节点连接关系是否发生变化,包括:Actor端的节点根据节点连接关系信息判断出有节点信息丢失,则认为所丢失的节点出现节点故障或已从Actor端中移除。
根据本发明的另一个方面,提供了一种分布式链路聚合组的聚合链路选择的方法,包括:分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断是否有新的节点加入到Actor端中;如果是,则将与新的节点相连的链路聚合选择到聚合链路组中。
优选地,分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断是否有新的节点加入到Actor端中,包括:当Actor端的每个节点根据节点连接关系信息判断出有节点信息加入,则认为有新的节点加入到Actor端中。
优选地,新的节点包括:Actor端中的故障恢复节点或新加入到Actor端中的节点。
优选地,将与新的节点相连的链路聚合选择到聚合链路组中,包括:聚合链路组的Partner端将收到与聚合链路组的LACP系统参数相同的LACP报文的端口/链路选择到链路聚合组中。
根据本发明的又一个方面,提供了一种分布式链路聚合组的聚合链路去选择的装置,包括:第一判断模块,用于使分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断Actor端内的节点连接关系是否发生变化;去选择模块,用于在Actor端内的节点连接关系发生变化的情况下,将受变化影响的聚合链路从链路聚合组中去选择。
优选地,去选择的装置还包括:通告模块,用于使Actor端的每个节点将各自的节点属性信息和相邻连接信息通告给相邻节点,并根据所有相邻节点通告过来的节点属性信息和相邻连接信息生成节点连接关系信息。
优选地,去选择模块包括:第一去选择子模块,用于当Actor端出现链路故障时,使故障链路两端的节点进行节点性能属性的比较;并根据比较结果将第一节点从Actor端隔离出来,其中第一节点为故障链路两端的节点中的一个。
优选地,去选择的装置还包括:第一选择模块,用于当链路故障恢复时,通过第一节点将LACP报文中的系统参数恢复到原有的系统参数;并通过Partner端将接收到系统参数恢复的LACP报文的链路/端口重新选择到链路聚合组中。
优选地,去选择模块包括:第二去选择子模块,用于当Actor端出现节点故障或有节点被移除时,通过Partner端将不再收到LACP报文的端口/链路从链路聚合组中去选择。
根据本发明的再一个方面,提供了一种分布式链路聚合组的聚合链路选择的装置,包括:第二判断模块,用于使分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断是否有新的节点加入到Actor端中;选择模块,用于在有新的节点加入到Actor端的情况下,将与新的节点相连的链路聚合选择到聚合链路组中。
在本发明中,通过每个节点都参与连接关系是否发生变化的判断,可准确确定出应该隔离的节点,从而解决了现有技术中由于指定隔离节点所导致的不该隔离的节点从聚合组中隔离出来的问题,进而实现了链路和节点的双冗余的网络互连保护的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的分布式弹性网络接口示意图;
图2是根据相关技术的分布式弹性网络接口内故障导致节点分裂示意图;
图3是根据本发明实施例一的聚合链路去选择方法流程图;
图4A是根据本发明实施例二的节点连接示意图;
图4B是根据本发明实施例二的链路发生故障时的示意图;
图4C是根据本发明实施例二的节点发生故障时的示意图;
图5A是根据本发明实施例三的节点连接示意图;
图5B是根据本发明实施例三的链路发生故障时的示意图;
图5C是根据本发明实施例三的节点发生故障时的示意图;
图5D是根据本发明实施例三的前后两个链路故障时的示意图;
图6A是根据本发明实施例四的节点连接示意图;
图6B是根据本发明实施例四的链路发生故障时的示意图;
图6C是根据本发明实施例四的节点发生故障时的示意图;
图7是根据本发明实施例五的聚合链路去选择装置结构框图;
图8是根据本发明实施例六的聚合链路去选择装置结构框图;
图9是根据本发明实施例七的聚合链路选择方法流程图;
图10是根据本发明实施例八的聚合链路选择装置结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实例例中同一端内部的节点之间的连接方式可以是物理的直连链路,也可以是一条隧道,但不仅限于此。
实施例一
图3是根据本发明实施例一的聚合链路去选择方法流程图,如图3所示,包括以下步骤:
步骤S302,分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断Actor端内的节点连接关系是否发生变化。
步骤S304,如果是,则将受变化影响的聚合链路从链路聚合组中去选择。
在本实施例中,通过每个节点都参与连接关系是否发生变化的判断,可准确确定出应该隔离的节点,从而解决了现有技术中由于指定隔离节点所导致的不该隔离的节点从聚合组中隔离出来的问题,进而实现了链路和节点的双冗余的网络互连保护的效果。
在上述步骤S302之前还包括:每个节点将自身以及其所连接节点的情况通告给对端节点,每个节点将对端节点通告过来的各条节点连接信息保存下来。
在上述步骤S302中,当发生故障,各个节点所保存的节点连接信息将发生变化,节点将根据节点连接信息的变化情况,采取以下不同的动作:
若变化后的连接信息显示路径故障,则根据该路径所连节点的优先级和本节点优先级比较结果或者双方的带宽比较来决策需要从该聚合组中隔离出来的节点。
若变化后的连接信息显示有节点信息丢失,说明是节点故障,则可认为故障节点从聚合组中隔离了,其他节点无需再采取相关的动作。
若一个节点感知不到任何节点的连接,说明该节点失去了与其他节点的连接,则该节点需要从聚合组中隔离出来。
在上述步骤S304中,将链路从聚合组中去选择主要是通过隔离节点修改其自身系统参数的方式来实现的。
实施例二
在本实施例是通过节点优先级来进行隔离节点的决策,但实际用于决策的因素可以很多,比如各个节点的所提供带宽,或者静态配置等。
图4A是根据本发明实施例二的节点连接示意图。如图4A所示,在本实施例中,一端的逻辑节点是由2个物理节点A、B组成。A、B的3条链路形成聚合组,其中有2条属于A节点,1条属于B节点。对于该聚合组A节点贡献的带宽多余B节点贡献的带宽。A将其在该聚合组的情况通告给B,同样地,B也将其在该聚合组的情况通告给A。带宽信息可以作为节点决策的一项因素,除此之外还可以通过设置优先级等方式来帮助节点进行决策。本发明的下文的各实施例均是采用了节点优先级的方式来帮助节点进行决策。
A、B之间可以通过一特定的协议来实现信息的交互,该协议可以是一种新定义的协议,也可以是基于一个现有协议,如LACP、LLDP等。节点及其所连接的其他节点情况的信息可以通过TLV携带在协议中。例如表一所示的TLV格式:
表一
类型 | 长度 | 本节点的node_id | 本节点的node_Piriority | 其它节点的node_id | 其它节点的node_Piriority |
在本实施例中,最初始状态时,节点A、B还没有获取其他节点信息,因此只是将各自的节点发往对端节点,此时A发往其他节点的TLV如表二所示:
表二
类型 | 长度 | A节点的node_id | A节点的node_Piriority |
当各个节点获取了其所连接的节点信息时,在给对端发送节点信息时,会将其所连接的其他节点信息也携带在该TLV中,由于该实施例中只有2个节点,A除B之外,没有连接其他节点,因此,此时A发给B的节点信息仍然是本节点信息,如表三所示:
表三
类型 | 长度 | A节点的node_id | A节点的node_Piriority |
通过A、B节点的节点信息交换,最后A、B均获取了其各自连接的节点信息,如图4A所示,节点A感知其连接了节点B,节点B感知其连接了节点A。
图4B是根据本发明实施例二的链路发生故障时的示意图。如图4B所示,当A、B之间的链路故障,则A、B均感知该故障,并各自做出决策。本例中,A的优先级高于B的优先级,A、B感知失去了与对端的连接,则A、B分别判断自身与对端的优先级,由于B的优先级略低,因此节点B将修改其系统参数system_id,但在B发往C、D节点的LACP报文中仍然携带了其原来的system_id:old_system_id。C、D节点收到来自A、B的LACP报文,发现B的system_id发生了变化,A没有变化,因此从聚合组中隔离出和B连接的链路,从而将B从聚合组中隔离。
图4C是根据本发明实施例二的节点发生故障时的示意图。如图4C所示,当A节点故障,B节点失去了A点的信息,B决策自己的优先级低,应该修改其系统参数system_id,但在B发往C、D节点的LACP报文中仍然携带了其原来的system_id:old_system_id。
此时,由于A节点故障,因此没有从A节点的LACP报文发往C、D节点,C、D节点均收到了来自B节点的LACP报文,虽然该LACP报文中的system_id参数发生变化,但其old_system_id仍然是该聚合组的system_id,并且C、D没有再收到其他system_id=old_system_id的LACP报文,因此C、D不会将和B连接的链路从聚合组中隔离出来,继续B节点的聚合。
当节点A恢复,或者A-B链路故障恢复,则B感知后恢复其原系统参数,即system_id=old_system_id。此时又能实现和对端的再次聚合。
实施例三
图5A是根据本发明实施例三的节点连接示意图。如图5A所示,一端的逻辑节点是由3个物理节点A、B、C组成,A、B、C节点互连。A将其节点信息通告给聚合组本端的其他节点。这里节点之间可以通过一特定的协议来实现信息的交互,该协议可以是一种新定义的协议,也可以是基于一个现有协议,如LACP、LLDP等。节点及其所连接的其他节点情况的信息可以通过TLV携带在协议中,例如下表四的TLV格式所示:
表四
类型 | 长度 | 本节点的node_id | 本节点的node_Piriority | 其它节点的node_id | 其它节点的node_Piriority |
例如本实施例中,最初始状态时,节点A、B、C还没有获取其他节点信息,因此只是将各自的节点发往对端节点,此时A发往其他节点的TLV如表五所示:
表五
类型 | 长度 | A节点的node_id | A节点的node_Piriority |
当各个节点获取了其所连接的节点信息时,在给对端发送节点信息时,会将其所连接的其他节点信息也携带在该TLV中,此时A发给B的节点信息为本节点信息以及与其连接的C节点信息如表六所示:
表六
类型 | 长度 | A节点的node_id | A节点的node_Piriority | C节点的node_id | C节点的node_Piriority |
B节点通过从A获取的信息,得知了B直接连接A,同时A还连接了一个C节点;同样地,B节点从C获取的信息,得知了B直接连接C,同时C还连接了一个A节点,链路连接如表七所示:
表七
B2-A1-(C3) |
B2-C3-(A1) |
同样,A、C节点也依据从对端获取的信息,建立了一个连接关系,如图5A所示。
图5B是根据本发明实施例三的链路发生故障时的示意图。如图5B所示,当A、C之间的链路故障,则A、C均感知该故障,并各自做出决策。本例中,A的优先级高于C的优先级,A、C感知失去了与对端的连接,则A、C分别判断自身与对端的优先级,由于C的优先级略低,因此节点C将修改其系统参数system_id,但在C发往聚合链路的对端节点的LACP报文中仍然携带了其原来的system_id:old_system_id。聚合链路的对端节点收到来自A、C的LACP报文,发现C的system_id发生了变化,A没有变化,因此从聚合组中隔离出和C连接的链路,从而将C从聚合组中隔离。
图5C是根据本发明实施例三的节点发生故障时的示意图。如图5C所示,当A节点故障,B节点失去了A点的信息,同时来自B节点的节点信息也不再携带有A节点信息,这时可以判断A节点故障,B和C决策自己无需修改其系统参数system_id,因此B、C继续聚合。
图5D是根据本发明实施例三的前后两个链路故障时的示意图,如图5D所示,如果A、C之间的链路首先故障,过了一段时间A、B之间的链路又发生故障,由于A、C之间首先发生故障,而A的优先级高,因此A、C各自做出决策,C节点将改变自身的系统参数system_id,从聚合组中隔离出来。
但之后A、B之间又发生了故障,这时,对于C来说,其感知的结果是和A节点发生故障的结果是一样的,同理,B感知的结果也是和A节点发生故障的结果是一样的,因此他们都以为是A节点故障,因此C将恢复其原来的系统参数system_id,恢复与聚合组的再次聚合。
而A节点感知到的是和本组内的其他节点均失去了联系,自己已经孤立了,因此此时的A会修改其系统参数system_id,从而从聚合组中隔离出来。
通过这种方法,最大限度的利用现有资源来参与聚合组的保护与负载均衡,并能有效防止这种由于逻辑节点分裂故障导致的严重后果。
实施例四
图6A是根据本发明实施例四的节点连接示意图。如图6A所示,一端的逻辑节点是由4个物理节点A、B、C、D组成,也可以是B给A发给所有直连节点的信息,由A判断A、B、C、D节点互连。A将其节点信息通告给聚合组本端的其他节点。这里节点之间可以通过一特定的协议来实现信息的交互,该协议可以是一种新定义的协议,也可以是基于一个现有协议,如LACP、LLDP等。节点及其所连接的其他节点情况的信息可以通过TLV携带在协议中。例如表八所示的TLV格式:
表八
类型 | 长度 | 本节点的node_id | 本节点的node_Piriority | 其它节点的node_id | 其它节点的node_Piriority |
在本实施例中,最初始状态时,节点A、B、C、D还没有获取其他节点信息,因此只是将各自的节点发往对端节点,此时A发往其他节点的TLV如表九所示:
表九
类型长度 | A节点的node_id | A节点的node_Piriority |
当各个节点获取了其所连接的节点信息时,在给对端发送节点信息时,会将其所连接的其他节点信息也携带在该TLV中,此时A发给B的节点信息为本节点信息以及与其连接的C、D节点信息如表十所示:
表十
类型 | 长度 | A节点的node_id | A节点的node_Piriority | C节点的node_id | C节点的node_Piriority | D节点的node_id | D节点的node_Piriority |
B节点通过从A获取的信息,得知了B直接连接A,同时A还连接了一个C、D两个节点;同样地,B节点还从C、D获取节点信息,得知了B还直接连接C,同时C还连接了一个A、D节点,B直接连接D,同时D还连接了A、C节点,如表十一所示:
表十一
B2-A1-(C3,D4) |
B2-C3-(A1,D4) |
B2-D4-(A1,C3) |
同样,A、C、D节点也依据从对端获取的信息,建立了一个连接关系,如图6A所示。
当A、D之间的链路故障,如图6B所示,则A、D均感知该故障,并各自做出决策。本例中,A的优先级高于D的优先级,A、D感知失去了与对端的连接,则A、D分别判断自身与对端的优先级,由于D的优先级低于A的优先级,因此节点D将修改其系统参数system_id,但在D发往聚合链路的对端节点的LACP报文中仍然携带了其原来的system_id:old_system_id。聚合链路的对端节点收到来自A、B、C、D的LACP报文,发现D的system_id发生了变化,A、B、C没有变化,因此从聚合组中隔离出和D连接的链路,从而将D从聚合组中隔离。
当A节点故障,如图6C所示,B、C、D节点失去了连接A点的信息,同时对于D节点来说,来自B、C节点的节点信息也不再携带有A节点信息,这时可以判断A节点故障,B、C、D决策自己无需修改其系统参数system_id,因此B、C、D继续聚合。
实施例五
图7是根据本发明实施例五的聚合链路去选择装置结构框图。如图7所示,该装置包括:第一判断模块10和去选择模块20。
其中,第一判断模块10,用于使分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断Actor端内的节点连接关系是否发生变化;去选择模块20,用于在Actor端内的节点连接关系发生变化的情况下,将受变化影响的聚合链路从链路聚合组中去选择。
在本实施例中,通过每个节点都参与连接关系是否发生变化的判断,可准确确定出应该隔离的节点,从而解决了现有技术中由于指定隔离节点所导致的不该隔离的节点从聚合组中隔离出来的问题,进而实现了链路和节点的双冗余的网络互连保护的效果。
实施例六
图8是根据本发明实施例六的聚合链路去选择装置结构框图。如图8所示,该装置包括实施例五中的功能模块:第一判断模块10和去选择模块20。
其中,该装置还包括:通告模块30,用于使Actor端的每个节点将各自的节点属性信息和相邻连接信息通告给相邻节点,并根据所有相邻节点通告过来的节点属性信息和相邻连接信息生成节点连接关系信息。
其中,去选择模块20包括:第一去选择子模块21和第二去选择子模块22。第一去选择子模块21,用于当Actor端出现链路故障时,使故障链路两端的节点进行节点性能属性的比较;并根据比较结果将第一节点从Actor端隔离出来,其中第一节点为故障链路两端的节点中的一个。第二去选择子模块22,用于当Actor端出现节点故障或有节点被移除时,通过Partner端将不再收到LACP报文的端口/链路从链路聚合组中去选择。
其中,该装置还包括第一选择模块40,用于当链路故障恢复时,通过第一节点将LACP报文中的系统参数恢复到原有的系统参数;并通过Partner端将接收到系统参数恢复的LACP报文的链路/端口重新选择到链路聚合组中。
实施例七
图9是根据本发明实施例七的聚合链路选择方法流程图。如图9所示,该方法包括以下步骤:
步骤S902,分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断是否有新的节点加入到Actor端中。
步骤S904,如果是,则将与新的节点相连的链路聚合选择到聚合链路组中。
在本实施例中,通过每个节点都参与连接关系是否发生变化的判断,可准确确定新加入的节点,使得聚合链路的选择更加合理,进而实现了链路和节点的双冗余的网络互连保护的效果。
在上述步骤S902中,当Actor端的每个节点根据节点连接关系信息判断出有节点信息加入,则认为有新的节点加入到Actor端中。其中,新的节点包括:Actor端中的故障恢复节点或新加入到Actor端中的节点。
其中,步骤S904包括:聚合链路组的Partner端将收到与聚合链路组的LACP系统参数相同的LACP报文的端口/链路选择到链路聚合组中。
实施例八
图10是根据本发明实施例八的聚合链路选择装置结构框图。如图10所示,该装置包括:第二判断模块50和选择模块60。
其中,第二判断模块50用于使分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断是否有新的节点加入到Actor端中。选择模块60,用于在有新的节点加入到Actor端的情况下,将与新的节点相连的链路聚合选择到聚合链路组中。
通过本发明的上述各实施例,提供了一种聚合组内各节点检测感知其他节点,并自动做出决策将无法再聚合的节点从聚合组中隔离出来的方法和装置,能在多节点的情况下判断是节点故障,还是链路故障,并且各个节点有一个统一的判断机制,从而作出相应的决策,采取相关的动作。与现有技术相比较,本发明提出的一种节点检测获取节点连接信息,并根据信息变化的情况,自动决策的方法,能够支持多节点的聚合,并且相对于已有方法,对原LACP完全兼容,无需修改LACP协议。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (23)
1.一种分布式链路聚合组的聚合链路去选择的方法,其特征在于,包括:
所述分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断所述Actor端内的节点连接关系是否发生变化,其中,所述节点连接关系信息为根据每个节点的所有相邻节点通告过来的节点属性信息和相邻连接信息生成的信息;
如果是,则将受所述变化影响的聚合链路从所述链路聚合组中去选择。
2.根据权利要求1所述的方法,其特征在于,所述节点连接关系的变化至少包括以下之一:链路故障、节点故障、节点的移除。
3.根据权利要求1或2所述的方法,其特征在于,所述分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断所述Actor端内的节点连接关系是否发生变化之前,还包括:
所述Actor端的每个节点将各自的节点属性信息和相邻连接信息通告给相邻节点,并根据所有相邻节点通告过来的节点属性信息和相邻连接信息生成所述节点连接关系信息。
4.根据权利要求3所述的方法,其特征在于,所述Actor端的每个节点通告给相邻节点的所述相邻连接信息为该节点与除被通告的相邻节点外的其它相邻节点的连接信息。
5.根据权利要求3所述的方法,其特征在于,所述节点属性信息包括节点标识ID和节点性能属性。
6.根据权利要求5所述的方法,其特征在于,所述节点性能属性包括节点优先级和/或节点带宽能力。
7.根据权利要求2所述的方法,其特征在于,将受所述变化影响的聚合链路从所述链路聚合组中去选择,包括:
当所述Actor端出现链路故障时,故障链路两端的节点进行节点性能属性的比较;
根据比较结果将第一节点从所述Actor端隔离出来,其中所述第一节点为故障链路两端的节点中的一个。
8.根据权利要求7所述的方法,其特征在于,将第一节点从所述Actor端隔离出来,包括:
所述第一节点修改其发送至所述链路聚合组的Partner端的LACP报文中的系统参数;
所述Partner端将接收到系统参数发生改变的所述LACP报文的链路/端口从所述链路聚合组中去选择。
9.根据权利要求8所述的方法,其特征在于,将受所述变化影响的聚合链路从所述链路聚合组中去选择之后,还包括:
当所述链路故障恢复时,所述第一节点将所述LACP报文中的系统参数恢复到原有的系统参数;
所述Partner端将接收到系统参数恢复的所述LACP报文的链路/端口重新选择到所述链路聚合组中。
10.根据权利要求2所述的方法,其特征在于,将受所述变化影响的聚合链路从所述链路聚合组中去选择,包括:
当所述Actor端出现节点故障或有节点被移除时,Partner端将不再收到LACP报文的端口/链路从所述链路聚合组中去选择。
11.根据权利要求1所述的方法,其特征在于,所述Actor端的所有节点组成所述链路聚合组的一个逻辑节点。
12.根据权利要求3所述的方法,其特征在于,所述Actor端内的相邻节点之间通过LACP或LLDP协议交互各自的节点属性信息和相邻连接信息。
13.根据权利要求2所述的方法,其特征在于,所述分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断所述Actor端内的节点连接关系是否发生变化,包括:
所述Actor端的节点根据所述节点连接关系信息判断出有节点信息丢失,则认为所丢失的节点出现节点故障或已从所述Actor端中移除。
14.一种分布式链路聚合组的聚合链路选择的方法,其特征在于,包括:
所述分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断是否有新的节点加入到所述Actor端中,其中,所述节点连接关系信息为根据每个节点的所有相邻节点通告过来的节点属性信息和相邻连接信息生成的信息;
如果是,则将与所述新的节点相连的链路聚合选择到所述聚合链路组中。
15.根据权利要求14所述的方法,其特征在于,所述分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断是否有新的节点加入到所述Actor端中,包括:
当所述Actor端的每个节点根据所述节点连接关系信息判断出有节点信息加入,则认为有新的节点加入到所述Actor端中。
16.根据权利要求15所述的方法,其特征在于,所述新的节点包括:所述Actor端中的故障恢复节点或新加入到所述Actor端中的节点。
17.根据权利要求14至16任一项所述的方法,其特征在于,将与所述新的节点相连的链路聚合选择到所述聚合链路组中,包括:
所述聚合链路组的Partner端将收到与所述聚合链路组的LACP系统参数相同的LACP报文的端口/链路选择到所述链路聚合组中。
18.一种分布式链路聚合组的聚合链路去选择的装置,其特征在于,包括:
第一判断模块,用于使所述分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断所述Actor端内的节点连接关系是否发生变化,其中,所述节点连接关系信息为根据每个节点的所有相邻节点通告过来的节点属性信息和相邻连接信息生成的信息;
去选择模块,用于在所述Actor端内的节点连接关系发生变化的情况下,将受所述变化影响的聚合链路从所述链路聚合组中去选择。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
通告模块,用于使所述Actor端的每个节点将各自的节点属性信息和相邻连接信息通告给相邻节点,并根据所有相邻节点通告过来的节点属性信息和相邻连接信息生成所述节点连接关系信息。
20.根据权利要求18所述的装置,其特征在于,所述去选择模块包括:
第一去选择子模块,用于当所述Actor端出现链路故障时,使故障链路两端的节点进行节点性能属性的比较;并根据比较结果将第一节点从所述Actor端隔离出来,其中所述第一节点为故障链路两端的节点中的一个。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
第一选择模块,用于当所述链路故障恢复时,通过所述第一节点将所述LACP报文中的系统参数恢复到原有的系统参数;并通过Partner端将接收到系统参数恢复的所述LACP报文的链路/端口重新选择到所述链路聚合组中。
22.根据权利要求18所述的装置,其特征在于,所述去选择模块包括:
第二去选择子模块,用于当所述Actor端出现节点故障或有节点被移除时,通过Partner端将不再收到LACP报文的端口/链路从所述链路聚合组中去选择。
23.一种分布式链路聚合组的聚合链路选择的装置,其特征在于,包括:
第二判断模块,用于使所述分布式链路聚合组的Actor端的每个节点根据自身所保存的节点连接关系信息判断是否有新的节点加入到所述Actor端中,其中,所述节点连接关系信息为根据每个节点的所有相邻节点通告过来的节点属性信息和相邻连接信息生成的信息;
选择模块,用于在有新的节点加入到所述Actor端的情况下,将与所述新的节点相连的链路聚合选择到所述聚合链路组中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110265928.9A CN103001781B (zh) | 2011-09-08 | 2011-09-08 | 分布式链路聚合组的聚合链路选择/去选择的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110265928.9A CN103001781B (zh) | 2011-09-08 | 2011-09-08 | 分布式链路聚合组的聚合链路选择/去选择的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103001781A CN103001781A (zh) | 2013-03-27 |
CN103001781B true CN103001781B (zh) | 2017-02-08 |
Family
ID=47929944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110265928.9A Expired - Fee Related CN103001781B (zh) | 2011-09-08 | 2011-09-08 | 分布式链路聚合组的聚合链路选择/去选择的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103001781B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248502B (zh) * | 2012-02-02 | 2018-08-14 | 中兴通讯股份有限公司 | 分布式链路聚合组拓扑发现、故障处理方法及装置 |
US9497074B2 (en) * | 2013-04-23 | 2016-11-15 | Telefonaktiebolaget L M Ericsson (Publ) | Packet data unit (PDU) structure for supporting distributed relay control protocol (DRCP) |
CN105763366A (zh) * | 2016-01-29 | 2016-07-13 | 浪潮(北京)电子信息产业有限公司 | 一种基于聚合链路实现的数据通信方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110663A (zh) * | 2007-08-31 | 2008-01-23 | 华为技术有限公司 | 实现链路故障处理的方法、系统及装置 |
CN101420332A (zh) * | 2008-12-12 | 2009-04-29 | 杭州华三通信技术有限公司 | 一种成员端口配置情况的通知方法和网络设备 |
CN101674229A (zh) * | 2008-09-12 | 2010-03-17 | 华为技术有限公司 | 一种链路聚合组信息管理的方法和网络节点 |
-
2011
- 2011-09-08 CN CN201110265928.9A patent/CN103001781B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110663A (zh) * | 2007-08-31 | 2008-01-23 | 华为技术有限公司 | 实现链路故障处理的方法、系统及装置 |
CN101674229A (zh) * | 2008-09-12 | 2010-03-17 | 华为技术有限公司 | 一种链路聚合组信息管理的方法和网络节点 |
CN101420332A (zh) * | 2008-12-12 | 2009-04-29 | 杭州华三通信技术有限公司 | 一种成员端口配置情况的通知方法和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103001781A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102752187B (zh) | 弹性网络接口的实现方法和系统 | |
CN101371474B (zh) | 用于检测虚拟交换机链路故障并从中恢复的系统和方法 | |
CN101843049B (zh) | 用于提供商骨干桥接业务工程域中的以太网保护交换的系统和方法 | |
CN104067577B (zh) | 用于网络路由的技术 | |
CN102014019B (zh) | 聚合链路切换方法及装置 | |
CN104486124B (zh) | 使用逻辑端口实现多系统链路聚合的装置及方法 | |
CN103001799B (zh) | 基于链状网络的冗余实现方法及节点 | |
CN103873336B (zh) | 分布式弹性网络互连的业务承载方法及装置 | |
EP3398068A1 (en) | Network redundancy and failure detection | |
EP2252013A1 (en) | Method and apparatus for maintaining port state tables in a forwarding plane of a network element | |
CN102244609B (zh) | 解决vpls接入l3故障切换导致断流的方法及路由器 | |
US9264298B2 (en) | Technique for bundling in link aggregation | |
EP2911355A1 (en) | Method and device for flow path negotiation in link aggregation group | |
EP2252016A1 (en) | Method and apparatus for locally implementing port selection via synchronized port state databases maintained by the forwarding plane of a network element | |
CN104518936B (zh) | 链路动态聚合方法和装置 | |
CN103001781B (zh) | 分布式链路聚合组的聚合链路选择/去选择的方法及装置 | |
CN112218321B (zh) | 主备链路切换方法、装置、通信设备和存储介质 | |
CN103780419A (zh) | 一种分布式链路聚合组业务切换方法和装置 | |
US9716639B2 (en) | Protection switching method and system | |
CN103780511B (zh) | 链路聚合组中流量路径的协商方法及装置 | |
CN103580932A (zh) | 基于以太网线性保护倒换的状态切换方法及系统 | |
CN102014035A (zh) | 基于以太环网的组网方法及装置 | |
CN103414591A (zh) | 一种端口故障恢复时的快速收敛方法和系统 | |
CN103023698A (zh) | 基于以太网链路级oam优化lacp协议链路聚合的方法及装置 | |
CN103248502B (zh) | 分布式链路聚合组拓扑发现、故障处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170208 Termination date: 20200908 |
|
CF01 | Termination of patent right due to non-payment of annual fee |