CN112468408B - 一种基于sdn的负载均衡实现方法及装置 - Google Patents
一种基于sdn的负载均衡实现方法及装置 Download PDFInfo
- Publication number
- CN112468408B CN112468408B CN202011266707.9A CN202011266707A CN112468408B CN 112468408 B CN112468408 B CN 112468408B CN 202011266707 A CN202011266707 A CN 202011266707A CN 112468408 B CN112468408 B CN 112468408B
- Authority
- CN
- China
- Prior art keywords
- service node
- load balancing
- flow
- sdn controller
- sdn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于SDN的负载均衡实现方法及装置,其中,该方法包括:在SDN控制器上配置需要调度的流量规则;SDN控制器收集业务节点的负载情况;SDN控制器根据业务节点的负载情况,结合排序算法,生成支持负载均衡策略的流表和组表;SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发;SDN控制器根据流量规则以及业务节点运行状态,动态调整流表和组表。该方法及装置通过SDN控制器以及OF交换机,实现了负载均衡以及主备保护,提高了系统的可靠性和灵活性以及降低了成本。
Description
技术领域
本发明涉及负载均衡设备领域,尤其是一种基于SDN的负载均衡实现方法及装置。
背景技术
目前,现有的负载均衡设备都是专用设备,成本较高,而且各个厂家的实现差异较大,造成管理维护难度比较大。
发明内容
为解决现有的负载均衡设备存在的上述问题,本发明提供一种基于SDN的负载均衡实现方法及装置,通过SDN控制器根据业务节点的状态进行负载均衡决策,并将负载均衡策略相关的流表和组表下发到OF交换机,由OF交换机根据流表和组表的指令对流量进行转发,从而实现了负载均衡。
为实现上述目的,本发明采用下述技术方案:
在本发明一实施例中,提出了一种基于SDN的负载均衡实现方法,该方法包括:
在SDN控制器上配置需要调度的流量规则;SDN控制器收集业务节点的负载情况;
SDN控制器根据业务节点的负载情况,结合排序算法,生成支持负载均衡策略的流表和组表;
SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发;
SDN控制器根据流量规则以及业务节点运行状态,动态调整流表和组表。
进一步地,流量规则是基于五元组的任意项组合,或者是基于URL。
进一步地,SDN控制器收集业务节点的负载情况,包括:
SDN控制器通过packetOut查询业务节点的负载情况,该packetOut中封装有SNMP消息,业务节点通过packetIn将查询结果应答给SDN控制器。
进一步地,业务节点是进行某种业务处理的节点,或者是WAF,FW的安全能力节点。
进一步地,SDN控制器根据业务节点的负载情况,结合排序算法,生成支持负载均衡策略的流表和组表,包括:
将某个流量由对应的业务节点进行负载均衡,并根据业务节点与OVS的连接关系,生成流表和组表。
进一步地,组表的类型是FRR。
进一步地,SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发,包括:
SDN控制器通过OF协议与OF交换机进行交互,通过FLOW_MOD消息和GROUP_MOD消息将流表和组表下发到OF交换机;
OF交换机根据流表和组表的指令对流量进行转发。
进一步地,SDN控制器根据流量规则以及业务节点运行状态,动态调整流表和组表,包括:
SDN控制器监控业务节点的运行状态,并根据业务节点的运行状态动态调整负载均衡策略;
当某个业务节点发生故障,或者某个业务节点权重过高,或者某个业务节点的处理时延过高,SDN控制器根据全网流量以及业务节点的处理能力自动调整bucket的优先级或者调整流表的匹配项,来对流量的负载均衡策略进行调整,从而实现负载均衡的动态调整;
当业务接口发生故障时,OVS交换机检测到监测端口故障时,自动进行主备切换。
在本发明一实施例中,还提出了一种基于SDN的负载均衡实现装置,该装置包括:
负载均衡信息收集单元,用于通过SDN控制器收集业务节点的负载情况;
表项生成单元,用于根据业务节点的负载情况,结合排序算法,通过SDN控制器生成支持负载均衡策略的流表和组表;
负载均衡执行单元,用于通过SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发;
负载均衡决策单元,用于根据流量规则以及业务节点运行状态,通过SDN控制器动态调整流表和组表。
进一步地,SDN控制器上配置有需要调度的流量规则,该流量规则是基于五元组的任意项组合,或者是基于URL。
进一步地,负载均衡信息收集单元,具体用于:
SDN控制器通过packetOut查询业务节点的负载情况,该packetOut中封装有SNMP消息,业务节点通过packetIn将查询结果应答给SDN控制器。
进一步地,业务节点是进行某种业务处理的节点,或者是WAF,FW的安全能力节点。
进一步地,表项生成单元,具体用于:
将某个流量由对应的业务节点进行负载均衡,并根据业务节点与OVS的连接关系,生成流表和组表。
进一步地,组表的类型是FRR。
进一步地,负载均衡执行单元,具体用于:
SDN控制器通过OF协议与OF交换机进行交互,通过FLOW_MOD消息和GROUP_MOD消息将流表和组表下发到OF交换机;
OF交换机根据流表和组表的指令对流量进行转发。
进一步地,负载均衡决策单元,具体用于:
SDN控制器监控业务节点的运行状态,并根据业务节点的运行状态动态调整负载均衡策略;
当某个业务节点发生故障,或者某个业务节点权重过高,或者某个业务节点的处理时延过高,SDN控制器根据全网流量以及业务节点的处理能力自动调整bucket的优先级或者调整流表的匹配项,来对流量的负载均衡策略进行调整,从而实现负载均衡的动态调整;
当业务接口发生故障时,OVS交换机检测到监测端口故障时,自动进行主备切换。
在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于SDN的负载均衡实现方法。
在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行基于SDN的负载均衡实现方法的计算机程序。
有益效果:
1、本发明基于SDN的思想,即将负载均衡设备的转发面与控制面进行分离,减少了协议的交互,降低了系统开发和维护的成本;同时,负载均衡的转发面由OF软件交换机实现,降低了系统的成本;SDN集中管控的思想,可以根据业务的实际运行情况,进行统一的调度和管理,同时也可以对负载均衡策略进行动态的调整,增加了系统的灵活性。
2、本发明通过SDN控制器以及OF交换机,实现了负载均衡以及主备保护,提高了系统的可靠性和灵活性以及降低了成本。
附图说明
图1是本发明一实施例的基于SDN的负载均衡实现方法流程示意图;
图2是本发明一实施例的SDN管理域拓扑图;
图3是本发明一实施例的基于SDN的负载均衡实现装置结构示意图;
图4是本发明一实施例的计算机设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种基于SDN的负载均衡实现方法及装置,在SDN(software defined network:软件定义网络)控制器上配置需要调度的流量规则,并根据业务节点的负载情况,结合排序算法生成支持负载均衡策略的流表和组表,并将流表和组表下发到OF(openflow)交换机。OF交换机根据配置的转发指令进行流量的转发。当业务节点发生故障或者业务节点权重过高时,SDN控制器自动更新组表的bucket活动状态以及流表匹配规则,从而实现了负载均衡以及主备保护,提高了系统的灵活性和可靠性以及降低了成本。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明一实施例的基于SDN的负载均衡实现方法流程示意图。如图1所示,该方法包括:
S1、在SDN控制器上配置需要调度的流量规则;SDN控制器收集业务节点的负载情况;
流量规则可以是基于五元组(源IP地址、源端口、传输层协议、目的IP地址和目的端口)的任意项组合,也可以是基于URL;
SDN控制器通过packetOut查询业务节点的负载情况,packetOut中封装了SNMP(Simple Network Management Protocol,简单网络管理协议)消息,业务节点通过packetIn将查询结果应答给SDN控制器;
packetOut和packetIn为OF协议报文,packetOut为报文转发消息,packetIn为报文上送消息。
业务节点可以是进行某种业务处理的节点,可以是WAF(web applicationfirewall,web应用防火墙),FW(firewall,防火墙)等安全能力节点,也可以是某个其他类型的业务节点。业务节点可以是虚拟设备,也可以是硬件设备。
S2、SDN控制器根据流量规则以及业务节点的负载情况,结合排序算法生成支持负载均衡策略的流表和组表;
SDN控制器根据业务节点的负载情况,结合排序算法,生成负载均衡策略,即将某个流量由某些业务节点进行负载均衡,并根据业务节点与OVS的连接关系,生成流表和组表;
排序算法,本文不做限制,可以根据实际业务选择不同的排序算法;
流表的作用是进行分流,组表的作用是进行负载均衡,同时也支持了主备保护;
流表的match字段为流量的分流规则,动作为跳转到组表;
组表的类型是FRR(Fast failover,快速倒换),第一个bucket(桶)的出接口为OF交换机与主业务节点互联的接口,动作为MAC地址修改,是将目的MAC地址修改为业务节点的MAC地址,源MAC地址修改为OF交换机的出接口MAC地址;第二个bucket的出接口为OF交换机与备业务节点互联的接口;一个FRR类型的组表可以有多个bucket;bucket的顺序标识其执行优先级,优先执行激活状态的高优先级bucket。
S3、SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发;
SDN控制器通过OF(openflow)协议与OF交换机进行交互,通过FLOW_MOD消息和GROUP_MOD消息将流表和组表下发到OF交换机;
OF交换机根据流表和组表的指令对流量进行转发;
FLOW_MOD消息和GROUP_MOD消息为OF协议的两个消息类型,分别对流表和组表进行增删改查。
S4、SDN控制器根据业务节点运行状态动态调整组表和流表;
SDN控制器监控业务节点的运行状态,并根据业务节点的运行状态动态调整负载均衡策略;当某个业务节点发生故障或者某个业务节点权重过高,或者某个业务节点的处理时延过高等,SDN控制器可以根据全网流量以及业务节点的处理能力自动调整bucket的优先级或者调整流表的匹配项,来对流量的负载均衡策略进行调整,从而实现了负载均衡的动态调整;当业务接口发生故障时,OVS交换机检测到监测端口故障时,自动进行主备切换,提高了系统的可靠性。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了对上述基于SDN的负载均衡实现方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
图2是本发明一实施例的SDN管理域拓扑图。如图2所示,控制器管理所有的转发节点以及业务节点。本实施例中,OVS(Open VSwitch:支持openflow的虚拟交换机)作为支持负载均衡的转发节点,即负载均衡执行点。
业务节点WAF作为业务处理节点,WAF仅仅是一种示例,也可以是其他的业务能力节点。本实施例中,WAF1、WAF2和WAF3之间对不同的流量相互构成了负载均衡。比如:流量1由WAF1和WAF2之间构成了负载均衡;流量2由WAF1和WAF3之间构成了负载均衡。
本实施例中,OVS通过端口1、端口2和端口3分别与WAF1、WAF2和WAF3进行互联。
SDN控制器通过ARP学习到业务节点的MAC地址。
实现步骤如下:
S1、在SDN控制器上配置需要调度的流量规则;SDN控制器收集业务节点的负载情况;
流量规则可以是基于五元组(源IP地址、源端口、传输层协议、目的IP地址和目的端口)的任意项组合,也可以是基于URL;
SDN控制器通过packetOut查询业务节点的负载情况,packetOut中封装了SNMP(Simple Network Management Protocol,简单网络管理协议)消息,业务节点通过packetIn将查询结果应答给SDN控制器;
业务节点可以是负责处理某种业务的节点,可以是WAF(web applicationfirewall,web应用防火墙),FW(firewall,防火墙)等安全能力节点,也可以是某个其他类型的业务节点。业务节点可以是虚拟设备,也可以是硬件设备。
在本示例中,假设流量1和流量2需要进行WAF处理,流量1的目的IP地址为100.10.10.10,目的端口为8080,流量2的目的IP地址为100.10.20.10,目的端口为8081,最大带宽为1M和2M。
S2、SDN控制器根据业务节点的负载情况,结合排序算法生成支持负载均衡策略的流表和组表;
SDN控制器根据业务节点的负载情况,结合特定的排序算法,生成负载均衡策略,即将某个流量由某些业务节点进行负载均衡,并根据业务节点与OVS的连接关系,生成流表和组表。
在本实施例中,流量1由WAF1和WAF2形成主备处理,其中WAF1为主;流量2由WAF2和WAF1形成主备,其中WAF2为主。
流表的作用是进行分流,组表的作用是实现了负载均衡,同时也支持了主备保护。
流表的match字段为流量的分流规则,动作为跳转到组表;本实施例中,分流规则由table0实现,流量1和流量2相关的flow表项如下表1,其中DstIP标识目的地址,TCP标识协议为TCP类型,dPort标识目的端口:
表1
匹配字段 | 执行动作 |
DstIp:100.10.10.10,TCP,dPort:8080 | GroupId=10 |
DstIp:100.10.20.10,TCP,dPort:8081 | GroupId=20 |
组表的类型是FRR(Fast failover,快速倒换),第一个bucket(桶)的出接口为OF交换机与主业务节点互联的接口,动作为MAC地址修改,是将目的MAC地址修改为业务节点的MAC地址,源MAC地址修改为OF交换机的出接口MAC地址;第二个bucket的出接口为OF交换机与备业务节点互联的接口;一个FRR类型的组表可以有多个bucket;bucket的顺序标识其执行优先级,优先执行激活状态的高优先级bucket。
本实施例中,组表的类型为OFPGT_FF,即FRR类型。FRR类型的组表,第一个bucket的优先级最高,组表表项如下:
组表标识为10的表项,有两个bucket,第一个bucket的优先级最高,输出端口为1,监控端口1,设置目的MAC地址为WAF1的MAC地址,源MAC地址为port1的MAC地址;第二个bucket,监控端口2,观察端口为2,设置目的MAC地址为WAF2的MAC地址,源MAC地址为port2的MAC地址;
组表标识为20的表项,有两个bucket,第一个bucket:输出端口为2,监控端口1,设置目的MAC地址为WAF2的MAC地址,源MAC地址为port2的MAC地址;第二个bucket:输出端口为2,监控端口2,设置目的MAC地址为WAF1的MAC地址,源MAC地址为port1的MAC地址。如下表2所示:
表2
S3、SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发;
SDN控制器通过OF协议与OVS交换机进行交互,通过FLOW_MOD消息和GROUP_MOD消息将流表和组表下发到OVS交换机。
S4、SDN控制器根据流量规则以及业务节点运行状态动态调整组表和流表;
SDN控制器监控业务节点的运行状态,并根据业务节点的运行状态动态调整负载均衡策略;当某个业务节点发生故障或者某个业务节点权重过高,或者某个业务节点的处理时延过高等,SDN控制器可以根据全网流量以及业务节点的处理能力自动调整bucket的优先级或者调整流表的匹配项,来对流量的负载均衡策略进行调整,从而实现了负载均衡的动态调整;当业务接口发生故障时,OVS交换机,检测到监测端口故障时,自动进行主备切换,提高了系统的可靠性。
基于同一发明构思,本发明还提出一种基于SDN的负载均衡实现装置。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是本发明一实施例的基于SDN的负载均衡实现装置结构示意图。如图3所示,该装置包括:
负载均衡信息收集单元101,用于通过SDN控制器收集业务节点的负载情况;
SDN控制器上配置有需要调度的流量规则,该流量规则可以是基于五元组(源IP地址、源端口、传输层协议、目的IP地址和目的端口)的任意项组合,也可以是基于URL;
SDN控制器通过packetOut查询业务节点的负载情况,packetOut中封装了SNMP(Simple Network Management Protocol,简单网络管理协议)消息,业务节点通过packetIn将查询结果应答给SDN控制器;
packetOut和packetIn为OF协议报文,packetOut为报文转发消息,packetIn为报文上送消息;
业务节点可以是进行某种业务处理的节点,可以是WAF(web applicationfirewall,web应用防火墙),FW(firewall,防火墙)等安全能力节点,也可以是某个其他类型的业务节点。业务节点可以是虚拟设备,也可以是硬件设备。
表项生成单元102,用于根据业务节点的负载情况,结合排序算法,通过SDN控制器生成支持负载均衡策略的流表和组表;
根据业务节点的负载情况,结合排序算法,通过SDN控制器生成负载均衡策略,即将某个流量由某些业务节点进行负载均衡,并根据业务节点与OVS的连接关系,生成流表和组表;
排序算法,本文不做限制,可以根据实际业务选择不同的排序算法;
流表的作用是进行分流,组表的作用是进行负载均衡,同时也支持了主备保护;
流表的match字段为流量的分流规则,动作是跳转到组表;
组表的类型是FRR(Fast failover,快速倒换),第一个bucket(桶)的出接口为OF交换机与主业务节点互联的接口,动作为MAC地址修改,是将目的MAC地址修改为业务节点的MAC地址,源MAC地址修改为OF交换机的出接口MAC地址;第二个bucket的出接口为OF交换机与备业务节点互联的接口;一个FRR类型的组表可以有多个bucket;bucket的顺序标识其执行优先级,优先执行激活状态的高优先级bucket。
负载均衡执行单元103,用于通过SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发;
SDN控制器通过OF(openflow)协议与OF交换机进行交互,通过FLOW_MOD消息和GROUP_MOD消息将流表和组表下发到OF交换机;
OF交换机根据流表和组表的指令对流量进行转发;
FLOW_MOD消息和GROUP_MOD消息为OF协议的两个消息类型,分别对流表和组表进行增删改查。
负载均衡决策单元104,用于根据流量规则以及业务节点运行状态,通过SDN控制器动态调整流表和组表;
SDN控制器监控业务节点的运行状态,并根据业务节点的运行状态动态调整负载均衡策略;当某个业务节点发生故障或者某个业务节点权重过高,或者某个业务节点的处理时延过高等,SDN控制器可以根据全网流量以及业务节点的处理能力自动调整bucket的优先级或者调整流表的匹配项,来对流量的负载均衡策略进行调整,从而实现了负载均衡的动态调整;当业务接口发生故障时,OVS交换机检测到监测端口故障时,自动进行主备切换,提高了系统的可靠性。
应当注意,尽管在上文详细描述中提及了基于SDN的负载均衡实现装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
基于前述发明构思,如图4所示,本发明还提出一种计算机设备200,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序230,处理器220执行计算机程序230时实现前述基于SDN的负载均衡实现方法。
基于前述发明构思,本发明还提出一种计算机可读存储介质,计算机可读存储介质存储有执行前述基于SDN的负载均衡实现方法的计算机程序。
本发明提出的基于SDN的负载均衡实现方法及装置基于SDN的思想,即将负载均衡设备的转发面与控制面进行分离,减少了协议的交互,降低了系统开发和维护的成本。同时,负载均衡的转发面由OF软件交换机实现,降低了系统的成本。SDN集中管控的思想,可以根据业务的实际运行情况,进行统一的调度和管理,同时也可以对负载均衡策略进行动态的调整,增加了系统的灵活性。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。
对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (14)
1.一种基于SDN的负载均衡实现方法,其特征在于,该方法包括:
在SDN控制器上配置需要调度的流量规则;SDN控制器收集业务节点的负载情况;
SDN控制器根据业务节点的负载情况,结合排序算法,生成支持负载均衡策略的流表和组表;组表的类型是FRR,第一个bucket的出接口为OF交换机与主业务节点互联的接口,动作为MAC地址修改,是将目的MAC地址修改为业务节点的MAC地址,源MAC地址修改为OF交换机的出接口MAC地址;第二个bucket的出接口为OF交换机与备业务节点互联的接口;一个FRR类型的组表可以有多个bucket;bucket的顺序标识其执行优先级,优先执行激活状态的高优先级bucket;
SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发;
SDN控制器根据流量规则以及业务节点运行状态,动态调整流表和组表,包括:
SDN控制器监控业务节点的运行状态,并根据业务节点的运行状态动态调整负载均衡策略;
当某个业务节点发生故障,或者某个业务节点权重过高,或者某个业务节点的处理时延过高,SDN控制器根据全网流量以及业务节点的处理能力自动调整bucket的优先级或者调整流表的匹配项,来对流量的负载均衡策略进行调整,从而实现负载均衡的动态调整;
当业务接口发生故障时,OVS交换机检测到监测端口故障时,自动进行主备切换。
2.根据权利要求1所述的基于SDN的负载均衡实现方法,其特征在于,所述流量规则是基于五元组的任意项组合,或者是基于URL。
3.根据权利要求1所述的基于SDN的负载均衡实现方法,其特征在于,SDN控制器收集业务节点的负载情况,包括:
SDN控制器通过packetOut查询业务节点的负载情况,该packetOut中封装有SNMP消息,业务节点通过packetIn将查询结果应答给SDN控制器。
4.根据权利要求1或3所述的基于SDN的负载均衡实现方法,其特征在于,所述业务节点是进行某种业务处理的节点,或者是WAF,FW的安全能力节点。
5.根据权利要求1所述的基于SDN的负载均衡实现方法,其特征在于,SDN控制器根据业务节点的负载情况,结合排序算法,生成支持负载均衡策略的流表和组表,包括:
将某个流量由对应的业务节点进行负载均衡,并根据业务节点与OVS的连接关系,生成流表和组表。
6.根据权利要求1所述的基于SDN的负载均衡实现方法,其特征在于,SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发,包括:
SDN控制器通过OF协议与OF交换机进行交互,通过FLOW_MOD消息和GROUP_MOD消息将流表和组表下发到OF交换机;
OF交换机根据流表和组表的指令对流量进行转发。
7.一种基于SDN的负载均衡实现装置,其特征在于,该装置包括:
负载均衡信息收集单元,用于通过SDN控制器收集业务节点的负载情况;
表项生成单元,用于根据业务节点的负载情况,结合排序算法,通过SDN控制器生成支持负载均衡策略的流表和组表;组表的类型是FRR,第一个bucket的出接口为OF交换机与主业务节点互联的接口,动作为MAC地址修改,是将目的MAC地址修改为业务节点的MAC地址,源MAC地址修改为OF交换机的出接口MAC地址;第二个bucket的出接口为OF交换机与备业务节点互联的接口;一个FRR类型的组表可以有多个bucket;bucket的顺序标识其执行优先级,优先执行激活状态的高优先级bucket;
负载均衡执行单元,用于通过SDN控制器将流表和组表下发到OF交换机,OF交换机根据流表和组表对流量进行转发;
负载均衡决策单元,用于根据流量规则以及业务节点运行状态,通过SDN控制器动态调整流表和组表,包括:
SDN控制器监控业务节点的运行状态,并根据业务节点的运行状态动态调整负载均衡策略;
当某个业务节点发生故障,或者某个业务节点权重过高,或者某个业务节点的处理时延过高,SDN控制器根据全网流量以及业务节点的处理能力自动调整bucket的优先级或者调整流表的匹配项,来对流量的负载均衡策略进行调整,从而实现负载均衡的动态调整;
当业务接口发生故障时,OVS交换机检测到监测端口故障时,自动进行主备切换。
8.根据权利要求7所述的基于SDN的负载均衡实现装置,其特征在于,所述SDN控制器上配置有需要调度的流量规则,该流量规则是基于五元组的任意项组合,或者是基于URL。
9.根据权利要求7所述的基于SDN的负载均衡实现装置,其特征在于,所述负载均衡信息收集单元,具体用于:
SDN控制器通过packetOut查询业务节点的负载情况,该packetOut中封装有SNMP消息,业务节点通过packetIn将查询结果应答给SDN控制器。
10.根据权利要求7或9所述的基于SDN的负载均衡实现装置,其特征在于,所述业务节点是进行某种业务处理的节点,或者是WAF,FW的安全能力节点。
11.根据权利要求7所述的基于SDN的负载均衡实现装置,其特征在于,所述表项生成单元,具体用于:
将某个流量由对应的业务节点进行负载均衡,并根据业务节点与OVS的连接关系,生成流表和组表。
12.根据权利要求7所述的基于SDN的负载均衡实现装置,其特征在于,所述负载均衡执行单元,具体用于:
SDN控制器通过OF协议与OF交换机进行交互,通过FLOW_MOD消息和GROUP_MOD消息将流表和组表下发到OF交换机;
OF交换机根据流表和组表的指令对流量进行转发。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1或2或3或5或6所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1或2或3或5或6所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011266707.9A CN112468408B (zh) | 2020-11-13 | 2020-11-13 | 一种基于sdn的负载均衡实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011266707.9A CN112468408B (zh) | 2020-11-13 | 2020-11-13 | 一种基于sdn的负载均衡实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112468408A CN112468408A (zh) | 2021-03-09 |
CN112468408B true CN112468408B (zh) | 2023-10-03 |
Family
ID=74826800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011266707.9A Active CN112468408B (zh) | 2020-11-13 | 2020-11-13 | 一种基于sdn的负载均衡实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112468408B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117240787B (zh) * | 2023-11-14 | 2024-03-01 | 鹏城实验室 | 交换机负载均衡方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795805A (zh) * | 2014-02-27 | 2014-05-14 | 中国科学技术大学苏州研究院 | 基于sdn的分布式服务器负载均衡方法 |
CN106331018A (zh) * | 2015-06-30 | 2017-01-11 | 上海宽带技术及应用工程研究中心 | 基于负载均衡的sdn网络主机发现方法及系统 |
CN106790656A (zh) * | 2017-01-19 | 2017-05-31 | 南京贝伦思网络科技股份有限公司 | 一种基于sdn的负载均衡装置及其方法 |
CN108293009A (zh) * | 2015-12-31 | 2018-07-17 | 华为技术有限公司 | 一种软件定义数据中心及其中的服务集群的调度和流量监控方法 |
CN109831389A (zh) * | 2019-03-14 | 2019-05-31 | 山东浪潮云信息技术有限公司 | 一种基于OpenFlow流量统计的负载均衡调度方法 |
-
2020
- 2020-11-13 CN CN202011266707.9A patent/CN112468408B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795805A (zh) * | 2014-02-27 | 2014-05-14 | 中国科学技术大学苏州研究院 | 基于sdn的分布式服务器负载均衡方法 |
CN106331018A (zh) * | 2015-06-30 | 2017-01-11 | 上海宽带技术及应用工程研究中心 | 基于负载均衡的sdn网络主机发现方法及系统 |
CN108293009A (zh) * | 2015-12-31 | 2018-07-17 | 华为技术有限公司 | 一种软件定义数据中心及其中的服务集群的调度和流量监控方法 |
CN106790656A (zh) * | 2017-01-19 | 2017-05-31 | 南京贝伦思网络科技股份有限公司 | 一种基于sdn的负载均衡装置及其方法 |
CN109831389A (zh) * | 2019-03-14 | 2019-05-31 | 山东浪潮云信息技术有限公司 | 一种基于OpenFlow流量统计的负载均衡调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112468408A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9042234B1 (en) | Systems and methods for efficient network traffic forwarding | |
CN107995123B (zh) | 一种基于交换机的负载均衡系统及方法 | |
US9001827B2 (en) | Methods for configuring network switches | |
US10142160B1 (en) | System and methods for managing network hardware address requests with a controller | |
US10270645B2 (en) | Systems and methods for handling link aggregation failover with a controller | |
US9225549B2 (en) | Multi-chassis link aggregation in a distributed virtual bridge | |
US9413614B1 (en) | Systems and methods for determining network topologies | |
CN101588304B (zh) | 一种vrrp的实现方法和设备 | |
US20160234091A1 (en) | Systems and methods for controlling switches to capture and monitor network traffic | |
US8787388B1 (en) | System and methods for forwarding packets through a network | |
US10848432B2 (en) | Switch fabric based load balancing | |
US8560660B2 (en) | Methods and apparatus for managing next hop identifiers in a distributed switch fabric system | |
US9548900B1 (en) | Systems and methods for forwarding network packets in a network using network domain topology information | |
US10291533B1 (en) | Systems and methods for network traffic monitoring | |
EP2675118B1 (en) | Method and device for adjusting ip network load | |
CN111901236B (zh) | 一种利用动态路由优化openstack云网络的方法及系统 | |
CN112468408B (zh) | 一种基于sdn的负载均衡实现方法及装置 | |
US20150301571A1 (en) | Methods and apparatus for dynamic mapping of power outlets | |
US9264295B1 (en) | Systems and methods for forwarding broadcast network packets with a controller | |
US9356838B1 (en) | Systems and methods for determining network forwarding paths with a controller | |
Molina et al. | Performance enhancement of high-availability seamless redundancy (HSR) networks using OpenFlow | |
EP3116176A1 (en) | Communication system, control device, communication device, and communication method | |
Fang et al. | Hypernat: Scaling up network address translation with smartnics for clouds | |
US11876680B2 (en) | Method and apparatus for determining link for forwarding service flow | |
Buzhin et al. | An information security monitoring and management system for 5G and 6G Networks based on SDN/NFV |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |