堆叠冲突的处理方法及装置与流程

文档序号:12809206阅读:538来源:国知局
堆叠冲突的处理方法及装置与流程

本公开涉及通信技术领域,尤其涉及一种堆叠冲突的处理方法及装置。



背景技术:

智能弹性架构(英文:intelligentresilientframework,缩写:irf)是一种虚拟化技术,其核心思想是将多台设备通过堆叠口连接形成堆叠链路,从而将这多台设备虚拟化为一台堆叠设备,称为一个堆叠,其中每台设备称为成员设备。

在堆叠中成员设备之间的堆叠链路断开时,会导致堆叠分裂。一个堆叠分裂后会各自形成一个堆叠,分裂形成的堆叠会继承原有堆叠的配置,这样一来,在网络中会形成两个配置相同的堆叠,从而出现配置冲突。

为了对堆叠分裂进行检测和处理,现有技术中,通过多激活检测(英文:multi-activedetection,简称:mad)实现,例如,双向转发检测(英文:bidirectionalforwardingdetection,简称:bfd)来实现mad,然而,bfdmad需要配置一条专门的检测链路,浪费了设备的端口资源。



技术实现要素:

有鉴于此,本公开提出了一种堆叠冲突的处理方法及装置。

根据本公开的一方面,提供了一种堆叠冲突的处理方法,应用于堆叠分裂后形成的子堆叠中的主设备,所述堆叠中的设备使能vrrp协议,该方法包括:

当接收到第一vrrp通告报文时,确定所述堆叠分裂;

根据所述第一vrrp通告报文确定自身的vrrp状态;

当确定自身的vrrp状态为主状态时,发送第二vrrp通告报文;当确定自身的vrrp状态为备状态时,关闭自身所处子堆叠的业务接口。

在一种可能的实现方式中,vrrp通告报文中携带有vrrp优先级;

所述根据所述第一vrrp通告报文确定自身的vrrp状态,包括:

获取所述第一vrrp通告报文中的第一vrrp优先级;

比较所述第一vrrp优先级和自身的第二vrrp优先级,其中,vrrp优先级高的设备的vrrp状态为主状态,vrrp优先级低的设备的vrrp状态为备状态。

在一种可能的实现方式中,所述获取所述第一vrrp通告报文中的第一vrrp优先级,包括:

获取所述第一vrrp通告报文中携带的第一认证密码;

当所述第一认证密码与自身存储的第二认证密码一致时,获取所述第一vrrp通告报文中的第一vrrp优先级;当所述第一认证密码与自身存储的第二认证密码不一致时,丢弃所述第一vrrp通告报文。

在一种可能的实现方式中,在所述堆叠中的设备上行的业务接口和下行的业务接口上分别使能vrrp协议。

根据本公开的另一方面,提供了一种堆叠冲突的处理装置,应用于堆叠分裂后形成的子堆叠中的主设备,所述堆叠中的设备使能vrrp协议,所述处理装置包括:

检测模块,用于当接收到第一vrrp通告报文时,确定所述堆叠分裂;

状态确定模块,用于根据所述第一vrrp通告报文确定所述主设备的vrrp状态;

控制模块,用于当所述状态确定模块确定出vrrp状态为主状态时,发送第二vrrp通告报文;当所述状态确定模块确定出vrrp状态为备状态时,关闭所述主设备所处子堆叠的业务接口。

在一种可能的实现方式中,vrrp通告报文中携带有vrrp优先级;

所述状态确定模块具体用于:

获取所述第一vrrp通告报文中的第一vrrp优先级;

比较所述第一vrrp优先级和所述主设备的第二vrrp优先级,其中,vrrp优先级高的设备的vrrp状态为主状态,vrrp优先级低的设备的vrrp状态为备状态。

在一种可能的实现方式中,所述状态确定模块在获取所述第一vrrp通告报文中的第一vrrp优先级的过程中,具体用于:

获取所述第一vrrp通告报文中携带的第一认证密码;

当所述第一认证密码与所述主设备存储的第二认证密码一致时,获取所述第一vrrp通告报文中的第一vrrp优先级;当所述第一认证密码与所述主设备存储的第二认证密码不一致时,丢弃所述第一vrrp通告报文。

在一种可能的实现方式中,在所述堆叠中的设备上行的业务接口和下行的业务接口上分别使能vrrp协议。

本公开可以通过是否接收到vrrp通告报文来检测堆叠是否分裂,无需配置一条专门的堆叠分裂检测链路,可以节省设备的端口资源。

并且,本公开在堆叠分裂的情况下,可以根据vrrp通告报文确定出的自身的vrrp状态来确定是否关闭自身所处堆叠的业务接口,以降低堆叠冲突的可能,提高网络可靠性。

在一种可能的实现方式中,本公开通过在堆叠中的设备上行的业务接口和下行的业务接口上分别使能vrrp协议,可以增强堆叠冲突的处理的可靠性。

在一种可能的实现方式中,本公开可以防止其它vrrp协议报文造成的影响,或者恶意报文导致的误判。

在一种可能的实现方式中,本公开可以根据vrrp优先级的比较来确定自身的vrrp状态。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1是本公开实施例中的堆叠组网的示意图。

图2是根据一示例性实施例示出的一种堆叠冲突的处理方法的流程图。

图3是根据一示例性实施例示出的一种堆叠冲突的处理方法的一个示例的流程图。

图4是根据一示例性实施例示出的一种堆叠冲突的处理装置的结构框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

图1是本公开实施例中的堆叠组网的示意图。如图1所示,该堆叠组网包括位于同一堆叠1中的成员设备a、成员设备b、成员设备c、以及成员设备d,堆叠1可以与外部的设备例如交换机e(图1未示出)通信报文。其中,成员设备a为该堆叠1的主设备,成员设备b、成员设备c和成员设备d为该堆叠1的从设备,并且成员设备a至成员设备d这四个成员设备可以使能虚拟路由器冗余协议(英文:virtualrouterredundancyprotocol,简称:vrrp)。另外,交换机e可以位于堆叠1的上游或下游。

在堆叠1形成时,成员设备a至成员设备d各自的物理接口可关联一个业务接口,该业务接口为逻辑接口,该业务接口上配置了vrrp虚ip地址,而且每个物理接口有一个与之对应的业务优先级,多个物理接口关联业务接口之后,通过业务优先级的比较,使业务优先级最高的物理接口处于激活状态,而其他业务优先级较低的物理接口则处于未激活状态,并且可以通过该有效的物理接口来发送业务报文。如果图1中的成员设备a作为堆叠1的主设备,那么,成员设备a的业务优先级高于其他成员设备的业务优先级,成员设备a的物理接口处于激活状态并且其他成员设备物理接口处于未激活状态。其中,成员设备的接口(例如业务接口)上配置vrrp虚ip地址,便可以理解为在该接口上使能了vrrp协议,该接口也可以被称为vrrp接口。

该业务接口可以为以太网冗余接口(英文:redundantethernet,简称:reth接口)、聚合接口或vlan接口等。

由于成员设备a至成员设备d这四个成员设备处于同一堆叠中,因此这四个成员设备之间通过irf链路形成堆叠,成员设备a和成员设备b相连,成员设备b和成员设备c相连,成员设备c和成员设备d相连。当然,堆叠1的形成方式不限于链式,也可能是环式等。

在堆叠1分裂之前,成员设备a至成员设备d这四个成员设备虚拟为一个堆叠设备,即堆叠1,该堆叠1为vrrp的主状态,该堆叠1的主设备可以向交换机e发送vrrp通告报文。在交换机e接收到该堆叠1的主设备所发送的vrrp通告报文之后,交换机e可以对外转发该vrrp通告报文。

在交换机e接收到该堆叠1所发送的vrrp通告报文之后,交换机e可以对外组播或广播该vrrp通告报文。其中,交换机e组播或广播该vrrp通告报文可以包括:如果交换机e在转发表项中无法匹配到mac地址,则交换机e在除接收到该vrrp通告报文的接口以外的其它接口转发该vrrp通告报文,由于在堆叠1未分裂时,堆叠1被交换机e视为同一设备,因此交换机e不会将该vrrp通告报文转发至该堆叠1,堆叠1中的主设备也就不会接收到vrrp通告报文。

在图1中的四个成员设备中,成员设备之间的irf链路断开时,会导致堆叠1分裂。假设成员设备b和成员设备c之间的连接断开,则堆叠1分裂成子堆叠2和子堆叠3,其中,子堆叠2中包括成员设备a和成员设备b,子堆叠3中包括成员设备c和成员设备d。在堆叠1分裂形成两个子堆叠时,每个子堆叠会分别选举出自身的主设备,比如子堆叠2中的主设备为成员设备a,子堆叠3中的主设备为成员设备c。

此时,由于各个成员设备都使能vrrp协议,那么,两个子堆叠的主设备都会通过业务接口(即vrrp接口)向外发送vrrp通告报文。子堆叠2的主设备和子堆叠3的主设备向交换机e发送vrrp通告报文,则交换机e会转发接收到的vrrp通告报文。换言之,在堆叠1分裂之后,子堆叠2和子堆叠3能够接收到对方发送的vrrp通告报文。

为便于更清楚地描述本公开,以下以图1所示的堆叠组网为例对本公开实施例进行详细阐述。

图2是根据一示例性实施例示出的一种堆叠冲突的处理方法的流程图,该处理方法可以应用于堆叠分裂后形成的子堆叠中的主设备,堆叠中的设备使能vrrp协议,例如,该处理方法可以应用于图1中的成员设备a,堆叠所包括的成员设备a至成员设备d均可以使能vrrp协议。如图2所示,该处理方法可以包括如下步骤。

在步骤s210中,当接收到第一vrrp通告报文时,确定堆叠分裂。

如上所述,在堆叠1分裂之前,堆叠1不会接收到vrrp通告报文,而在堆叠1分裂之后,堆叠1分裂为两个子堆叠,即子堆叠2和子堆叠3,此时子堆叠2和子堆叠3都会通过自身的业务接口向外发送vrrp通告报文,那么,二者就会接收到对方所发送的vrrp通告报文,因此,子堆叠2和子堆叠3可以根据是否接收到对方所发送的vrrp通告报文(即第一vrrp通告报文)来确定堆叠1是否分裂。

如果成员设备a作为堆叠1的主设备,则不会接收到任何的vrrp通告报文,而如果堆叠1分裂,成员设备a则会继承堆叠1的配置成为其所在的子堆叠2的主设备,而分裂出来的另一个子堆叠3则会重新选出一个其中的成员设备作为该子堆叠3的主设备,例如成员设备c作为子堆叠3的主设备。

在堆叠分裂之后,分裂得到的多个子堆叠继承了堆叠的配置,此时会出现多个配置相同的子堆叠,从而导致堆叠冲突,影响业务报文的转发,所以为了避免出现堆叠冲突的情况,需要进行堆叠冲突的处理来抑制影响。

在步骤s230中,根据上述第一vrrp通告报文确定自身的vrrp状态。

多个成员设备各自配置了vrrp比较参数,该比较参数携带于vrrp通告报文中,接收到vrrp通告报文的设备可以通过对该vrrp通告报文中携带的比较参数和自身所配置的比较参数进行比较,从而确定自身的vrrp状态。

在堆叠分裂之前,该堆叠为一个vrrp设备,并且该堆叠的主设备的vrrp状态为主(master)状态。在该堆叠分裂之后,分裂得到的多个子堆叠中的每一个子堆叠形成一个vrrp设备。

由于堆叠分裂之后存在多个vrrp设备,多个vrrp设备会存在主备状态,多个vrrp设备可以根据所接收到的第一vrrp通告报文重新选举出vrrp状态为主状态的vrrp设备和vrrp状态为备(backup)状态的vrrp设备。

在图1所示的堆叠1中,在成员设备a至成员设备d中,成员设备a的业务优先级最高,所以成员设备a作为堆叠1的主设备,堆叠1通过成员设备a的物理接口来发送业务报文。

在堆叠1分裂之前,堆叠1为一个vrrp设备,在堆叠1分裂成子堆叠2和子堆叠3时,子堆叠2形成一个vrrp设备,子堆叠3形成另一个vrrp设备。

优选的,该比较参数可以为vrrp优先级。该vrrp优先级是vrrp通告报文中原有的比较参数。通过该vrrp优先级,可以使多个使能vrrp协议的设备通过vrrp通告报文的交互,协商出一个vrrp状态为主状态的设备。通过该vrrp优先级进行堆叠冲突的处理依据,可以不改变原有vrrp通告报文的格式,从而可以使本方案能够在不改变vrrp协议的情况下适用,提升本方案的适用范围。

在步骤s250中,当确定自身的vrrp状态为主状态时,发送第二vrrp通告报文;当确定自身的vrrp状态为备状态时,关闭自身所处子堆叠的业务接口。

当子堆叠的主设备确定自身的vrrp状态为主状态时,则可以继续向外发送vrrp通告报文,以继续进行分裂检测,并继承原堆叠的业务转发功能;当子堆叠的主设备确定自身的vrrp状态为备状态时,为了避免网络中的堆叠冲突,关闭自身的业务接口,使网络中仅存在一个堆叠继续工作。

在图1所示的堆叠1中,在堆叠1分裂成子堆叠2和子堆叠3,其中,子堆叠2的主设备为成员设备a并且子堆叠3的主设备为成员设备c。如果成员设备a根据接收到的子堆叠3的成员设备c所发送的vrrp通告报文,并确定出自身所处的子堆叠2的vppr状态为主状态,则成员设备a继续向外发送vrrp通告报文。如果成员设备c接收到子堆叠2的成员设备a所发送的vrrp通告报文,并确定出自身所处的子堆叠3的vppr状态为备状态,则成员设备c关闭子堆叠3的业务接口。

因此,本公开可以通过vrrp接口是否接收到vrrp通告报文来检测堆叠是否分裂,这使得无需配置一条专门的堆叠分裂检测链路,节省设备的接口资源。并且,本公开在堆叠分裂的情况下,可以根据vrrp通告报文确定出的自身的vrrp状态来确定是否关闭自身所处子堆叠的业务接口,以降低堆叠冲突的可能,提高网络可靠性。

在一种可能的实现方式中,上述堆叠中的设备上行的业务接口和下行的业务接口上分别使能vrrp协议。即在vrrp设备上行的业务接口或下行的业务接口配置不同的vrrp虚ip地址。

由此,通过在堆叠中的设备上行的业务接口和下行的业务接口上分别使能vrrp协议,可以增强堆叠冲突的处理的可靠性。

图3是根据一示例性实施例示出的一种堆叠冲突的处理方法的一个示例的流程图。在一种可能的实现方式中,vrrp通告报文中携带有vrrp优先级,并且,如图3所示,该处理方法可以包括如下步骤。

在步骤s310中,当通过vrrp接口接收到第一vrrp通告报文时,确定堆叠分裂。具体描述可以参见上述步骤s210的说明,在此不再赘述。

在步骤s330中,获取第一vrrp通告报文中的第一vrrp优先级。

在解析第一vrrp通告报文前,可以先获取第一vrrp通告报文中所携带的认证密码。当从第一vrrp通告报文中获取到的第一认证密码与自身所存储的第二认证密码一致时,可以进一步解析该第一vrrp通告报文;当第一认证密码与第二认证密码不一致时,丢弃该第一vrrp通告报文,从而避免网络中的恶意攻击,提升网络的可靠性。

在通过密码认证后,获取第一vrrp通告报文中的第一vrrp优先级。该第一vrrp优先级为发送该第一vrrp通告报文的堆叠的vrrp优先级。一个堆叠的vrrp优先级为该堆叠的主设备的vrrp优先级。vrrp优先级的取值范围为0至255,数值越大,表明vrrp优先级越高。vrrp优先级可以由管理员来设置,并且每一个堆叠的vrrp优先级不同。

在图1所示的堆叠1中,在堆叠1分裂成子堆叠2和子堆叠3之后,子堆叠2的主设备即成员设备a接收到子堆叠3的主设备即堆叠成员设备c发送的vrrp通告报文,成员设备a可以解析该vrrp通告报文,从而获取到该vrrp通告报文所携带的成员设备c的vrrp优先级。

在步骤s350中,比较第一vrrp优先级和自身的第二vrrp优先级,其中,vrrp优先级高的设备的vrrp状态为主状态,vrrp优先级低的设备的vrrp状态为备状态。

在成员设备a获取到成员设备c的vrrp优先级之后,成员设备a可以比较成员设备c的vrrp优先级和成员设备a自身的vrrp优先级。如果成员设备c的vrrp优先级和成员设备a的vrrp优先级分别为135和235,则子堆叠2的vrrp状态为主状态并且子堆叠3的vrrp状态为备状态。

在步骤s370中,当确定自身的vrrp状态为主状态时,通过vrrp接口发送第二vrrp通告报文;当确定自身的vrrp状态为备状态时,关闭自身所处堆叠的业务接口。具体描述可以参见上述步骤s250的说明,在此不再赘述。

由此,本公开可以根据vrrp优先级的比较来确定自身的vrrp状态。

可选的,可以减小vrrp通告报文的发送周期,从而可以加快堆叠分裂的检测速度。

图4是根据一示例性实施例示出的一种堆叠冲突的处理装置400的结构框图。该处理装置400可以应用于堆叠分裂后形成的子堆叠中的主设备,该堆叠中的设备使能vrrp协议,该处理装置400可以包括检测模块410、状态确定模块430和控制模块450。

其中,检测模块410用于当接收到第一vrrp通告报文时,确定堆叠分裂。

状态确定模块430,用于根据第一vrrp通告报文确定主设备的vrrp状态。

控制模块450,用于当状态确定模块430确定出vrrp状态为主状态时,发送第二vrrp通告报文;当状态确定模块430确定出vrrp状态为备状态时,关闭主设备的所处堆叠的业务接口。

在一种可能的实现方式中,vrrp通告报文中携带有vrrp优先级;上述状态确定模块430具体用于:获取第一vrrp通告报文中的第一vrrp优先级;比较第一vrrp优先级和主设备的第二vrrp优先级,其中,vrrp优先级高的设备的vrrp状态为主状态,vrrp优先级低的设备的vrrp状态为备状态。

在一种可能的实现方式中,上述状态确定模块430在获取第一vrrp通告报文中的第一vrrp优先级的过程中具体用于:获取第一vrrp通告报文中携带的第一认证密码;当第一认证密码与主设备存储的第二认证密码一致时,获取第一vrrp通告报文中的第一vrrp优先级;当第一认证密码与主设备存储的第二认证密码不一致时,丢弃第一vrrp通告报文。

在一种可能的实现方式中,该处理装置400在堆叠中的设备上行的业务接口和下行的业务接口上分别使能vrrp协议。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1