发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种LACP负载均衡的方法及系统,动态切换所采用的报文字段,选择流量分布最为均匀的一种报文字段作为最终选择的负载均衡机制,使得流量相对均匀的分布在各子链路上。
为实现上述目的及其他相关目的,本发明提供一种LACP负载均衡的方法,包括以下步骤:步骤S1、每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数;步骤S2、所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。
于本发明的一实施例中,所述报文字段包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。
于本发明的一实施例中,所述步骤S1中,通过以下步骤获取一种报文字段下的负载均衡参数:
11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一;
12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量;
13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。
于本发明的一实施例中,所述步骤S1中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。
于本发明的一实施例中,还包括步骤S3、每间隔一循环时间,返回步骤S1,重新选择新的报文字段作为负载均衡机制。
同时,本发明还提供一种LACP负载均衡的系统,包括获取模块和选择模块;
所述获取模块用于每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数;
所述选择模块用于在所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。
于本发明的一实施例中,所述报文字段包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。
于本发明的一实施例中,所述获取模块通过以下步骤获取一种报文字段下的负载均衡参数:
11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一;
12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量;
13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。
于本发明的一实施例中,所述获取模块中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。
于本发明的一实施例中,还包括循环模块,所述循环模块用于每间隔一循环时间,重新选择新的报文字段作为负载均衡机制。
如上所述,本发明的LACP负载均衡的方法及系统,具有以下有益效果:
(1)动态切换所采用的报文字段,选择流量分布最为均匀的一种报文字段作为最终选择的负载均衡机制,使得流量相对均匀的分布在各子链路上;
(2)提高了链路带宽,且对报文顺序性的影响较小;
(3)周期性地进行一次负载均衡机制选择,满足链路实时变化的需求。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在LACP负载均衡机制中,可以选择的报文字段选取的报文字段包括源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP。本发明的LACP负载均衡的方法及系统通过自动切换所选择的报文字段,选择一种负载均衡效果最好的报文字段来实现负载均衡机制,使网络流量相对均匀的分布在各个子链路上,且每个一段时间进行一次报文字段的选择,以确保链路带宽时刻处于最优状态。
参照图2,本发明的LACP负载均衡的方法包括以下步骤:
步骤S1、每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数。
优选地,每间隔一分钟采用一种报文字段来实现负载均衡机制。由于共有源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP这六种报文字段,故在六分钟内,分别采用上述六种报文字段实现负载均衡机制,并记录每个报文字段下的负载均衡参数。
具体地,通过以下步骤获取一种报文字段下的负载均衡参数:
11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一。
其中,在具体实现时,可以为每个子链路增加一个计数器,子链路每转发一个报文,对应的计数器加一,从而完成子链路上的报文转发数量的计数。
12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量。
其中,根据各个子链路上的报文转发数量,能够判断负载均衡效果。各个子链路上的报文转发数量差距越小,表示负载均衡效果越好;反之,各个子链路上的报文转发数量差距越大,表示负载均衡效果越差。
13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。
其中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。
步骤S2、所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。
显然,负载均衡参数大于等于0,且小于等于1。负载均衡参数越小,负载均衡效果越好;负载均衡参数越大,负载均衡效果越差。
优选地,如图3所示,还包括步骤S3、每间隔一循环时间,返回步骤S1,重新选择新的报文字段作为负载均衡机制。
优选地,循环时间为1小时。也就是说,每间隔1小时,再进行一次负载均衡机制的重新选择,以保证网络流量能够实时相对均匀的分布在各个子链路上,确保链路带宽时刻处于最优状态。
其中,在具体实现时,可以增加一个全局定时器,用于为每次负载均衡机制的选择做定时。
交换机在转发报文时,需要考虑报文的顺序性,即先收到的报文应先转发,后收到的报文后转发。由于各子链路上的传输时延、拥塞丢包情况都不一样,所以,同一去向的报文应尽量在同一子链路上传输,以确保顺序不变。因此,采用本发明的LACP负载均衡的方法使得切换频率较低,对报文顺序性的影响较小。
参照图4,本发明的LACP负载均衡的方法系统包括获取模块1和选择模块2。
获取模块1用于每间隔一预设时间采用一种报文字段来实现负载均衡机制,获取该报文字段下的负载均衡参数。
优选地,获取模块1每间隔一分钟采用一种报文字段来实现负载均衡机制。由于共有源MAC、目的MAC、源IP、目的IP、源MAC及目的MAC、源IP及目的IP这六种报文字段,故在六分钟内,分别采用上述六种报文字段实现负载均衡机制,并记录每个报文字段下的负载均衡参数。
具体地,获取模块1通过以下步骤获取一种报文字段下的负载均衡参数:
11)在一预设时间内选择一种报文字段作为负载均衡机制,在转发报文时,采用哈希算法计算出一个子链路,并将该子链路上的报文转发数量加一。
其中,在具体实现时,可以为每个子链路增加一个计数器,子链路每转发一个报文,对应的计数器加一,从而完成子链路上的报文转发数量的计数。
12)在预设时间结束后,获取预设时间内各个子链路上的报文转发数量。
其中,根据各个子链路上的报文转发数量,能够判断负载均衡效果。各个子链路上的报文转发数量差距越小,表示负载均衡效果越好;反之,各个子链路上的报文转发数量差距越大,表示负载均衡效果越差。
13)将所有子链路的报文转发数量中的最大值与最小值的差值与最大值的比值,作为该报文字段下的负载均衡参数。
其中,如果预设时间内,所有子链路都没有转发报文,则直接将该报文字段下的负载均衡参数置为1。
选择模块2与获取模块1相连,用于在所有报文字段遍历结束后,选择负载均衡参数最小的报文字段作为最终选择的负载均衡机制。
显然,负载均衡参数大于等于0,且小于等于1。负载均衡参数越小,负载均衡效果越好;负载均衡参数越大,负载均衡效果越差。
优选地,如图5所示,还包括循环模块3,循环模块3与获取模块1相连,用于每间隔一循环时间,重新选择新的报文字段作为负载均衡机制。
优选地,循环时间为1小时。也就是说,每间隔1小时,再进行一次负载均衡机制的重新选择,以保证网络流量能够实时相对均匀的分布在各个子链路上,确保链路带宽时刻处于最优状态。
其中,在具体实现时,可以增加一个全局定时器,用于为每次负载均衡机制的选择做定时。
综上所述,本发明的LACP负载均衡的方法及系统动态切换所采用的报文字段,选择流量分布最为均匀的一种报文字段作为最终选择的负载均衡机制,使得流量相对均匀的分布在各子链路上;提高了链路带宽,且对报文顺序性的影响较小;周期性地进行一次负载均衡机制选择,满足链路实时变化的需求。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。