一种基于虚拟交换集群的流量转发方法及系统的制作方法

文档序号:7856211阅读:182来源:国知局
专利名称:一种基于虚拟交换集群的流量转发方法及系统的制作方法
技术领域
本发明涉及数据通信领域,尤其涉及一种基于虚拟交换集群的流量转发方法及系统。
背景技术
虚拟交换集群(Virtual Switch Cluster,VSC)是一种网络虚拟化技术的应用,一般将多台单独运行的物理设备通过堆叠板连接成一台虚拟联合设备。各台物理设备之间通过拓扑协议发现其他物理设备,并根据策略选择主设备(Master)和从设备(Slave)。VSC场景中只存在一台主设备,其它设备均为从设备。由于多台物理设备虚拟化为一台设备,所以不同物理设备上的端口可以聚合为一个逻辑端口,与单设备环境类似,VSC场景下也可以通过多端口链路聚合命令进行聚合端口的配置。但是,单设备环境聚合端口完全基于用户设置的hash策略在隶属于该聚合组的所有成员端口间进行流量分担,而VSC环境设备间堆叠链路的带宽十分有限,因此跨设备聚合链路的流量分担必须考虑到设备间堆叠链路带宽的有限性,如果将单设备环境的流量分担策略应用于VSC场景,仍然选择在属于聚合组的所有成员端口进行负载分担,很可能受堆叠链路带宽的限制,影响流量转发性能。

发明内容
有鉴于此,本发明的主要目的在于提供一种基于虚拟交换集群的流量转发方法及系统,能够保证虚拟交换集群场景下的流量转发性能。为达到上述目的,本发明的技术方案是这样实现的—种基于虚拟交换集群的流量转发方法,对虚拟交换集群中的物理设备分别设置聚合组成员列表和聚合组流量转发成员列表,所述聚合组成员列表存储聚合组所有成员信息,所述聚合组流量转发成员列表存储所述物理设备用于转发流量的聚合组成员信息,所述聚合组流量转发成员列表在初始状态下只包含聚合组本地成员信息,该方法包括判定物理设备的流量超过所述物理设备对应的聚合组流量转发成员列表中成员的总带宽或者一与所述聚合组流量转发成员列表中成员的总带宽相关的阈值,则从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表,并根据修改后的聚合组流量转发成员列表进行流量转发。所述从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表为获取聚合组成员列表和聚合组流量转发成员列表的差集;从所述差集中选择至少一个聚合组成员加入到所述聚合组流量转发成员列表中,所述选择的聚合组成员的剩余带宽不小于所述差集中剩余的任一聚合组成员的剩余带宽。该方法还包括
判定物理设备对应的聚合组流量转发成员列表中包含聚合组非本地成员,且从所述聚合组非本地成员转发的流量小于所述聚合组流量转发成员列表中除去所述聚合组非本地成员的所有聚合组成员的剩余带宽之和,则将所述聚合组非本地成员从聚合组流量转发成员列表中移除。该方法还包括当聚合组成员发生故障时,将所述聚合组成员信息从聚合组成员列表,或者从聚合组成员列表和聚合组流量转发成员列表中移除。
该方法还包括聚合组故障成员恢复正常后,判定所述聚合组成员为物理设备的聚合组本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表和聚合组流量转发成员列表;判定所述聚合组成员为物理设备的聚合组非本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表。一种基于虚拟交换集群的流量转发系统,包括存储模块、流量监控模块、流量分担模块和流量转发模块;其中,所述存储模块,用于存储聚合组成员列表和聚合组流量转发成员列表,所述聚合组成员列表存储聚合组所有成员信息,所述聚合组流量转发成员列表存储所述物理设备用于转发流量的聚合组成员信息,所述聚合组流量转发成员列表在初始状态下只包含聚合组本地成员信息;所述流量监控模块,用于监控虚拟交换集群中物理设备的流量;所述流量分担模块,用于在物理设备的流量超过所述物理设备对应的聚合组流量转发成员列表中成员的总带宽或者一与所述聚合组流量转发成员列表中成员的总带宽相关的阈值时,从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表;所述流量转发模块,用于根据存储模块存储的聚合组流量转发成员列表进行流量转发。所述流量分担模块,具体用于获取聚合组成员列表和聚合组流量转发成员列表的差集;从所述差集中选择至少一个聚合组成员加入到所述聚合组流量转发成员列表中,所述选择的聚合组成员的剩余带宽不小于所述差集中剩余的任一聚合组成员的剩余带宽。该系统还包括优化模块,所述优化模块,用于在判定物理设备对应的聚合组流量转发成员列表中包含聚合组非本地成员,且从所述聚合组非本地成员转发的流量小于所述聚合组流量转发成员列表中除去所述聚合组非本地成员的所有聚合组成员的剩余带宽之和时,将所述聚合组非本地成员从聚合组流量转发成员列表中移除。该系统还包括故障处理模块,所述故障处理模块,用于在当聚合组成员发生故障时,将所述聚合组成员信息从聚合组成员列表,或者从聚合组成员列表和聚合组流量转发成员列表中移除。所述故障处理模块,还用于在聚合组故障成员恢复正常后,判定所述聚合组成员为物理设备的聚合组本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表和聚合组流量转发成员列表;判定所述聚合组成员为物理设备的聚合组非本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表。
本发明基于虚拟交换集群的流量转发方法及系统,对虚拟交换集群中的物理设备分别设置聚合组成员列表和聚合组流量转发成员列表,所述聚合组成员列表存储聚合组所有成员信息,所述聚合组流量转发成员列表存储所述物理设备用于转发流量的聚合组成员信息,所述聚合组流量转发成员列表在初始状态下只包含聚合组本地成员信息,判定物理设备的流量超过所述物理设备对应的聚合组流量转发成员列表中成员的总带宽或者一与所述聚合组流量转发成员列表中成员的总带宽相关的阈值,则从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表,并根据修改后的聚合组流量转发成员列表进行流量转发。通过本发明,能够在尽量少占用堆叠链路有限带宽的前提下,实现虚拟交换集群场景下的流量转发,从而能够保证虚拟交换集群场景下的流量转发性能。


图I为本发明实施例一种基于虚拟交换集群的流量转发方法流程示意图;图2为本发明实施例一种基于虚拟交换集群的流量转发系统结构示意图;图3为本发明另一实施例中基于虚拟交换集群的流量转发系统结构示意图;图4为本发明再一实施例中基于虚拟交换集群的流量转发系统结构示意图;图5为本发明实施例中初始状态和流量没有超过聚合组本地成员总带宽时的流量转发策略示意图;图6为本发明实施例中当从设备的流量超过聚合组流量转发成员总带宽时的流量转发策略示意图;图7为本发明实施例中聚合组成员端口发生故障时的流量转发策略示意图。
具体实施例方式本发明的基本思想是对虚拟交换集群中的物理设备分别设置聚合组成员列表和聚合组流量转发成员列表,初始状态,从聚合组成员列表中选择本地成员加入到所述聚合组流量转发成员列表;判定物理设备的流量小于所述物理设备对应的聚合组流量转发成员列表中成员的总带宽或者一与所述聚合组流量转发成员列表中成员的总带宽相关的阈值时,则从聚合组成员列表中选择本地成员加入到所述聚合组流量转发成员列表。图I为本发明实施例一种基于虚拟交换集群的流量转发方法流程示意图,如图I所示,该方法包括步骤101 :判定物理设备的流量超过所述物理设备对应的聚合组流量转发成员列表中成员的总带宽或者一与所述聚合组流量转发成员列表中成员的总带宽相关的阈值。本发明中,对虚拟交换集群中的物理设备分别设置聚合组成员列表和聚合组流量转发成员列表,所述聚合组成员列表存储聚合组所有成员信息(一般指端口信息),所述聚合组流量转发成员列表存储所述物理设备用于转发流量的聚合组成员信息,换言之,聚合组流量转发成员列表是聚合组成员列表的子集,只有聚合组流量转发成员列表中的端口才具有转发流量的资格。所述聚合组流量转发成员列表在初始状态下只包含聚合组本地成员信息(也可称为本地设备成员)。需要说明的是,虚拟交换集群中各物理设备的聚合组成员列表是相同的,但不同的物理设备对应不同的聚合组流量转发成员列表。
步骤102 :从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表,并根据修改后的聚合组流量转发成员列表进行流量转发。可选的,所述从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表为获取聚合组成员列表和聚合组流量转发成员列表的差集;从所述差集中选择至少一个聚合组成员加入到所述聚合组流量转发成员列表中,所述选择的聚合组成员的剩余带宽不小于所述差集中剩余的任一聚合组成员的剩余带宽。可选的,该方法还包括判定物理设备对应的聚合组流量转发成员列表中包含聚合组非本地成员,且从所述聚合组非本地成员转发的流量小于所述聚合组流量转发成员列表中除去所述聚合组非本地成员的所有聚合组成员的剩余带宽之和,则将所述聚合组非本地成员从聚合组流量转发成员列表中移除。
可选的,该方法还包括当聚合组成员发生故障时,将所述聚合组成员信息从聚合组成员列表,或者从聚合组成员列表和聚合组流量转发成员列表中移除。具体的,如果仅聚合组成员列表中包含聚合组故障成员信息,则将该聚合组故障成员信息从所述聚合组成员列表中删除,如果聚合组成员列表和聚合组流量转发成员列表中均包含聚合组故障成员信息,则将该聚合组故障成员信息同时从所述聚合组成员列表和聚合组流量转发成员列表中移除。可选的,该方法还包括聚合组故障成员恢复正常后,判定所述聚合组成员为物理设备的聚合组本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表和聚合组流量转发成员列表;判定所述聚合组成员为物理设备的聚合组非本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表。本发明还相应地提出了一种基于虚拟交换集群的流量转发系统,图2为本发明实施例一种基于虚拟交换集群的流量转发系统结构示意图,如图2所示,该系统包括存储模块、流量监控模块、流量分担模块和流量转发模块;其中,所述存储模块,用于存储聚合组成员列表和聚合组流量转发成员列表,所述聚合组成员列表存储聚合组所有成员信息,所述聚合组流量转发成员列表存储所述物理设备用于转发流量的聚合组成员信息,所述聚合组流量转发成员列表在初始状态下只包含聚合组本地成员信息;所述流量监控模块,用于监控虚拟交换集群中物理设备的流量;流量监控模块实时统计聚合链路各个成员端口的流量,该流量一般指各个物理设备发往该端口的流量。所述流量分担模块,用于根据流量监控模块统计的结果重新分配聚合组流量转发成员列表,具体的,在物理设备的流量超过所述物理设备对应的聚合组流量转发成员列表中成员的总带宽或者一与所述聚合组流量转发成员列表中成员的总带宽相关的阈值时,从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表;所述流量转发模块,用于根据存储模块存储的聚合组流量转发成员列表进行流量转发。可选的,所述流量分担模块,具体用于获取聚合组成员列表和聚合组流量转发成员列表的差集;从所述差集中选择至少一个聚合组成员加入到所述聚合组流量转发成员列表中,所述选择的聚合组成员的剩余带宽不小于所述差集中剩余的任一聚合组成员的剩余带宽。
图3为本发明另一实施例中基于虚拟交换集群的流量转发系统结构示意图,如图3所示,该系统还包括优化模块,所述优化模块,用于在判定物理设备对应的聚合组流量转发成员列表中包含聚合组非本地成员,且从所述聚合组非本地成员转发的流量小于所述聚合组流量转发成员列表中除去所述聚合组非本地成员的所有聚合组成员的剩余带宽之和时,将所述聚合组非本地成员从聚合组流量转发成员列表中移除。图4为本发明再一实施例中基于虚拟交 换集群的流量转发系统结构示意图,如图4所示,该系统还包括故障处理模块,所述故障处理模块,用于在当聚合组成员发生故障时,将所述聚合组成员信息从聚合组成员列表,或者从聚合组成员列表和聚合组流量转发成员列表中移除。故障处理模块需要实时监控聚合组成员列表中各端口的链路状态,及时处理聚合组成员端口链路故障以及故障恢复事件。可选的,所述故障处理模块,还用于在聚合组故障成员恢复正常后,判定所述聚合组成员为物理设备的聚合组本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表和聚合组流量转发成员列表;判定所述聚合组成员为物理设备的聚合组非本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表。需要说明的是,上述基于虚拟交换集群的流量转发系统中的模块可以全部位于物理设备上,也可部分位于物理设备上。下面结合具体实施例对本发明作进一步详细说明,实施例本实施例中,VSC包括两台物理设备(一主一备),链路聚合组成员列表包含四个成员端口(主设备和从设备各包含两个成员端口)。图5为本发明实施例中初始状态和流量没有超过聚合组本地成员总带宽时的流量转发策略示意图,如图5所示,当前经过主从设备的流量分别由其聚合组的本地成员来转发;图6为本发明实施例中当从设备的流量超过聚合组流量转发成员总带宽时的流量转发策略示意图,如图6所示,对于从设备,将聚合组成员列表中某些非本地成员端口(主设备的端口)加入到了聚合组流量转发成员列表,具体实现步骤如下流量监控模块周期性监控并记录链路聚合组成员列表中所有成员端口(包括本地和非本地)的当前流量。当流量监控模块发现需要从聚合组转发的流量超过当前聚合组流量转发成员总带宽时,流量监控模块会通知流量分担模块并告知聚合组所需要的额外带宽。流量分担模块按照如下策略选择端口 a)获取聚合组成员列表和聚合组流量转发成员列表的差集。b)选择差集中具有最大剩余带宽的端口,将该端口从差集中移除并加入到集合B中。c)计算集合B中所有端口的剩余带宽之和,并与所需要的额外带宽进行比较。如果大于所需要的额外带宽,则查找结束,反之返回b)继续查找。d)将集合B中的端口添加到聚合组流量转发成员列表。如果聚合组流量转发成员列表包含非本地成员端口,且从该非本地端口转发的流量小于该聚合组流量转发成员列表中除去该端口的所有端口的剩余带宽之和,则将该非本地成员端口从聚合组流量转发成员列表中移除。当聚合组流量转发成员列表只包含本地成员端口,则该操作结束。每次移除的端口可以是一个也可以是多个。本实施例中,当故障处理模块检测到聚合组成员端口发生故障时,会将发生故障的成员端口从聚合组成员列表和聚合组流量转发成员列表中移除。并根据上面的策略进行聚合组流量转发成员列表的更新。当聚合组流量转发成员列表中不存在任何本地成员端口时,则流量完全由聚合组成员列表中的非本地 成员进行转发,相应的流量转发策略如图7所示。故障端口恢复正常后,故障处理模块判定所述聚合组成员为物理设备的聚合组本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表和聚合组流量转发成员列表;判定所述聚合组成员为物理设备的聚合组非本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.ー种基于虚拟交換集群的流量转发方法,其特征在于,对虚拟交换集群中的物理设备分别设置聚合组成员列表和聚合组流量转发成员列表,所述聚合组成员列表存储聚合组所有成员信息,所述聚合组流量转发成员列表存储所述物理设备用于转发流量的聚合组成员信息,所述聚合组流量转发成员列表在初始状态下只包含聚合组本地成员信息, 该方法包括判定物理设备的流量超过所述物理设备对应的聚合组流量转发成员列表中成员的总带宽或者一与所述聚合组流量转发成员列表中成员的总带宽相关的阈值,则从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表,并根据修改后的聚合组流量转发成员列表进行流量转发。
2.根据权利要求I所述的方法,其特征在于,所述从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表为 获取聚合组成员列表和聚合组流量转发成员列表的差集; 从所述差集中选择至少ー个聚合组成员加入到所述聚合组流量转发成员列表中,所述选择的聚合组成员的剩余带宽不小于所述差集中剰余的任一聚合组成员的剩余带宽。
3.根据权利要求2所述的方法,其特征在于,该方法还包括 判定物理设备对应的聚合组流量转发成员列表中包含聚合组非本地成员,且从所述聚合组非本地成员转发的流量小于所述聚合组流量转发成员列表中除去所述聚合组非本地成员的所有聚合组成员的剰余带宽之和,则将所述聚合组非本地成员从聚合组流量转发成员列表中移除。
4.根据权利要求I至3任一项所述的方法,其特征在于,该方法还包括 当聚合组成员发生故障时,将所述聚合组成员信息从聚合组成员列表,或者从聚合组成员列表和聚合组流量转发成员列表中移除。
5.根据权利要求4所述的方法,其特征在于,该方法还包括 聚合组故障成员恢复正常后,判定所述聚合组成员为物理设备的聚合组本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表和聚合组流量转发成员列表;判定所述聚合组成员为物理设备的聚合组非本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表。
6.ー种基于虚拟交換集群的流量转发系统,其特征在干,该系统包括存储模块、流量监控模块、流量分担模块和流量转发模块;其中, 所述存储模块,用于存储聚合组成员列表和聚合组流量转发成员列表,所述聚合组成员列表存储聚合组所有成员信息,所述聚合组流量转发成员列表存储所述物理设备用于转发流量的聚合组成员信息,所述聚合组流量转发成员列表在初始状态下只包含聚合组本地成员信息; 所述流量监控模块,用于监控虚拟交換集群中物理设备的流量; 所述流量分担模块,用于在物理设备的流量超过所述物理设备对应的聚合组流量转发成员列表中成员的总带宽或者一与所述聚合组流量转发成员列表中成员的总带宽相关的阈值时,从聚合组成员列表中选择非本地成员加入到所述聚合组流量转发成员列表; 所述流量转发模块,用于根据存储模块存储的聚合组流量转发成员列表进行流量转发。
7.根据权利要求6所述的系统,其特征在干,所述流量分担模块,具体用于获取聚合组成员列表和聚合组流量转发成员列表的差集;从所述差集中选择至少一个聚合组成员加入到所述聚合组流量转发成员列表中,所述选择的聚合组成员的剩余带宽不小于所述差集中剩余的任一聚合组成员的剩余带宽。
8.根据权利要求6所述的系统,其特征在于,该系统还包括优化模块, 所述优化模块,用于在判定物理设备对应的聚合组流量转发成员列表中包含聚合组非本地成员,且从所述聚合组非本地成员转发的流量小于所述聚合组流量转发成员列表中除去所述聚合组非本地成员的所有聚合组成员的剩余带宽之和时,将所述聚合组非本地成员从聚合组流量转发成员列表中移除。
9.根据权利要求6至8任一项所述的系统,其特征在于,该系统还包括故障处理模块, 所述故障处理模块,用于在当聚合组成员发生故障时,将所述聚合组成员信息从聚合组成员列表,或者从聚合组成员列表和聚合组流量转发成员列表中移除。
10.根据权利要求9所述的系统,其特征在于, 所述故障处理模块,还用于在聚合组故障成员恢复正常后,判定所述聚合组成员为物理设备的聚合组本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表和聚合组流量转发成员列表;判定所述聚合组成员为物理设备的聚合组非本地成员,则将所述聚合组成员信息加入所述物理设备对应的聚合组成员列表。
全文摘要
本发明公开了一种基于虚拟交换集群的流量转发方法,包括设置聚合组成员列表存储聚合组所有成员信息;设置聚合组流量转发成员列表存储用于转发流量的聚合组成员信息,该列表在初始状态下只包含聚合组本地成员信息,判定物理设备的流量超过聚合组流量转发成员列表中成员的总带宽或者一与该总带宽相关的阈值,则从聚合组成员列表中选择非本地成员加入到聚合组流量转发成员列表,根据修改后的聚合组流量转发成员列表进行流量转发。本发明还相应地公开了一种基于虚拟交换集群的流量转发系统。通过本发明,能够在尽量少占用堆叠链路有限带宽的前提下,实现虚拟交换集群场景下的流量转发,从而保证虚拟交换集群场景下的流量转发性能。
文档编号H04L12/56GK102769568SQ20121025024
公开日2012年11月7日 申请日期2012年7月19日 优先权日2012年7月19日
发明者周哲 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1