CN103248502A - 分布式链路聚合组拓扑发现、故障处理方法及装置 - Google Patents
分布式链路聚合组拓扑发现、故障处理方法及装置 Download PDFInfo
- Publication number
- CN103248502A CN103248502A CN2012100233939A CN201210023393A CN103248502A CN 103248502 A CN103248502 A CN 103248502A CN 2012100233939 A CN2012100233939 A CN 2012100233939A CN 201210023393 A CN201210023393 A CN 201210023393A CN 103248502 A CN103248502 A CN 103248502A
- Authority
- CN
- China
- Prior art keywords
- node
- distributed system
- link
- link aggregation
- information
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种分布式链路聚合组拓扑发现、故障处理方法及装置,分布式链路聚合组一端的分布式系统中的节点向分布式系统中的其他节点发送节点连接信息;该节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息;分布式系统中的节点接收分布式系统中的其他节点发送的节点连接信息。本发明通过交互分布式系统的节点连接信息,并根据连接信息变化的情况,自动决策出需要隔离的聚合链路;由对端通过判断并进行相应处理,从而解决了由于故障原聚合为一个逻辑节点的多个节点发生分裂后,无法再聚合的问题。
Description
技术领域
本发明涉及网络通信保护技术,尤其涉及一种分布式链路聚合组拓扑发现、故障处理方法及装置。
背景技术
随着宽带业务的飞速发展,网络与网络之间的互连使用得越来越多,承载了更多的业务。网络内部根据其所采用的技术,可以有多种方法对链路及其上的节点实现保护。随着对流量的保护需求越来越强烈,要求越来越高,有运营商也提出了需要在网络互连接口处实现保护的需求。
目前在IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)标准组织中正在讨论通过采用端口聚合的方式来实现网络接口的保护。目前IEEE已有现有标准802.1AX-链路聚合能够实现多条链路的保护,但仅限于支持的是一个节点上的端口聚合,因此仅能用于链路保护上,在网络边缘接口上若要对节点保护,采用当前的链路聚合技术就无法实现。因此,IEEE802.1工作组对一种分布式的链路聚合技术进行了立项,即由一个或多个节点组成一个分布式系统(也称作逻辑节点或虚拟端点)来进行链路聚合,如图1所示,将多个节点上的多条链路聚合为一个链路聚合组(Link Aggregation Group,简称为LAG)中,从而实现了链路和节点的双冗余的网络互连保护。
如图2所示,将两个网络:网络A和网络C的边缘节点之间互连,这些节点互连的多条链路聚合为一个链路聚合组。在正常情况下,网络A的节点a、b上的链路和网络C上的节点c、d、e上的链路聚合为一个LAG,这些链路互相保护,同时同一网络侧的节点之间也可以互相保护。从网络C侧看来,网络A的节点a、b是一个逻辑节点,前提是:节点a、b之间存在一条内部的通信路径,用于节点a、b之间交互各自的信息,从而将它们各自的链路聚合为一个分布式系统,并且使其工作为一个逻辑节点。
在一个分布式系统中,一旦某个节点或者节点之间内部路径发生故障,则这些节点将无法再聚合为一个逻辑节点,如图2所示,这时需要将其中一个节点从聚合组中隔离出来。对于网络A侧,节点a、b之间的内连路径出现故障后,节点a、b无法再聚合了,这时需要做出决策,将其中一个节点,节点a或者是节点b从原链路聚合组中隔离出来。
目前的做法通常是指定其中一个节点在感知发生故障后,修改其自身的链路聚合参数(该链路聚合参数包括但不限于系统参数等参数),从而实现该节点从链路聚合组中隔离出来的目的。此时,无需判断是链路故障还是节点故障,只需判断有故障,则其中一个节点将会修改其系统参数,同时也携带原来统一的系统参数。对端即出现故障的另一端如果收到了两种不同的系统参数LACP(Link Aggregation Control Protocol,链路聚合控制协议)PDU(Protocol Data Unit,协议数据单元),则将与原来统一的系统参数不同的节点从聚合组中隔离出来。
但对于逻辑节点中包含两个以上节点的情况,这种指定的方式容易产生混乱,尤其容易出现不该隔离的节点从聚合组中隔离出来,从而导致逻辑节点中不再有节点的最坏情况。
另外,如果分布式系统中仅是一条链路出现故障,可能并不会导致其中一些节点无连接,尽管节点与另一节点之间可能不再是直连,但仍然可以允许中间节点负责转发,这种情况下,如果将其中的节点隔离出来,则无法保证资源的有效和充分利用。
发明内容
本发明解决的一个技术问题是提供一种分布式链路聚合组拓扑发现方法及装置,能够根据通告的节点连接信息获知分布式系统中的拓扑结构,且能够感应到拓扑结构的变化。
为解决上述技术问题,本发明提供了一种分布式链路聚合组拓扑发现方法,
分布式链路聚合组一端的分布式系统中的节点向所述分布式系统中的其他节点发送节点连接信息;其中所述节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息;
所述分布式系统中的节点接收所述分布式系统中的其他节点发送的节点连接信息。
进一步地,所述节点的信息包括:节点ID、和/或节点的网关信息。
进一步地,所述分布式系统中的节点接收不到所述分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数。
进一步地,所述分布式系统中的节点经分布式链路聚合组转发报文时,检查所述报文所属的网关是否为本节点,如果是本节点,则从本节点转发;如果不是本节点,则根据所述节点连接信息将所述报文转发给与所述报文所属的网关相连接的节点。
进一步地,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的链路聚合控制协议(LACP)报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路没有接收到LACP报文,则选择将本聚合链路加入所述链路聚合组。
进一步地,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的LACP报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数不同,则根据LACP报文中携带的节点优先级信息,隔离分布式链路聚合组中的低优先级节点上的聚合链路。
进一步地,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的LACP报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数相同,则隔离分布式链路聚合组中的本聚合链路。
进一步地,所述方法还包括:
所述分布式系统中的节点根据其聚合链路接收到的LACP报文给所述分布式系统中的其他节点通告信息。
本发明解决的另一个技术问题是提供一种分布式链路聚合组故障处理方法及装置,能够根据节点连接信息变化情况,决策出需要隔离的聚合链路。
为解决上述技术问题,本发明提供了一种分布式链路聚合组故障处理方法,
分布式链路聚合组一端的分布式系统中的节点接收不到所述分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数;
所述分布式系统中的节点发送的LACP报文携带修改后的链路聚合参数。
进一步地,所述方法还包括:
所述分布式系统中的节点接收到所述分布式系统中的其他节点发送的节点连接信息时,则根据接收到的所述节点连接信息发现本节点所连接的其他节点。
进一步地,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的链路聚合控制协议(LACP)报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路没有接收到LACP报文,则选择将本聚合链路加入所述链路聚合组。
进一步地,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的LACP报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数不同,则根据LACP报文中携带的节点优先级信息,隔离分布式链路聚合组中的低优先级节点上的聚合链路。
进一步地,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的LACP报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数相同,则隔离分布式链路聚合组中的本聚合链路。
进一步地,所述方法还包括:
所述分布式系统中的节点根据其聚合链路接收到的LACP报文给所述分布式系统中的其他节点通告信息。
进一步地,所述方法还包括:
所述分布式系统中的节点接收到新的节点连接信息时,则与所述新的节点连接信息对应的节点协商统一链路聚合参数,并将自身的链路聚合参数修改为所述协商统一的链路聚合参数。
进一步地,所述方法还包括:
所述分布式系统中的节点向所述分布式系统中的其他节点发送节点连接信息;其中所述节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息。
此外,本发明还提供了一种分布式链路聚合装置,应用于分布式系统,所述装置包括故障处理模块,
所述故障处理模块用于,接收不到本分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数。
进一步地,所述装置还包括节点发现模块,
所述节点发现模块用于,向本分布式系统中的其他节点发送节点连接信息,其中所述节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息;以及,接收本分布式系统中的其他节点发送的节点连接信息。
进一步地,所述装置还包括报文转发模块,
所述报文转发模块用于,经分布式聚合链路组转发报文时,检查所述报文所属的网关是否为本节点,如果是本节点,则从本节点转发;如果不是本节点,则根据所述节点连接信息将所述报文转发给与所述报文所属的网关相连接的节点。
进一步地,所述装置还包括链路聚合模块,
所述链路聚合模块用于,从聚合链路接收到对端分布式系统发送的LACP报文时,
如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路没有接收到LACP报文,则选择将本聚合链路加入所述链路聚合组;
如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数不同,则根据LACP报文中携带的节点优先级信息,选择将低优先级节点上的聚合链路隔离;如果与原链路聚合参数相同,则选择将本聚合链路隔离。
进一步地,所述链路聚合模块还用于,将其聚合链路接收到的LACP报文通告给本分布式系统中的其他节点。
与现有技术相比较,本发明至少具有以下有益效果:本发明通过交互节点连接信息,并根据连接信息变化的情况,自动决策出需要隔离的聚合链路;由对端通过判断并进行相应处理,解决了因为故障原聚合为一个逻辑节点的多个节点发生分裂后,无法再聚合的问题。本发明能够支持多节点的聚合,并且相对于已有方法,对原LACP完全兼容。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是分布式链路聚合组的接口示意图;
图2是分布式链路聚合组内部故障导致节点分裂的示意图;
图3是实施例一的节点连接示意图;
图4是实施例一的链路故障时的示意图;
图5是实施例二的节点连接示意图;
图6是实施例二的链路故障时的示意图;
图7是实施例二的节点故障时的示意图;
图8是实施例一的节点故障时的示意图
图9是实施例三的节点连接示意图;
图10是实施例三的链路故障时的示意图;
图11是实施例三的节点故障时的示意图;
图12是本发明实施例分布式链路聚合组的各个节点接收节点信息的流程图;
图13是本发明实施例分布式链路聚合组的一个聚合链路对收到的LACP报文处理的流程图。
具体实施方式
本实施方式提供一种分布式链路聚合组拓扑发现方法,包括:
分布式链路聚合组一端的分布式系统中的节点向分布式系统中的其他节点发送节点连接信息;其中所述节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息;
分布式系统中的节点接收所述分布式系统中的其他节点发送的节点连接信息。
其中,所述的节点的信息包括:节点ID、和/或节点的网关信息。
进一步地,所述分布式系统中的节点接收不到所述分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数。
本实施方式提供一种分布式链路聚合组故障处理方法,采用以下方案:
分布式链路聚合组一端的分布式系统中的节点接收不到所述分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数;
所述分布式系统中的节点发送的LACP报文携带修改后的链路聚合参数。
本实施方式的具体实现,主要包括以下内容:
1.节点发现
分布式链路聚合组一端的分布式系统中的每个节点将自身的信息以及其所连接节点的信息通告给分布式系统中的其他节点,其中节点的信息包括了节点ID,和/或该节点是哪些业务的gateway(网关)。其中,所述网关是指某一报文从分布式链路聚合组发往网络内部,或者从网络内部发往分布式链路聚合组时所必须经过的节点,即报文进出网络时的边缘转发节点。
分布式系统中的每个节点将其他节点通告过来的节点连接信息保存下来,其中的节点连接信息包括其节点参数、所属的gateway,以及所连接的节点的信息。
2.故障处理与恢复
当发生故障时,各个节点所保存的节点连接信息将发生变化,节点将根据节点连接信息的变化情况,采取不同的动作:
若变化后的连接信息显示没有节点的丢失,则说明节点之间还是互通的,此时节点的系统参数不做改动,认为有连接即能聚合,此时new_system_id=system_id。
若某节点感知到与所有其他节点的信息均丢失,则认为自身要从聚合组中隔离出来,修改自身的系统参数;否则仍然保持系统参数不做改动。
无论该节点是否修改了其自身的系统参数new_system_id,其携带一个原系统参数的字段system_id不发生变化,始终保持该聚合组的系统参数。
此外,当故障恢复后或者有新节点加入时,故障恢复节点、新加入节点以及分布式系统中的其他节点都将收到新的节点连接信息,此时,则将与新的节点连接信息对应的节点协商统一system_id,并使其new_system_id等于协商统一的system_id。
3.报文中继/转发
当某一节点从网络互连接口或者内连接口收到一报文时,将检查该报文所属gateway是否是本节点,如果是则从本节点转发到分布式系统内;如果不是,则需要查找该报文所属gateway所在节点,并选择从相应的内连接口发送出去。并且优选地,由于在发送节点连接信息时每个节点是哪些业务的网关就已经通告给其他节点了,因此,如果该报文所属gateway所在节点和本节点有逻辑直连的内连链路发送,则从发往该内连接口;否则,可根据节点连接信息将报文发给与该gateway所在节点相连的节点进行中转。
4.对端判断
当对端的聚合链路收到的LACP报文中new_system_id与system_id不同,则判断:
a.是否从其他聚合链路上收到的LACP报文的new_sytem_id与system_id相同,如果有,则将这些收到new_system_id不等于system_id的LACP报文的聚合链路从这个聚合组中unselect(即表示这个端口目前在该聚合组中是不可用)或者standby(即表示该端口目前是处于备用状态,暂时不能用于数据传输,等待激活/选择中)。
b.是否从其他聚合链路上收到的LACP报文的new_system_id与system_id不同,并且与本聚合链路上收到的new_system_id也不同,则依据其优先级字段判断,对于收到的优先级较低的LACP报文的聚合链路从这个聚合组中unselected或者standby。
c.如果从聚合链路上收到的LACP报文的new_system_id与system_id不同,但没有再从其他的聚合链路上收到其他的不同new_system_id,则无需做处理。
需要说明的是,链路聚合组的同一端即分布式系统中的各个节点之间需要对其聚合链路收到的LACPDU信息进行一个通告,告知分布式系统中的其他节点LACPDU信息。从而每个节点能知道这个链路聚合组中的每个聚合链路收到的LACPDU的情况。
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
当一端的逻辑节点是由3个物理节点A、B、C组成,如图3所示,他们通过内连链路进行连接,从而形成分布式链路聚合组的一端。
每个节点通过端内的控制协议经过内连链路通知其他节点自己的节点信息以及该节点所属的网关,
节点之间的通告协议可以通过一特定的协议来实现信息的交互,该协议可以是一种新定义的协议,也可以是基于一个现有协议,如LACP、LLDP等。节点及其所连接的其他节点情况的信息可以通过TLV(Type-Length-Value,类型-长度-值)携带在协议中。例如下图的TLV格式:
类型 | 长度 | 本节点的node_id | 其他节点的网关信息 | 其他节点的node_id | 其他节点的网关信息 |
这里的其他节点是指除发往节点之外的本节点所连接的其他节点。
在初始状态时,各节点还没有获取其他节点信息,因此只是将各自的节点发往对端节点,例如此时节点A发往节点B、C的TLV为:
类型 | 长度 | A节点的node_id | A节点的网关信息 |
当各个节点获取了其所连接的节点信息时,在给对端发送节点信息时,会将其所连接的其他节点信息也携带在该TLV中,例如此时节点A由于收到了节点B、C的信息,知道其与节点B、C直接连接,因此节点A发给节点B的TLV为:
类型 | 长度 | A节点的node_id | A节点的网关信息 | C节点的node_id | C节点的网关信息 |
除此之外,各个节点还需要保存从对端节点发送过来的其他节点网关信息,例如节点A收到了节点B发来的节点B信息和节点C信息,则同时会将节点B的网关信息和节点C的网关信息也保存下来,例如可保存为如下表格的形式:
节点 | 网关信息 |
B节点 | 1,3,5,7,9…… |
C节点 | 2,4,6,8,10…… |
其中的网关信息1,2,3,4...可以是表示的vlan(Virtual Local AreaNetwork,虚拟局域网)ID。
当节点A、C之间的链路故障时,如图4所示,则节点A、C均收不到来自对方的节点信息消息,因此将从各自的表格内删除了对方的信息,但节点A仍然能通过节点B获得节点C的信息,同理节点C也仍然通过节点B获得节点A的信息。
因此虽然节点A、C之间的内连链路故障,但其仍具有其他节点信息,因此各个节点不对各自的信息进行改动,三个节点依然聚合为一个链路聚合组的一端。
但是当节点A从网络互连接口收到一个报文时,需要对该报文所属的网关进行判断,如果该报文的网关不是节点A,则节点A根据查找到该报文的网关将该报文通过相应的内连链路发送到相应的节点上。例如节点A查找到是节点C,则将该报文发给节点B,节点B收到后也需要进行一次该报文的网关查找,找到是节点C后,则直接发给节点C,由节点C将该报文转发到网络内。
当其中一个节点发生故障时,如图8所示,如果节点B故障,节点A、C收不到节点B的信息,会将相关信息删除,但节点A、C仍能感知到对方节点,因此节点A、C系统参数不发生改变,仍然聚合为一个聚合组的一端。
实施例二
分布式链路聚合组的一端仍然是由3个节点组成:节点A、节点B、节点C。但这3节点不是全连接,节点A和节点C是通过节点B相连,如图5所示,各个节点将自己的节点信息和所连接的节点信息发给另一个节点,从而各个节点获取了其他节点的信息,如图5中各个节点的表格所示。
当节点A、B之间的内连链路发生故障,如图6所示,此时节点A失去了与节点B的信息,同时也失去了节点B传给节点A的节点C的信息,因此对于节点A来说,会感知到自己是孤立的,此时节点A会改变自己的系统参数new_system_id,从而从节点A上的聚合链路发出的LACP报文都携带了新的系统参数。
该聚合组的另一端的各个节点会通过端内的控制协议通告给端内的其他节点本节点上从聚合链路上收到的LACP报文情况。从而每个节点均能知道其所在聚合组的所有聚合链路所收到的LACP报文情况。
该聚合组的另一端每条聚合链路上收到LACP报文时,将比较该报文中携带的new_system_id和system_id,如果该聚合组中仍有其他聚合链路上收到LACP报文中的new_system_id依然等于system_id的,则将该聚合链路设置为unselected或者standby,表示目前该条聚合链路在该聚合组中是不可用的。在本实施例中,由于节点A感知不到其他节点,因此节点A上对应的聚合链路发送的LACPDU的new_system_id不等于system_id。这样该聚合组的对端会将节点A所对应的所有聚合链路全设置为unselected或者standby。因此对于本端来说,由于节点A与节点B之间的链路故障,聚合组的本端只包括了节点B、C。
另一种情况,即中间节点B出现故障,如图7所示,此时节点A、C均失去了其他节点的信息,节点A、C均会感觉自己是孤立的,均将改变自己的系统参数,此时从节点A、C的聚合链路上发出的LACP报文中其new_system_id均与其system_id不同,假设节点A发出的new_system_id为new_system_id1,节点C发出的new_system_id为new_system_id2。
聚合组的另一对端收到来自节点A、C聚合链路上发来的的LACP,感知到他们的new_system_id都不相同,并且另一端各个节点也相互通过内连链路上的控制协议通告所收到的LACPDU信息,这些节点比较各个LACP报文携带的node_priority字段,将携带节点优先级低的LACP报文对应的那些聚合链路设置为unselected或者standby。假设节点A的node_priority要低于节点C的node_priority,则聚合组的另一端将对于节点A连接的那些聚合链路设置为unselected或者standby。
实施例三
如图9所示,聚合组的一端由2个物理节点A、节点C组成,节点A、C之间通过一条内连链路进行连接。节点A、C相互给对端发送各自的节点信息,从而节点A和节点C均保存了对端的节点与网关信息。
当节点A、C之间的内连链路出现故障,如图10所示,则节点A、C均失去了对方的信息,因此这两个节点均感觉自己被孤立了,因此均会改变自身的系统参数new_system_id,但仍然保持其原来的system_id。假设此时节点A的new_system_id为new_system_id1,节点C的new_system_id为new_system_id2。该聚合组的另一端收到来自节点A、C的LACP,感知到他们的new_system_id都不相同,则比较其LACP报文携带的node_priority字段,将收到优先级低的LACP报文的那些聚合链路设置为unselected或者standby。假设节点A的node_priority要低于C的node_priority,则聚合组的另一端将对于节点A连接的那些聚合链路设置为unselected或者standby。
一旦该链路故障恢复,节点A、C各自再次感知到了对方,并交互了各自的节点信息。协商统一了system_id后,其new_system_id也和system_id一致。聚合组的另一端收到节点A上发来的LACP消息携带的new_system_id等于system_id,则将其对应的聚合链路设置为selected状态,成为该聚合组中可用的聚合链路。
当其中一个节点故障时,如图11所示,假设节点C故障,则节点A失去了节点C的信息,认为自己被孤立了,因此改变自身的系统参数new_system_id为new_system_id1。该聚合组的另一端在收到了这样的LACP消息后,感知其new_system_id和system_id不同,但并没有收到来自其他聚合链路上的其new_system_id和system_id也不同的LACP,因此也无需再比较其node_priority的情况,继续保持其聚合链路的状态。
当节点C恢复后,节点A再次感知到了节点C,并与节点C交互各自的节点信息。当两者之间协商好了system_id后,节点A的new_system_id也和system_id一致。聚合组的另一端收到节点A上发来的LACP消息携带的new_system_id等于system_id,则将其对应的聚合链路设置为selected状态,成为该聚合组中可用的聚合链路。
如图12所示,本发明实施例的分布式链路聚合组一端的分布式系统中的节点收到节点信息的处理流程主要包括以下步骤:
步骤120,接收分布式系统中其他节点发送的节点信息;
步骤121,判断是否接收到其他节点的信息,如果是,则执行步骤122,否则,转到步骤124;
步骤122,判断是否有新节点加入,如果是,则执行步骤123,否则,转到步骤125;
步骤123,协商统一的system_id后,执行步骤125;
步骤124,修改LACPDU的new_system_id,令new_system_id不等于system_id;
步骤125,令new_system_id=system_id;
步骤126,保存接收到的节点信息。
如图13所示,本发明实施例的分布式链路聚合组一端的分布式系统中的节点收到对端分布式系统发来的LACPDU报文的处理流程主要包括以下步骤:
步骤130,接收对端分布式系统发来的LACPDU报文1;
步骤131,判断LACPDU报文1中的new_system_id是否等于system_id,如果是,则执行步骤136,否则,执行步骤132;
步骤132,判断本端分布式系统是否有其他聚合链路收到LACPDU报文2,如果是,则执行步骤133,否则,执行步骤136;
步骤133,判读本端分布式系统其他聚合链路收到的LACPDU报文2中的new_system_id是否等于system_id,如果是,则执行步骤135,否则,执行步骤134;
步骤134,判断LACPDU报文1携带的节点优先级是否大于LACPDU报文2携带的节点优先级,如果是,则执行步骤136;否则,结束本次处理流程,返回步骤130;
步骤135,将该聚合链路设置为unselected或者standby,结束本次处理流程;
步骤136,将该聚合链路设置为selected,结束本次处理流程。
综上所述,本发明提出了当一侧网络的边缘(链路聚合组的一端)物理拓扑发生变化,对整个聚合系统的影响导致的联动方法,其中包括了:聚合组的一端内各节点如何获得端内其他节点信息;端内节点如何感知拓扑结构的变动;端内节点如何依据收到的LACP信息做出相应决策,选取相应的互连接口;以及另一侧网络边缘(链路聚合组的另一端)对互连链路的选择改变等动作。
此外,本发明实施例中还提供了一种分布式链路聚合装置,应用于分布式系统,该装置主要包括故障处理模块,
所述故障处理模块用于,接收不到本分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数。
进一步地,所述装置还包括节点发现模块,
所述节点发现模块用于,向本分布式系统中的其他节点发送节点连接信息,其中所述节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息;以及,接收本分布式系统中的其他节点发送的节点连接信息。
进一步地,所述装置还包括报文转发模块,
所述报文转发模块用于,经分布式聚合链路组转发报文时,检查所述报文所属的网关是否为本节点,如果是本节点,则从本节点转发;如果不是本节点,则根据所述节点连接信息将所述报文转发给与所述报文所属的网关相连接的节点。
进一步地,所述装置还包括链路聚合模块,
所述链路聚合模块用于,从聚合链路接收到对端分布式系统发送的LACP报文时,
如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路没有接收到LACP报文,则选择将本聚合链路加入所述链路聚合组;
如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数不同,则根据LACP报文中携带的节点优先级信息,选择将低优先级节点上的聚合链路隔离;如果与原链路聚合参数相同,则选择将本聚合链路隔离。
进一步地,所述链路聚合模块还用于,将其聚合链路接收到的LACP报文通告给本分布式系统中的其他节点。
以上仅为本发明的优选实施案例而已,并不用于限制本发明,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
Claims (21)
1.一种分布式链路聚合组拓扑发现方法,其特征在于,
分布式链路聚合组一端的分布式系统中的节点向所述分布式系统中的其他节点发送节点连接信息;其中所述节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息;
所述分布式系统中的节点接收所述分布式系统中的其他节点发送的节点连接信息。
2.如权利要求1所述的方法,其特征在于,
所述节点的信息包括:节点ID、和/或节点的网关信息。
3.如权利要求1所述的方法,其特征在于,
所述分布式系统中的节点接收不到所述分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数。
4.如权利要求1或2所述的方法,其特征在于,
所述分布式系统中的节点经分布式链路聚合组转发报文时,检查所述报文所属的网关是否为本节点,如果是本节点,则从本节点转发;如果不是本节点,则根据所述节点连接信息将所述报文转发给与所述报文所属的网关相连接的节点。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的链路聚合控制协议(LACP)报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路没有接收到LACP报文,则选择将本聚合链路加入所述链路聚合组。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的LACP报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数不同,则根据LACP报文中携带的节点优先级信息,隔离分布式链路聚合组中的低优先级节点上的聚合链路。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的LACP报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数相同,则隔离分布式链路聚合组中的本聚合链路。
8.如权利要求1、5、6或7之任一项所述的方法,其特征在于,所述方法还包括:
所述分布式系统中的节点根据其聚合链路接收到的LACP报文给所述分布式系统中的其他节点通告信息。
9.一种分布式链路聚合组故障处理方法,其特征在于,
分布式链路聚合组一端的分布式系统中的节点接收不到所述分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数;
所述分布式系统中的节点发送的LACP报文携带修改后的链路聚合参数。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
所述分布式系统中的节点接收到所述分布式系统中的其他节点发送的节点连接信息时,则根据接收到的所述节点连接信息发现本节点所连接的其他节点。
11.如权利要求9所述的方法,其特征在于,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的链路聚合控制协议(LACP)报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路没有接收到LACP报文,则选择将本聚合链路加入所述链路聚合组。
12.如权利要求9所述的方法,其特征在于,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的LACP报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数不同,则根据LACP报文中携带的节点优先级信息,隔离分布式链路聚合组中的低优先级节点上的聚合链路。
13.如权利要求9所述的方法,其特征在于,所述方法还包括:
所述分布式系统从聚合链路接收到对端分布式系统发送的LACP报文时,如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数相同,则隔离分布式链路聚合组中的本聚合链路。
14.如权利要求9、11、12或13之任一项所述的方法,其特征在于,所述方法还包括:
所述分布式系统中的节点根据其聚合链路接收到的LACP报文给所述分布式系统中的其他节点通告信息。
15.如权利要求9或10所述的方法,其特征在于,所述方法还包括:
所述分布式系统中的节点接收到新的节点连接信息时,则与所述新的节点连接信息对应的节点协商统一链路聚合参数,并将自身的链路聚合参数修改为所述协商统一的链路聚合参数。
16.如权利要求9所述的方法,其特征在于,所述方法还包括:
所述分布式系统中的节点向所述分布式系统中的其他节点发送节点连接信息;其中所述节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息。
17.一种分布式链路聚合装置,其特征在于,应用于分布式系统,所述装置包括故障处理模块,
所述故障处理模块用于,接收不到本分布式系统中的其他节点发送的节点连接信息时,则修改自身的链路聚合参数。
18.如权利要求17所述的装置,其特征在于,所述装置还包括节点发现模块,
所述节点发现模块用于,向本分布式系统中的其他节点发送节点连接信息,其中所述节点连接信息包括本节点的信息,和/或本节点所连接的其他节点的信息;以及,接收本分布式系统中的其他节点发送的节点连接信息。
19.如权利要求18所述的装置,其特征在于,所述装置还包括报文转发模块,
所述报文转发模块用于,经分布式聚合链路组转发报文时,检查所述报文所属的网关是否为本节点,如果是本节点,则从本节点转发;如果不是本节点,则根据所述节点连接信息将所述报文转发给与所述报文所属的网关相连接的节点。
20.如权利要求17所述的装置,其特征在于,所述装置还包括链路聚合模块,
所述链路聚合模块用于,从聚合链路接收到对端分布式系统发送的LACP报文时,
如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路没有接收到LACP报文,则选择将本聚合链路加入所述链路聚合组;
如果判断出所述LACP报文中的链路聚合参数与原链路聚合参数不同、且本分布式系统从其他聚合链路也接收到LACP报文,则再判断所述其他聚合链路接收到的LACP报文中的链路聚合参数是否与原链路聚合参数不同,如果与原链路聚合参数不同,则根据LACP报文中携带的节点优先级信息,选择将低优先级节点上的聚合链路隔离;如果与原链路聚合参数相同,则选择将本聚合链路隔离。
21.如权利要求20所述的装置,其特征在于,
所述链路聚合模块还用于,将其聚合链路接收到的LACP报文通告给本分布式系统中的其他节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210023393.9A CN103248502B (zh) | 2012-02-02 | 2012-02-02 | 分布式链路聚合组拓扑发现、故障处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210023393.9A CN103248502B (zh) | 2012-02-02 | 2012-02-02 | 分布式链路聚合组拓扑发现、故障处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103248502A true CN103248502A (zh) | 2013-08-14 |
CN103248502B CN103248502B (zh) | 2018-08-14 |
Family
ID=48927737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210023393.9A Active CN103248502B (zh) | 2012-02-02 | 2012-02-02 | 分布式链路聚合组拓扑发现、故障处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103248502B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547283A (zh) * | 2017-09-21 | 2018-01-05 | 新华三技术有限公司 | 分布式聚合组的管理方法及装置 |
CN114553706A (zh) * | 2020-11-18 | 2022-05-27 | 中国移动通信集团广东有限公司 | 网络拓扑发现方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110663A (zh) * | 2007-08-31 | 2008-01-23 | 华为技术有限公司 | 实现链路故障处理的方法、系统及装置 |
WO2009155996A1 (en) * | 2008-06-27 | 2009-12-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for link aggregation |
CN101984606A (zh) * | 2010-11-15 | 2011-03-09 | 中兴通讯股份有限公司 | 基于lacp的设备级冗余保护方法及系统 |
JP2011228921A (ja) * | 2010-04-20 | 2011-11-10 | Hitachi Cable Ltd | ネットワーク中継装置、ネットワーク中継装置の制御方法、及びネットワークシステム |
CN102271056A (zh) * | 2011-07-22 | 2011-12-07 | 中兴通讯股份有限公司 | 激活聚合体选择方法及装置 |
CN103001781A (zh) * | 2011-09-08 | 2013-03-27 | 中兴通讯股份有限公司 | 分布式链路聚合组的聚合链路选择/去选择的方法及装置 |
-
2012
- 2012-02-02 CN CN201210023393.9A patent/CN103248502B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110663A (zh) * | 2007-08-31 | 2008-01-23 | 华为技术有限公司 | 实现链路故障处理的方法、系统及装置 |
WO2009155996A1 (en) * | 2008-06-27 | 2009-12-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for link aggregation |
JP2011228921A (ja) * | 2010-04-20 | 2011-11-10 | Hitachi Cable Ltd | ネットワーク中継装置、ネットワーク中継装置の制御方法、及びネットワークシステム |
CN101984606A (zh) * | 2010-11-15 | 2011-03-09 | 中兴通讯股份有限公司 | 基于lacp的设备级冗余保护方法及系统 |
CN102271056A (zh) * | 2011-07-22 | 2011-12-07 | 中兴通讯股份有限公司 | 激活聚合体选择方法及装置 |
CN103001781A (zh) * | 2011-09-08 | 2013-03-27 | 中兴通讯股份有限公司 | 分布式链路聚合组的聚合链路选择/去选择的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547283A (zh) * | 2017-09-21 | 2018-01-05 | 新华三技术有限公司 | 分布式聚合组的管理方法及装置 |
CN107547283B (zh) * | 2017-09-21 | 2021-03-02 | 新华三技术有限公司 | 分布式聚合组的管理方法及装置 |
CN114553706A (zh) * | 2020-11-18 | 2022-05-27 | 中国移动通信集团广东有限公司 | 网络拓扑发现方法、装置及电子设备 |
CN114553706B (zh) * | 2020-11-18 | 2023-09-19 | 中国移动通信集团广东有限公司 | 网络拓扑发现方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103248502B (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7944913B2 (en) | Node, communication method, and program for node | |
US9665530B2 (en) | Method and system for implementing elastic network interface and interconnection | |
US7639605B2 (en) | System and method for detecting and recovering from virtual switch link failures | |
EP2533475B1 (en) | Method and system for host route reachability in packet transport network access ring | |
EP2961112B1 (en) | Message forwarding system, method and device | |
US10708081B2 (en) | Failure protection method based on ring protection link, device, and system | |
EP2911355B1 (en) | Method and device for flow path negotiation in link aggregation group | |
US9385944B2 (en) | Communication system, path switching method and communication device | |
CN112769587A (zh) | 双归设备接入流量的转发方法、设备及存储介质 | |
EP2911354A1 (en) | Method, device and system for bidirectional flow on same path in aggregation group | |
CN105656645A (zh) | 堆叠系统的故障处理的决策方法和装置 | |
US20140126352A1 (en) | Communication system and network relay device | |
EP3713160A1 (en) | Packet transmission method and apparatus | |
CN112491700A (zh) | 网络路径调整方法、系统、装置、电子设备及存储介质 | |
CN103780419B (zh) | 一种分布式链路聚合组业务切换方法和装置 | |
US9787607B2 (en) | End-to-end provisioning of Ethernet Virtual Circuits | |
CN103731303A (zh) | 一种纵向融合架构接口实现多活性实体检测的方法及设备 | |
CN104639437A (zh) | 堆叠系统中广播报文的转发方法及装置 | |
US9736060B2 (en) | Method and device for negotiating traffic path in link aggregation group | |
CN104243303A (zh) | 一种自治系统环路组网中发送更新报文的方法和装置 | |
US8724518B2 (en) | Communication system, node, terminal, program and communication method | |
CN103248502A (zh) | 分布式链路聚合组拓扑发现、故障处理方法及装置 | |
CN102857423A (zh) | 一种分布式链路聚合系统中业务流转发方法及节点 | |
CN103001781B (zh) | 分布式链路聚合组的聚合链路选择/去选择的方法及装置 | |
CN114039907A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |