CN107846365A - 一种基于sdn的负载均衡实现***及方法 - Google Patents
一种基于sdn的负载均衡实现***及方法 Download PDFInfo
- 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
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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address 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的负载均衡实现***及方法,属于计算机数据处理领域。
背景技术
负载均衡(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地址的还原;
接收交换机发送的数据包,以及执行对应的业务运算并生成相应数据包,其中数据包包括报文。
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)
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)
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 | 郑州云海信息技术有限公司 | 一种实现虚拟网络负载均衡的方法及装置 |
-
2017
- 2017-10-24 CN CN201711003145.7A patent/CN107846365A/zh active Pending
Patent Citations (4)
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)
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 |