CN107846365A - 一种基于sdn的负载均衡实现***及方法 - Google Patents

一种基于sdn的负载均衡实现***及方法 Download PDF

Info

Publication number
CN107846365A
CN107846365A CN201711003145.7A CN201711003145A CN107846365A CN 107846365 A CN107846365 A CN 107846365A CN 201711003145 A CN201711003145 A CN 201711003145A CN 107846365 A CN107846365 A CN 107846365A
Authority
CN
China
Prior art keywords
packet
flow table
load balancing
interchanger
terminal
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.)
Pending
Application number
CN201711003145.7A
Other languages
English (en)
Inventor
李宇翔
谭小波
刘文学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agree With Polytron Technologies Inc
Original Assignee
Agree With Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agree With Polytron Technologies Inc filed Critical Agree With Polytron Technologies Inc
Priority to CN201711003145.7A priority Critical patent/CN107846365A/zh
Publication of CN107846365A publication Critical patent/CN107846365A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的技术方案包括一种基于SDN的负载均衡实现***及方法,该***包括终端、控制器、交换机及多个后端服务器,用于实现:在达到负载均衡时,生成将终端的业务分配到后端服务器的报文,报文包括终端IP和虚拟IP地址,以及还包括用于业务处理的数据包;生成交换机可识别的流表,并将流表发送至交换机;根据流表预设的规则对虚拟IP地址进行修改,以及接收后端服务器发送的数据包并进行IP地址的还原;接收交换机发送的数据包,以及执行对应的业务运算并生成相应数据包,其中数据包包括报文。发明的有益效果为:实现了链路级的负载均衡,相比传统代理级的负载均衡;极大的提高了负载均衡的转发性能;动态修改流表规则,可实现网络的灵活定制。

Description

一种基于SDN的负载均衡实现***及方法
技术领域
本发明涉及一种基于SDN的负载均衡实现***及方法,属于计算机数据处理领域。
背景技术
负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。
例如:某***每天有7000万笔的业务量,单台服务器满负荷也只能处理5000万笔业务,单台服务器根本无法处理这么大的业务量。此时可以再增加一台处理能力相同的服务器,将所有业务分摊到这两台服务器,让他们分别处理一部分,负载均衡技术正是解决了如何将业务分摊到两台甚至多台服务器。
目前实现负载均衡的方式主要通过全代理来实现,通过全代理实现的负载均衡,客户端要与全代理建立连接,代理再与后端服务器建立连接,需要建立两次连接,这极大的降低了负载均衡的性能。
如图1所示的全代理的负载均衡实现流程,具体如下:首先客户端和全代理(负载均衡全代理)建立TCP链接,将HTTP请求发送至全代理,全代理对HTTP请求进行解析,进行会话管理、访问控制等操作,之后根据负载均衡算法为该HTTP请求分配一个后端服务器,并将处理后的HTTP请求转发至该后端服务器,服务器在处理完成之后,将HTTP响应报文发送给全代理,经由全代理将该响应报文返回给客户端。这样一次请求需要建立两次连接。
SDN:软件定义网络;
OpenFlow:SDN控制平面与转发平面通信协议;
OpenFlow交换机:支持OpenFlow协议的软件交换机。
发明内容
本发明的技术方案提供了一种基于SDN的负载均衡实现***及方法,基于SDN技术的负载均衡实现了链路级的负载均衡,一次请求只需要建立一次连接,解决了现有技术的不足。
本发明的技术方案包括一种基于SDN的负载均衡实现***,该***包括终端、控制器、交换机及多个后端服务器,其中:终端,用于在达到负载均衡时,生成将终端的业务分配到后端服务器的报文,报文包括终端IP和虚拟IP地址,以及还包括用于业务处理的数据包;控制器,用于生成交换机可识别的流表,并将流表发送至所述交换机;交换机,用于接收所述终端发送的请求指令以及接收所述控制器发送的流表,根据流表预设的规则对虚拟IP地址进行修改,并将修改的数据包进行发送,以及接收所述后端服务器发送的数据包并进行IP地址的还原;后端服务器,用于接收所述交换机发送的数据包,以及执行对应的业务运算并生成相应数据包,其中数据包包括报文。
根据所述的基于SDN的负载均衡实现***,其特征在于:所述终端进一步为用于执行业务处理的服务器,所述后端服务器用于分担业务负载调度的数据库。
根据所述的基于SDN的负载均衡实现***,其中控制器还包括:流表规则定制模块,用于自定义流表规则,并将流表规则发送至所述交换机和服务器,所述流表规则用于对控制器的IP转换进行进行限定。
根据所述的基于SDN的负载均衡实现***,其中交换机用于执行以下步骤:在对任意数据包执行IP转换时记录转换规则,并将转换标识同时记载于数据包和控制器中;当流表规则发生动态变化时,校验经过控制器的数据包是否存在历史转换标识,若存在则调用历史转换规则对数据包执行还原转换,若不存在历史转换标识,则使用新的转换对数据包执行转换。
根据所述的基于SDN的负载均衡实现***,其中交换机还包括:当识别到经过的数据包不存在于终端时,将数据包发送至控制器进行存储或删除。
本发明的技术方案还包括一种基于SDN的负载均衡实现方法,其特征在于,该方法包括:在达到负载均衡时,生成将终端的业务分配到后端服务器的报文,报文包括终端IP和虚拟IP地址,以及还包括用于业务处理的数据包;生成交换机可识别的流表,并将流表发送至交换机;接收终端发送的请求指令以及接收控制器发送的流表,根据流表预设的规则对虚拟IP地址进行修改,并将修改的数据包进行发送,以及接收后端服务器发送的数据包并进行IP地址的还原;接收交换机发送的数据包,以及执行对应的业务运算并生成相应数据包,其中数据包包括报文。
本发明的有益效果为:实现了链路级的负载均衡,相比传统代理级的负载均衡;极大的提高了负载均衡的转发性能;动态修改流表规则,可实现网络的灵活定制。
附图说明
图1所示为根据本现有技术的全代理的负载均衡实现流程图;
图2所示为根据本发明实施方式的总体结构框图;
图3所示为根据本发明实施方式的交互图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的基于SDN的负载均衡实现***及方法适用于服务器负载均衡的实现。
图2所示为根据本发明实施方式的总体结构框图。其中包括终端,交换机、控制器、多个服务器,其中交换机为OpenFlow
与传统的负载均衡不同,基于OpenFlow的负载均衡的转发最终是通过流表实现的。
首先控制器根据负载均衡的规则,生成OpenFlow交换机可以识别的流表,并将流表派发给OpenFlow交换机。
当OpenFlow交换机在接到发给虚拟IP的数据包后,根据流表中设定的规则,将数据包中的目的IP修改为后端服务器的IP,然后进行转发。当在本地流表中查找不到时,则将数据包交由控制器处理或者丢弃。
后端服务器的响应报文通过OpenFlow交换机时,交换机根据流表,将报文的源地址被还原为虚服务的VSIP,再返回给客户端,完成整个负载调度过程。
图3所示为根据本发明实施方式的交互图。
其包括以下流程:
(1)终端用户请求数据包的发送,即业务请求,此时目的IP=虚拟IP地址,源IP=终端IP地址;
(2)交换机根据流表处理数据包,此时目的IP=(后端)服务器IP地址,源IP=终端IP地址;
(3)服务器对交换机的响应,根据流表处理数据包目的IP=终端IP,源IP=服务器IP地址;
(4)交换机对终端进行相应,其中目的IP=终端IP,源IP=虚拟IP地址。
从以上流程可以看出,客户端请求到达负载均衡时,并没有建立连接而只是修改了IP包中的目的地址,然后将IP包直接转发到对应的服务器,从而实现了链路级的负载均衡,一次请求只是建立了一次连接,这样极大的提高了负载均衡的转发性能。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (6)

1.一种基于SDN的负载均衡实现***,该***包括终端、控制器、交换机及多个后端服务器,其中:
终端,用于在达到负载均衡时,生成将终端的业务分配到后端服务器的报文,报文包括终端IP和虚拟IP地址,以及还包括用于业务处理的数据包;
控制器,用于生成交换机可识别的流表,并将流表发送至所述交换机;
交换机,用于接收所述终端发送的请求指令以及接收所述控制器发送的流表,根据流表预设的规则对虚拟IP地址进行修改,并将修改的数据包进行发送,以及接收所述后端服务器发送的数据包并进行IP地址的还原;
后端服务器,用于接收所述交换机发送的数据包,以及执行对应的业务运算并生成相应数据包,其中数据包包括报文。
2.根据权利要求1所述的基于SDN的负载均衡实现***,其特征在于:
所述终端进一步为用于执行业务处理的服务器,所述后端服务器用于分担业务负载调度的数据库。
3.根据权利要求1所述的基于SDN的负载均衡实现***,其特征在于,所述的控制器还包括:
流表规则定制模块,用于自定义流表规则,并将流表规则发送至所述交换机,所述流表规则用于对控制器的IP转换进行进行限定。
4.根据权利要求1所述的基于SDN的负载均衡实现***,其特征在于,所述的交换机用于执行以下步骤:
在对任意数据包执行IP转换时记录转换规则,并将转换标识同时记载于数据包和控制器中;
当流表规则发生动态变化时,校验经过控制器的数据包是否存在历史转换标识,若存在则调用历史转换规则对数据包执行还原转换,若不存在历史转换标识,则使用新的转换对数据包执行转换。
5.根据权利要求1所述的基于SDN的负载均衡实现***,其特征在于,所述的交换机还包括:
当识别到经过的数据包不存在于终端时,将数据包发送至控制器进行存储或删除。
6.一种基于SDN的负载均衡实现方法,其特征在于,该方法包括:
在达到负载均衡时,生成将终端的业务分配到后端服务器的报文,报文包括终端IP和虚拟IP地址,以及还包括用于业务处理的数据包;
生成交换机可识别的流表,并将流表发送至交换机;
接收终端发送的请求指令以及接收控制器发送的流表,根据流表预设的规则对虚拟IP地址进行修改,并将修改的数据包进行发送,以及接收后端服务器发送的数据包并进行IP地址的还原;
接收交换机发送的数据包,以及执行对应的业务运算并生成相应数据包,其中数据包包括报文。
CN201711003145.7A 2017-10-24 2017-10-24 一种基于sdn的负载均衡实现***及方法 Pending CN107846365A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711003145.7A CN107846365A (zh) 2017-10-24 2017-10-24 一种基于sdn的负载均衡实现***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711003145.7A CN107846365A (zh) 2017-10-24 2017-10-24 一种基于sdn的负载均衡实现***及方法

Publications (1)

Publication Number Publication Date
CN107846365A true CN107846365A (zh) 2018-03-27

Family

ID=61663084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711003145.7A Pending CN107846365A (zh) 2017-10-24 2017-10-24 一种基于sdn的负载均衡实现***及方法

Country Status (1)

Country Link
CN (1) CN107846365A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451084A (zh) * 2018-09-14 2019-03-08 华为技术有限公司 一种服务访问方法及装置
CN109495440A (zh) * 2018-09-06 2019-03-19 国家电网有限公司 一种内网动态防御的随机方法
CN111641724A (zh) * 2020-06-04 2020-09-08 山东汇贸电子口岸有限公司 一种lvs负载均衡器在云下的应用方法
CN111970209A (zh) * 2020-07-13 2020-11-20 珠海高凌信息科技股份有限公司 Sip业务均衡***
CN113271260A (zh) * 2021-05-12 2021-08-17 康键信息技术(深圳)有限公司 负载均衡处理方法、装置、设备及存储介质
WO2022267458A1 (zh) * 2021-06-25 2022-12-29 平安科技(深圳)有限公司 负载均衡方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811383A (zh) * 2015-03-19 2015-07-29 杭州华三通信技术有限公司 一种报文转发方法和设备
US20160182378A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget L M Ericsson (Publ) Method and system for load balancing in a software-defined networking (sdn) system upon server reconfiguration
CN106101298A (zh) * 2016-06-06 2016-11-09 刘昱 基于sdn的网络地址转换装置及方法
CN106850459A (zh) * 2017-02-27 2017-06-13 郑州云海信息技术有限公司 一种实现虚拟网络负载均衡的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160182378A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget L M Ericsson (Publ) Method and system for load balancing in a software-defined networking (sdn) system upon server reconfiguration
CN104811383A (zh) * 2015-03-19 2015-07-29 杭州华三通信技术有限公司 一种报文转发方法和设备
CN106101298A (zh) * 2016-06-06 2016-11-09 刘昱 基于sdn的网络地址转换装置及方法
CN106850459A (zh) * 2017-02-27 2017-06-13 郑州云海信息技术有限公司 一种实现虚拟网络负载均衡的方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495440A (zh) * 2018-09-06 2019-03-19 国家电网有限公司 一种内网动态防御的随机方法
CN109451084A (zh) * 2018-09-14 2019-03-08 华为技术有限公司 一种服务访问方法及装置
CN109451084B (zh) * 2018-09-14 2020-12-22 华为技术有限公司 一种服务访问方法及装置
CN111641724A (zh) * 2020-06-04 2020-09-08 山东汇贸电子口岸有限公司 一种lvs负载均衡器在云下的应用方法
CN111970209A (zh) * 2020-07-13 2020-11-20 珠海高凌信息科技股份有限公司 Sip业务均衡***
CN113271260A (zh) * 2021-05-12 2021-08-17 康键信息技术(深圳)有限公司 负载均衡处理方法、装置、设备及存储介质
WO2022267458A1 (zh) * 2021-06-25 2022-12-29 平安科技(深圳)有限公司 负载均衡方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN107846365A (zh) 一种基于sdn的负载均衡实现***及方法
CN109996307B (zh) 一种数据路由方法以及终端
US20130107713A1 (en) Distributed chassis architecture having integrated service appliances
CN105282191B (zh) 负载均衡***、控制器和方法
CN106713499A (zh) 一种负载均衡方法、设备及***
CN102347959B (zh) 基于身份和会话的资源访问***和方法
CN111614631B (zh) 一种用户态流水线架构防火墙***
CN106973053B (zh) 宽带接入服务器的加速方法和***
JP6395867B2 (ja) OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ
EP2081336B1 (en) Business message transmission method, system and apparatus
US20230300726A1 (en) Data processing method and apparatus, network element device, storage medium, and program product
US20230300106A1 (en) Data processing method, network element device and readable storage medium
CN107948087A (zh) 一种负载均衡的方法及设备
CN113747373B (zh) 消息处理***、装置和方法
CN102932269A (zh) 负载均衡的实现方法和装置
CN209805866U (zh) 一种会话保持***
Wang et al. CDLB: a cross-domain load balancing mechanism for software defined networks in cloud data centre
CN101355585B (zh) 一种分布式架构数据通信设备的消息保护***及方法
CN112968965B (zh) Nfv网络节点的元数据服务方法、服务器及存储介质
CN101621528B (zh) 基于以太交换机集群管理的会话***及会话通道实现方法
CN105072057B (zh) 一种用于网络数据传输的中间交换设备及其方法和***
CN107483628A (zh) 基于dpdk的单向代理方法及***
CN116455817A (zh) 一种软件定义云网融合架构及路由实现方法
CN104580420B (zh) 一种跨idc的数据传输***及方法
WO2001067678A1 (fr) Commutateur d'informations

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180327

RJ01 Rejection of invention patent application after publication