CN106572197B - 一种网络地址转换方法、装置及*** - Google Patents
一种网络地址转换方法、装置及*** Download PDFInfo
- Publication number
- CN106572197B CN106572197B CN201510654182.9A CN201510654182A CN106572197B CN 106572197 B CN106572197 B CN 106572197B CN 201510654182 A CN201510654182 A CN 201510654182A CN 106572197 B CN106572197 B CN 106572197B
- Authority
- CN
- China
- Prior art keywords
- address
- external network
- request message
- service request
- service
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种网络地址转换方法、装置和***,其中,虚拟服务器获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为所述虚拟服务器的内网地址,所述目的地址为处理所述业务请求报文的云主机的内网地址;将所述外网源地址和第一标识位携带在地址转换后的业务请求报文中,并将所述业务请求报文发送给连接***;以使所述连接***根据所述虚拟服务器发送的业务请求报文中携带的所述第一标识位,获取所述业务请求报文中携带的所述外网源地址,对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给所述云主机进行业务处理。
Description
技术领域
本申请涉及Linux***中的负载均衡技术领域,具体地说,涉及一种网络地址转换方法、装置及***。
背景技术
负载均衡是一种根据负载均衡算法,把网络请求分散到一个服务器集群中的可用服务器的技术。负载均衡通过管理进入服务器集群的数据流量,从而使网络访问者获得尽可能好的网络体验。例如云计算服务中,通过负载均衡技术将网络服务请求分配到负载较小的服务器上进行处理,以提高网络服务请求的处理效率,使网络访问者获得更好的体验。
通常,在云计算服务中,负载均衡器往往虚拟成多个可用的虚拟负载均衡器(Virtual Load Balancer,VLB),或者,将负载均衡软件安装在虚拟服务器(服务器虚拟化的虚拟机)上,以实现云计算服务中的负载均衡。例如,基于Linux操作***的负载均衡技术,能够将多个后端服务器集成为一个虚拟服务器,实现对多个后端服务器的流量转发和负载均衡。
发明人在实现本发明的过程中发现:在云计算的环境下,基于Linux操作***的负载均衡技术中,当客户端将业务访问请求报文发送给虚拟服务器(Linux Virtual Server,LVS)在内部网络传输时,虚拟服务器需要对业务访问请求报文做地址转换,才能通过负载均衡技术将业务访问请求报文分配到负载较小的后端服务器(Real Server,在云计算环境下为云主机)上进行处理。但是,对后端服务器(云主机)来说,不知道是哪个前端用户设备发送的业务访问请求报文。
因此,现有的基于Linux操作***的负载均衡技术中不能实现对云主机的用户透明代理。
发明内容
有鉴于此,本申请提供一种网络地址转换方法、装置及***,可以解决现有的问题。
为了解决上述技术问题,本申请第一方面提供一种网络地址转换方法,包括:
虚拟服务器获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;
对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为所述虚拟服务器的内网地址,所述目的地址为处理所述业务请求报文的云主机的内网地址;
将所述外网源地址和第一标识位携带在地址转换后的业务请求报文中,并将所述业务请求报文发送给连接***;以使所述连接***根据所述虚拟服务器发送的业务请求报文中携带的所述第一标识位,获取所述业务请求报文中携带的所述外网源地址,对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给所述云主机进行业务处理。
可选地,将所述外网源地址和第一标识位携带在所述地址转换后的业务请求报文中,包括:
所述虚拟服务器在所述业务请求报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网源地址和第一标识位。
可选地,将所述外网源地址和第一标识位携带在所述地址转换后的业务请求报文中,包括:
所述虚拟服务器在所述业务请求报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网源地址,利用所述第三扩展字段携带所述第一标识位;或者利用所述第二扩展字段携带所述第一标识位,利用所述第三扩展字段携带所述外网源地址。
可选地,所述的方法还包括:
所述虚拟服务器接收所述连接***发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文;
所述虚拟服务器根据所述业务响应报文中携带的第二标识位获取所述业务响应报文中携带的所述外网目的地址,所述外网目的地址为所述用户设备的外网地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
第二方面,本发明实施例还提供一种网络地址转换方法,包括:
连接***接收虚拟服务器发送的进行地址转换后的业务请求报文,所述业务请求报文为用户设备发送给所述虚拟服务器的业务请求报文;
根据所述业务请求报文中携带的第一标识位获取所述业务请求报文中携带的外网源地址,所述外网源地址为发送所述业务请求报文的用户设备的外网地址;
对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给云主机进行业务处理。
可选地,所述的方法还包括:
所述连接***接收所述云主机发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址;
将所述业务响应报文中的外网目的地址替换为内网目的地址,所述内网目的地址为所述虚拟服务器的内网地址,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器,以使所述虚拟服务器根据所述连接***发送的业务响应报文中携带的第二标识位获取业务响应报文中携带的所述外网目的地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
可选地,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,包括:
所述连接***在所述业务响应报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网目的地址和第二标识位。
可选地,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,包括:
所述连接***在所述业务响应报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网目的地址,利用所述第三扩展字段携带所述第二标识位;或者利用所述第二扩展字段携带所述第二标识位,利用所述第三扩展字段携带所述外网源地址。
第三方面,本发明实施例还提供一种网络地址转换装置,位于虚拟服务器侧,包括:
获取模块,用于获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;
转换模块,用于对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为所述虚拟服务器的内网地址,所述目的地址为处理所述业务请求报文的云主机的内网地址;
封装模块,用于将所述外网源地址和第一标识位携带在地址转换后的业务请求报文中,并将所述业务请求报文通过发送模块发送给连接***;以使所述连接***根据所述虚拟服务器发送的业务请求报文中携带的所述第一标识位,获取所述业务请求报文中携带的所述外网源地址,对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给所述云主机进行业务处理。
可选地,所述封装模块具体用于:
在所述业务请求报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网源地址和第一标识位。
可选地,所述封装模块具体用于:
在所述业务请求报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网源地址,利用所述第三扩展字段携带所述第一标识位;或者利用所述第二扩展字段携带所述第一标识位,利用所述第三扩展字段携带所述外网源地址。
可选地,所述的装置还包括:
接收模块,用于接收所述连接***发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文;
所述获取模块,用于根据所述业务响应报文中携带的第二标识位获取所述业务响应报文中携带的所述外网目的地址,所述外网目的地址为所述用户设备的外网地址,将所述业务响应报文通过所述发送模块发送给所述外网目的地址指向的用户设备。
第四方面,本发明实施例还提供一种网络地址转换装置,位于连接***,包括:
接收模块,用于接收虚拟服务器发送的进行地址转换后的业务请求报文,所述业务请求报文为用户设备发送给所述虚拟服务器的业务请求报文;
获取模块,用于根据所述业务请求报文中携带的第一标识位获取所述业务请求报文中携带的外网源地址,所述外网源地址为发送所述业务请求报文的用户设备的外网地址;
替换模块,用于对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文通过发送模块发送给云主机进行业务处理。
可选地,所述的装置还包括:
所述接收模块,还用于接收所述云主机发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址;
所述替换模块,还用于将所述业务响应报文中的外网目的地址替换为内网目的地址,所述内网目的地址为所述虚拟服务器的内网地址,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器,以使所述虚拟服务器根据所述连接***发送的业务响应报文中携带的第二标识位获取业务响应报文中携带的所述外网目的地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
可选地,所述替换模块具体用于:
在所述业务响应报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网目的地址和第二标识位。
可选地,所述替换模块具体用于:
在所述业务响应报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网目的地址,利用所述第三扩展字段携带所述第二标识位;或者利用所述第二扩展字段携带所述第二标识位,利用所述第三扩展字段携带所述外网源地址。
第五方面,本发明实施例还提供一种网络地址转换***,包括:虚拟服务器和连接***;
所述虚拟服务器包括第三方面所述的网络地址转换装置;
所述连接***包括第四方面所述的网络地址转换装置。
可选地,所述的***还包括:用户设备和云主机;
所述用户设备,用于向所述虚拟服务器发送业务请求报文,所述业务请求报文中包括外网源地址和外网目的地址,所述外网源地址为所述用户设备的外网地址,所述外网目的地址为所述虚拟服务器的外网地址;
所述云主机,用于根据所述连接***发送的业务请求报文进行业务处理后,向所述连接***发送的业务响应报文,所述业务响应报文中包括外网目的地址和内网源地址,其中,所述外网目的地址为所述用户设备的外网地址,所述内网源地址为所述云主机的内网地址。
本发明实施例通过虚拟服务器在接收到用户设备发送的业务请求报文时,获取用户设备的外网地址,对业务请求报文中的外网地址转换为内网地址,并将用户设备的外网地址以及第一标识位携带在地址转换后的业务请求报文中,之后发送给连接***,使得连接***根据第一标识位获取报文中携带的用户设备的外网地址,在将业务请求报文发送给云主机之前,将报文中的内网源地址替换为用户设备的外网地址,这样,云主机接收到的业务请求报文中的源地址为真实的用户设备的地址,在云主机的角度观察,对外服务的云主机直接与真实的用户设备之间建立通信,实现用户的透明代理。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术中一种实现负载均衡技术的***构架图;
图2为现有技术中一种实现负载均衡技术的流程图;
图3为本发明实施例提供的一种实现负载均衡技术的***构架图;
图4是本申请实施例的一种网络地址转换方法的流程示意图;
图5是本申请实施例的一种网络地址转换方法的流程示意图;
图6是本申请实施例的一种网络地址转换方法的流程示意图;
图7是本申请实施例的一种网络地址转换方法的流程示意图;
图8为本发明实施例的一种网络地址转换装置的结构示意图;
图9为本发明实施例的一种网络地址转换装置的结构示意图;
图10为本发明实施例提供的一种电子设备的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图;
图12为本发明实施例的一种网络地址转换***的结构示意图;
图13为本发明实施例的一种Conntrack模块分布式部署的架构图。
具体实施方式
以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者***中还存在另外的相同要素。
图1为现有技术中一种实现负载均衡技术的***构架图,如图1所示,在负载均衡技术***中,虚拟服务器对外提供一个前端的虚拟服务的外网地址(如220.67.8.10)作为用户设备的业务访问地址,用户设备通过该业务访问地址进行业务访问;虚拟服务器对内提供一个后端的虚拟服务的内网地址(如192.168.1.10)作为后端服务器(云主机)的业务响应地址,云主机通过该业务响应地址进行业务处理结果的反馈。
基于图1所示的***架构图,图2为现有技术中一种实现负载均衡技术的流程图,如图2所示,其具体步骤如下:
201:用户设备将业务访问请求报文发送给虚拟服务器。
其中,业务访问请求报文的源地址为用户设备的外网地址(如10.87.7.45),目的地址为虚拟服务器对外提供一个前端的虚拟服务的外网地址(如220.67.8.10)。
202:虚拟服务器接收该业务访问请求报文,通过负载均衡算法,选择一个云主机进行业务处理,并进行网络地址转换,即用虚拟服务器对内提供的一个后端的虚拟服务的内网地址(如192.168.1.10)替换业务访问请求报文的源地址(如10.87.7.45),用选定的云主机的内网地址(如192.168.10.11)替换业务访问请求报文的目的地址(如220.67.8.10),将地址转换后的业务访问请求报文发送给选定的云主机。
203:云主机处理该业务访问请求报文,处理完毕,返回业务访问响应报文。
其中,该业务访问响应报文的源地址为处理业务的云主机的内网地址(如192.168.10.11),目的地址为虚拟服务器对内提供的一个后端的虚拟服务的内网地址(如192.168.1.10)。
204:业务访问响应报文到达虚拟服务器,虚拟服务器再进行网络地址转换,即用虚拟服务器对外提供一个前端的虚拟服务的外网地址(如220.67.8.10)替换业务访问响应报文的源地址,将用户设备的外网地址(如10.87.7.45)替换业务访问响应报文的目的地址,将地址转换后的业务访问响应报文发送给用户设备。
由此可知,经过虚拟服务器负载均衡的报文,需要使用内网地址在内网传输,云主机感知不到前端用户设备的存在;用户设备也感知不到后端云主机的存在。因此,现有的基于Linux操作***的负载均衡技术中不能实现对云主机的用户透明代理。
本发明为了能够实现对云主机的用户透明代理,需要对现有技术进行改进:
通过在云主机的每个宿主机上部署连接***(contrack模块),对经过虚拟服务器负载均衡的业务访问请求报文,虚拟服务器需要将报文的源地址(即真实的用户设备的地址)携带在业务访问请求报文中,在上送到云主机前,连接***需要将业务访问请求报文中内网源地址还原为真实的用户设备的地址;如果云主机以真实的用户设备的地址回复报文,由于真实的用户设备的地址不是内网地址,不能经过内网路由到外网,因此,当云主机以真实的用户设备的地址回复报文时(即云主机回复报文中的目的地址为真实的用户设备的地址),通过连接***将云主机回复报文中的目的地址替换为内部地址在内网传输,然后在发送到用户设备之前,通过虚拟服务器再替换为真实的用户设备的地址。
因此,本发明的技术方案可以满足虚拟服务器基础负载均衡的功能,同时又可以实现双向透明代理,云主机可以获取到真实的用户设备的地址。
图3为本发明实施例提供的一种实现负载均衡技术的***构架图,如图3所示,在负载均衡技术***中,虚拟服务器(简称LVS)对外提供一个前端的虚拟服务的外网地址(如220.67.8.10)作为用户设备的业务访问地址,用户设备通过该业务访问地址进行业务访问;虚拟服务器对内提供一个后端的虚拟服务的内网地址(如192.168.1.10)作为后端服务器(云主机)的业务响应地址。本发明实施例的***架构图中,在云主机的每个宿主机中部署连接***(contrack模块,简称CTK),在上送到云主机前,连接***需要将业务访问请求报文中内网源地址还原为真实的用户设备的地址;当云主机以真实的用户设备的地址回复报文时(即云主机回复报文中的目的地址为真实的用户设备的地址),通过连接***将云主机回复报文中的目的地址替换为内部地址在内网传输。
基于图3所示的***架构图,图4是本申请实施例的一种网络地址转换方法的流程示意图,所述方法位于虚拟服务器侧执行,如图4所示,当用户设备向虚拟服务器发送了业务请求报文时,所述方法包括:
401、虚拟服务器接收用户设备发送的业务请求报文。
其中,业务请求报文中的外网源地址为用户设备的外网地址,是真实的用户设备的地址,如图3所示的用户设备的IP地址为10.87.7.45,业务请求报文中的外网目的地址为虚拟服务器对外提供一个前端的虚拟服务的外网地址(如220.67.8.10),作为用户设备的业务访问地址。
402、获取用户设备发送的业务请求报文中的外网源地址,将所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址。
这里的源地址为所述用户设备的外网地址,是真实的用户设备的地址,如图3所示的用户设备的IP地址为10.87.7.45。
其中,内网源地址为虚拟服务器对内提供一个后端的虚拟服务的内网地址(如192.168.1.10),作为后端服务器(云主机)的业务响应地址;
内网目的地址为处理所述业务请求报文的云主机的内网地址(如192.168.10.11)。
需要说明的是,上述处理所述业务请求报文的云主机是如何确定的,是由虚拟服务器在接收业务请求报文时,利用预设的负载均衡算法计算出该业务请求报文应发往的云主机的序号。这里,负载均衡算法可以采用现有算法,例如:轮转算法、随机算法、基于地址的Hash算法、最小连接算法、服务器压力算法、加权算法等,本发明不做任何限定。
403、将获取的外网源地址和第一标识位携带在地址转换后的业务请求报文中。
其中,第一标识为是用于指示连接***在接收到虚拟服务器发送的业务请求报文时,根据业务请求报文中携带的第一标识位,获取所述业务请求报文中携带的所述外网源地址,将所述业务请求报文中的内网源地址替换为外网源地址。也就是说,连接***在接收到虚拟服务器发送的业务请求报文时,获取业务请求报文中携带的真实用户设备的地址,在上送到云主机之前,将业务请求报文中内网源地址替换为真实用户设备的地址。
步骤403在具体实现时,在一种可选的实施方式中,可以在所述业务请求报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网源地址和第一标识位。
在一种可选的实施方式中,在所述业务请求报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网源地址,利用所述第三扩展字段携带所述第一标识位;或者利用所述第二扩展字段携带所述第一标识位,利用所述第三扩展字段携带所述外网源地址。
例如,基于TCP/IP协议通信时,可在TCP头部Option区域添加自定义的字段,采用标准的TLV结构:
TYPE(1Bytes) | Length(1Byte) | Value |
在Type字段定义标识,Length字段声明长度,Value字段填充真实用户设备的地址。
404、将业务请求报文发送给连接***。
其中,步骤404中的业务请求报文是经过地址转换后,且在业务请求报文携带了真实用户设备的地址(外网源地址)以及第一标识位。
需要说明的是,上述步骤中,虚拟服务器对用户设备发送的业务请求报文中的数据不做任何改变。
基于图3所示的***架构图,对应于图4所示的在虚拟服务器侧执行网络地址转换方法,图5是本申请实施例的一种网络地址转换方法的流程示意图,所述方法位于连接***侧执行,如图5所示,当连接***接收到虚拟服务器发送的业务请求报文时,所述方法包括:
501、连接***接收虚拟服务器发送的业务请求报文。
需要说明的是,虚拟服务器发送的业务请求报文是经过图4所示实施例进行地址转换后,且在业务请求报文携带了真实用户设备的地址(外网源地址)以及第一标识位的业务请求报文。
502、根据所述业务请求报文中携带的第一标识位获取所述业务请求报文中携带的外网源地址。
其中,所述外网源地址为发送所述业务请求报文的用户设备的外网地址,即真实用户设备的地址(如图3所示的10.87.7.450)。
503、对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给云主机进行业务处理。
也就是说,连接***用获取的真实的用户设备的地址替换接收到的业务请求报文中的内网源地址,并将替换源地址之后的业务请求报文发送给通过负载均衡算法选定的云主机进行业务处理。
也就是说,发送给云主机的业务请求报文中的源地址为真实的用户设备的地址(如图3所示的10.87.7.450),目的地址为云主机的内网地址(如192.168.10.11)。
基于图3所示的***架构图,图6是本申请实施例的一种网络地址转换方法的流程示意图,所述方法位于连接***侧执行,如图6所示,当连接***接收到云主机发送的业务响应报文时,所述方法包括:
601、连接***接收云主机发送的业务响应报文。
其中,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址(即真实的用户设备的地址,如图3所示的用户设备的IP地址为10.87.7.45);所述业务响应报文中的源地址为云主机的内网地址(如192.168.10.11)。
602、将所述业务响应报文中的外网目的地址替换为内网目的地址。
由于所述业务响应报文中的目的地址为用户设备的外网地址,是不能再内网中传输的,因此,连接***需要将所述业务响应报文中的外网目的地址替换为内网目的地址,如图3所示,将所述业务响应报文中的用户设备的IP地址为10.87.7.45替换为虚拟服务器对内提供虚拟服务的内网地址(如192.168.1.10)。
603、将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中。
这里的目的地址为用户设备的外网地址。
在一种可选的实施方式中,在所述业务响应报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网目的地址和第二标识位。
在一种可选的实施方式中,在所述业务响应报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网目的地址,利用所述第三扩展字段携带所述第二标识位;或者利用所述第二扩展字段携带所述第二标识位,利用所述第三扩展字段携带所述外网源地址。
例如,基于TCP/IP协议通信时,可在TCP头部Option区域添加自定义的字段,采用标准的TLV结构:
TYPE(1Bytes) | Length(1Byte) | Value |
在Type字段定义标识,Length字段声明长度,Value字段填充真实用户设备的地址。
其中,第二标识位用于指示虚拟服务器根据所述业务响应报文中携带的第二标识位获取所述业务响应报文中携带的所述外网目的地址(即获取真实用户设备的外网地址)。
604、将所述业务响应报文发送给虚拟服务器。
这里的业务响应报文中的源地址为云主机的内网地址(如图3所示的192.168.10.11),目的地址为虚拟服务器的内网地址(如图3所示的192.168.1.10)。
需要说明的是,上述步骤中,连接***对云主机发送的业务响应报文中的数据不做任何改变。
基于图3所示的***架构图,对应于图6所示的在连接***侧执行网络地址转换方法,图7是本申请实施例的一种网络地址转换方法的流程示意图,所述方法位于虚拟服务器侧执行,如图7所示,当虚拟服务器接收到连接***发送的业务响应报文时,所述方法包括:
701、虚拟服务器接收所述连接***发送的业务响应报文。
所述业务响应报文为连接***对云主机发送的业务请求报文根据图6所示实施例的地址转换方法进行处理后的业务响应报文;
其中,这里的业务响应报文中携带有第二标识位和真实用户设备的外网地址。
702、根据所述业务响应报文中携带的第二标识位获取所述业务响应报文中携带的所述外网目的地址。
这里的所述外网目的地址为真实用户设备的外网地址(如图3所示的10.87.7.45)。
703、将业务响应报文中的内网源地址替换为外网源地址,内网目的地址替换为外网目的地址。
这里的内网源地址为云主机的内网源地址(如192.168.10.11),内网目的地址为虚拟服务器的内网地址(如192.168.1.10)。
如图3所示,虚拟服务器在将业务响应报文发送给用户设备之前,需要将业务响应报文中的内网源地址(及云主机的内网源地址,如192.168.10.11)替换为外网源地址(即虚拟服务器对外提供网络服务的外网地址,如220.67.8.10),将内网目的地址(即虚拟服务器对内提供网络服务的内网地址,如192.168.1.10)替换为外网目的地址(即真实用户设备的外网地址,如10.87.7.45)。
704、将所述业务响应报文发送给所述外网目的地址指向的用户设备。
这里的业务响应报文是虚拟服务器经过地址转换后的报文。
本发明实施例通过虚拟服务器在接收到用户设备发送的业务请求报文时,获取用户设备的外网地址,对业务请求报文中的外网地址转换为内网地址,并将用户设备的外网地址以及第一标识位携带在地址转换后的业务请求报文中,之后发送给连接***,使得连接***根据第一标识位获取报文中携带的用户设备的外网地址,在将业务请求报文发送给云主机之前,将报文中的内网源地址替换为用户设备的外网地址,这样,云主机接收到的业务请求报文中的源地址为真实的用户设备的地址,在云主机的角度观察,对外服务的云主机直接与真实的用户设备之间建立通信,实现用户的透明代理。
基于图3提供的一种实现负载均衡技术的***构架图,下面通过具体举例说明一下本发明实施例所述的网络地址转换方法。
用户设备发出Cip->Vip的业务请求报文;其中,Cip:Client IP,即用户设备的源IP地址(如10.87.7.45);Vip:Virtual IP,虚拟服务器IP地址(如220.67.8.10);
虚拟服务器(简称LVS)进行源地址和目的地址转换,转换为Lip->Rip;
其中,Lip:Local IP,LVS使用的内网IP地址,用于在内网传输报文的地址(如192.168.1.10);
Rip:RS IP,RS使用的内网IP地址,用于提供后端服务的云主机的地址(如192.168.10.11);
其中,业务请求报文携带真实用户设备的源地址以及第一标识位;
当携带真实用户设备的源地址以及第一标识位的业务请求报文到达宿主机(云主机的宿主机,简称NC)后,由宿主机中的Conntrack模块(又称连接***)进行地址转换,转换为Cip->Rip,送达到云主机。
网络路径 | Source | Dest |
用户设备 | Cip | Vip |
LVS | Lip | Rip |
Conntrack | Cip | Rip |
云主机回复的业务响应报文Rip->Cip,经过Conntrack模块,首先进行目的地址转换为Rip->Lip,经过路由回到LVS,转换为Vip->Cip发送回到客户端。
网络路径 | Source | Dest |
云主机 | Rip | Cip |
Conntrack | Rip | Lip |
LVS | Vip | Cip |
在云主机的角度观察,以Rip对外服务的云主机直接与Cip为地址的客户端之间建立通信,实现了双向透明代理。
图8为本发明实施例的一种网络地址转换装置的结构示意图,位于虚拟服务器侧,如图8所示包括:
获取模块81,用于获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;
转换模块82,用于对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为所述虚拟服务器的内网地址,所述目的地址为处理所述业务请求报文的云主机的内网地址;
封装模块83,用于将所述外网源地址和第一标识位携带在地址转换后的业务请求报文中,并将所述业务请求报文通过发送模块84发送给连接***;以使所述连接***根据所述虚拟服务器发送的业务请求报文中携带的所述第一标识位,获取所述业务请求报文中携带的所述外网源地址,对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给所述云主机进行业务处理。
其中,所述封装模块82具体用于:
在所述业务请求报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网源地址和第一标识位。
所述封装模块83具体还用于:
在所述业务请求报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网源地址,利用所述第三扩展字段携带所述第一标识位;或者利用所述第二扩展字段携带所述第一标识位,利用所述第三扩展字段携带所述外网源地址。
可选地,所述的装置还包括:
接收模块85,用于接收所述连接***发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文;
所述获取模块81,用于根据所述业务响应报文中携带的第二标识位获取所述业务响应报文中携带的所述外网目的地址,所述外网目的地址为所述用户设备的外网地址,将所述业务响应报文通过所述发送模块发送给所述外网目的地址指向的用户设备。
本发明实施例所述的装置可以执行图4或图7所示虚拟服务器侧的网络地址转换方法,实现原理和技术效果不再赘述。
图9为本发明实施例的一种网络地址转换装置的结构示意图,位于连接***侧,如图9所示包括:
接收模块91,用于接收虚拟服务器发送的进行地址转换后的业务请求报文,所述业务请求报文为用户设备发送给所述虚拟服务器的业务请求报文;
获取模块92,用于根据所述业务请求报文中携带的第一标识位获取所述业务请求报文中携带的外网源地址,所述外网源地址为发送所述业务请求报文的用户设备的外网地址;
替换模块93,用于对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文通过发送模块94发送给云主机进行业务处理。
可选地,所述接收模块91,还用于接收所述云主机发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址;
所述替换模块93,还用于将所述业务响应报文中的外网目的地址替换为内网目的地址,所述内网目的地址为所述虚拟服务器的内网地址,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器,以使所述虚拟服务器根据所述连接***发送的业务响应报文中携带的第二标识位获取业务响应报文中携带的所述外网目的地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
可选地,所述替换模块93具体用于:
在所述业务响应报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网目的地址和第二标识位。
可选地,所述替换模块93具体用于:
在所述业务响应报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网目的地址,利用所述第三扩展字段携带所述第二标识位;或者利用所述第二扩展字段携带所述第二标识位,利用所述第三扩展字段携带所述外网源地址。
本发明实施例所述的装置可以执行图5或图6所示连接***侧的网络地址转换方法,实现原理和技术效果不再赘述。
图10为本发明实施例提供的一种电子设备的结构示意图,可以执行图4或图7所示虚拟服务器侧的网络地址转换方法,如图10所示,包括处理器和存储器;其中,存储器中保存有执行图4或图7所示虚拟服务器侧的网络地址转换方法的指令,当处理器调用存储器中的指令时,可以执行如下步骤:
获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;
对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为所述虚拟服务器的内网地址,所述目的地址为处理所述业务请求报文的云主机的内网地址;
将所述外网源地址和第一标识位携带在地址转换后的业务请求报文中,并将所述业务请求报文发送给连接***;以使所述连接***根据所述业务请求报文中携带的所述第一标识位,获取所述业务请求报文中携带的所述外网源地址,对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给所述云主机进行业务处理。
其中,将所述外网源地址和第一标识位携带在所述地址转换后的业务请求报文中,包括:
在所述业务请求报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网源地址和第一标识位;或者
在所述业务请求报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网源地址,利用所述第三扩展字段携带所述第一标识位;或者利用所述第二扩展字段携带所述第一标识位,利用所述第三扩展字段携带所述外网源地址。
当处理器调用存储器中的指令时,还可以执行如下步骤::
接收所述连接***发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文;
所述虚拟服务器根据所述业务响应报文中携带的第二标识位获取所述业务响应报文中携带的所述外网目的地址,所述外网目的地址为所述用户设备的外网地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
图11为本发明实施例提供的一种电子设备的结构示意图,可以执行图5或图6所示连接***侧的网络地址转换方法,如图11所示,包括处理器和存储器;其中,存储器中保存有执行图5或图6所示连接***侧的网络地址转换方法的指令,当处理器调用存储器中的指令时,可以执行如下步骤:
接收虚拟服务器发送的进行地址转换后的业务请求报文,所述业务请求报文为用户设备发送给所述虚拟服务器的业务请求报文;
根据所述业务请求报文中携带的第一标识位获取所述业务请求报文中携带的外网源地址,所述外网源地址为发送所述业务请求报文的用户设备的外网地址;
对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给云主机进行业务处理。
可选地,还可以执行:
接收所述云主机发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址;
将所述业务响应报文中的外网目的地址替换为内网目的地址,所述内网目的地址为所述虚拟服务器的内网地址,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器,以使所述虚拟服务器根据所述业务响应报文中携带的第二标识位获取业务响应报文中携带的所述外网目的地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
其中,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,包括:
所述连接***在所述业务响应报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网目的地址和第二标识位。
其中,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,包括:
所述连接***在所述业务响应报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网目的地址,利用所述第三扩展字段携带所述第二标识位;或者利用所述第二扩展字段携带所述第二标识位,利用所述第三扩展字段携带所述外网源地址。
图12为本发明实施例的一种网络地址转换***的结构示意图,可以执行图4-图7任一实施例所述的网络地址转换方法;如图12,包括:用户设备、虚拟服务器、连接***和云主机;
其中,用户设备,用于向所述虚拟服务器发送业务请求报文,所述业务请求报文中包括外网源地址和外网目的地址,所述外网源地址为所述用户设备的外网地址,所述外网目的地址为所述虚拟服务器的外网地址;
虚拟服务器,用于获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为所述虚拟服务器的内网地址,所述目的地址为处理所述业务请求报文的云主机的内网地址;将所述外网源地址和第一标识位携带在地址转换后的业务请求报文中,并将所述业务请求报文发送给连接***;
连接***,用于根据所述虚拟服务器发送的业务请求报文中携带的所述第一标识位,获取所述业务请求报文中携带的所述外网源地址,对所述业务请求报文中的内网源地址替换为所述外网源地址,并将所述业务请求报文发送给所述云主机进行业务处理;
云主机,用于根据所述连接***发送的业务请求报文进行业务处理后,向所述连接***发送的业务响应报文,所述业务响应报文中包括外网目的地址和内网源地址,其中,所述外网目的地址为所述用户设备的外网地址,所述内网源地址为所述云主机的内网地址。
所述连接***,还用于接收所述云主机发送的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址;将所述业务响应报文中的外网目的地址替换为内网目的地址,所述内网目的地址为所述虚拟服务器的内网地址,将所述外网目的地址和第二标识位携带在所述地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器;
所述虚拟服务器,还用于根据所述连接***发送的业务响应报文中携带的第二标识位获取业务响应报文中携带的所述外网目的地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
图13为本发明实施例的一种Conntrack模块分布式部署的架构图,如图13所示:
Conntrack模块部署在每台宿主机上,对宿主机上每台云主机的流量进行处理。Conntrack模块与前端负载均衡独立,无需维护复杂的对应关系,只需要提取和记录每条连接的真实源地址,以及在内网传输使用的内部地址即可。具有简单轻量、维护方便的特点,并且在故障、或者升级维护时,不会对其他云主机\宿主机产生影响。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (23)
1.一种网络地址转换方法,其特征在于,包括:
虚拟服务器获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;
对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为所述虚拟服务器的内网地址,所述内网目的地址为处理所述业务请求报文的云主机的内网地址;
将所述外网源地址携带在虚拟服务器进行地址转换后的业务请求报文中发送给连接***;以使所述连接***根据所述虚拟服务器发送的业务请求报文获取所述外网源地址,对所述业务请求报文中的内网源地址转换为所述外网源地址,并将所述连接***进行地址转换后的业务请求报文发送给所述云主机进行业务处理。
2.根据权利要求1所述的方法,其特征在于,所述将所述外网源地址携带在虚拟服务器进行地址转换后的业务请求报文中,包括:
所述虚拟服务器在所述业务请求报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网源地址。
3.根据权利要求1所述的方法,其特征在于,所述将所述外网源地址携带在虚拟服务器进行地址转换后的业务请求报文中,包括:
所述虚拟服务器在所述业务请求报文格式中添加第一扩展字段,利用所述第一扩展字段携带所述外网源地址,其中,所述第一扩展字段还携带有第一标识位,所述第一标识位用于指示连接***在接收到虚拟服务器发送的业务请求报文时,根据业务请求报文中携带的第一标识位,获取所述业务请求报文中携带的所述外网源地址,将业务请求报文中的内网源地址转换为外网源地址。
4.根据权利要求1所述的方法,其特征在于,所述将所述外网源地址携带在虚拟服务器进行地址转换后的业务请求报文中,包括:
所述虚拟服务器在所述业务请求报文格式中添加第二扩展字段和第三扩展字段,利用所述第二扩展字段携带所述外网源地址,所述第三扩展字段携带第一标识位;或者利用所述第三扩展字段携带所述外网源地址,所述第二扩展字段携带所述第一标识位,所述第一标识位用于指示连接***在接收到虚拟服务器发送的业务请求报文时,根据业务请求报文中携带的第一标识位,获取所述业务请求报文中携带的所述外网源地址,将业务请求报文中的内网源地址转换为外网源地址。
5.根据权利要求3或4所述的方法,其特征在于,所述第一扩展字段、第二扩展字段或第三扩展字段位于业务请求报文的头部自选区域。
6.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
所述虚拟服务器接收所述连接***发送的业务响应报文,所述业务响应报文为所述云主机根据所述连接***进行地址转换后的业务请求报文进行业务处理后发出的业务响应报文;
所述虚拟服务器根据所述业务响应报文获取所述业务响应报文中携带的所述外网目的地址,所述外网目的地址为所述用户设备的外网地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
7.根据权利要求6所述的方法,其特征在于,业务响应报文中携带所述外网目的地址,包括:
在所述业务响应报文格式中添加第四扩展字段,利用所述第四扩展字段携带所述外网目的地址,其中,所述第四扩展字段还携带有第二标识位,所述第二标识位用于指示虚拟服务器根据所述业务响应报文中携带的第二标识位获取所述业务响应报文中携带的所述外网目的地址。
8.根据权利要求6所述的方法,其特征在于,业务响应报文中携带所述外网目的地址,包括:
在所述业务响应报文格式中添加第五扩展字段和第六扩展字段,利用所述第五扩展字段携带所述外网目的地址,所述第六扩展字段携带第二标识位;或者利用所述第六扩展字段携带所述外网源地址,所述所述第五扩展字段携带所述第二标识位;所述第二标识位用于指示虚拟服务器根据所述业务响应报文中携带的第二标识位获取所述业务响应报文中携带的所述外网目的地址。
9.根据权利要求1所述的方法,其特征在于,通过在云主机的每个宿主机上部署连接***。
10.一种网络地址转换方法,其特征在于,包括:
连接***接收虚拟服务器发送的进行地址转换后的业务请求报文,所述业务请求报文为用户设备发送给所述虚拟服务器的业务请求报文;
根据所述业务请求报文获取所述业务请求报文中携带的外网源地址,所述外网源地址为发送所述业务请求报文的用户设备的外网地址;
对所述业务请求报文中的内网源地址转换为所述外网源地址,并将进行地址转换后的业务请求报文发送给云主机进行业务处理。
11.根据权利要求10所述的方法,其特征在于,还包括:
所述连接***接收所述云主机发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址;
将所述业务响应报文中的外网目的地址转换为内网目的地址,所述内网目的地址为所述虚拟服务器的内网地址,将所述外网目的地址携带在连接***进行地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器,以使所述虚拟服务器获取业务响应报文中携带的所述外网目的地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
12.一种网络地址转换装置,位于虚拟服务器侧,其特征在于,包括:
获取模块,用于获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;
转换模块,用于对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为所述虚拟服务器的内网地址,所述目的地址为处理所述业务请求报文的云主机的内网地址;
封装模块,用于将所述外网源地址携带在虚拟服务器进行地址转换后的业务请求报文中,并通过发送模块发送给连接***;以使所述连接***根据所述虚拟服务器发送的业务请求报文,获取所述外网源地址,对所述业务请求报文中的内网源地址转换为所述外网源地址,并将所述网络地址转换装置进行地址转换后的业务请求报文发送给所述云主机进行业务处理。
13.根据权利要求12所述的装置,其特征在于,还包括:
接收模块,用于接收所述连接***发送的业务响应报文,所述业务响应报文为所述云主机根据所述连接***进行地址转换后的业务请求报文进行业务处理后发出的业务响应报文;
所述获取模块,用于根据所述业务响应报文获取所述业务响应报文中携带的所述外网目的地址,所述外网目的地址为所述用户设备的外网地址,将所述业务响应报文通过所述发送模块发送给所述外网目的地址指向的用户设备。
14.一种网络地址转换装置,位于连接***,其特征在于,包括:
接收模块,用于接收虚拟服务器发送的进行地址转换后的业务请求报文,所述业务请求报文为用户设备发送给所述虚拟服务器的业务请求报文;
获取模块,用于根据所述业务请求报文获取所述业务请求报文中携带的外网源地址,所述外网源地址为发送所述业务请求报文的用户设备的外网地址;
替换模块,用于对所述业务请求报文中的内网源地址转换为所述外网源地址,并将所述网络地址转换装置进行地址转换后的业务请求报文通过发送模块发送给云主机进行业务处理。
15.根据权利要求14所述的装置,其特征在于,还包括:
所述接收模块,还用于接收所述云主机发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址;
所述替换模块,还用于将所述业务响应报文中的外网目的地址转换为内网目的地址,所述内网目的地址为所述虚拟服务器的内网地址,将所述外网目的地址携带在所述网络地址转换装置进行地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器,以使所述虚拟服务器获取业务响应报文中携带的所述外网目的地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
16.一种网络地址转换装置,其特征在于,包括分别与虚拟服务器和云主机电连接的连接***,
所述连接***,用于根据虚拟服务器发送的业务请求报文获取外网源地址,对所述业务请求报文中的内网源地址转换为所述外网源地址,并将转换后的业务请求报文发送给所述云主机进行业务处理;
所述连接***,还用于接收所述云主机发送的业务响应报文,将所述业务响应报文中的外网目的地址转换为内网目的地址,将所述外网目的地址携带在所述地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器。
17.根据权利要求16所述的装置,其特征在于,所述连接***部署在云主机的每个宿主机上部署。
18.一种网络地址转换***,其特征在于,包括:虚拟服务器和连接***;
所述虚拟服务器包括如权利要求12-13任一项所述的网络地址转换装置;
所述连接***包括如权利要求14-15任一项所述的网络地址转换装置。
19.根据权利要求18所述的***,其特征在于,还包括:用户设备和云主机;
所述用户设备,用于向所述虚拟服务器发送业务请求报文,所述业务请求报文中包括外网源地址和外网目的地址,所述外网源地址为所述用户设备的外网地址,所述外网目的地址为所述虚拟服务器的外网地址;
所述云主机,用于根据所述连接***发送的业务请求报文进行业务处理后,向所述连接***发送的业务响应报文,所述业务响应报文中包括外网目的地址和内网源地址,其中,所述外网目的地址为所述用户设备的外网地址,所述内网源地址为所述云主机的内网地址。
20.一种电子设备,位于虚拟服务器侧,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取用户设备发送的业务请求报文中的外网源地址,所述外网源地址为所述用户设备的外网地址;
对所述业务请求报文中的外网源地址和外网目的地址转换为内网源地址和内网目的地址,所述内网源地址为虚拟服务侧的内网地址,所述内网目的地址为处理所述业务请求报文的云主机的内网地址;
将所述外网源地址携带在位于虚拟服务侧的电子设备进行地址转换后的业务请求报文中发送给位于连接***的电子设备;以使所述位于连接***的电子设备根据所述虚拟服务侧的电子设备发送的业务请求报文获取所述外网源地址,对所述业务请求报文中的内网源地址转换为所述外网源地址,并将所述连接***进行地址转换后的业务请求报文发送给所述云主机进行业务处理。
21.根据权利要求20所述的电子设备,其特征在于,所述处理器还执行以下操作:
接收业务响应报文,所述业务响应报文为所述云主机根据位于连接***的电子设备进行地址转换后的业务请求报文进行业务处理后发出的业务响应报文;
根据所述业务响应报文获取所述业务响应报文中携带的所述外网目的地址,所述外网目的地址为所述用户设备的外网地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
22.一种电子设备,位于连接***,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收虚拟服务器侧的电子设备发送的进行地址转换后的业务请求报文,所述业务请求报文为用户设备发送给所述虚拟服务器侧的电子设备的业务请求报文;
根据所述业务请求报文获取所述业务请求报文中携带的外网源地址,所述外网源地址为发送所述业务请求报文的用户设备的外网地址;
对所述业务请求报文中的内网源地址转换为所述外网源地址,并将进行地址转换后的业务请求报文发送给云主机进行业务处理。
23.根据权利要求22所述的电子设备,其特征在于,所述处理器还执行以下操作:
接收所述云主机发送的业务响应报文,所述业务响应报文为所述云主机根据所述业务请求报文进行业务处理后发出的业务响应报文,所述业务响应报文中的目的地址为外网目的地址,且为所述业务请求报文中携带的用户设备的外网地址;
将所述业务响应报文中的外网目的地址转换为内网目的地址,所述内网目的地址为虚拟服务器侧的电子设备的内网地址,将所述外网目的地址携带在位于连接***的电子设备进行地址转换后的业务响应报文中,并将所述业务响应报文发送给虚拟服务器侧的电子设备,以使所述虚拟服务器侧的电子设备获取业务响应报文中携带的所述外网目的地址,将所述业务响应报文发送给所述外网目的地址指向的用户设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510654182.9A CN106572197B (zh) | 2015-10-10 | 2015-10-10 | 一种网络地址转换方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510654182.9A CN106572197B (zh) | 2015-10-10 | 2015-10-10 | 一种网络地址转换方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106572197A CN106572197A (zh) | 2017-04-19 |
CN106572197B true CN106572197B (zh) | 2020-01-14 |
Family
ID=58507838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510654182.9A Active CN106572197B (zh) | 2015-10-10 | 2015-10-10 | 一种网络地址转换方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106572197B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579951B (zh) * | 2017-07-14 | 2020-06-19 | 创新先进技术有限公司 | 一种业务数据处理方法、业务处理方法及设备 |
CN109560947A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种转换连接的控制方法及装置 |
CN108200222A (zh) * | 2017-12-27 | 2018-06-22 | 郑州云海信息技术有限公司 | 一种集群内网访问外网的方法、装置及设备 |
CN108540585B (zh) * | 2018-02-27 | 2021-07-06 | 新华三技术有限公司 | 地址分配方法、装置及通信设备 |
CN110830527A (zh) * | 2018-08-07 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 一种网络间数据通信的方法、装置及数据通信*** |
CN110519009B (zh) * | 2019-08-05 | 2022-01-11 | 视联动力信息技术股份有限公司 | 一种数据包传输方法和装置 |
CN112929277B (zh) * | 2019-12-06 | 2024-03-05 | 华为云计算技术有限公司 | 一种报文处理方法及装置 |
CN112261176B (zh) * | 2020-12-24 | 2021-04-02 | 金锐同创(北京)科技股份有限公司 | 一种网络实际访问关系的获取方法及相关设备 |
CN113163024B (zh) * | 2021-03-12 | 2023-04-07 | 网宿科技股份有限公司 | 报文处理方法、服务器及存储介质 |
CN113382084A (zh) * | 2021-06-30 | 2021-09-10 | 北京小程科技有限公司 | 通过广域网对停车场局域网设备远程调试的方法及*** |
CN114157632B (zh) * | 2021-10-12 | 2023-11-21 | 北京华耀科技有限公司 | 网络隔离方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292571B2 (en) * | 2001-04-30 | 2007-11-06 | Aol Llc, A Delaware Limited Liability Company | Load balancing with direct terminal response |
CN102710485A (zh) * | 2012-05-07 | 2012-10-03 | 深信服网络科技(深圳)有限公司 | 透明代理方法及代理服务器 |
CN103023942A (zh) * | 2011-09-27 | 2013-04-03 | 奇智软件(北京)有限公司 | 一种服务器负载均衡方法、装置及*** |
CN104811383A (zh) * | 2015-03-19 | 2015-07-29 | 杭州华三通信技术有限公司 | 一种报文转发方法和设备 |
-
2015
- 2015-10-10 CN CN201510654182.9A patent/CN106572197B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292571B2 (en) * | 2001-04-30 | 2007-11-06 | Aol Llc, A Delaware Limited Liability Company | Load balancing with direct terminal response |
CN103023942A (zh) * | 2011-09-27 | 2013-04-03 | 奇智软件(北京)有限公司 | 一种服务器负载均衡方法、装置及*** |
CN102710485A (zh) * | 2012-05-07 | 2012-10-03 | 深信服网络科技(深圳)有限公司 | 透明代理方法及代理服务器 |
CN104811383A (zh) * | 2015-03-19 | 2015-07-29 | 杭州华三通信技术有限公司 | 一种报文转发方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106572197A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106572197B (zh) | 一种网络地址转换方法、装置及*** | |
CN108449282B (zh) | 一种负载均衡方法及其装置 | |
CN106856434B (zh) | 访问请求转换的方法和装置 | |
CN107645444B (zh) | 用于虚拟机与云服务计算设备之间的快速路由传输的***、设备和方法 | |
CN107086966B (zh) | 一种网络的负载均衡、控制及网络交互方法和装置 | |
US10135915B2 (en) | System, method and apparatus of data interaction under load balancing | |
EP3149898B1 (en) | Network packet encapsulation and routing | |
CN110999265B (zh) | 管理云计算服务端点和虚拟机之间的网络连接性 | |
CN106657180B (zh) | 用于云服务的信息传输方法、装置、终端设备及*** | |
KR20100103619A (ko) | 전역 트래픽 부하 균형화를 위하여 클라이언트 위치 및 리졸버 부하를 결정하는 dns 와일드카드 비컨화 | |
CN101325552B (zh) | 访问请求的三角转发方法和glb服务器 | |
JP2013511207A5 (zh) | ||
CN111324843A (zh) | 一种前端请求处理方法、装置、设备及可读存储介质 | |
CN105704036A (zh) | 报文转发方法、装置和*** | |
US11799827B2 (en) | Intelligently routing a response packet along a same connection as a request packet | |
CN103873604A (zh) | 一种基于分析cdn网络数据的网络访问方法 | |
KR101682513B1 (ko) | 다중-코어 플랫폼들을 위한 dns 프록시 서비스 | |
CN103581361A (zh) | 一种域名解析代理方法、设备及*** | |
CN109246016B (zh) | 跨vxlan的报文处理方法和装置 | |
CN112243045A (zh) | 服务数据处理方法、装置、节点结构及电子设备 | |
CN104092751A (zh) | 一种业务访问方法和设备 | |
EP3481099A1 (en) | Load balancing method and associated device | |
CN110875884B (zh) | 一种流量迁移***、一种数据处理方法及装置 | |
CN112152927B (zh) | 一种报文转发方法、***及网卡和存储介质 | |
CN104767759A (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 |