一种lacp负载均衡的方法及系统的制作方法

文档序号:9730102阅读:1915来源:国知局
一种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]其中,在具体实现时,可以为每个子链路增加一个计数
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1