一种实现虚拟集群交换机跨设备数据转发的方法和设备的制作方法

文档序号:7704691阅读:99来源:国知局
专利名称:一种实现虚拟集群交换机跨设备数据转发的方法和设备的制作方法
技术领域
本发明涉及数据通信领域,具体涉及一种实现虚拟集群交换机跨设备数据转发的方法和设备。
背景技术
虚拟集群交换机(Virtual Switch Cluster,简称VSC)系统是一种网络虚拟化技术的应用。在VSC统中,多个可以单独运行的物理设备组合成一个虚拟设备,各个物理设备之间通过拓扑发现协议发现对方,并通过一定的机制选择一台主设备,其它设备担任转发角色。在虚拟集群交换机场景中,各个物理设备之间的通信(包括数据转发和控制通信)十分重要。目前,如图1所示,现有的虚拟集群交换机的跨设备(如设备1与设备2之间)数据转发的方法,包括SlOl 设备1的普通业务板接收到非本业务板的报文,然后该普通业务板将非本业务板的业务报文发送给设备1的主控板;非本业务板的业务报文是指该报文的目的地不是本业务板的某个端口,可能是本设备的其他某个业务板的某个端口,也可能是另一台设备的某个业务板的某个端口。S102 设备1的主控板判断是否需要本设备转发该业务报文,如果需要则转至步骤S103,否则转至步骤S104 ;S103 设备1的主控板将所述业务报文发送到设备1的目标业务板,结束;S104 设备1的主控板将所述业务报文发送到设备1的堆叠板,由设备1的堆叠板将该所述业务报文转发给设备2 ;S105 设备2的堆叠板接收到该业务报文后,发往设备2的主控板;S106 S107 所述设备2的主控板将需要转发的报文发送给设备2的目标业务板,由目标业务板转发该报文。但是,在现有的跨设备数据转发过程中,当跨设备通信出现链路断路时,链路切换需要较长的切换时间,这样会导致业务报文大量丢弃。

发明内容
本发明需要解决的技术问题是提供一种实现虚拟集群交换机的跨设备数据转发的方法及设备,以保证虚拟集群交换机在跨设备数据转发链路出现故障时可以快速恢复虚拟集群交换机设备间的数据转发。为了解决上述技术问题,本发明提供了一种实现虚拟集群交换机跨设备数据转发的方法,包括主控板分别设置与主用堆叠板和备用堆叠板的转发逻辑;所述主控板向所述主用堆叠板和所述备用堆叠板发送相同的报文数据;所述主用堆叠板处于工作状态时,由所述主用堆叠板转发所述报文数据;
3
所述主用堆叠板处于非工作状态时,所述主控板设置所述备用堆叠板开始工作, 由所述备用堆叠板转发所述报文数据。进一步地,所述主用堆叠板处于工作状态时,所述主控板设置所述备用堆叠板处于非工作状态。进一步地,所述主控板设置所述备用堆叠板处于非工作状态包括所述主控板阻塞其与备用堆叠板相连接的数据端口,使得发往所述备用堆叠板的报文数据被丢弃。进一步地,所述主控板设置所述备用堆叠板处于非工作状态时,所述主控板与所述备用堆叠板的物理链路保持连通。进一步地,所述主控板设置所述备用堆叠板开始工作包括所述主控板解除阻塞与所述备用堆叠板相连接的数据端口。为了解决上述技术问题,本发明还提供了一种实现虚拟集群交换机跨设备数据转发的设备,包括主控板,用于分别设置与主用堆叠板和备用堆叠板的转发逻辑,并向所述主用堆叠板和所述备用堆叠板发送相同的报文数据,在所述主用堆叠板处于工作状态时,设置所述主用堆叠板转发所述报文数据,在所述主用堆叠板处于非工作状态时,设置所述备用堆叠板开始工作;主用堆叠板,用于在其处于工作状态时,转发所述报文数据;备用堆叠板,用于在所述主用堆叠板处于非工作状态时,按照主控板的设置开始工作,转发所述报文数据。进一步地,所述主控板,还用于在所述主用堆叠板处于工作状态时,设置所述备用堆叠板处于非工作状态。进一步地,所述主控板设置所述备用堆叠板处于非工作状态包括所述主控板阻塞其与备用堆叠板相连接的数据端口,使得发往所述备用堆叠板的报文数据被丢弃。进一步地,所述主控板设置所述备用堆叠板处于非工作状态时,与所述备用堆叠板的物理链路保持连通。进一步地,所述主控板,用于在所述主用堆叠板处于非工作状态时,设置所述备用堆叠板开始工作,包括所述主控板解除阻塞与所述备用堆叠板相连接的数据端口。与现有技术相比,本发明采用主备用双堆叠板的方式实现了虚拟集群交换机跨设备间的数据转发,既考虑了虚拟集群交换机之间数据链路的可靠性,又保证了当链路出现故障时,可以在毫秒级时间内恢复虚拟集群交换机设备间的数据转发。


图1是现有的虚拟集群交换机跨设备数据转发的工作流程图;图2是实施例一中虚拟集群交换机跨设备数据转发设备的结构示意图;图3是实施例一中虚拟集群交换机跨设备数据转发的工作流程图;图4是实施例二中虚拟集群交换机跨设备数据转发的工作流程图;图5是一个应用示例中虚拟集群交换机跨设备数据转发的工作流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。实施例一如图2所示,本发明实施例提供了一种实现虚拟集群交换机跨设备数据转发的设备,包括主控板、主用堆叠板以及备用堆叠板,其中主控板,用于分别设置与主用堆叠板和备用堆叠板的转发逻辑,并向所述主用堆叠板和所述备用堆叠板发送相同的报文数据,在所述主用堆叠板处于工作状态时,设置所述主用堆叠板转发所述报文数据,在所述主用堆叠板处于非工作状态时,设置所述备用堆叠板开始工作;其中,该主控板,还用于在所述主用堆叠板处于工作状态时,阻塞其与备用堆叠板相连接的数据端口,使得发往所述备用堆叠板的报文数据被丢弃,以此来设置所述备用堆叠板处于非工作状态,但是,此时,该主控板与备用堆叠板的物理链路保持连通。在具体实施时,该主控板“阻塞”向备用堆叠板转发数据的过程可以这样理解例如,当主控板感知到备用堆叠板上线后,设置主控板的某个寄存器,可以使得主控板向备用堆叠板转发的报文在主控板上丢弃。但此时,主控板向备用堆叠板的转发逻辑是已经设置好的,只是阻塞掉流量而已。其中,该主控板还用于在所述主用堆叠板处于非工作状态时,解除阻塞与所述备用堆叠板相连接的数据端口,以此来设置所述备用堆叠板开始工作。主用堆叠板,用于在其处于工作状态时,转发所述报文数据;备用堆叠板,用于在所述主用堆叠板处于非工作状态时,按照主控板的设置开始工作,转发所述报文数据。由于主控板已经分别设置与主用堆叠板和备用堆叠板的转发逻辑,主备用堆叠板是通过命令设置好的,初始设置时需要保证主用和备用堆叠板都是正常的,之后通过响应事件(即造成主用堆叠板处于非工作状态的事件),主控板感知到主用堆叠板处于非工作状态,再设置进行主备用堆叠板间的切换;上述造成主用堆叠板处于非工作状态的事件包括主用堆叠板复位、主用堆叠板被拔除、或者主堆叠板的堆叠口全部down掉等等。其中,主控板与主备用堆叠板通过机架背板相连,从芯片的层面讲,是通过Higig 数据端口互连的。Higig数据端口是芯片间相互连接的通道,带宽一般为10G、12G和16G, 用于芯片间的数据传输。Higig数据端之间转发的报文带有Higig header, Higig header 记录了该报文的某些属性。此外,主用堆叠板和备用堆叠板都是在对普通业务板配置后得到的,他们只用于报文数据的转发,不用于业务处理。如图3所示,相应地,本实施例还提供了一种实现虚拟集群交换机的跨设备数据转发的方法,包括S301 主控板分别设置与主用堆叠板和备用堆叠板的转发逻辑;S302 主控板向主用堆叠板和备用堆叠板发送相同的报文数据;
5
S303 主用堆叠板处于工作状态时,由该主用堆叠板转发所述报文数据;在该主用堆叠板处于工作状态时,主控板设置该主用堆叠板转发所述报文数据, 并设置备用堆叠板处于非工作状态,包括该主控板阻塞其与该备用堆叠板相连接的数据端口,使得发往该备用堆叠板的报文数据被丢弃。但是,此时,该主控板与备用堆叠板的物理链路保持连通。在具体实施时,该主控板“阻塞”向备用堆叠板转发数据的实现过程包括当主控板感知到备用堆叠板上线后,设置主控板的某个寄存器,可以使得主控板向备用堆叠板转发的报文在主控板上丢弃。当然不排除其他实现方式。但此时,主控板向备用堆叠板的转发逻辑是已经设置好的,只是阻塞掉流量而已。S304 该主用堆叠板处于非工作状态时,主控板设置该备用堆叠板开始工作,由该备用堆叠板转发所述报文数据。其中,由于主控板已经分别设置了与主用堆叠板和备用堆叠板的转发逻辑,主备用堆叠板是通过命令设置好的,初始设置时需要保证主用和备用堆叠板都是正常的,之后通过响应事件(即造成主用堆叠板处于非工作状态的事件),主控板感知到主用堆叠板处于非工作状态,设置备用堆叠板开始工作;上述造成主用堆叠板处于非工作状态的事件包括主用堆叠板复位、主用堆叠板被拔除、或者主堆叠板的堆叠口全部down掉等等。主控板设置该备用堆叠板开始工作包括该主控板解除阻塞与该备用堆叠板相连接的数据端口。实施例二 本实施例中主要描述了对现有的虚拟集群交换机跨设备数据转发的方法的改进, 本实施例虚拟集群交换机跨设备数据转发的工作流程,如图4所示,包括以下步骤步骤S401 S403与背景技术中步骤SlOl S103相同;S404 设备1的主控板向设备1的主用堆叠板和备用堆叠板发送相同的报文数据;S405 设备1的主控板检测是否有主用堆叠板处于非工作状态的响应事件,如果主用堆叠板处于非工作状态,则转至步骤S407 ;否则,转至步骤S406 ;S406 设备1的主用堆叠板转发所述报文数据;S407 设备1的主控板设置设备1的备用堆叠板开始工作,由设备1的备用堆叠板转发所述报文数据;后续的步骤S408 S410与背景技术中步骤S105 S107相同。至此,通过上述步骤实现了虚拟集群交换机设备1与设备2之间跨设备的数据转发。本发明采用主备双堆叠板的方式来进行跨设备的数据转发,当链路出现故障时,可以在毫秒级时间内恢复虚拟集群交换机设备间的数据转发。应用示例在具体实施时,如图5所示,如果主用堆叠板正常工作,虚拟集群交换机跨设备数据转发的工作流程可包括以下步骤S501 设置主备堆叠板的堆叠口,主备堆叠板根据堆叠口的设置修改各自的转发表,对不需要本设备转发的报文进行收发;
其中,设置主备堆叠板的堆叠口可以通过设置modport表,将堆叠口写入对应的 modport表中来实现。设置主备堆叠板的堆叠口是将普通的万兆口设置为工作在Higig模式,此时从堆叠口发送的报文带有Higig header.S502 主备堆叠板分别建立堆叠口的trunk组;其中,“trunk”是端口汇聚的意思,它是一种封装技术,是一条点到点的链路,链路的两端可以都是交换机,也可以是交换机和路由器,还可以是主机和交换机或路由器,基于端口汇聚(trunk)功能,允许交换机与交换机、交换机与路由器、主机与交换机或路由器之间通过两个或多个端口并行连接同时传输以提供更高带宽、更大吞吐量,大幅度提供整个网络能力。本应用示例中所述trunk组用来在跨设备之间进行连接,以保证在跨设备上建立的同一个VLAN的成员能够相互通讯。S503:主控板感知到主备堆叠板的上线,修改主控板的转发表,将跨设备的报文转发到主备堆叠板;S504 主控板分别建立与主用堆叠板和备用堆叠板的trunk组;S505:主控板阻塞与备用堆叠板相连的Higig数据端口,报文数据只由主用堆叠板进行转发;此时,备用堆叠板处于待命状态(非工作状态),由于主控板阻塞了与备用堆叠板相连的Higig数据端口,则发往备用堆叠板的报文数据在主控板上被丢弃,但此时主控板与备用堆叠板之间的数据通路物理上仍然是连通的,只是由于主控板阻塞了与备用堆叠板相连接的Higig数据端口,因此备用堆叠板不会转发任何报文数据。在具体实施时,如果发生响应事件,即造成主用堆叠板处于非工作状态的事件,比如,主用堆叠板复位或者主用堆叠板被拔除,又或者主堆叠板的堆叠口全部down掉,由于主备用堆叠板是通过命令设置好的,初始设置时需要保证主用和备用堆叠板都是正常的, 之后通过响应事件再进行主备用堆叠板间的切换。那么,虚拟集群交换机跨设备数据转发的工作流程还包括以下步骤S506 发生上述响应事件,主控板感知到主用堆叠板处于非工作状态,立即解除阻塞与备用堆叠板连接的Higig端口,报文数据立刻由备用堆叠板转发。由于主控板与备用堆叠板的物理链路一直保持连通,而且任何时刻,主控板都会向主用和备用堆叠板各发送一份报文,因此当主控板感知到主用堆叠板不在位或者主用堆叠板链路断路时,流量会在毫秒级时间内得到恢复。从上述实施例可以看出,本发明提供的实现虚拟集群交换机的跨设备数据转发的方法和设备,采用主备双堆叠板的方式来进行跨设备的数据转发,当某物理设备的主控板接收到需要跨设备发送的数据时,主控板会向主用堆叠板和备用堆叠板各发送同样的报文数据,此时只有主用堆叠板进行转发,备用堆叠板处于非工作状态,此时主控板与备用堆叠板之间的数据通路物理上仍然是连通的,但是由于主控板阻塞了与备用堆叠板相连接的 Higig端口,因此备用堆叠板不会转发任何流量,此时发往备用堆叠板的流量在主控板上被丢弃。当主用堆叠板复位或者主用堆叠板拔除的时候,主控板立即解阻塞与原备用堆叠板相连的Higig端口,备用堆叠板升级为主用。由于主控板与备用堆叠板的物理链路一直保持连通,而且任何时刻,主控板都会向主用和备用堆叠板各发送同样的报文数据,因此当主控板检测到主用堆叠板不在位或者主用堆叠板链路断路时,报文数据的转发会在毫秒级时间内恢复。本发明在备用堆叠板上线后,主控板就已经设置完毕向备用堆叠板的转发逻辑, 只是通过设置主控板某些寄存器的方式阻塞向备用堆叠板发送数据。与一般倒换方案中, 在转发逻辑层面,只有当备用堆叠板真正变成主用的时候,才设置主控板的转发逻辑,令其向原先的备用堆叠板转发数据报文相比,倒换速度大大提高。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。以上所述仅为本发明的优选实施例而已,并非用于限定本发明的保护范围。根据本发明的发明内容,还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
8
权利要求
1.一种实现虚拟集群交换机跨设备数据转发的方法,包括主控板分别设置与主用堆叠板和备用堆叠板的转发逻辑;所述主控板向所述主用堆叠板和所述备用堆叠板发送相同的报文数据;所述主用堆叠板处于工作状态时,由所述主用堆叠板转发所述报文数据;所述主用堆叠板处于非工作状态时,所述主控板设置所述备用堆叠板开始工作,由所述备用堆叠板转发所述报文数据。
2.如权利要求1所述的方法,其特征在于所述主用堆叠板处于工作状态时,所述主控板设置所述备用堆叠板处于非工作状态。
3.如权利要求2所述的方法,其特征在于所述主控板设置所述备用堆叠板处于非工作状态包括所述主控板阻塞其与所述备用堆叠板相连接的数据端口,使得发往所述备用堆叠板的报文数据被丢弃。
4.如权利要求2或3所述的方法,其特征在于所述主控板设置所述备用堆叠板处于非工作状态时,所述主控板与所述备用堆叠板的物理链路保持连通。
5.如权利要求1所述的方法,其特征在于所述主控板设置所述备用堆叠板开始工作包括所述主控板解除阻塞与所述备用堆叠板相连接的数据端口。
6.一种实现虚拟集群交换机跨设备数据转发的设备,包括主控板,用于分别设置与主用堆叠板和备用堆叠板的转发逻辑,并向所述主用堆叠板和所述备用堆叠板发送相同的报文数据,在所述主用堆叠板处于工作状态时,设置所述主用堆叠板转发所述报文数据,在所述主用堆叠板处于非工作状态时,设置所述备用堆叠板开始工作;主用堆叠板,用于在其处于工作状态时,转发所述报文数据;备用堆叠板,用于在所述主用堆叠板处于非工作状态时,按照主控板的设置开始工作, 转发所述报文数据。
7.如权利要求6所述的设备,其特征在于所述主控板,还用于在所述主用堆叠板处于工作状态时,设置所述备用堆叠板处于非工作状态。
8.如权利要求7所述的设备,其特征在于所述主控板设置所述备用堆叠板处于非工作状态包括所述主控板阻塞其与所述备用堆叠板相连接的数据端口,使得发往所述备用堆叠板的报文数据被丢弃。
9.如权利要求7或8所述的设备,其特征在于所述主控板设置所述备用堆叠板处于非工作状态时,与所述备用堆叠板的物理链路保持连通。
10.如权利要求6所述的设备,其特征在于所述主控板,用于在所述主用堆叠板处于非工作状态时,设置所述备用堆叠板开始工作,包括所述主控板解除阻塞与所述备用堆叠板相连接的数据端口。
全文摘要
本发明公开了一种实现虚拟集群交换机跨设备数据转发的方法和设备,所述方法包括主控板分别设置与主用堆叠板和备用堆叠板的转发逻辑;所述主控板向所述主用堆叠板和所述备用堆叠板发送相同的报文数据;所述主用堆叠板处于工作状态时,由所述主用堆叠板转发所述报文数据;所述主用堆叠板处于非工作状态时,所述主控板设置所述备用堆叠板开始工作,由所述备用堆叠板转发所述报文数据。这种方法和设备实现了虚拟集群交换机跨设备间的数据转发,既考虑了虚拟集群交换机之间数据链路的可靠性,又保证了当链路出现故障时,可以在毫秒级时间内恢复虚拟集群交换机设备间的数据转发。
文档编号H04L12/56GK102231703SQ20111017246
公开日2011年11月2日 申请日期2011年6月24日 优先权日2011年6月24日
发明者周哲 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1