CN113472677B - 虚拟化环境负载均衡流量处理方法、系统及计算机介质 - Google Patents
虚拟化环境负载均衡流量处理方法、系统及计算机介质 Download PDFInfo
- Publication number
- CN113472677B CN113472677B CN202110751231.6A CN202110751231A CN113472677B CN 113472677 B CN113472677 B CN 113472677B CN 202110751231 A CN202110751231 A CN 202110751231A CN 113472677 B CN113472677 B CN 113472677B
- Authority
- CN
- China
- Prior art keywords
- message
- mark
- network
- traffic
- tunnel
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000005111 flow chemistry technique Methods 0.000 title claims abstract description 12
- 238000005516 engineering process Methods 0.000 claims abstract description 15
- 230000005641 tunneling Effects 0.000 claims abstract description 12
- 238000005538 encapsulation Methods 0.000 claims description 36
- 230000006872 improvement Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 238000013519 translation Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 description 1
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了虚拟化环境负载均衡流量处理方法、系统及计算机介质,包括:对经过负载均衡器且发往real server虚拟机的流量设置第一标记;挂载负载均衡器的第一主机将设置有第一标记的流量进行报文封装,所述报文的隧道封装标记设置第二标记;将设置有第二标记的报文通过隧道技术发送至real server虚拟机;挂载所述real server虚拟机的第二主机读取具有第二标记的报文,并在会话记录表中记录该报文路径信息;挂载所述real server虚拟机的第二主机查找会话记录表,如果存在正向流量,则表明该流量为需要返回负载均衡器的回程流量,使用会话表记录中的源端MAC地址作为回程报文的目的MAC地址,实现了虚拟化环境负载均衡源端网络地址保持不变,且real server虚拟机不需要再配置默认路由。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种虚拟化环境负载均衡流量处理方法、系统及计算机介质。
背景技术
在负载均衡场景中,服务器需要对客户端进行识别,用于网络安全和大数据的分析。目前七层流量主要通过HTTP head的x-forward-for来获取,而四层的TCP和UDP流量的客户端源IP获取方式主要有以下三种。
现有技术方案一:负载均衡的DR模式,客户端流量在负载均衡器上仅改变目的MAC地址,将流量发送到real server,客户端的IP不变,real server能直接取到客户端源IP,该技术方案存在的技术问题在于,负载均衡器的IP和real server需要在用同一个二层网络,组网限制较大。
现有技术方案二:负载均衡的NAT模式,客户端流量在负载均衡器上进行目的地址转换(下文简称DNAT,全称为Destination Network Address Translation),目的IP修改成real server的IP地址,在real server上配置路由,网关指向负载均衡器,客户端的IP不变,real server能直接取到客户端源IP,该技术方案存在的技术问题在于,该技术通常通过real server配置的路由进行流量回程,并需要在real server配置环回口及环回口上配置虚IP的地址。
现有技术方案三:负载均衡的FULL NAT模式,客户端流量在负载均衡器上做源地址转换(下文简称SNAT,全称为Source Network Address Translation)和DNAT,目的IP修改成real server的IP地址,源IP修改为负载均衡器的IP地址,负载均衡器上通过TOA(TcpOption Address)模块,将客户端的源IP携带到TCP报文option字段中,在real server上安装TOA补丁,在TCP建立连接时将源IP存放到socket信息中,通过系统调用获取客户端源IP,该技术方案存在的技术问题在于,需要在real server上安装补丁,并需要修改应用程序获取客户端源IP的方式,对于客户业务上云成本较高。
有鉴于此,有必要对现有技术中的虚拟化环境负载均衡流量处理方法予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示一种虚拟化环境负载均衡流量处理方法、系统及计算机介质,通过对流量设置第一标记,并对该流量报文的隧道封装标记设置第二标记,将设置有第二标记的报文以隧道技术发往real server虚拟机,挂载real server虚拟机的主机以会话记录表方式读取并记录报文的路径信息,并以该报文的路径信息制定回程的路径信息并封装回程报文,一方面,在NAT模式情况下,实现了虚拟化环境负载均衡源端网络地址保持不变,另一方面,real server虚拟机不需要再配置默认路由,在real server虚拟机不进行任何改变情况下,实现源端网络地址保持不变并回程。
为实现上述第一个发明目的,本发明提供了虚拟化环境负载均衡流量处理方法,包括以下步骤:
对经过负载均衡器且发往real server虚拟机的流量设置第一标记;
挂载负载均衡器的第一主机将设置有第一标记的流量进行报文封装,所述报文的隧道封装标记设置第二标记;
将设置有第二标记的报文通过隧道技术发送至real server虚拟机;
挂载所述real server虚拟机的第二主机识别出具有第二标记的报文并读取,并在会话记录表中记录该报文路径信息;
挂载所述real server虚拟机的第二主机查找会话记录表,如果存在正向流量,则表明该流量为需要返回负载均衡器的回程流量,以会话表记录中的报文路径信息为依据设置回程报文路径信息。
作为本发明的进一步改进,发往real server虚拟机的流量的第一标记由负载均衡器通过IP Table的mangle表中的PREROUTING链进行设置,所述第一标记为一字符串。
作为本发明的进一步改进,还包括,负载均衡器的第一主机通过mark程序判断流量是否设置有第一标记。
作为本发明的进一步改进,所述第二标记为报文的隧道封装标记保留位的改进。
作为本发明的进一步改进,所述隧道封装标记为8bit,表征为“RRRRIRRR”,R位为保留位,其中“I”位为1时,则表示隧道封装报文有效,为“0”则表示无效,在设置所述第二标记时,将所述隧道封装标记的前4个bit保留位位置设置为1,即“IIIIIRRR”作为第二标记。
作为本发明的进一步改进,还包括,挂载所述real server虚拟机的第二主机读取报文路径信息,并判断是否为经过隧道的报文,若是,则进一步判断是报文是否设置有第二标记,若是,则启动会话记录表,若否,则按常规路由进行转发。
作为本发明的进一步改进,所述报文路径信息为隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址;
所述回程报文路径信息为源端MAC地址作为回程报文的目的MAC地址,隧道端点网络地址作为回程封装报文外层头部的目的网络地址,隧道端点网络标识作为回程封装报文外层头部的目的隧道端点网络标识。
作为本发明的进一步改进,所述隧道技术为VXLAN、GRE、MPLS中的一种,所述会话记录表采用hash存储,查找会话记录表时,查找内容为src_ip,src_port,dst_ip,dst_port,protocol。
基于相同发明思想,并为实现第二个发明目的,本申请还揭示了一种虚拟化环境负载均衡流量处理系统,包括:
源端,用于发送的网络流量请求;
第一网卡,用于将源端的网络流量发送至负载均衡器;
负载均衡器,用于接受所述第一网卡发送的流量,并对流量设置第一标记;
第一主机,用于将设置有第一标记的流量进行报文隧道封装,所述报文的隧道封装标记设置第二标记;
第二网卡,用于接受所述负载均衡器封装后的报文并将该报文通过网络隧道传送至第三网卡;
第三网卡,用于接受第二网卡传送的报文,并将该报文传送至real server虚拟机;
real server虚拟机,用于接受和发送报文;
第二主机,用于识别并读取具有第二标记的报文,并在会话记录表中记录该报文的隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址;
第二主机,还用于查找会话记录表,如果存在正向流量,则表明该流量为负载均衡器的回程流量,使用会话表记录中的源端MAC地址作为回程报文的目的MAC地址,隧道端点网络地址作为回程封装报文外层头部的目的网络地址,隧道端点网络标识作为回程封装报文外层头部的目的隧道端点网络标识;
所述回程报文由所述real server虚拟机发出,依次经过第三网卡、网络隧道、第二网卡、负载均衡器、第一网卡,回程至源端。
基于相同发明思想,并为实现第三个发明目的,本申请还揭示了一种计算机介质,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如第二发明创造所述的基于云迁移场景自动修正网络配置的系统。
与现有技术相比,本发明的有益效果是:
通过对经过负载均衡器且发往real server虚拟机的流量设置第一标记,并对该流量报文的隧道封装标记设置第二标记,将设置有第二标记的报文以隧道技术发往realserver虚拟机,挂载real server虚拟机的主机以会话记录表方式读取并记录报文的路径信息(隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址),并以该报文的路径信息制定回程的路径信息并封装回程报文,一方面,在NAT模式情况下,实现了虚拟化环境负载均衡源端网络地址保持不变,也就是源端地址被封装进报文通过隧道技术传送给real server虚拟机并被读取识别,另一方面,real server虚拟机不需要再配置默认路由,在real server虚拟机不进行任何改变情况下,实现源端网络地址保持不变并回程。
附图说明
图1为本发明虚拟化环境负载均衡流量处理方法的流程图;
图2为本发明虚拟化环境负载均衡流量处理系统的拓扑图;
图3为本发明VXLAN报文格式示意图;
图4为本发明设置有第二标记的VXLAN报文格式示意图;
图5为本发明GRE报文格式示意图;
图6为本发明设置有第二标记的GRE报文格式示意图;
图7为本发明MPLS报文格式示意图;
图8为本发明计算机介质模块示意图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
以下通过多个实施例对本发明的具体实现过程予以阐述。
实施例一:
参图1所示,本实施例揭示了一种虚拟化环境负载均衡流量处理方法(以下简称“方法”)的一种具体实施方式。
参图1所示,在本实施例中,该方法包括以下步骤S1至步骤S5,在本实施例中,未区分隧道技术类型,即隧道技术类型可以是VXLAN、GRE、MPLS中的任一种。
具体地,按以下步骤进行:
步骤S1、对经过负载均衡器且发往real server虚拟机的流量设置第一标记。具体地,源端发送流量请求时,采用TCP/IP或UDP/IP协议发送,指定负载均衡器的IP为目的IP,指定负载均衡器的业务监听器的端口为目的端口,对于指定了上述目的IP和目的端口流量,负载均衡器认为该流量需要发送至后端的real server虚拟机,对该流量设置第一标记,所述第一标记为字符串,字符串由英文字母、阿拉伯数字组合而成,为了提高第一标记的辨识度,所述第一标识的字符数较优的选择为3-10个,当然可以更多位,如0x4、x485、94c42、48594c、er8076c、x48594c4、wd076302a、0x48594c42。
需要进一步说明的是,在为流量设置第一标识时,负载均衡器通过IP Table的mangle表中的PREROUTING链设置第一标记,以第一标识为“0x48594c42”为例,具体设置过程如下:
iptables-t mangel-A PREROUTING-d VIP-P tcp--dport 80-j Mark--set-mark0x48594c42。
步骤S2、挂载负载均衡器的第一主机将设置有第一标记的流量进行报文封装,所述报文的隧道封装标记设置第二标记。具体地,负载均衡器的第一主机通过mark程序判断流量是否设置有第一标记,将设置有第一标记的流量进行报文封装,所述报文的隧道封装标记设置第二标记,封装后的报文内包含流量的路径信息(隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址),所述第二标记为报文的隧道封装标记保留位的改进,因隧道封装技术类型VXLAN、GRE、MPLS具有不同的标准封装格式,其隧道封装标记保留位也不同,该步骤是通过改进保留位做特殊标记,即第二标记,使得该报文能够被后端的real server虚拟机识别,并根据报文所记载的路径信息,并以此路径信息为依据制定回程路径信息。
步骤S3、将设置有第二标记的报文通过隧道技术发送至real server虚拟机。具体地,封装后的报文通过隧道技术发送至后端real server虚拟机。
步骤S4、挂载所述real server虚拟机的第二主机识别出具有第二标记的报文并读取,并在会话记录表中记录该报文路径信息。具体地,报文路径信息为隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址;挂载所述real server虚拟机的第二主机读取报文时,首先需要判断该报文是否具有第二标记,若否,则按常规路由进行转发,若是,则启动会话记录表,所述会话记录表采用hash存储,会话记录表需要保存报文的路径信息,即隧道端点网络地址(Vtep-ip)、隧道端点网络标识(vni)、目的网络地址(dst_ip)、源端网络地址(src_ip)、网络协议类型(protocol)、目的端口(dst_port)、源端端口(src_port)、源端MAC地址(mac),会话记录表保存内容见表1。
index | src_ip | src_port | dst_ip | dst_port | protocol | mac | Vtep-ip | vni |
1 | 200.1.1.2 | 1000 | 10.1.1.2 | 80 | 6 | 02:83:49:f1:0b:4d | 172.118.10.2 | 100 |
2 | 39.11.189.18 | 3233 | 10.1.1.2 | 102 | 17 | 02:17:7d:77:28:09 | 172.118.10.2 | 100 |
… | ||||||||
… |
表1
步骤S5、挂载所述real server虚拟机的第二主机查找会话记录表,如果存在正向流量,则表明该流量为需要返回负载均衡器的回程流量,以会话表记录中的报文路径信息为依据设置回程报文路径信息。具体地,回程报文路径信息为源端MAC地址作为回程报文的目的MAC地址,隧道端点网络地址作为回程封装报文外层头部的目的网络地址,隧道端点网络标识作为回程封装报文外层头部的目的隧道端点网络标识;挂载所述real server虚拟机的第二主机查找会话记录表时,查找内容为src_ip,src_port,dst_ip,dst_port,protocol,这些内容属于流量报文的路径信息,如果能查询到存在src_ip和src_port,即说明存在正向流量,则表明该流量为需要返回负载均衡器的回程流量,将回程流量封装成回程报文,所述回程报文以流量报文的路径信息为依据制定回程路径信息,即,使用查找到的会话表记录中的源端MAC地址作为回程报文的目的MAC地址,隧道端点网络地址作为回程封装报文外层头部的目的网络地址,隧道端点网络标识作为回程封装报文外层头部的目的隧道端点网络标识。
通过上述步骤,通过对经过负载均衡器且发往real server虚拟机的流量设置第一标记,并对该流量报文的隧道封装标记设置第二标记,将设置有第二标记的报文以隧道技术发往real server虚拟机,挂载real server虚拟机的主机以会话记录表方式读取并记录报文的路径信息(隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址),并以该报文的路径信息制定回程的路径信息并封装回程报文,一方面,在NAT模式情况下,实现了虚拟化环境负载均衡源端网络地址保持不变,也就是源端地址被封装进报文通过隧道技术传送给real server虚拟机并被读取识别,另一方面,real server虚拟机不需要再配置默认路由,在real server虚拟机不进行任何改变情况下,实现源端网络地址保持不变并回程。
实施例二:
与实施例一的不同之处在于,实施例二的隧道技术类型以VXLAN为例进行说明。
当隧道技术类型为VXLAN时,图3为VXLAN报文格式示意图,通常情况下,VXLAN报文的隧道封装标记为8bit,即图3中的VXLAN Flags,表征为“RRRRIRRR”,当“I”位为1时,表示VXLAN中的VXLAN ID有效;当“I”位为0时,表示VXLAN中的VXLAN ID无效,其中“R”为保留位,通常设置为0。在本实施例中,将VXLAN报文的隧道封装标记“RRRRIRRR”的保留位“R”进行改进,如,将“RRRRIRRR”的前四位“R”均设置为“I”,即将第二标记设置为“IIIIIRRR”,具体参见修改后的VXLAN报文格式示意图图4,显然,VXLAN报文的隧道封装标记“RRRRIRRR”的保留位共有七位,对其中的任一个或多个保留位进行设置,均可成为第二标记,并不限于上述的举例。
本实施例所揭示的虚拟化环境负载均衡流量处理方法与实施例一中具有相同部分的技术方案,请参实施例一所述,在此不再赘述。
实施例三:
与实施例一的不同之处在于,实施例三的隧道技术类型以GRE为例进行说明。
当隧道技术类型为GRE时,图5为GRE报文格式示意图,通常情况下,GRE报文的隧道封装标记为5bit,即图3中的Flags,表征为“00000”,Flags中所有的“0”为保留位,通常设置为0。在本实施例中,将GRE报文的隧道封装标记“00000”的保留位“0”进行改进,如,将“00000”的第一位“0”设置为“1”,即将第二标记设置为“10000”,具体参见修改后的GRE报文格式示意图图6,显然,GRE报文的隧道封装标记“00000”的保留位共有五位,对其中的任一个或多个保留位进行设置,均可成为第二标记,并不限于上述的举例。
本实施例所揭示的虚拟化环境负载均衡流量处理方法与实施例一中具有相同部分的技术方案,请参实施例一所述,在此不再赘述。
实施例四:
与实施例一的不同之处在于,实施例四的隧道技术类型以MPLS为例进行说明。
当隧道技术类型为MPLS时,图7为MPLS报文格式示意图,通常情况下,MPLS报文的隧道封装标记为20bit,即图7中的Label,Label中的4-13位是保留位。在本实施例中,将MPLS报文Label中的任一个或多个保留位进行改进,使改进后的Label成为第二标记。
本实施例所揭示的虚拟化环境负载均衡流量处理方法与实施例一中具有相同部分的技术方案,请参实施例一所述,在此不再赘述。
实施例五:
参图2所示,本实施例还揭示了一种虚拟化环境负载均衡流量处理系统,包括:源端,用于发送的网络流量请求;第一网卡,用于将源端的网络流量发送至负载均衡器;负载均衡器,用于接受所述第一网卡发送的流量,并对流量设置第一标记;第一主机,用于将设置有第一标记的流量进行报文封装,所述报文的隧道封装标记设置第二标记;第二网卡,用于接受所述负载均衡器封装后的报文并将该报文通过网络隧道传送至第三网卡;第三网卡,用于接受第二网卡传送的报文,并将该报文传送至real server虚拟机;real server虚拟机,用于接受和发送报文;第二主机,用于识别并读取具有第二标记的报文,并在会话记录表中记录该报文的隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址;第二主机,还用于查找会话记录表,如果存在正向流量,则表明该流量为负载均衡器的回程流量,使用会话表记录中的源端MAC地址作为回程报文的目的MAC地址,隧道端点网络地址作为回程封装报文外层头部的目的网络地址,隧道端点网络标识作为回程封装报文外层头部的目的隧道端点网络标识;所述回程报文由所述real server虚拟机发出,依次经过第三网卡、网络隧道、第二网卡、负载均衡器、第一网卡,回程至源端。
具体地,源端发送的网络流量通过第一网卡,源端发送时将目的网络地址和端口设置为负载均衡器前端监听器,负载均衡器接受第一网卡发送的流量,并对流量设置第一标记,所述第一标记为字符串;第一主机识别设置有第一标记的流量并进行报文封装,并对报文的隧道封装标记设置第二标记,所述第二标记为报文的隧道封装标记保留位的改进,封装后的报文通过第二网卡经网络隧道传送至第三网卡,网络隧道为VXLAN、GRE、MPLS中的一种,较优选择为VXLAN网络隧道;所述第三网卡再将报文发送至real server虚拟机,挂载real server虚拟机的第二主机以会话记录表方式读取并记录报文的路径信息(隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址);挂载real server虚拟机的第二主机进一步会查找会话记录表,如果存在正向流量,则表明该流量为负载均衡器的回程流量,使用会话表记录中的源端MAC地址作为回程报文的目的MAC地址,隧道端点网络地址作为回程封装报文外层头部的目的网络地址,隧道端点网络标识作为回程封装报文外层头部的目的隧道端点网络标识;回程报文由所述real server虚拟机发出,依次经过第三网卡、网络隧道、第二网卡、负载均衡器、第一网卡,回程至源端。
本实施例所揭示的虚拟化环境负载均衡流量处理系统与实施例一、实施例二、实施例三、实施例四中具有相同部分的技术方案,请参实施例一、实施例二、实施例三、实施例四所述,在此不再赘述。
实施例六:
参见图8所示,计算机可读介质900中存储有计算机程序指令901,所述计算机程序指令901被一处理器902读取并运行时,执行实施例四所述的基于云迁移场景自动修正网络配置的系统。本实施例所揭示的计算机介质与实施例四中具有相同部分的技术方案,请参实施例四所述,在此不再赘述。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (9)
1.虚拟化环境负载均衡流量处理方法,其特征在于,包括以下步骤:
对经过负载均衡器且发往real server虚拟机的流量设置第一标记;
挂载负载均衡器的第一主机将设置有第一标记的流量进行报文封装,所述报文的隧道封装标记设置第二标记;
将设置有第二标记的报文通过隧道技术发送至real server虚拟机;
挂载所述real server虚拟机的第二主机识别出具有第二标记的报文并读取,并在会话记录表中记录报文路径信息;
挂载所述real server虚拟机的第二主机查找会话记录表,如果存在正向流量,则表明该流量为需要返回负载均衡器的回程流量,以会话表记录中的报文路径信息为依据设置回程报文路径信息;
所述报文路径信息为隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址;
所述回程报文路径信息为源端MAC地址作为回程报文的目的MAC地址,隧道端点网络地址作为回程封装报文外层头部的目的网络地址,隧道端点网络标识作为回程封装报文外层头部的目的隧道端点网络标识。
2. 如权利要求1所述的虚拟化环境负载均衡流量处理方法,其特征在于,发往realserver虚拟机的流量的第一标记由负载均衡器通过IP Table的mangle表中的PREROUTING链进行设置,所述第一标记为一字符串。
3.如权利要求1所述的虚拟化环境负载均衡流量处理方法,其特征在于,还包括,负载均衡器的第一主机通过mark程序判断流量是否设置有第一标记。
4.如权利要求1所述的虚拟化环境负载均衡流量处理方法,其特征在于,所述第二标记为报文的隧道封装标记保留位的改进。
5.如权利要求4所述的虚拟化环境负载均衡流量处理方法,其特征在于,所述隧道封装标记为8bit,表征为“RRRRIRRR”,R位为保留位,其中“I”位为1时,则表示隧道封装报文有效,为“0”则表示无效,在设置所述第二标记时,将所述隧道封装标记的前4个bit保留位位置设置为1,即“IIIIIRRR”作为第二标记。
6. 如权利要求4所述的虚拟化环境负载均衡流量处理方法,其特征在于,还包括,挂载所述real server虚拟机的第二主机读取报文路径信息,并判断是否为经过隧道的报文,若是,则进一步判断是报文是否设置有第二标记,若是,则启动会话记录表,若否,则按常规路由进行转发。
7.如权利要求6所述的虚拟化环境负载均衡流量处理方法,其特征在于,所述隧道技术为VXLAN、GRE、MPLS中的一种,所述会话记录表采用hash存储,查找会话记录表时,查找内容为src_ip,src_port,dst_ip,dst_port,protocol。
8.虚拟化环境负载均衡流量处理系统,其特征在于,包括:
源端,用于发送网络流量请求;
第一网卡,用于将源端的网络流量发送至负载均衡器;
负载均衡器,用于接受所述第一网卡发送的流量,并对流量设置第一标记;
第一主机,用于将设置有第一标记的流量进行报文封装,所述报文的隧道封装标记设置第二标记;
第二网卡,用于接受所述负载均衡器封装后的报文并将该报文通过网络隧道传送至第三网卡;
第三网卡,用于接受第二网卡传送的报文,并将该报文传送至real server虚拟机;
real server虚拟机,用于接受和发送报文;
第二主机,用于识别并读取具有第二标记的报文,并在会话记录表中记录该报文的隧道端点网络地址、隧道端点网络标识、目的网络地址、源端网络地址、网络协议类型、目的端口、源端端口、源端MAC地址;
第二主机,还用于查找会话记录表,如果存在正向流量,则表明该流量为负载均衡器的回程流量,使用会话表记录中的源端MAC地址作为回程报文的目的MAC地址,隧道端点网络地址作为回程封装报文外层头部的目的网络地址,隧道端点网络标识作为回程封装报文外层头部的目的隧道端点网络标识;
所述回程报文由所述real server虚拟机发出,依次经过第三网卡、网络隧道、第二网卡、负载均衡器、第一网卡,回程至源端。
9.一种计算机可读介质,其特征在于,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如权利要求8所述的虚拟化环境负载均衡流量处理系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110751231.6A CN113472677B (zh) | 2021-07-01 | 2021-07-01 | 虚拟化环境负载均衡流量处理方法、系统及计算机介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110751231.6A CN113472677B (zh) | 2021-07-01 | 2021-07-01 | 虚拟化环境负载均衡流量处理方法、系统及计算机介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472677A CN113472677A (zh) | 2021-10-01 |
CN113472677B true CN113472677B (zh) | 2024-02-09 |
Family
ID=77877608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110751231.6A Active CN113472677B (zh) | 2021-07-01 | 2021-07-01 | 虚拟化环境负载均衡流量处理方法、系统及计算机介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472677B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225644B (zh) * | 2022-07-27 | 2023-11-03 | 天翼云科技有限公司 | 一种负载均衡系统和数据包分发方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878194A (zh) * | 2016-12-30 | 2017-06-20 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN108449282A (zh) * | 2018-05-29 | 2018-08-24 | 华为技术有限公司 | 一种负载均衡方法及其装置 |
CN108616456A (zh) * | 2018-03-20 | 2018-10-02 | 北京优帆科技有限公司 | 一种基于vxlan的负载均衡方法及负载均衡器 |
CN111818151A (zh) * | 2020-07-03 | 2020-10-23 | 紫光云技术有限公司 | 基于ip隧道实现负载均衡器透传客户端ip的方法 |
CN112887185A (zh) * | 2019-11-29 | 2021-06-01 | 华为技术有限公司 | 一种叠加网络的通信方法及装置 |
-
2021
- 2021-07-01 CN CN202110751231.6A patent/CN113472677B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878194A (zh) * | 2016-12-30 | 2017-06-20 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN108616456A (zh) * | 2018-03-20 | 2018-10-02 | 北京优帆科技有限公司 | 一种基于vxlan的负载均衡方法及负载均衡器 |
CN108449282A (zh) * | 2018-05-29 | 2018-08-24 | 华为技术有限公司 | 一种负载均衡方法及其装置 |
CN112887185A (zh) * | 2019-11-29 | 2021-06-01 | 华为技术有限公司 | 一种叠加网络的通信方法及装置 |
CN111818151A (zh) * | 2020-07-03 | 2020-10-23 | 紫光云技术有限公司 | 基于ip隧道实现负载均衡器透传客户端ip的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113472677A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10382334B2 (en) | Segment routing extension headers | |
US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
CN110168499B (zh) | 在主机上执行上下文丰富的基于属性的服务 | |
US9608841B2 (en) | Method for real-time synchronization of ARP record in RSMLT cluster | |
CN116232988A (zh) | 服务操作链接方法、设备、系统、以及可读存储介质 | |
CN113326228B (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
US20140233564A1 (en) | Packet Modification to Facilitate Use of Network Tags | |
US10057162B1 (en) | Extending Virtual Routing and Forwarding at edge of VRF-aware network | |
WO2014086047A1 (zh) | 一种转发报文的方法、装置和数据中心网络 | |
US10616105B1 (en) | Extending virtual routing and forwarding using source identifiers | |
WO2021013046A1 (zh) | 通信方法和网卡 | |
WO2021083332A1 (zh) | 发送报文的方法、装置及系统 | |
CN114430394B (zh) | 报文处理方法、装置、电子设备及可读存储介质 | |
CN111026324B (zh) | 转发表项的更新方法及装置 | |
CN113472677B (zh) | 虚拟化环境负载均衡流量处理方法、系统及计算机介质 | |
US9985885B1 (en) | Aggregating common portions of forwarding routes | |
US20080267193A1 (en) | Technique for enabling network statistics on software partitions | |
WO2021139568A1 (zh) | 发送应答报文的方法、装置、计算设备和存储介质 | |
US7505460B2 (en) | Address validating data structure used for validating addresses | |
EP2523399A1 (en) | Method and device for realizing flexible qinq | |
US20230269148A1 (en) | High-Speed Packet Filtering | |
CN114785733B (zh) | 一种实现跨vpc网络流量转发中会话溯源的方法 | |
US20220303231A1 (en) | Packet fragmentation using outer header | |
CN113709016B (zh) | 通信系统以及通信方法、装置、设备和存储介质 | |
CN111865801B (zh) | 一种基于Virtio端口传输数据的方法和系统 |
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 |