一种实现流量负载均衡的方法和装置与流程

文档序号:16925755发布日期:2019-02-22 19:51阅读:682来源:国知局
一种实现流量负载均衡的方法和装置与流程

本发明涉及数据通信领域,尤其是一种实现流量负载均衡的方法和装置。



背景技术:

将多个物理链接捆绑在一起形成一个逻辑链接,这个逻辑链接称为聚合aggregateport(简称ap)。ap功能符合ieee802.3ad标准,它可以用于扩展链路带宽,提供更高的连接可靠性。

ap功能支持流量平衡,可以把流量均匀地分配给各成员链路。ap功能还实现了链路备份,当ap中的一条成员链路断开时,系统会将该成员链路的流量自动地分配到ap中的其它有效成员链路上。ap中一条成员链路收到的广播或者多播报文,将不会被转发到其它成员链路上。

ap现有的负载均衡模式主要分为两大类:

第一类是普通模式流量均衡:ap可以根据报文的源mac地址、目的mac地址,源mac地址+目的mac地址、源ip地址,目的ip地址以及源ip地址+目的ip地址等特征值把流量平均地分配到ap的成员链路中。

第二类是增强模式流量均衡:可以根据用户指定的流量均衡方式均衡流量,包含第二层l2报文对应的字段src-mac、dst-mac、l2-protocol、vlan、src-port,ipv4报文对应的字段src-ip、dst-ip、protocol、l4-src-port、l4-dst-port、vlan、src-port,ipv6报文对应的字段src-ip、dst-ip、protocol、l4-src-port、l4-dst-port、vlan、src-port,mpls报文对应的字段top-label、2nd-lable、src-ip、dst-ip、vlan、src-port。用户可以同时设置不同报文类型多个字段组合进行流量均衡。采用该增强模式的流量均衡的时候,交换机先判断进来报文的类型,然后根据报文的类型选择已经设置对应报文的字段进行hash哈希均衡。比如,源ip地址变化的ipv4报文要从ap口输出,那么ap会根据用户指定的ipv4报文字段src-ip进行流量均衡。

现有的流量均衡模式:根据报文中一个或多个字段组合进行流量均衡。

但是在如图1所示的满载转发场景中:交换机1和交换机2之间通过port1/2/3/4四个端口建立ap聚合组,该聚合组中绑定了4条100g链路,当40个10g链路端口按最大带宽100%线速分别同时砸包到交换机1或者交换机2时,通过4个100g端口绑定为ap转发。

如果使用传统的普通或增强模式流量均衡,经常会出现由于均衡算法问题,出现部分流量在ap间分配精度不够,导致丢包问题。



技术实现要素:

为了解决上述技术问题,本发明的实施例采用如下技术方案:

一种实现流量负载均衡的方法,包括:

在m个出端口之间建立聚合组,其中,m为大于等于2的整数,且所述m小于等于所有出端口的数量;

建立n个入端口与一个出端口之间的映射关系,在所述映射关系中出端口不重复,其中,n为大于等于2的整数,且n与倍数k的乘积小于等于所有入端口的数量,且n个入端口的带宽总和与倍数k的乘积小于等于在所述映射关系中的所有出端口的带宽总和;

监控所有入端口的报文流量,

当所有入端口的报文流量和小于所述聚合组中出端口的带宽总和时,根据所述聚合组的负载均衡策略发送报文;

当所有入端口的报文流量和大于等于所述聚合组中出端口的带宽总和时,根据所述映射关系,将进入入端口的报文从与入端口对应的出端口发送出去。

可选的,

所述建立n个入端口与一个出端口之间的映射关系的步骤具体包括:

建立n个入端口与所述聚合组中一个出端口之间的映射关系。

可选的,

所述建立n个入端口与一个出端口之间的映射关系的步骤具体包括:

建立n个入端口与在所有出端口中且不在所述聚合组中一个出端口之间的映射关系。

可选的,

每个入端口的带宽为10g,每个出端口的带宽为100g,所有入端口的数量等于40,所有出端口的数量等于4,n等于10,m等于4,k等于4。

可选的,

每个入端口的带宽为10g,每个出端口的带宽为100g,所有入端口的数量等于20,所有出端口的数量等于4,n等于10,m等于2,k等于2。

本发明实施例还提供一种实现流量负载均衡的装置,包括:

聚合建立模块,用于在m个出端口之间建立聚合组,其中,m为大于等于2的整数,且所述m小于等于所有出端口的数量;

映射建立模块,用于建立n个入端口与一个出端口之间的映射关系,在所述映射关系中出端口不重复,其中,n为大于等于2的整数,且n与倍数k的乘积小于等于所有入端口的数量,且n个入端口的带宽总和与倍数k的乘积小于等于在所述映射关系中的所有出端口的带宽总和;

监控模块,用于监控所有入端口的报文流量,

发送模块,用于当所有入端口的报文流量和小于所述聚合组中出端口的带宽总和时,根据所述聚合组的负载均衡策略发送报文;当所有入端口的报文流量和大于等于所述聚合组中出端口的带宽总和时,根据所述映射关系,将进入入端口的报文从与入端口对应的出端口发送出去。

可选的,

所述映射建立模块具体用于:

建立n个入端口与所述聚合组中一个出端口之间的映射关系。

可选的,

所述映射建立模块具体用于:

建立n个入端口与在所有出端口中且不在所述聚合组中一个出端口之间的映射关系。

可选的,

每个入端口的带宽为10g,每个出端口的带宽为100g,所有入端口的数量等于40,所有出端口的数量等于4,n等于10,m等于4,k等于4。

可选的,

每个入端口的带宽为10g,每个出端口的带宽为100g,所有入端口的数量等于20,所有出端口的数量等于4,n等于10,m等于2,k等于2。

本发明实施例的有益效果在于,提供一种实现流量负载均衡的方法,在m个出端口之间建立聚合组,其中,m为大于等于2的整数,且所述m小于等于所有出端口的数量;建立n个入端口与一个出端口之间的映射关系,在所述映射关系中出端口不重复,其中,n为大于等于2的整数,且n与倍数k的乘积小于等于所有入端口的数量,且n个入端口的带宽总和与倍数k的乘积小于等于在所述映射关系中的所有出端口的带宽总和;监控所有入端口的报文流量,当所有入端口的报文流量和小于所述聚合组中出端口的带宽总和时,根据所述聚合组的负载均衡策略发送报文;当所有入端口的报文流量和大于等于所述聚合组中出端口的带宽总和时,根据所述映射关系,将进入入端口的报文从与入端口对应的出端口发送出去。通过灵活的负载均衡策略,保障设备在满端口线速转发时不丢包,提升设备的高可靠性和高可用性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中一种运行过程示意图;

图2为本发明实施例的一种方法流程图;

图3为本发明实施例的一种装置结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种实现流量负载均衡的方法,如图2所示,包括:

s101,在m个出端口之间建立聚合组,其中,m为大于等于2的整数,且所述m小于等于所有出端口的数量;

s103,建立n个入端口与一个出端口之间的映射关系,在所述映射关系中出端口不重复,其中,n为大于等于2的整数,且n与倍数k的乘积小于等于所有入端口的数量,且n个入端口的带宽总和与倍数k的乘积小于等于在所述映射关系中的所有出端口的带宽总和;

s105,监控所有入端口的报文流量,

s107,当所有入端口的报文流量和小于所述聚合组中出端口的带宽总和时,根据所述聚合组的负载均衡策略发送报文;

s109,当所有入端口的报文流量和大于等于所述聚合组中出端口的带宽总和时,根据所述映射关系,将进入入端口的报文从与入端口对应的出端口发送出去。

其中,映射关系中出端口不重复就是说,如果有多个映射关系,一个出端口只能出现在其中一个映射关系中。

可选的,

所述步骤s103具体包括:

建立n个入端口与所述聚合组中一个出端口之间的映射关系。

可选的,

所述步骤s103具体包括:

建立n个入端口与在所有出端口中且不在所述聚合组中一个出端口之间的映射关系。

可选的,

每个入端口的带宽为10g,每个出端口的带宽为100g,所有入端口的数量等于40,所有出端口的数量等于4,n等于10,m等于4,k等于4。

可选的,

每个入端口的带宽为10g,每个出端口的带宽为100g,所有入端口的数量等于20,所有出端口的数量等于4,n等于10,m等于2,k等于2。

本发明实施例的有益效果在于,通过灵活的负载均衡策略,保障设备在满端口线速转发时不丢包,提升设备的高可靠性和高可用性。

本发明实施例还提供一种实现流量负载均衡的装置,如图3所示,包括:

聚合建立模块201,用于在m个出端口之间建立聚合组,其中,m为大于等于2的整数,且所述m小于等于所有出端口的数量;

映射建立模块203,用于建立n个入端口与一个出端口之间的映射关系,在所述映射关系中出端口不重复,其中,n为大于等于2的整数,且n与倍数k的乘积小于等于所有入端口的数量,且n个入端口的带宽总和与倍数k的乘积小于等于在所述映射关系中的所有出端口的带宽总和;

监控模块205,用于监控所有入端口的报文流量,

发送模块207,用于当所有入端口的报文流量和小于所述聚合组中出端口的带宽总和时,根据所述聚合组的负载均衡策略发送报文;当所有入端口的报文流量和大于等于所述聚合组中出端口的带宽总和时,根据所述映射关系,将进入入端口的报文从与入端口对应的出端口发送出去。

可选的,

所述映射建立模块203具体用于:

建立n个入端口与所述聚合组中一个出端口之间的映射关系。

可选的,

所述映射建立模块203具体用于:

建立n个入端口与在所有出端口中且不在所述聚合组中一个出端口之间的映射关系。

可选的,

每个入端口的带宽为10g,每个出端口的带宽为100g,所有入端口的数量等于40,所有出端口的数量等于4,n等于10,m等于4,k等于4。

可选的,

每个入端口的带宽为10g,每个出端口的带宽为100g,所有入端口的数量等于20,所有出端口的数量等于4,n等于10,m等于2,k等于2。

本发明实施例的有益效果在于,提供一种实现流量负载均衡的方法,在m个出端口之间建立聚合组,其中,m为大于等于2的整数,且所述m小于等于所有出端口的数量;建立n个入端口与一个出端口之间的映射关系,在所述映射关系中出端口不重复,其中,n为大于等于2的整数,且n与倍数k的乘积小于等于所有入端口的数量,且n个入端口的带宽总和与倍数k的乘积小于等于在所述映射关系中的所有出端口的带宽总和;监控所有入端口的报文流量,当所有入端口的报文流量和小于所述聚合组中出端口的带宽总和时,根据所述聚合组的负载均衡策略发送报文;当所有入端口的报文流量和大于等于所述聚合组中出端口的带宽总和时,根据所述映射关系,将进入入端口的报文从与入端口对应的出端口发送出去。通过灵活的负载均衡策略,保障设备在满端口线速转发时不丢包,提升设备的高可靠性和高可用性。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1