一种基于SDN的负载均衡方法及系统技术方案

技术编号:14676642 阅读:104 留言:0更新日期:2017-02-19 02:11
本发明专利技术提供了一种基于SDN的负载均衡方法及系统,包括基于SDN网络的负载均衡实例及后端实例,负载均衡实例执行IP虚拟服务器功能,基于SDN网络使得继承了LVS‑DR模式负载均衡的高性能特性,且SDN控制器将响应的反向规则提前下发,避免了SDN网络中的首包延时,实现高性能负载均衡。

【技术实现步骤摘要】

本专利技术涉及因特网
,更具体地说,涉及一种基于SDN的负载均衡方法及系统
技术介绍
负载均衡是网络数据处理方面的一门重要的技术手段。利用负载均衡可以扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。现有技术中,常用两种方案来实现负载均衡。方案一:在SDN网络(SoftwareDefinedNetworking的简称,可译为:软件定义网络)中采用Ningx等代理软件的代理模式负载均衡方案,但这些方案往往会因为物理机器的性能局限,又或者方案的双向处理技术问题等原因导致负载均衡性能不高,从而令负载均衡成为了网络中的瓶颈。方案二:在传统网络中采用LVS-DR(LinuxVirtualServer-DirectRouting的简称,可译为:Linux虚拟服务器直接路由)模式的负载均衡方案。该方案是一种单向负载均衡方案,即是负载均衡只处理用户请求数据并均衡到后端服务器,而响应数据是后端直接响应到用户机器。并且该方案是使用的是类似Iptables的Ipvs模块,是直接工作在操作系统的内核中的,从而缩短了数据在网络协议栈的处理路径。并不像使用Nginx等软件那样将数据先发送到应用层解析再进行负载均衡。因此该方案比使用Nginx等代理软件作为负载均衡的性能都要高。但LVS-DR模式的负载均衡方案配置复杂,例如需要在负载均衡机器的外网网卡和后端服务器的回环网卡上配置一个统一的虚拟IP地址。并且只能应用于传统网络中,而不能应用于SDN网络。
技术实现思路
本专利技术的目的是提供一种基于SDN的负载均衡方法及系统,可应用于SDN网络,且实现高性能负载均衡。为了实现上述目的,本专利技术提供如下技术方案:一种基于SDN的负载均衡方法,包括基于SDN网络的负载均衡实例及后端实例,所述负载均衡实例执行IP虚拟服务器功能,所述负载均衡方法包括以下步骤:S1:SDN控制器接收客户端请求,判断所述客户端请求要访问的是否为负载均衡实例,若是,进入步骤S2;若否,进入步骤S02;S2:SDN控制器下发正向规则,让所述客户端请求送达负载均衡实例,进入步骤S3;S02:所述SDN控制器按指定逻辑处理所述客户端请求;S3:所述SDN控制器判断所述负载均衡实例和所述后端实例是否在同一个物理节点上,若是,进入步骤S4,若否,进入步骤S04;S4:所述SDN控制器下发第一规则让所述客户端请求送达至后端实例,且SDN控制器下发反向规则,进入步骤S5;S04:所述SDN控制器在所述客户端请求从所述负载均衡实例出来时下发第二规则使得请求发送到后端实例所在的物理节点,并在所述客户端请求到达后端实例所在物理节点时下发第三规则使得请求送达后端实例,且SDN控制器下发反向规则,进入步骤S5;S5:所述SDN控制器判断所述客户端是否为所述SDN网络范围内的实例,如是,进入步骤S6,若否,进入步骤S06;S6:所述反向规则在所述客户请求到达所述后端实例所在物理节点时下发到该物理节点,反向规则使得后端实例直接发送响应到客户端;S06:所述反向规则在所述客户端请求从负载均衡实例出来时,下发到后端实例所在物理节点,反向规则使得后端实例直接发送响应到客户端。进一步地,执行所述步骤S6之后,进入步骤S7;S7:判断所述客户端实例是否进行迁移动作,如是,进入步骤S8,如否,结束处理;S8:所述SDN控制器下发删除规则命令,删除所述步骤S4中下发的第一规则或步骤S04中下发的第二规则,SDN控制器重新下发响应规则用以覆盖步骤S4或步骤S04中下发的响应规则。进一步地,所述步骤S4中下发的第一规则或步骤S04中下发的第二规则中添加有标识,用于步骤S8执行删除动作时进行识别。进一步地,所述步骤S04中,所述客户端请求到达后端实例所在物理节点时下发第三规则使得请求送达后端实例,且修改后端实例的IP为指定IP。进一步地,所述步骤S02中SDN控制器按指定逻辑,结束所述客户端请求。进一步地,步骤S3中,所述负载均衡实例使用LVS算法对所述客户端请求进行处理后,所述SDN控制器判断所述负载均衡实例和所述后端实例是否在同一个物理节点上。进一步地,所述反向规则是所述SDN控制器预判了所述后端实例在收到所述客户端请求时发出的响应。进一步地,包括基于SDN网络的负载均衡实例及后端实例,所述负载均衡实例执行IP虚拟服务器功能,所述基于SDN的负载均衡系统采用权利要求1-7所述方法实现负载均衡。进一步地,所述负载均衡实例的网卡添加有其需处理TCP端口的字段。进一步地,所述物理节点表示承载实例的物理机器。本专利技术提供的基于SDN的负载均衡方法及系统,基于SDN网络使得继承了LVS-DR模式负载均衡的高性能特性,且SDN控制器将响应的反向规则提前下发,避免了SDN网络中的首包延时,实现高性能负载均衡。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是实施例一所述基于SDN的负载均衡方法的流程示意图;图2是基于SDN的负载均衡系统的网络架构示意图;图3是实施例二所述基于SDN的负载均衡方法的流程示意图;图4是正常客户端实例访问负载均衡的网络流向示意图;图5是迁移客户端实例后,实施例二步骤S7未执行的示意图;图6是迁移客户端实例后,实例例二中步骤S7已执行的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参考图1及图2,本实施例提出一种基于SDN的负载均衡方法,包括基于SDN网络的负载均衡实例及后端实例,负载均衡实例执行IP虚拟服务器功能,负载均衡方法包括以下步骤:S1:SDN控制器接收客户端请求,判断客户端请求要访问的是否为负载均衡实例,若是,进入步骤S2;若否,进入步骤S02;S2:SDN控制器下发正向规则,让客户端请求送达负载均衡实例,进入步骤S3;S02:SDN控制器按指定逻辑处理客户端请求;S3:负载均衡实例对客户端请求进行处理,SDN控制器判断负载均衡实例和后端实例是否在同一个物理节点上,若是,进入步骤S4,若否,进入步骤S04;S4:SDN控制器下发第一规则让客户端请求送达至后端实例,且SDN控制器下发反向规则,进入步骤S5;S04:SDN控制器在客户端请求从负载均衡实例出来时下发第二规则使得请求发送到后端实例所在的物理节点,并在客户端请求到达后端实例所在物理节点时下发第三规则使得请求送达后端实例,且SDN控制器下发反向规则,进入步骤S5;S5:SDN控制器判断客户端是否为SDN网络范围内的实例,如是,进入步骤S6,若否,进入步骤S06;S6:反向规则在客户请求到达后端实例所在物理节点时下发到该物理节点,反向规则使得后端实例直接发送响应到客户端;S06:反向规则在客户端请求从负载均衡实例出来时,下发到后端实例所在物理本文档来自技高网...
一种基于SDN的负载均衡方法及系统

【技术保护点】
一种基于SDN的负载均衡方法,其特征在于,包括基于SDN网络的负载均衡实例及后端实例,所述负载均衡实例执行IP虚拟服务器功能,所述负载均衡方法包括以下步骤:S1:SDN控制器接收客户端请求,判断所述客户端请求要访问的是否为负载均衡实例,若是,进入步骤S2;若否,进入步骤S02;S2:SDN控制器下发正向规则,让所述客户端请求送达负载均衡实例,进入步骤S3;S02:所述SDN控制器按指定逻辑处理所述客户端请求;S3:所述SDN控制器判断所述负载均衡实例和所述后端实例是否在同一个物理节点上,若是,进入步骤S4,若否,进入步骤S04;S4:所述SDN控制器下发第一规则让所述客户端请求送达至后端实例,且SDN控制器下发反向规则,进入步骤S5;S04:所述SDN控制器在所述客户端请求从所述负载均衡实例出来时下发第二规则使得请求发送到后端实例所在的物理节点,并在所述客户端请求到达后端实例所在物理节点时下发第三规则使得请求送达后端实例,且SDN控制器下发反向规则,进入步骤S5;S5:所述SDN控制器判断所述客户端是否为所述SDN网络范围内的实例,如是,进入步骤S6,若否,进入步骤S06;S6:所述反向规则在所述客户请求到达所述后端实例所在物理节点时下发到该物理节点,反向规则使得后端实例直接发送响应到客户端;S06:所述反向规则在所述客户端请求从负载均衡实例出来时,下发到后端实例所在物理节点,反向规则使得后端实例直接发送响应到客户端。...

【技术特征摘要】
1.一种基于SDN的负载均衡方法,其特征在于,包括基于SDN网络的负载均衡实例及后端实例,所述负载均衡实例执行IP虚拟服务器功能,所述负载均衡方法包括以下步骤:S1:SDN控制器接收客户端请求,判断所述客户端请求要访问的是否为负载均衡实例,若是,进入步骤S2;若否,进入步骤S02;S2:SDN控制器下发正向规则,让所述客户端请求送达负载均衡实例,进入步骤S3;S02:所述SDN控制器按指定逻辑处理所述客户端请求;S3:所述SDN控制器判断所述负载均衡实例和所述后端实例是否在同一个物理节点上,若是,进入步骤S4,若否,进入步骤S04;S4:所述SDN控制器下发第一规则让所述客户端请求送达至后端实例,且SDN控制器下发反向规则,进入步骤S5;S04:所述SDN控制器在所述客户端请求从所述负载均衡实例出来时下发第二规则使得请求发送到后端实例所在的物理节点,并在所述客户端请求到达后端实例所在物理节点时下发第三规则使得请求送达后端实例,且SDN控制器下发反向规则,进入步骤S5;S5:所述SDN控制器判断所述客户端是否为所述SDN网络范围内的实例,如是,进入步骤S6,若否,进入步骤S06;S6:所述反向规则在所述客户请求到达所述后端实例所在物理节点时下发到该物理节点,反向规则使得后端实例直接发送响应到客户端;S06:所述反向规则在所述客户端请求从负载均衡实例出来时,下发到后端实例所在物理节点,反向规则使得后端实例直接发送响应到客户端。2.根据权利要求1所述的基于SDN的负载均衡方法,其特征在于:执行所述步骤S6之后,进入步骤S7;S7:判断所述客户端实例是否进行迁移动作,如是,进入步骤S8,如否,结束处理...

【专利技术属性】
技术研发人员:刘忻林冬艺吴炯辉袁龙浩
申请(专利权)人:广州市品高软件股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1