一种lacp负载均衡的方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种LACP负载均衡的方法及系统。
【背景技术】
[0002]链路聚合(Link Aggregat1n)是一种将多个物理端口捆绑成一个逻辑端口的技术。该技术可以将多个物理连接当作一个单一的逻辑连接来处理,允许两个网络设备之间通过多个端口并行连接,同时传输数据,以提供更高的带宽和吞吐量,提高系统稳定性。链路聚合分为手工聚合、静态聚合和动态聚合三种,LACP是实现动态聚合的协议,能够提供链路备份,增强链路带宽。在LACP协议控制下,LACP协议通过链路聚合控制协议数据单元(Link Aggregat1n Control Protocol Data Unit,LACPDU)与对端交互信息。LACP使能后位于动态聚合组中的物理端口将通过发送LACPDU向对端通告自己的系统LACP协议优先级、系统MAC、端口的LACP协议优先级、端口号和操作Key。对端接收到LACPDU后,将其中的信息与其他端口所收到的信息进行比较,以选择能够处于Selected状态的接口,从而双方可以对接口处于Selected状态达成一致,从而使得多条链路汇聚成一条带宽更高的逻辑链路。
[0003]随着网络通讯技术的迅速发展,链路聚合技术已经被越来越多的应用于数据传输过程中。LACP在两端设备之间互发报文进行通信、协商、并通告故障,由协议来实现聚合和解聚合等。
[0004]链路聚合以后,链路带宽在理论上可以倍增。比如,5条子链路聚合则带宽可以倍增5倍;但实际达不到这样的效果,因为网络流量很难均匀分布在各个子链路上,导致链路带宽无法增大到预期的倍数。
[0005]现有技术中,进行链路聚合时,负载均衡机制是选取一个报文中的某个字段,对其进行哈希计算。其中,选取的报文字段可以有多种,包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。然而,哈希算法一般是采用除法运算,除数为子链路的总数。这样的计算方式导致报文总是落在某一个子链路上,但很难均匀分布在各个子链路上。
[0006]如图1所示,当若干个电脑终端访问外网时,若负载均衡机制选择的报文字段为目的MAC时,则流量都将只分布在一条子链路上,实际带宽没有增加。
[0007]因此,需要设计一种LACP负载均衡方案以实现网络流量的均匀分布,从而增加链路带宽。
【发明内容】
[0008]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种LACP负载均衡的方法及系统,动态切换所采用的报文字段,选择流量分布最为均匀的一种报文字段作为最终选择的负载均衡机制,使得流量相对均匀的分布在各子链路上。
[0009]为实现上述目的及其他相关目的,本发明提供一种LACP负载均衡的方法,包括以下步骤:步骤S1、每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数;步骤S2、所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。
[0010]于本发明的一实施例中,所述报文字段包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。
[0011]于本发明的一实施例中,所述步骤S1中,通过以下步骤获取一种报文字段下的负载均衡参数:
[0012]11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一;
[0013]12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量;
[0014]13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。
[0015]于本发明的一实施例中,所述步骤S1中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。
[0016]于本发明的一实施例中,还包括步骤S3、每间隔一循环时间,返回步骤S1,重新选择新的报文字段作为负载均衡机制。
[0017]同时,本发明还提供一种LACP负载均衡的系统,包括获取模块和选择模块;
[0018]所述获取模块用于每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数;
[0019]所述选择模块用于在所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。
[0020]于本发明的一实施例中,所述报文字段包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。
[0021]于本发明的一实施例中,所述获取模块通过以下步骤获取一种报文字段下的负载均衡参数:
[0022]11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一;
[0023]12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量;
[0024]13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。
[0025]于本发明的一实施例中,所述获取模块中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。
[0026]于本发明的一实施例中,还包括循环模块,所述循环模块用于每间隔一循环时间,重新选择新的报文字段作为负载均衡机制。
[0027]如上所述,本发明的LACP负载均衡的方法及系统,具有以下有益效果:
[0028](1)动态切换所采用的报文字段,选择流量分布最为均匀的一种报文字段作为最终选择的负载均衡机制,使得流量相对均匀的分布在各子链路上;
[0029](2)提高了链路带宽,且对报文顺序性的影响较小;
[0030](3)周期性地进行一次负载均衡机制选择,满足链路实时变化的需求。
【附图说明】
[0031 ]图1显示为现有技术中链路聚合的结构示意图;
[0032]图2显示为本发明的LACP负载均衡的方法的一个优选实施例的流程图;
[0033]图3显示为本发明的LACP负载均衡的方法的另一个优选实施例的流程图;
[0034]图4显示为本发明的LACP负载均衡的系统的一个优选实施例的结构示意图;
[0035]图5显示为本发明的LACP负载均衡的系统的另一个优选实施例的结构示意图。
[0036]元件标号说明
[0037]1 获取模块
[0038]2 选择模块
[0039]3 循环模块
【具体实施方式】
[0040]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0041]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0042]在LACP负载均衡机制中,可以选择的报文字段选取的报文字段包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。本发明的LACP负载均衡的方法及系统通过自动切换所选择的报文字段,选择一种负载均衡效果最好的报文字段来实现负载均衡机制,使网络流量相对均匀的分布在各个子链路上,且每个一段时间进行一次报文字段的选择,以确保链路带宽时刻处于最优状态。
[0043]参照图2,本发明的LACP负载均衡的方法包括以下步骤:
[0044]步骤S1、每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数。
[0045]优选地,每间隔一分钟采用一种报文字段来实现负载均衡机制。由于共有源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP这六种报文字段,故在六分钟内,分别采用上述六种报文字段实现负载均衡机制,并记录每个报文字段下的负载均衡参数。
[0046]具体地,通过以下步骤获取一种报文字段下的负载均衡参数:
[0047]11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一。
[0048]其中,在具体实现时,可以为每个子链路增加一个计数
器,子链路每转发一个报文,对应的计数器加一,从而完成子链路上的报文转发数量的计数。
[0049]12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量。
[0050]其中,根据各个子链路上的报文转发数量,能够判断负载均衡效果。各个子链路上的报文转发数量差距越小,表示负载均衡效果越好;反之,各个子链路上的报文转发数量差距越大,表示负载均衡效果越差。
[0051]13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。
[0052]其中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。
[0053]步骤S2、所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。
[0054]显然,负载均衡参数大于等于0,且小于等于1。负载均衡参数越小,负载均衡效果越好;负载均衡参数越大,负载均衡效果越差。
[0055]优选地,如图3所示,还包括步骤S3、每间隔一循环时间,返回步骤S1,重新选择新的报文字段作为负载均衡机制。
[0056]优选地,循环时间为1小时。也就是说,每间隔1小时,再进行一次负载均衡机制的重新选择,以保证网络流量能够实时相对均匀的分布在各个子链路上,确保链路带宽时刻处于最优状态。
[0057]其中,在具体实现时,可以增加一个全局定时器,用于为每次负载均衡机制的选择做定时。
[0058]交换机在转发报文时,需要考虑报文的顺序性,即先收到的报文应先转发,后收到的报文后转发。由于各子链路上的传输时延、拥塞丢包情况都不一样,所以,同一去向的报文应尽量在同一子链路上传输,以确保顺序不变。因此,采用本发明的LACP负载均衡的方法使得切换频率较低,对报文顺序性的影响较小。
[0059]参照图4,本发明的LACP负载均衡的方法系统包括获取模块1和选择模块2。
[0060]获取模块1用于每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数。
[0061]优选地,获取模块1每间隔一分钟采用一种报文字段来实现负载均衡机制。由于共有源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP这六种报文字段,故在六分钟内,分别采用上述六种报文字段实现负载均衡机制,并记录每个报文字段下的负载均衡参数。
[0062]具体地,获取模块1通过以下步骤获取一种报文字段下的负载均衡参数:
[0063]11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一。
[0064]其中,在具体实现时,可以为每个子链路增加一个计数器,子链路每转发一个报文,对应的计数器加一,从而完成子链路上的报文转发数量的计数。
[0065]12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量。
[0066]其中,根据各个子链路上的报文转发数量,能够判断负载均衡效果。各个子链路上的报文转发数量差距越小,表示负载均衡效果越好;反之,各个子链路上的报文转发数量差距越大,表示负载均衡效果越差。
[0067]13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。
[0068]其中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。
[0069]选择模块2与获取模块1相连,用于在所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。
[0070]显然,负载均衡参数大于等于0,且小于等于1。负载均衡参数越小,负载均衡效果越好;负载均衡参数越大,负载均衡效果越差。
[0071]优选地,如图5所示,还包括循环模块3,循环模块3与获取模块1相连,用于每间隔一循环时间,重新选择新的报文字段作为负载均衡机制。
[0072]优选地,循环时间为1小时。也就是说,每间隔1小时,再进行一次负载均衡机制的重新选择,以保证网络流量能够实时相对均匀的分布在各个子链路上,确保链路带宽时刻处于最优状态。
[0073]其中,在具体实现时,可以增加一个全局定时器,用于为每次负载均衡机制的选择做定时。
[0074]综上所述,本发明的LACP负载均衡的方法及系统动态切换所采用的报文字段,选择流量分布最为均匀的一种报文字段作为最终选择的负载均衡机制,使得流量相对均匀的分布在各子链路上;提高了链路带宽,且对报文顺序性的影响较小;周期性地进行一次负载均衡机制选择,满足链路实时变化的需求。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0075]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1.一种LACP负载均衡的方法,其特征在于:包括以下步骤: 步骤S1、每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数; 步骤S2、所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。2.根据权利要求1所述的LACP负载均衡的方法,其特征在于:所述报文字段包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。3.根据权利要求1所述的LACP负载均衡的方法,其特征在于:所述步骤S1中,通过以下步骤获取一种报文字段下的负载均衡参数: 11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一; 12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量; 13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。4.根据权利要求3所述的LACP负载均衡的方法,其特征在于:所述步骤S1中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。5.根据权利要求1所述的LACP负载均衡的方法,其特征在于:还包括步骤S3、每间隔一循环时间,返回步骤S1,重新选择新的报文字段作为负载均衡机制。6.一种LACP负载均衡的系统,其特征在于:包括获取模块和选择模块; 所述获取模块用于每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数; 所述选择模块用于在所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。7.根据权利要求6所述的LACP负载均衡的系统,其特征在于:所述报文字段包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。8.根据权利要求6所述的LACP负载均衡的系统,其特征在于:所述获取模块通过以下步骤获取一种报文字段下的负载均衡参数: 11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一; 12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量; 13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。9.根据权利要求8所述的LACP负载均衡的系统,其特征在于:所述获取模块中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。10.根据权利要求6所述的LACP负载均衡的系统,其特征在于:还包括循环模块,所述循环模块用于每间隔一循环时间,重新选择新的报文字段作为负载均衡机制。
【专利摘要】本发明提供一种LACP负载均衡的方法及系统,包括以下步骤:步骤S1、每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数;步骤S2、所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。本发明的LACP负载均衡的方法及系统动态切换所采用的报文字段,选择流量分布最为均匀的一种报文字段作为最终选择的负载均衡机制,使得流量相对均匀的分布在各子链路上;提高了链路带宽,且对报文顺序性的影响较小;周期性地进行一次负载均衡机制选择,满足链路实时变化的需求。
【IPC分类】H04L12/803, H04L12/709
【公开号】CN105490958
【申请号】CN201510908048
【发明人】李勇前
【申请人】上海斐讯数据通信技术有限公司
【公开日】2016年4月13日
【申请日】2015年12月9日