CN112311895B - 一种基于sdn的透明模式tcp流负载均衡方法及设备 - Google Patents
一种基于sdn的透明模式tcp流负载均衡方法及设备 Download PDFInfo
- Publication number
- CN112311895B CN112311895B CN202011261776.0A CN202011261776A CN112311895B CN 112311895 B CN112311895 B CN 112311895B CN 202011261776 A CN202011261776 A CN 202011261776A CN 112311895 B CN112311895 B CN 112311895B
- Authority
- CN
- China
- Prior art keywords
- load balancing
- tcp
- ovs
- flow table
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SDN的透明模式TCP流负载均衡方法及设备,属于网络负载均衡技术领域。该设备连接有多个处理单元,并通过LAN口和WAN口与公共网络通信。该设备实现了控制面与数据面的分离,其中,控制面基于ryu的SDN控制器实现,数据面基于OVS软件换实现。控制面为数据面OVS配置不同优先级的转发流表,对于不同类型的报文进行不同处理。本发明的负载均衡为透明模式,不进行地址转换,负载均衡设备与处理网络可直接串入现有公共网络,而不会影响现有网络部署,无需改变网络部署设置。
Description
技术领域
本发明涉及网络负载均衡技术领域,特别是指一种基于SDN的透明模式TCP流负载均衡方法及设备。
背景技术
负载均衡一直是计算机网络发展过程中的一个热点。传统的负载均衡工作在IP层,针对IP包进行负载均衡,这一技术典型的协议例如ECMP,以及工作在二层的TRILL等。
随着互联网的发展,特别是云计算、大数据等技术的带动,传统的负载均衡已经不能适应这些场景的需求。一个典型的场景是一个网站如何服务于上亿的用户,显然靠单台服务器是达不到需求,需要多台服务器协同工作。当多台同质的服务器,用户如何选择服务器,这一部分就是负载均衡的工作。这里的负载均衡往往是工作在4层,这一技术的典型代表是HAPROXY,NIGIX,IPVS等四层或者是7层的协议。
以上负载均衡无论是三层,或者是四层,七层,都有一个共同的特点,负载均衡单元只做单向的负载均衡,比如HAPROXY,只是用来分发用户的请求,而不去处理服务器的回复请求。
发明内容
有鉴于此,本发明提出一种基于SDN的透明模式TCP流负载均衡方法及设备,其能够对高并发TCP数据流进行负载均衡,将其调度到合适的处理单元,从而提高处理网络的并发处理能力。
为了实现上述目的,本发明提供的技术方案是:
一种基于SDN的透明模式TCP流负载均衡方法,应用于负载均衡设备,所述负载均衡设备连接有多个处理单元,并通过LAN口和WAN口与公共网络通信;包括以下步骤:
(1)来自公共网络的报文数据传入数据面的OVS虚拟交换机,对于非TCP报文,数据面OVS利用低优先级转发流表,直接从负载均衡设备另一个连接公共网络的端口转发出去;对于TCP报文,将首个TCP报文匹配中优先级流表,并转发给控制面;
(2)控制面获取所述首个TCP报文的五元组信息,依据五元组信息和负载调度策略,向数据面OVS配置双向转发流表,流表优先级为高优先级,表项中包含标识处理单元的VXLAN信息,并通过VXLAN的网络标识VNI来区分不同的处理单元;
(3)控制面将所述首个TCP报文再发回OVS虚拟交换机,使该TCP报文匹配OVS高优先级流表进行转发;此外,同一条TCP连接的后续报文也在数据面OVS中匹配该高优先级流表进行转发,从而使同一条TCP连接的所有报文均被调度到同一处理单元。
进一步的,所述负载调度策略为最小连接策略,即,负载均衡设备统计被调度到各处理单元的TCP连接个数,并将新到的TCP连接调度到当前处理TCP连接数最少的处理单元。
进一步的,所述同一条TCP连接的后续报文包括前向数据报文和反向确认报文。
进一步的,在负载均衡设备的前端以及后端还通过两台ECMP交换机做基于IP的负载均衡,从而实现IP层面和TCP流层面的两级负载均衡。
此外,本发明还提供一种基于SDN的透明模式TCP流负载均衡设备,其用于执行如上任一项所述的负载均衡方法。
从上面的叙述可以看出,本发明技术方案的有益效果在于:
1、本发明为一种全透明的负载均衡架构,负载均衡设备工作模式为透明模式,而非代理模式,负载均衡设备对两端的数据业务终端是透明的、无感的。换言之,负载均衡设备和处理网络的加入不影响原来的网络规划和网络拓扑。
2、本发明负载均衡设备既要处理前向TCP数据流的负载均衡,又要处理返向TCP确认流的负载均衡,且这两者需要被均衡调度到同一个处理单元。
3、本发明通过使用SDN技术,把负载均衡分为数据面以及控制面。数据面处理具体的TCP流的接收,分类,转发;控制面处理流表的生成,目的地处理,销毁处理等流程。采用这种SDN技术,使得本发明的扩展性好,能够对接不同的控制器,增加新功能只需对控制面进行修改;可集成性好,可以复用SDN的接口,可以与周边的云环境进行集成。
4、本发明选择选择业内通用的OpenVSwitch(OVS)作为数据面,成熟度更高。
附图说明
为了更加清楚地描述本专利,下面提供一幅或多幅附图,这些附图旨在对本专利的背景技术、技术原理和/或某些具体实施方案做出辅助说明。需要注意的是,以下附图均为示例性质的图片,并非旨在暗示本专利的保护范围。
图1是本发明实施例中单级负载均衡的原理示意图;
图2是本发明实施例中两级负载均衡的原理示意图。
具体实施方式
为了便于本领域技术人员对本专利技术方案的理解,同时,为了使本专利的技术目的、技术方案和有益效果更加清楚,并使权利要求书的保护范围得到充分支持,下面以具体案例的形式对本专利的技术方案做出进一步的、更详细的说明。
如图1所示,一种基于SDN的透明模式TCP流负载均衡设备,该设备连接有多个处理单元,并通过LAN口和WAN口与公共网络通信。该设备实现了控制面与数据面的分离,其中,控制面基于ryu的SDN控制器实现,数据面基于OVS软件换实现。控制面为数据面OVS配置不同优先级的转发流表,对于不同类型的报文进行不同处理。
采用该设备进行负载均衡的过程如下:
(1)来自公共网络的报文数据传入数据面的OVS虚拟交换机,对于非TCP报文,数据面OVS利用低优先级转发流表直接转发报文;具体转发规则是:若是从port1接收,则从port2转发;若是从port2接收,则从port1转发。对于TCP报文,将首个TCP报文匹配中优先级流表,并转发给控制面。
(2)控制面获取所述首个TCP报文的五元组信息,依据五元组信息和负载调度策略,向数据面OVS配置双向转发流表,流表优先级为高优先级,表项中包含标识处理单元的VXLAN信息,并通过VXLAN的网络标识VNI来区分不同的处理单元。所述五元组信息为源IP地址、源端口、目的IP地址、目的端口和传输层协议。
(3)控制面将所述首个TCP报文再发回OVS虚拟交换机,使该TCP报文匹配OVS高优先级流表进行转发;此外,同一条TCP连接的后续报文从port1或port2进入负载均衡设备后,其五元组信息也会匹配该双向高优先级流表,从而被调度到同一处理单元。
进一步的,所述负载调度策略为最小连接策略,即,负载均衡设备统计被调度到各处理单元的TCP连接个数,并将新到的TCP连接调度到当前处理TCP连接数最少的处理单元。
进一步的,所述同一条TCP连接的后续报文包括前向数据报文和反向确认报文。
进一步的,如图2所示,在前述单级负载均衡设备的前端以及后端还通过两台ECMP交换机做基于IP的负载均衡,从而可实现IP层面和TCP流层面的两级负载均衡。
目前,现有的负载均衡多工作在代理模式,而本发明的负载均衡为透明模式,不进行地址转换,负载均衡设备与处理网络可直接串入现有公共网络,而不会影响现有网络部署,无需改变网络部署设置。
本发明利用OVS软交换和SDN控制器实现数据面和控制面的分离。其中,控制面配置低、中、高三种优先级的流表,对于从公共网络接收到的数据报文,匹配不同优先级的流表进行相应处理,对于非TCP报文,匹配低优先级流表,直接从负载均衡设备另一个连接公共网络的端口转发出去;对于TCP首报文,则匹配中优先级流表,将TCP首报文送到SDN控制器,控制面获取TCP报文的五元组信息,根据负载调度策略,为数据面OVS配置双向转发流表,流表优先级为高优先级。同一条TCP连接的后续报文,则在数据面OVS中匹配高优先级流表进行转发。
需要理解的是,上述对于本专利具体实施方式的叙述仅仅是为了便于本领域普通技术人员理解本专利方案而列举的示例性描述,并非暗示本专利的保护范围仅仅被限制在这些个例中,本领域普通技术人员完全可以在对本专利技术方案做出充分理解的前提下,以不付出任何创造性劳动的形式,通过对本专利所列举的各个例采取组合技术特征、替换部分技术特征、加入更多技术特征等等方式,得到更多的具体实施方式,所有这些具体实施方式均在本专利权利要求书的保护范围之内。
Claims (5)
1.一种基于SDN的透明模式TCP流负载均衡方法,其特征在于,应用于负载均衡设备,所述负载均衡设备连接有多个处理单元,并通过LAN口和WAN口与公共网络通信;包括以下步骤:
(1)来自公共网络的报文数据传入数据面的OVS虚拟交换机,对于非TCP报文,数据面OVS利用低优先级转发流表,直接从负载均衡设备另一个连接公共网络的端口转发出去;对于TCP报文,将首个TCP报文匹配中优先级流表,并转发给控制面;
(2)控制面获取所述首个TCP报文的五元组信息,依据五元组信息和负载调度策略,向数据面OVS配置双向转发流表,流表优先级为高优先级,表项中包含标识处理单元的VXLAN信息,并通过VXLAN的网络标识VNI来区分不同的处理单元;
(3)控制面将所述首个TCP报文再发回OVS虚拟交换机,使该TCP报文匹配OVS高优先级流表进行转发;此外,同一条TCP连接的后续报文也在数据面OVS中匹配该高优先级流表进行转发,从而使同一条TCP连接的所有报文均被调度到同一处理单元。
2.根据权利要求1所述的一种基于SDN的透明模式TCP流负载均衡方法,其特征在于,所述负载调度策略为最小连接策略,即,负载均衡设备统计被调度到各处理单元的TCP连接个数,并将新到的TCP连接调度到当前处理TCP连接数最少的处理单元。
3.根据权利要求1所述的一种基于SDN的透明模式TCP流负载均衡方法,其特征在于,所述同一条TCP连接的后续报文包括前向数据报文和反向确认报文。
4.根据权利要求1所述的一种基于SDN的透明模式TCP流负载均衡方法,其特征在于,在负载均衡设备的前端以及后端还通过两台ECMP交换机做基于IP的负载均衡,从而实现IP层面和TCP流层面的两级负载均衡。
5.一种基于SDN的透明模式TCP流负载均衡设备,其特征在于,用于执行如权利要求1~4中任一项所述的负载均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011261776.0A CN112311895B (zh) | 2020-11-12 | 2020-11-12 | 一种基于sdn的透明模式tcp流负载均衡方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011261776.0A CN112311895B (zh) | 2020-11-12 | 2020-11-12 | 一种基于sdn的透明模式tcp流负载均衡方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311895A CN112311895A (zh) | 2021-02-02 |
CN112311895B true CN112311895B (zh) | 2022-10-11 |
Family
ID=74325898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011261776.0A Active CN112311895B (zh) | 2020-11-12 | 2020-11-12 | 一种基于sdn的透明模式tcp流负载均衡方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311895B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113839894B (zh) * | 2021-07-28 | 2023-10-27 | 新华三大数据技术有限公司 | 报文处理方法及*** |
CN116527586B (zh) * | 2023-07-05 | 2023-09-19 | 北京亿赛通科技发展有限责任公司 | 一种基于多链路负载均衡网络的串接代理*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104980361A (zh) * | 2014-04-01 | 2015-10-14 | 华为技术有限公司 | 一种负载均衡方法、装置及*** |
CN105406992A (zh) * | 2015-10-28 | 2016-03-16 | 浙江工商大学 | 一种面向sdn的业务需求转化和部署方法 |
CN106878194A (zh) * | 2016-12-30 | 2017-06-20 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN110191065A (zh) * | 2019-06-08 | 2019-08-30 | 西安电子科技大学 | 基于软件定义网络的高性能负载均衡***与方法 |
CN110430143A (zh) * | 2019-08-23 | 2019-11-08 | 锐捷网络股份有限公司 | 网络设备的负载均衡方法及装置 |
CN110611671A (zh) * | 2019-09-12 | 2019-12-24 | 北京邮电大学 | 基于移动目标防御的局域网通信方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100459574C (zh) * | 2005-09-19 | 2009-02-04 | 北京大学 | 对网络流进行分类、状态跟踪和报文处理的装置和方法 |
US9356866B1 (en) * | 2014-01-10 | 2016-05-31 | Juniper Networks, Inc. | Receive packet steering for virtual networks |
EP3229405B1 (en) * | 2015-12-31 | 2020-07-15 | Huawei Technologies Co., Ltd. | Software defined data center and scheduling and traffic-monitoring method for service cluster therein |
-
2020
- 2020-11-12 CN CN202011261776.0A patent/CN112311895B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104980361A (zh) * | 2014-04-01 | 2015-10-14 | 华为技术有限公司 | 一种负载均衡方法、装置及*** |
CN105406992A (zh) * | 2015-10-28 | 2016-03-16 | 浙江工商大学 | 一种面向sdn的业务需求转化和部署方法 |
CN106878194A (zh) * | 2016-12-30 | 2017-06-20 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN110191065A (zh) * | 2019-06-08 | 2019-08-30 | 西安电子科技大学 | 基于软件定义网络的高性能负载均衡***与方法 |
CN110430143A (zh) * | 2019-08-23 | 2019-11-08 | 锐捷网络股份有限公司 | 网络设备的负载均衡方法及装置 |
CN110611671A (zh) * | 2019-09-12 | 2019-12-24 | 北京邮电大学 | 基于移动目标防御的局域网通信方法及装置 |
Non-Patent Citations (1)
Title |
---|
SDN 下的IPv6 任意播实现负载均衡的路由算法研究;樊伟;《小型微型计算机***》;20190331;547-550页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112311895A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2676411B1 (en) | Method and system for classification and management of inter-blade network traffic in a blade server | |
US9571382B2 (en) | Method, controller, and system for processing data packet | |
EP3142310B1 (en) | Method, device, and system for configuring flow entries | |
US8694654B1 (en) | Host side protocols for use with distributed control plane of a switch | |
US10887119B2 (en) | Multicasting within distributed control plane of a switch | |
EP3096490B1 (en) | Method for realizing network virtualization and related device and communication system | |
CN112311895B (zh) | 一种基于sdn的透明模式tcp流负载均衡方法及设备 | |
EP2369782B1 (en) | Multicasting within a distributed control plane of a switch | |
US20080084866A1 (en) | Routing based on dynamic classification rules | |
CN104394080A (zh) | 实现安全组功能的方法及装置 | |
CN110995514B (zh) | 一种多维度的端到端网络切片生成装置及方法 | |
CN102332968A (zh) | 通信设备、通信方法及计算机程序 | |
CN104580550A (zh) | 分布式***中多业务板分流时的nat处理方法及设备 | |
CN104065759A (zh) | 一种提高nat地址池资源利用效率的方法及装置 | |
CN104579894A (zh) | 分布式虚拟交换机***的IGMP Snooping实现方法及装置 | |
CN103200117B (zh) | 一种负载均衡方法和装置 | |
CN100571218C (zh) | 一种实现流转换的方法和设备 | |
CN105379210A (zh) | 一种数据流处理方法及装置 | |
WO2017201750A1 (zh) | 组播数据处理方法、装置及*** | |
CN110401726A (zh) | 地址解析协议报文的处理方法、装置及设备、存储介质 | |
CN114095388B (zh) | RTC / RTE设备与WiFi接入点间交换数据包分类标识符的方法以及无线接入点 | |
CN110417687A (zh) | 一种报文发送与接收方法及装置 | |
CN210380899U (zh) | 基于硬件的mqtt发布订阅*** | |
CN105049358A (zh) | 一种sdn网络的虚拟转发平台及其通信方法 | |
CN105812278A (zh) | 软件定义网络中服务质量控制方法及装置 |
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 |