CN108200018B - 云计算中的流量转发方法及设备、计算机设备及可读介质 - Google Patents

云计算中的流量转发方法及设备、计算机设备及可读介质 Download PDF

Info

Publication number
CN108200018B
CN108200018B CN201711384616.3A CN201711384616A CN108200018B CN 108200018 B CN108200018 B CN 108200018B CN 201711384616 A CN201711384616 A CN 201711384616A CN 108200018 B CN108200018 B CN 108200018B
Authority
CN
China
Prior art keywords
target
identification information
network
equipment
traffic requests
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
Application number
CN201711384616.3A
Other languages
English (en)
Other versions
CN108200018A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201711384616.3A priority Critical patent/CN108200018B/zh
Publication of CN108200018A publication Critical patent/CN108200018A/zh
Application granted granted Critical
Publication of CN108200018B publication Critical patent/CN108200018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种云计算中的流量转发方法及设备、计算机设备及可读介质。其方法包括:接收源端访问目标LB实例的流量请求;流量请求中包括用于标识目标LB实例的标识信息;在TCPOption中承载目标LB实例的标识信息,并基于承载目标LB实例的标识信息的TCP Option,与网络的LB设备建立TCP连接;基于TCP连接向网络的LB设备转发流量请求,以供网络的LB设备根据TCP Option中的目标LB实例的标识信息,向对应的真实服务器转发流量请求,本发明可以在基于同一组完全相同网络的LB设备服务于多个LB用户的场景下,实现流量的准确转发,不需要对各个LB用户的业务进行隔离,实现非常简便,可以有效地提高网络的LB设备的资源利用率。

Description

云计算中的流量转发方法及设备、计算机设备及可读介质
【技术领域】
本发明涉及计算机应用技术领域,尤其涉及一种云计算中的流量转发方法及设备、计算机设备及可读介质。
【背景技术】
Nginx作为一种高性能的超文本传输协议(HyperText Transfer Protocol;HTTP)的反向代理服务器,通常作为7层负载均衡设备(Load Balancer;LB)的挂载于真实服务器集群前端,用以对外提供高性能的HTTP服务。由于其性能好、模块化程度高、可扩展性强、开源社区活跃,因此被广泛地是用在很多公司的负载均衡产品中。
例如,在云计算中,LB产品通常作为基础服务被提供给用户。通过这些LB产品,可在云中快速、简便地构建高性能的服务器集群,让新服务或企业已有服务上云。出于租户隔离、合规等目的,越来越多的用户开始使用虚拟私有云(Virtual Private Cloud;VPC),作为一种基于物理网络的隧道封装技术(即Overlay)的解决方案,VPC的实现依赖于传输控制协议(Transmission Control Protocol;TCP)/因特网互连协议(Internet Protocol;IP)的协议栈之外的一些隧道协议。图1为现有技术的云计算LB实例中的流量转发拓扑图。如图1所示,为了解决Overlay流量识别问题,通常使用单实例或多实例的方式为租户提供负载均衡服务。即对于用户创建的每个LB实例,云服务提供商在后台为用户启动一个或多个反向代理实例(即LB实例),前端统一使用不同的身份<IP,Port>接入,后端通过固定的配置回源;这些反向代理实例通常会根据每个用户的不同的业务需求,使用一份定制化的配置。从此以后,这些反向代理实例便专属于某个用户,只要位于前端的4层网络设备能够把特定流量转发到特定的一组反向代理实例,流经这些实例的流量也会根据既定配置转发到用户指定的真实服务器(Real Server;RS),图1中以RS集群中包括4个RS为例。如图1所示,以分别部署业务1和业务2的反向代理实例为例,通过物流隔离的方式实现HTTP请求的流量转发。
但是现有的技术方案中,对于VPC的每个LB用户都需要创建一个反向代理实例即LB实例实现物理隔离,否则无法实现流量的转发。且每个反向代理实例即LB实例对应一个进程,但每台7层LB设备上能启动的进程是有限的。当VPC以及LB用户较多,需要部属很多的反向代理实例即LB实例,这样需要扩展多台7层LB设备来服务所有的LB实例,实现过程非常复杂,而且资源利用率非常低。
【发明内容】
本发明提供了一种云计算中的流量转发方法及设备、计算机设备及可读介质,用于简化多个LB用户的流量转发操作,提高网络的LB设备的资源利用率。
本发明提供一种云计算中的流量转发方法,所述方法包括:
接收源端访问目标LB实例的流量请求;所述流量请求中包括用于标识所述目标LB实例的标识信息;
在TCPOption中承载所述目标LB实例的标识信息,并基于承载所述目标LB实例的标识信息的所述TCP Option,与网络的负载均衡设备建立TCP连接;
基于所述TCP连接向所述网络的负载均衡设备转发所述流量请求,以供所述网络的负载均衡设备根据所述TCP Option中的所述目标LB实例的标识信息,向所述目标LB实例对应的真实服务器转发所述流量请求。
进一步可选地,如上所述的方法中,所述源端访问所述目标LB实例的流量请求中还包括用于标识所述源端的IP地址,所述方法还包括:
在TCPOption中承载所述源端的真实IP地址,以在所述网络的负载均衡设备根据所述真实服务器的位置,向所述真实服务器转发所述流量请求时携带所述源端的真实IP地址。
进一步可选地,如上所述的方法中,所述目标LB实例的标识信息包括所述目标LB实例对应的四元组,所述四元组包括所述目标LB实例的虚拟IP地址、所述目标LB实例的虚拟端口标识、所述目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述所述目标LB实例所属的VPC的Vxlan隧道端点标识。
本发明提供一种云计算中的流量转发方法,所述方法包括:
基于承载有目标LB实例的标识信息的TCPOption,与网络设备建立TCP连接;所述TCP Option中承载的所述目标LB实例的标识信息为所述网络设备在接收到源端访问所述目标LB实例的流量请求后处理的,所述流量请求中包括用于标识所述目标LB实例的标识信息;
基于所述TCP连接接收所述网络设备转发的所述流量请求;
从所述TCPOption中获取所述目标LB实例的标识信息;
根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发所述流量请求。
进一步可选地,如上所述的方法中,从所述TCPOption中获取所述目标LB实例的标识信息,具体包括:
通过getsockopt从所述TCPOption中获取所述目标LB实例的标识信息。
进一步可选地,如上所述的方法中,根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发所述流量请求,具体包括:
根据所述目标LB实例的标识信息,定位所述目标LB实例的真实服务器的位置;
根据所述真实服务器的位置,向所述目标LB实例对应的真实服务器转发所述流量请求。
进一步可选地,根据所述目标LB实例的标识信息,定位所述目标LB实例的真实服务器的位置,具体包括:
根据所述目标LB实例的标识信息,从预先配置的散列表中获取对应的所述真实服务器的IP地址和端口标识。
进一步可选地,如上所述的方法中,所述源端访问所述目标LB实例的流量请求中还包括用于标识所述源端的真实IP地址,所述方法还包括:
从所述TCPOption中获取所述源端的真实IP地址;
根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发所述流量请求,具体包括:
根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发携带所述源端的真实IP地址的所述流量请求。
进一步可选地,如上所述的方法中,所述目标LB实例的标识信息包括所述目标LB实例对应的四元组,所述四元组包括所述目标LB实例的虚拟IP地址、所述目标LB实例的虚拟端口标识、所述目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述所述目标LB实例所属的VPC的Vxlan隧道端点标识。
本发明提供一种网络设备,所述设备包括:
接收模块,用于接收源端访问目标LB实例的流量请求;所述流量请求中包括用于标识所述目标LB实例的标识信息;
承载和连接建立模块,用于在TCPOption中承载所述目标LB实例的标识信息,并基于承载所述目标LB实例的标识信息的所述TCP Option,与网络的负载均衡设备建立TCP连接;
转发模块,用于基于所述TCP连接向所述网络的负载均衡设备转发所述流量请求,以供所述网络的负载均衡设备根据所述TCP Option中的所述目标LB实例的标识信息,向所述目标LB实例对应的真实服务器转发所述流量请求。
进一步可选地,如上所述的设备中,所述源端访问所述目标LB实例的流量请求中还包括用于标识所述源端的真实IP地址,所述承载和连接建立模块,还用于在TCPOption中承载所述源端的标识信息,以在所述网络的负载均衡设备根据所述真实服务器的位置,向所述真实服务器转发所述流量请求时携带所述源端的真实IP地址。
进一步可选地,如上所述的设备中,所述目标LB实例的标识信息包括所述目标LB实例对应的四元组,所述四元组包括所述目标LB实例的虚拟IP地址、所述目标LB实例的虚拟端口标识、所述目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述所述目标LB实例所属的VPC的Vxlan隧道端点标识。
本发明提供一种网络的负载均衡设备,所述设备包括:
连接建立模块,用于基于承载有目标LB实例的标识信息的TCPOption,与网络设备建立TCP连接;所述TCP Option中承载的所述目标LB实例的标识信息为所述网络设备在接收到源端访问所述目标LB实例的流量请求后处理的,所述流量请求中包括用于标识所述目标LB实例的标识信息;
接收模块,用于基于所述TCP连接接收所述网络设备转发的所述流量请求;
获取模块,用于从所述TCPOption中获取所述目标LB实例的标识信息;
转发模块,用于根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发所述流量请求。
进一步可选地,如上所述的设备中,所述获取模块,具体用于通过getsockopt从所述TCPOption中获取所述目标LB实例的标识信息。
进一步可选地,如上所述的设备中,所述转发模块,具体用于:
根据所述目标LB实例的标识信息,定位所述目标LB实例的真实服务器的位置;
根据所述真实服务器的位置,向所述目标LB实例对应的真实服务器转发所述流量请求。
进一步可选地,如上所述的设备中,所述转发模块,具体用于根据所述目标LB实例的标识信息,从预先配置的散列表中获取对应的所述真实服务器的IP地址和端口标识。
进一步可选地,如上所述的设备中,所述源端访问所述目标LB实例的流量请求中还包括用于标识所述源端的真实IP地址,所述获取模块,还用于从所述TCPOption中获取所述源端的真实IP地址;
所述转发模块,具体用于根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发携带所述源端的标识信息的所述流量请求。
进一步可选地,如上所述的设备中,所述目标LB实例的标识信息包括所述目标LB实例对应的四元组,所述四元组包括所述目标LB实例的虚拟IP地址、所述目标LB实例的虚拟端口标识、所述目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述所述目标LB实例所属的VPC的Vxlan隧道端点标识。
本发明提供一种云计算中的流量转发系统,包括如上所述的网络设备和如上所述的网络的负载均衡设备,所述网络设备与所述网络的负载均衡设备通讯连接。
本发明还提供一种计算机设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的云计算中的流量转发方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的云计算中的流量转发方法。
本发明的云计算中的流量转发方法及设备、计算机设备及可读介质,通过接收源端访问目标LB实例的流量请求;流量请求中包括用于标识目标LB实例的标识信息;在TCPOption中承载目标LB实例的标识信息,并基于承载目标LB实例的标识信息的TCPOption,与网络的LB设备建立TCP连接;基于TCP连接向网络的LB设备转发流量请求,以供网络的LB设备根据TCP Option中的目标LB实例的标识信息,向目标LB实例对应的真实服务器转发流量请求,可以在基于同一组完全相同网络的LB设备服务于多个LB用户的场景下,实现流量的准确转发。与现有技术相比,本发明的技术方案,不需要对各个LB用户的业务进行隔离,所有LB用户共用一组网络的LB设备,实现非常简便,可以有效地提高网络的LB设备的资源利用率。
【附图说明】
图1为现有技术的云计算LB实例中的流量转发拓扑图。
图2为本发明的云计算LB实例中的流量转发拓扑图。
图3为本发明的云计算中的流量转发方法实施例一的流程图。
图4本发明的云计算中的流量转发方法实施例中VPC的四元组信息的获取方式示意图。
图5为本发明的云计算中的流量转发方法实施例二的流程图。
图6为本发明的网络设备实施例的结构图。
图7为本发明的网络的负载均衡设备实施例的结构图。
图8为本发明的云计算中的流量转发系统的结构图。
图9为本发明的计算机设备实施例的结构图。
图10为本发明提供的一种计算机设备的示例图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图2为本发明的云计算LB实例中的流量转发拓扑图。将图2所示的本发明的云计算中的流量转发方法所应用的架构与图1所示的现有的流量转发的架构进行对比,两者存在较大的差别。具体地,如图1所示,现有技术中是通过物理隔离的方式配置专属于每个LB用户的回源方案,否则无法实现流量的准确定位转发。此时一个实例所收到的所有流量都是属于同一个LB用户,只要按照既定配置转发即可满足特定用户的负载均衡需求。这样用户多的时候,需要对每个用户配置,情况非常复杂,而且同一个配置的7层LB设备的资源利用率非常低,造成资源浪费。
而集群化的7层LB设备本质上是一种共享,可以用一组完全相同的7层LB设备去处理所有VPC的流量,出于节约IP及易运维的考虑,每台7层LB设备可以只使用一组或几组<IP,Port>。那么对于每一台7层LB设备,对外的身份实际上只有少数几个,因此无法从<IP,Port>的层面进行流量识别。基于上述考虑,实现图2所示的流量转发拓扑关系,本发明中,4层网络设备在向7层LB设备转发流量时,通过TCP Option来承载LB实例的信息,例如,在一些常用的TCPOption如最大报文长度(Maximum Segment Size;MSS)之外的字段中承载LB实例信息。如在TCP协议中提供有253及254两个实验性Option,本发明中,可以4层网络设备中,根据流量匹配的实际配置,把LB实例的标识信息如LB实例的四元组<VIP,VPort,VNI,Vtep_IP>写入到253和254这两个option中。其中VIP为LB实例的虚拟IP地址,VPort为LB实例的虚拟端口标识,VNI为目标LB实例所属的VPC的Vxlan网络标识,Vtep_IP为用于补充描述LB实例所属的VPC的Vxlan隧道端点标识。这样,7层LB设备可以获取到LB实例的四元组,从而可以基于LB实例的四元组将流量转发至LB实例对应的RS。如图2所示,本发明中的每一个7层LB设备均可以与RS集群中的任意一个RS通讯。下面详细介绍本发明的技术方案。
图3为本发明的云计算中的流量转发方法实施例一的流程图。如图3所示,本实施例的云计算中的流量转发方法,具体可以包括如下步骤:
100、接收源端访问目标LB实例的流量请求;流量请求中包括用于标识目标LB实例的标识信息;
本实施例的云计算中的流量转发方法的执行主体为网络设备,例如可以为图2所示的4层网络设备,该网络设备用于接收源端如客户端(Client)侧访问LB实例的流量请求。例如该流量请求中可以包括用于唯一标识该目标LB实例的标识信息,例如该目标LB实例的标识信息可以为该目标LB实例的四元组,例如该目标LB实例的四元组可以包括<VIP,VPort,VNI,Vtep_IP>,详细可以参考上述实施例的记载。本实施例的各LB实例可以为预先配置的,实际应用中,一个VPC可以对应有多个LB实例。在本实施例的图2所示的架构中,不用对每个LB实例进行隔离,多个VPC对应的所有LB实例可以共用一组网络的LB设备,采用本实施例的流量转发方法实现流量转发。
101、在TCPOption中承载目标LB实例的标识信息,并基于承载目标LB实例的标识信息的TCP Option,与网络的LB设备建立TCP连接;
具体地,为了便于后续访问该目标LB实例的流量能够被准确转发,本实施例中,网络设备在与网络的LB设备建立连接的过程中,可以在TCPOption中承载目标LB实例的四元组<VIP,VPort,VNI,Vtep_IP>,然后,网络设备基于该TCPOption与网络的LB设备建立TCP连接。例如,本实施例中,网络设备具体可以将该目标LB实例的四元组<VIP,VPort,VNI,Vtep_IP>写入TCP协议提供的253和254两个实验性Option中。再采用图4所示的LB实例的四元组信息的获取方式,由网络的LB设备通过内核模块hook的方式,允许网络的LB设备侧的应用层通过getsockopt调取到该目标LB实例的四元组。也就是说,网络设备与网络的LB设备在建立TCP连接的过程中,可以将目标LB实例的四元组告知该网络的LB设备,以供网络的LB设备在需要时获取。本实施例的网络的LB设备具体可以为与RS集群中的各个RS通信的7层LB设备。
102、基于TCP连接向网络的LB设备转发流量请求,以供网络的LB设备根据TCPOption中的目标LB实例的标识信息,向目标LB实例对应的真实服务器转发流量请求。
网络设备与网络的LB设备根据上述方式建立TCP连接之后,网络设备可以基于该TCP连接向网络的LB设备转发网络设备接收到的流量请求,该流量请求为基于TCP连接发送的应用层的HTTP请求,也可以称为HTTP请求。但是本实施例中的网络设备和网络的LB设备之间的基于TCP的通信采用现有的网络设备和网络的LB设备之间的通信方式,通信内容中是不携带目标LB实例的四元组。在网络的LB设备接收到应用层的HTTP请求时,可以通过getsockopt调用并获取到承载在TCPOption中的该目标LB实例的四元组。由于目标LB实例的四元组用于唯一标识该目标LB实例,因此,网络的LB设备可以根据该目标LB实例的四元组,向目标LB实例对应的真实服务器转发流量请求,从而实现将流量回源到特定源站(如RS)的功能。
进一步可选地,本实施例中的步骤100中源端访问目标LB实例的流量请求中还可以包括用于标识源端的IP地址,此时对应地步骤101中,还需要在TCPOption中承载源端的IP地址。实际应用中,源端访问目标LB实例的流量请求中具体可以包括源端对应的二元组,该二元组包括<CIP,CPort>,CIP为源端的真实IP地址,CPort为真实端口标识。这样,网络的LB设备在获取到目标LB实例的四元组时,也能够获取到源端的二元组<CIP,CPort>。然后对应地,从中获取源端的CIP,网络的LB设备在根据该目标LB实例的四元组,向目标LB实例对应的真实服务器转发流量请求时携带源端的真实IP地址。例如具体可以通过HTTP头域中的x-forwarded-for向目标LB实例对应的真实服务器传输该源端的真实IP地址,以供目标LB实例对应的真实服务器知道该流量是来自于哪儿的流量。
本实施例的云计算中的流量转发方法,通过接收源端访问目标LB实例的流量请求;流量请求中包括用于标识目标LB实例的标识信息;在TCPOption中承载目标LB实例的标识信息,并基于承载目标LB实例的标识信息的TCP Option,与网络的LB设备建立TCP连接;基于TCP连接向网络的LB设备转发流量请求,以供网络的LB设备根据TCP Option中的目标LB实例的标识信息,向目标LB实例对应的真实服务器转发流量请求,可以在基于同一组完全相同网络的LB设备服务于多个LB实例的场景下,实现流量的准确转发。本实施例的技术方案,与现有技术相比,不需要对各个LB用户的业务进行隔离,所有LB用户共用一组网络的LB设备,实现非常简便,可以有效地提高网络的LB设备的资源利用率。
图5为本发明的云计算中的流量转发方法实施例二的流程图。如图5所示,本实施例的云计算中的流量转发方法,具体可以包括如下步骤:
200、基于承载有目标LB实例的标识信息的TCPOption,与网络设备建立TCP连接;TCP Option中承载的目标LB实例的标识信息为网络设备在接收到源端访问目标LB实例的流量请求后处理的,流量请求中包括用于标识目标LB实例的标识信息;
201、基于TCP连接接收网络设备转发的流量请求;
202、从TCPOption中获取目标LB实例的标识信息;
203、根据目标LB实例的标识信息向目标LB实例对应的真实服务器转发流量请求。
本实施例的云计算中的流量转发方法的执行主体为网络的LB设备,例如可以采用上述图2所示实施例的7层LB设备。
具体地,网络设备接收到源端访问目标LB实例的流量请求后,需要与网络的LB设备建立TCP连接,以进行流量转发。在建立TCP连接的过程中,为了便于每个目标LB实例的流量都被准确转发,本实施例中,需要将该流量请求中的用于标识目标LB实例的标识信息,写入TCP协议的TCPOption中。例如具体可以写入在TCP协议提供的253和254两个实验性Option中,以使得TCPOption承载有目标LB实例的标识信息。本实施例的目标LB实例的标识信息可以为目标LB实例的四元组<VIP,VPort,VNI,Vtep_IP>。然后网络设备基于该TCPOption与网络的LB设备建立TCP连接。网络设备可以基于该TCP连接转发网络流量如基于HTTP的应用层的请求流量,也可以称为HTTP请求。对应的网络的LB设备接收网络设备基于TCP连接转发的流量请求。例如此时网络的LB设备可以通过getsockopt从TCPOption中获取目标LB实例的标识信息如目标LB实例的四元组。并根据目标LB实例的标识信息向目标LB实例对应的真实服务器转发流量请求。
本实施例与上述图3所示实施例的区别在于:上述图3所示实施例在网络设备侧描述本发明的技术方案,而本实施例在网络的LB设备侧描述本发明的技术方案,详细亦可以参考上述图3所示实施例的记载,在此不再赘述。
例如,该实施例中的步骤203,具体可以包括如下步骤:
(a)根据目标LB实例的标识信息,定位目标LB实例的真实服务器的位置;
(b)根据真实服务器的位置,向目标LB实例对应的真实服务器转发流量请求。
例如,具体可以为根据目标LB实例的标识信息如目标LB实例的四元组,从预先配置的散列表中获取目标LB实例的对应的真实服务器的IP地址和端口标识。由于实际操作中,各个LB实例对外通信的都是的虚拟的IP地址和端口之类的信息,而不是LB实例对应的真实服务器的地址。因此,本实施例中还预先配置有散列表,该散列表中可以预先配置有各个LB实例的标识信息如四元组与对应的真实服务器的位置如IP地址+端口标识,这样,在需要访问该目标LB实例的真实服务器时,可以根据该目标LB实例的标识信息,从目标散列表中获取该目标LB实例对应的真实服务器的IP地址+端口标识。最后根据真实服务器的位置,向目标LB实例对应的真实服务器转发流量请求。
进一步可选地,步骤200中限定的网络设备接收到源端访问目标LB实例的流量请求中还包括用于标识源端的真实IP地址,这样,在步骤200与网络设备建立TCP连接的过程中,网络设备还需要从TCPOption中获取源端的真实IP地址;除了在TCPOption中写入VPC的标识信息之外,还要写入源端的真实IP地址。或者在源端访问目标LB实例的流量请求中,源端的真实IP地址和真实端口标识是以源端的二元组<CIP,CPort>的形式存在。此时,在TCPOption中可以承载6元组信息,包括目标LB实例的四元组<VIP,VPort,VNI,Vtep_IP>和源端的二元组<CIP,CPort>。这样,在网络的LB设备侧不仅可以获取到目标LB实例的四元组,还可以获取到该流量请求对应的源端二元组。并可以进一步从中获取源端的真实IP地址即CIP。此时对应地,步骤203“根据目标LB实例的标识信息向目标LB实例对应的真实服务器转发流量请求”,具体可以包括:根据目标LB实例的标识信息向目标LB实例对应的真实服务器转发携带源端的真实IP地址的流量请求。例如具体可以通过HTTP头域中的x-forwarded-for向目标LB实例对应的真实服务器传输该源端的真实IP地址,以供目标LB实例对应的真实服务器知道该流量是来自于哪儿的流量。
本实施例的云计算中的流量转发方法,通过采用上述技术方案,与现有技术相比,不需要对各个LB用户的业务进行隔离,所有LB用户共用一组网络的LB设备,实现非常简便,可以有效地提高网络的LB设备的资源利用率。
另外,图1所示的现有技术中,每创建一个7层LB的服务实例,后台都需要为创建若干个LB实例。每个LB实例都是一个独立的进程,监听不同的port。当LB实例增多时,总的LB实例的数量会快速地增长,大量的LB实例聚集在同一台7层LB设备的机器上,会引发频繁的进程调度,造成CPU处理能力的浪费。如果出于降低进程切换开销的目的,把LB实例尽量松散地分布在更多的设备上,又会带来更多的机器开销,使得资源利用率进一步降低。而本发明实施例中,采用一组完全相同的LB设备便可以服务所有LB用户,不用隔离每一个LB用户,便可以实现流量的转发,从而能够有效地提高资源的利用率。
而且,图1所示的现有技术中,一般会提供一个机器池来承载创建出来的LB实例,由于每个LB实例是单独进程,具有不同的端口,因此控制面需要能够维护所有这些实例的地址信息,并将其配置为上游设备的回源地址。当某些实例出现异常时,控制面还需要能够及时发现这些异常实例,并发起迁移。有时由于网络抖动的原因,可能会造成误判,导致大量实例发生迁移,引发雪崩。而本发明实施例的技术方案中,采用一组完全相同的LB设备便可以服务所有LB用户,不用隔离每一个LB用户,便可以实现流量的转发,所以在控制面上不需要维护数量繁多的实例,所以控制面的实现非常简单。
再者,图1所示的现有技术中,大量的机器和配置不同的众多的实例,对自动化运维和人工运维都提出了不小的挑战。运维人员需要投入更多的精力和资源去进行运维。而本发明实施例中,采用一组完全相同的LB设备便可以服务所有LB用户,不用隔离每一个LB用户,便可以实现流量的转发,运维非常简单,且能够大大地降低运维成本。
最后,图1所示的现有技术中,采用物理隔离的方式虽然能解决部分问题,但其思路同云计算中虚拟化的背景格格不入,不利于后续架构的升级。而本发明实施例的技术方案中,采用一组完全相同的LB设备便可以服务所有LB用户,不用隔离每一个LB用户,便可以实现流量的转发,即使架构升级,也能够简单方便地实现,使用非常方便。
图6为本发明的网络设备实施例的结构图。如图6所示,本实施例的网络设备,具体可以包括:
接收模块10用于接收源端访问目标LB实例的流量请求;流量请求中包括用于标识目标LB实例的标识信息;
承载和连接建立模块11用于在TCPOption中承载接收模块10接收的流量请求中的目标LB实例的标识信息,并基于承载目标LB实例的标识信息的TCP Option,与网络的负载均衡设备建立TCP连接;
转发模块12用于基于承载和连接建立模块11建立的TCP连接向网络的负载均衡设备转发流量请求,以供网络的负载均衡设备根据TCP Option中的目标LB实例的标识信息,向目标LB实例对应的真实服务器转发流量请求。
进一步可选地,本实施例的网络设备中,源端访问目标LB实例的流量请求中还可以包括用于标识源端的真实IP地址,承载和连接建立模块11还用于在TCPOption中承载源端的标识信息,以在网络的负载均衡设备根据真实服务器的位置,向真实服务器转发流量请求时携带源端的真实IP地址。
进一步可选地,本实施例的网络设备中,目标LB实例的标识信息包括目标LB实例对应的四元组,四元组包括目标LB实例的虚拟IP地址、目标LB实例的虚拟端口标识、目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述目标LB实例所属的VPC的Vxlan隧道端点标识。
本实施例的网络设备,通过采用上述模块实现云计算中的流量转发的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图7为本发明的网络的负载均衡设备实施例的结构图。如图7所示,本实施例的网络的负载均衡设备,具体可以包括:
连接建立模块20用于基于承载有目标LB实例的标识信息的TCPOption,与网络设备建立TCP连接;TCP Option中承载的目标LB实例的标识信息为网络设备在接收到源端访问目标LB实例的流量请求后处理的,流量请求中包括用于标识目标LB实例的标识信息;
接收模块21用于基于连接建立模块20建立的TCP连接接收网络设备转发的流量请求;
获取模块22用于从连接建立模块20建立的TCP连接中的TCPOption中获取目标LB实例的标识信息;
转发模块23用于根据获取模块22获取的目标LB实例的标识信息向目标LB实例对应的真实服务器转发接收模块21接收的流量请求。
进一步可选地,本实施例的网络的负载均衡设备中,获取模块22具体用于通过getsockopt从连接建立模块20建立的TCP连接中的TCPOption中获取目标LB实例的标识信息。
进一步可选地,本实施例的网络的负载均衡设备中,转发模块23具体用于:
根据获取模块22获取的目标LB实例的标识信息,定位目标LB实例的真实服务器的位置;
根据真实服务器的位置,向目标LB实例对应的真实服务器转发流量请求。
进一步可选地,本实施例的网络的负载均衡设备中,转发模块23具体用于根据目标LB实例的标识信息,从预先配置的散列表中获取对应的真实服务器的IP地址和端口标识。
进一步可选地,本实施例的网络的负载均衡设备中,源端访问目标LB实例的流量请求中还包括用于标识源端的真实IP地址,获取模块,还用于从TCPOption中获取源端的真实IP地址;
转发模块23具体用于根据目标LB实例的标识信息向目标LB实例对应的真实服务器转发携带源端的真实IP地址的流量请求。
进一步可选地,本实施例的网络的负载均衡设备中,目标LB实例的标识信息包括目标LB实例对应的四元组,四元组包括目标LB实例的虚拟IP地址、目标LB实例的虚拟端口标识、目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述目标LB实例所属的VPC的Vxlan隧道端点标识。
本实施例的网络的负载均衡设备,通过采用上述模块实现云计算中的流量转发的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图8为本发明的云计算中的流量转发系统的结构图。如图8所示,本实施例的云计算中的流量转发系统,具体可以包括网络设备30和网络的负载均衡设备。网络设备30具体可以采用上述图6所示的网络设备,网络的负载均衡设备40具体可以采用上述图7所示的网络的负载均衡设备,并具体可以采用上述图3和图5所示的云计算中的流量转发方法,实现将流量请求转发至RS集群中的RS50。详细可以参考上述相关实施例的记载,在此不再赘述。
图9为本发明的计算机设备实施例的结构图。如图9所示,本实施例的计算机设备,包括:一个或多个处理器30,以及存储器40,存储器40用于存储一个或多个程序,当存储器40中存储的一个或多个程序被一个或多个处理器30执行,使得一个或多个处理器30实现如上图3所示实施例的云计算中的流量转发方法;此时对应的计算机设备具体可以为网络设备。或者当存储器40中存储的一个或多个程序被一个或多个处理器30执行,使得一个或多个处理器30实现如上图5所示实施例的云计算中的流量转发方法;此时对应的计算机设备具体可以为网络的负载均衡设备。图9所示实施例中以计算机设备中包括多个处理器30为例。
例如,图10为本发明提供的一种计算机设备的示例图。图10示出了适于用来实现本发明实施方式的示例性计算机设备12a的框图。图10显示的计算机设备12a仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机设备12a以通用计算设备的形式表现。计算机设备12a的组件可以包括但不限于:一个或者多个处理器16a,系统存储器28a,连接不同系统组件(包括系统存储器28a和处理器16a)的总线18a。
总线18a表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12a典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12a访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28a可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30a和/或高速缓存存储器32a。计算机设备12a可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34a可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18a相连。系统存储器28a可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明上述图3和图6各实施例的功能,此时对应的计算机设备具体可以为网络设备。或者这些程序模块被配置以执行本发明上述图5和图7各实施例中的功能,此时对应的计算机设备具体可以为网络的负载均衡设备。
具有一组(至少一个)程序模块42a的程序/实用工具40a,可以存储在例如系统存储器28a中,这样的程序模块42a包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42a通常执行本发明所描述的上述图3和图6各实施例中的功能和/或方法,或者程序模块42a通常执行本发明所描述的上述图5和图7各实施例中的功能和/或方法。
计算机设备12a也可以与一个或多个外部设备14a(例如键盘、指向设备、显示器24a等)通信,还可与一个或者多个使得用户能与该计算机设备12a交互的设备通信,和/或与使得该计算机设备12a能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22a进行。并且,计算机设备12a还可以通过网络适配器20a与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20a通过总线18a与计算机设备12a的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12a使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16a通过运行存储在系统存储器28a中的程序,从而执行各种功能应用以及数据处理,例如实现上述实施例所示的云计算中的流量转发方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所示的云计算中的流量转发方法。
本实施例的计算机可读介质可以包括上述图10所示实施例中的系统存储器28a中的RAM30a、和/或高速缓存存储器32a、和/或存储系统34a。
随着科技的发展,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载,或者采用其他方式获取。因此,本实施例中的计算机可读介质不仅可以包括有形的介质,还可以包括无形的介质。
本实施例的计算机可读介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (17)

1.一种云计算中的流量转发方法,其特征在于,所述方法包括:
接收源端访问目标LB实例的流量请求;所述流量请求中包括用于标识所述目标LB实例的标识信息,所述目标LB实例的标识信息包括所述目标LB实例对应的四元组,所述四元组包括所述目标LB实例的虚拟IP地址、所述目标LB实例的虚拟端口标识、所述目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述所述目标LB实例所属的VPC的Vxlan隧道端点标识;
在TCP Option中承载所述目标LB实例的标识信息,并基于承载所述目标LB实例的标识信息的所述TCP Option,与网络的负载均衡设备建立TCP连接;
基于所述TCP连接向所述网络的负载均衡设备转发所述流量请求,以供所述网络的负载均衡设备根据所述TCP Option中的所述目标LB实例的标识信息,向所述目标LB实例对应的真实服务器转发所述流量请求。
2.根据权利要求1所述的方法,其特征在于,所述源端访问所述目标LB实例的流量请求中还包括用于标识所述源端的IP地址,所述方法还包括:
在TCP Option中承载所述源端的真实IP地址,以在所述网络的负载均衡设备根据所述真实服务器的位置,向所述真实服务器转发所述流量请求时携带所述源端的真实IP地址。
3.一种云计算中的流量转发方法,其特征在于,所述方法包括:
基于承载有目标LB实例的标识信息的TCP Option,与网络设备建立TCP连接;所述TCPOption中承载的所述目标LB实例的标识信息为所述网络设备在接收到源端访问所述目标LB实例的流量请求后处理的,所述流量请求中包括用于标识所述目标LB实例的标识信息,所述目标LB实例的标识信息包括所述目标LB实例对应的四元组,所述四元组包括所述目标LB实例的虚拟IP地址、所述目标LB实例的虚拟端口标识、所述目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述所述目标LB实例所属的VPC的Vxlan隧道端点标识;
基于所述TCP连接接收所述网络设备转发的所述流量请求;
从所述TCP Option中获取所述目标LB实例的标识信息;
根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发所述流量请求。
4.根据权利要求3所述的方法,其特征在于,从所述TCP Option中获取所述目标LB实例的标识信息,具体包括:
通过getsockopt从所述TCP Option中获取所述目标LB实例的标识信息。
5.根据权利要求3所述的方法,其特征在于,根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发所述流量请求,具体包括:
根据所述目标LB实例的标识信息,定位所述目标LB实例的真实服务器的位置;
根据所述真实服务器的位置,向所述目标LB实例对应的真实服务器转发所述流量请求。
6.根据权利要求5所述的方法,其特征在于,根据所述目标LB实例的标识信息,定位所述目标LB实例的真实服务器的位置,具体包括:
根据所述目标LB实例的标识信息,从预先配置的散列表中获取对应的所述真实服务器的IP地址和端口标识。
7.根据权利要求3-6任一所述的方法,其特征在于,所述源端访问所述目标LB实例的流量请求中还包括用于标识所述源端的真实IP地址,所述方法还包括:
从所述TCP Option中获取所述源端的真实IP地址;
根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发所述流量请求,具体包括:
根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发携带所述源端的真实IP地址的所述流量请求。
8.一种网络设备,其特征在于,所述设备包括:
接收模块,用于接收源端访问目标LB实例的流量请求;所述流量请求中包括用于标识所述目标LB实例的标识信息,所述目标LB实例的标识信息包括所述目标LB实例对应的四元组,所述四元组包括所述目标LB实例的虚拟IP地址、所述目标LB实例的虚拟端口标识、所述目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述所述目标LB实例所属的VPC的Vxlan隧道端点标识;
承载和连接建立模块,用于在TCP Option中承载所述目标LB实例的标识信息,并基于承载所述目标LB实例的标识信息的所述TCP Option,与网络的负载均衡设备建立TCP连接;
转发模块,用于基于所述TCP连接向所述网络的负载均衡设备转发所述流量请求,以供所述网络的负载均衡设备根据所述TCP Option中的所述目标LB实例的标识信息,向所述目标LB实例对应的真实服务器转发所述流量请求。
9.根据权利要求8所述的设备,其特征在于,所述源端访问所述目标LB实例的流量请求中还包括用于标识所述源端的真实IP地址,所述承载和连接建立模块,还用于在TCPOption中承载所述源端的标识信息,以在所述网络的负载均衡设备根据所述真实服务器的位置,向所述真实服务器转发所述流量请求时携带所述源端的真实IP地址。
10.一种网络的负载均衡设备,其特征在于,所述设备包括:
连接建立模块,用于基于承载有目标LB实例的标识信息的TCP Option,与网络设备建立TCP连接;所述TCP Option中承载的所述目标LB实例的标识信息为所述网络设备在接收到源端访问所述目标LB实例的流量请求后处理的,所述流量请求中包括用于标识所述目标LB实例的标识信息,所述目标LB实例的标识信息包括所述目标LB实例对应的四元组,所述四元组包括所述目标LB实例的虚拟IP地址、所述目标LB实例的虚拟端口标识、所述目标LB实例所属的VPC的Vxlan网络标识以及用于补充描述所述目标LB实例所属的VPC的Vxlan隧道端点标识;
接收模块,用于基于所述TCP连接接收所述网络设备转发的所述流量请求;
获取模块,用于从所述TCP Option中获取所述目标LB实例的标识信息;
转发模块,用于根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发所述流量请求。
11.根据权利要求10所述的设备,其特征在于,所述获取模块,具体用于通过getsockopt从所述TCP Option中获取所述目标LB实例的标识信息。
12.根据权利要求10所述的设备,其特征在于,所述转发模块,具体用于:
根据所述目标LB实例的标识信息,定位所述目标LB实例的真实服务器的位置;
根据所述真实服务器的位置,向所述目标LB实例对应的真实服务器转发所述流量请求。
13.根据权利要求12所述的设备,其特征在于,所述转发模块,具体用于根据所述目标LB实例的标识信息,从预先配置的散列表中获取对应的所述真实服务器的IP地址和端口标识。
14.根据权利要求10-13任一所述的设备,其特征在于,所述源端访问所述目标LB实例的流量请求中还包括用于标识所述源端的真实IP地址,所述获取模块,还用于从所述TCPOption中获取所述源端的真实IP地址;
所述转发模块,具体用于根据所述目标LB实例的标识信息向所述目标LB实例对应的真实服务器转发携带所述源端的标识信息的所述流量请求。
15.一种云计算中的流量转发系统,其特征在于,包括如上权利要求8-9任一所述的网络设备和如上权利要求10-14任一所述的网络的负载均衡设备,所述网络设备与所述网络的负载均衡设备通讯连接。
16.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-2中任一所述的方法,或者如权利要求3-7中任一所述的方法。
17.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-2中任一所述的方法,或者如权利要求3-7中任一所述的方法。
CN201711384616.3A 2017-12-20 2017-12-20 云计算中的流量转发方法及设备、计算机设备及可读介质 Active CN108200018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711384616.3A CN108200018B (zh) 2017-12-20 2017-12-20 云计算中的流量转发方法及设备、计算机设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711384616.3A CN108200018B (zh) 2017-12-20 2017-12-20 云计算中的流量转发方法及设备、计算机设备及可读介质

Publications (2)

Publication Number Publication Date
CN108200018A CN108200018A (zh) 2018-06-22
CN108200018B true CN108200018B (zh) 2019-11-05

Family

ID=62577457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711384616.3A Active CN108200018B (zh) 2017-12-20 2017-12-20 云计算中的流量转发方法及设备、计算机设备及可读介质

Country Status (1)

Country Link
CN (1) CN108200018B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3647888B1 (de) * 2018-10-31 2021-07-14 Siemens Aktiengesellschaft Steuerungsverbund und verfahren zum betrieb des steuerungsverbundes
CN109688219B (zh) * 2018-12-24 2021-12-21 国云科技股份有限公司 一种适用于多云管理的网络负载均衡器统一管理方法
CN115277816B (zh) * 2019-04-16 2023-10-20 创新先进技术有限公司 服务适配方法、设备、系统以及计算机可读介质
CN111835805B (zh) * 2019-04-19 2022-09-16 厦门网宿有限公司 一种dpvs多租户的配置方法及系统
CN111371685B (zh) * 2020-02-28 2022-06-17 北京百度网讯科技有限公司 数据处理、IPv6挂载方法和装置
CN113691410B (zh) * 2020-05-19 2023-05-12 花瓣云科技有限公司 网络性能数据的获取方法、装置和服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045762A (zh) * 2015-07-27 2015-11-11 新浪网技术(中国)有限公司 一种配置文件的管理方法及装置
CN105791147A (zh) * 2014-12-26 2016-07-20 华为技术有限公司 负载均衡器的连接方法、业务的实例化部署方法及装置
CN107317792A (zh) * 2016-03-30 2017-11-03 阿里巴巴集团控股有限公司 一种实现虚拟专有网络中访问控制的方法与设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779116B2 (en) * 2006-02-09 2010-08-17 International Business Machines Corporation Selecting servers based on load-balancing metric instances

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791147A (zh) * 2014-12-26 2016-07-20 华为技术有限公司 负载均衡器的连接方法、业务的实例化部署方法及装置
CN105045762A (zh) * 2015-07-27 2015-11-11 新浪网技术(中国)有限公司 一种配置文件的管理方法及装置
CN107317792A (zh) * 2016-03-30 2017-11-03 阿里巴巴集团控股有限公司 一种实现虚拟专有网络中访问控制的方法与设备

Also Published As

Publication number Publication date
CN108200018A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108200018B (zh) 云计算中的流量转发方法及设备、计算机设备及可读介质
US9602307B2 (en) Tagging virtual overlay packets in a virtual networking system
US10044622B2 (en) Load balancing for a virtual networking system
US9251040B2 (en) Remote debugging in a cloud computing environment
CN101924693B (zh) 用于在虚拟机间迁移进程的方法和系统
CN108449418A (zh) 一种混合云平台管理系统及方法
US11095716B2 (en) Data replication for a virtual networking system
US9910687B2 (en) Data flow affinity for heterogenous virtual machines
CN110532208B (zh) 一种数据处理方法、接口转换结构及数据处理设备
CN114172905B (zh) 一种集群网络组网的方法、装置、计算机设备及存储介质
US20230247088A1 (en) Multi-cloud infrastructure-database adaptor
CN112243045A (zh) 服务数据处理方法、装置、节点结构及电子设备
US20220263791A1 (en) Virtual network routing gateway that supports address translation for dataplane as well as dynamic routing protocols (control plane)
CN113765801B (zh) 应用于数据中心的报文处理方法和装置、电子设备和介质
US9916280B2 (en) Virtualizing TCP/IP services with shared memory transport
CN112804366A (zh) 用于解析域名的方法和装置
CN116982295A (zh) 基于高速缓存和非高速缓存配置信息的云基础设施中的分组流
CN114979128A (zh) 跨区域通信方法、装置及电子设备
US20240095809A1 (en) Cloud infrastructure-based online publishing platforms for virtual private label clouds
US20240179115A1 (en) Virtual network routing gateway that supports address translation for dataplans as well as dynamic routing protocols (control plane)
US20240056402A1 (en) Network architecture for dedicated region cloud at customer
CN116032995A (zh) 数据通信方法及装置、电子设备和计算机可读存储介质
CN116886701A (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