一种跨设备聚合的方法及装置与流程

文档序号:14717675发布日期:2018-06-16 01:54阅读:307来源:国知局
一种跨设备聚合的方法及装置与流程
本申请涉及通信
技术领域
,尤其涉及一种跨设备聚合的方法及装置。
背景技术
:随着网络规模的不断扩大,为满足网络的高可靠性及增加链路带宽的需求,可采用链路聚合的方法将一台设备的多个端口聚合成一个逻辑端口来使用。由于上述传统的聚合技术只能实现链路故障的备份,而对于设备的单点故障没有备份机制,因此,实际应用中,多采用跨设备的聚合技术,即将不同设备的多个端口聚合成一个逻辑端口,以实现某个设备故障后,流量能跨设备转发,保证网络的高可靠性。由于跨设备的聚合技术通常依赖于设备的堆叠,要求设备需具有堆叠能力。对于芯片支持堆叠的设备来说,堆叠通常需要依赖于芯片厂商的私有协议来实现;而对于芯片不支持堆叠的设备来说,较难实现跨设备的链路聚合。技术实现要素:有鉴于此,本申请提供一种跨设备聚合的方法及装置,以使芯片不支持堆叠的设备能实现跨设备聚合,从而可增加网络的可靠性。具体地,本申请是通过如下技术方案实现的:一种跨设备聚合的方法,所述方法包括:基于用户配置的级联口与组网中其他成员设备建立虚拟堆叠;根据用户配置的聚合端口信息,将属于聚合端口的端口加入同一聚合组;将学习到的转发表项同步给所述其他成员设备;从所述聚合端口中查找本设备的端口,并根据查找到的端口的状态,修改所述转发表项。一种跨设备聚合的装置,所述装置包括:堆叠模块,用于基于用户配置的级联口与组网中其他成员设备建立虚拟堆叠;聚合模块,用于根据用户配置的聚合端口信息,将属于聚合端口的端口加入同一聚合组;同步模块,用于将学习到的转发表项同步给所述其他成员设备;第一修改模块,用于从所述聚合端口中查找本设备的端口,并根据查找到的端口的状态,修改所述转发表项。在本申请中,通过用户配置的级联口与组网中其他成员设备建立虚拟堆叠关系,并通过用户配置的聚合端口信息,将建立堆叠的设备的端口分别加入同一聚合组,之后可将学习到的转发表项同步给其他成员设备,以使各成员设备获取到整个组网中所有成员设备的转发表项,以模拟跨设备聚合。此外,还可通过聚合端口的状态,进一步对本地转发表项进行修改,以确保后续报文匹配该转发表项后可正常转发。与现有技术相比,可使芯片不支持堆叠的设备实现跨设备聚合,从而可增加网络的可靠性。附图说明图1是本申请一示例性实施例示出的一种跨设备聚合的方法流程图;图2是本申请一示例性实施例示出的一种虚拟堆叠组网图;图3是本申请一示例性实施例示出的一种网络设备的硬件结构图;图4是本申请一示例性实施例示出的一种跨设备聚合的装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。随着网络规模的不断扩大,为满足网络的高可靠性及增加链路带宽的需求,可采用链路聚合的方法将一台设备的多个端口聚合成一个逻辑端口来使用。由于上述传统的聚合技术只能实现链路故障的备份,而对于设备的单点故障没有备份机制,因此,实际应用中,多采用跨设备的聚合技术,即将不同设备的多个端口聚合成一个逻辑端口,以实现某个设备故障后,流量能跨设备转发,保证网络的高可靠性。由于跨设备的聚合技术通常依赖于设备的堆叠,要求设备需具有堆叠能力。对于芯片支持堆叠的设备来说,堆叠通常需要依赖于芯片厂商的私有协议来实现;而对于芯片不支持堆叠的设备来说,较难实现跨设备的链路聚合。因此,为解决上述问题,本申请提供了一种跨设备聚合的方法,通过用户配置的级联口与组网中其他成员设备建立虚拟堆叠关系,并通过用户配置的聚合端口信息,将建立堆叠的设备的端口分别加入同一聚合组,之后可将学习到的转发表项同步给其他成员设备,以使各成员设备获取到整个组网中所有成员设备的转发表项,以模拟跨设备聚合。此外,还可根据端口状态,修改本地转发表项,以使后续报文匹配该转发表项后可正常转发。与现有技术相比,可使芯片不支持堆叠的设备实现跨设备聚合,从而可保证网络的可靠性。下面将结合具体的实施例对本申请的实现过程进行描述。请参考图1,图1所示为本申请实施例示出的一种跨设备聚合的方法流程图,该方法应用于包含多台相同网络设备的组网中任一成员设备,上述网络设备可以是交换机等。其中,该方法可以包括以下步骤:S101,基于用户配置的级联口与组网中其他成员设备建立虚拟堆叠。在本申请实施例中,用户需先对待建立虚拟堆叠的设备进行配置,假设将图2所示的两台设备建立堆叠,用户需分别配置两台设备上的级联口,通常可将设备上的FastEthernet端口或GigaEthernet端口配置为级联口。另外,还可为设备配置堆叠ID等,如将上述两台设备的堆叠ID分别配置为0和1。可假设设备0上有1~4四个端口,设备1上有7~10四个端口,且设备0上的端口4和设备1上的端口7被配置为级联口。配置完成后,可通过网线或电缆线等连接上述设备0和设备1的级联口4和7,之后设备0和设备1可通过上述级联口互相发送协商报文,例如拓扑收集报文,选举报文等,以此使设备0和设备1建立虚拟堆叠关系。S102,根据用户配置的聚合端口信息,将属于聚合端口的端口加入同一聚合组。在本申请实施例中,设备0和设备1建立堆叠后,用户可进一步配置聚合端口信息,分别对设备0和设备1上的端口进行聚合,且将聚合后的聚合端口配置为同一聚合端口。例如,可将设备0上的端口1和端口2进行聚合,聚合后的聚合端口为A,同时将设备1上的端口8和端口9进行聚合,聚合后的聚合端口也为A。完成各设备端口的聚合后,还可将属于聚合端口的端口1和端口2的信息下发给设备0的芯片,同样地,可将属于聚合端口的端口8和端口9的信息下发给设备1的芯片,即本设备仅可获知本设备中哪些端口属于聚合端口A。S103,将学习到的转发表项同步给所述其他成员设备。在本申请实施例中,在完成跨设备聚合后,设备0可将其学习到的MAC地址表项同步给设备1,同样地,设备1可将其学习到的MAC地址表项同步给设备0,以完成设备0和设备1的MAC地址表项的建立。例如,设备0的聚合端口A接收到其下级设备发送的报文,可通过该报文的源MAC地址与接收该报文的端口的学习,建立MAC地址与上述聚合端口A的映射关系,并可将该映射关系保存到MAC地址表中,当设备接收到报文后,即可匹配该MAC地址表,将与报文的目的MAC地址匹配的表项中的端口作为该报文的出接口,将报文从该出接口转发出去。设备0还可将学习到的上述MAC地址与聚合端口A的映射关系发送给设备1,设备1将上述映射关系保存到本地MAC地址表中。设备上其他端口的源MAC地址学习同理,此处不再赘述。可假设设备0和设备1进行源MAC地址学习后,建立的MAC地址表项如表1所示。MAC地址端口地址1聚合端口A地址2聚合端口A地址3端口3地址4端口10表1需要说明的是,在设备0和设备1进行MAC地址学习时,需将级联口4和7关闭MAC地址学习。在本申请实施例中,除了同步上述MAC地址表外,设备还可将本地ARP表同步给其他成员设备。另外,在同步转发表项后,设备还可查询表1中各表项的端口是否为远端口,即不属于本设备的端口。对于设备0来说,表1中地址4对应的端口属于远端口;对于设备1来说,表1中地址3对应的端口3为远端口。此处以设备0为例进行说明,根据表1可知,表1中地址4对应的端口为端口10,不属于设备0的端口,此时设备0可将该表项中的端口修改为级联口4,并可记录修改前该表项的真实端口,即端口10,修改后的表项可如表2所示。MAC地址端口地址1聚合端口A地址2聚合端口A地址3端口3地址4级联口4表2S104,从所述聚合端口中查找本设备的端口,并根据查找到的端口的状态,修改所述本地转发表项。在本申请实施例中,在建立转发表项后,设备还可根据聚合端口的状态,对本地建立的转发表项进行修改,以使后续报文能匹配该转发表项,使报文能正常转发出去。仍以设备0为例,假设设备0当前已建立如上述表2所示的MAC地址表。如果此时设备0检测到端口1和端口2Down,表明端口1和端口2不能正常转发报文,因此设备0需查询表2中是否存在端口为聚合口端口A的表项,查询表2可知,地址1和地址2对应的端口为聚合端口A,此时可将该聚合端口A修改为级联口4,如表3所示,以使后续目的MAC匹配到地址1或地址2的报文能通过级联口4转发给设备1,设备1匹配表1所示的本地转发表项后,能将其通过聚合端口A的成员端口8或9正常转发出去。MAC地址端口地址1级联口4地址2级联口4地址3端口3地址4级联口4表3另外,设备0在将表项中的聚合端口修改为级联口后,还需记录该表项修改前的真实端口,即聚合端口A。当后续设备0检测到端口1和/或端口2UP时,可查找表3中端口为级联口的表项,并根据记录的该表项的真实端口,确定该表项的真实端口是否为聚合端口A,若是,可将表3中相应表项中的端口由级联口4修改为聚合端口A。此处可将表3中地址1和地址2对应的端口由级联口4修改为聚合端口A。在本申请中,通过用户配置的级联口将多个设备建立虚拟堆叠,并通过用户配置的聚合端口信息,将建立堆叠的设备的端口分别进行聚合,之后可将学习到的MAC地址表项和ARP表项同步给其他成员设备,以使各成员设备获取到整个组网中所有成员设备的转发表项。此外,还可通过聚合端口的状态,进一步对本地的MAC地址表项和ARP表项进行修改,以确保后续报文能够正常转发。与现有技术相比,本申请的技术方案可以利用不支持堆叠的设备实现跨设备聚合,从而可提高网络的可靠性。与前述一种跨设备聚合的方法的实施例相对应,本申请还提供了一种跨设备聚合的装置的实施例。本申请一种跨设备聚合的装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请一种跨设备聚合的装置所在网络设备的一种硬件结构图,除了图3所示的处理器、内存、网络出接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据该网络设备的实际功能,还可以包括其他硬件,对此不再赘述。请参考图4,图4所示为本申请实施例提供的一种跨设备聚合的装置的结构示意图,该装置包括:堆叠模块410、聚合模块420、同步模块430和修改模块440。其中,堆叠模块410,用于基于用户配置的级联口与组网中其他成员设备建立虚拟堆叠;聚合模块420,用于根据用户配置的聚合端口信息,将属于聚合端口的端口加入同一聚合组;同步模块430,用于将本地转发表项同步给所述其他成员设备;第一修改模块440,用于从所述聚合端口中查找本设备的端口,并根据查找到的端口的状态,修改所述本地转发表项。在本申请实施例中,所述第一修改模块440,进一步用于:判断查找到的端口的状态;当所述端口的状态为断开DOWN时,遍历所述本地转发表项,确定是否存在出接口为所述聚合端口的表项;若存在,将所述表项中的出接口修改为所述级联口,并记录修改前所述表项中的出接口。在本申请实施例中,所述第一修改模块440,还用于:当所述端口的状态为连接UP时,遍历所述本地转发表项,确定是否存在出接口为所述级联口的表项,且记录的修改前所述表项中的出接口为所述聚合端口;若存在,将所述表项中的出接口修改为所述聚合端口。在本申请实施例中,所述装置还包括第二修改模块450,用于:当表项中的出接口为所述其他成员设备的端口时,将所述表项的出接口修改为所述级联口,并记录修改前所述表项中的出接口。在本申请实施例中,所述转发表项包括MAC地址表项和ARP表项。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1