CN110012118A - 一种提供网络地址转换nat服务的方法及控制器 - Google Patents

一种提供网络地址转换nat服务的方法及控制器 Download PDF

Info

Publication number
CN110012118A
CN110012118A CN201910178099.7A CN201910178099A CN110012118A CN 110012118 A CN110012118 A CN 110012118A CN 201910178099 A CN201910178099 A CN 201910178099A CN 110012118 A CN110012118 A CN 110012118A
Authority
CN
China
Prior art keywords
home server
controller
nat
message
flow table
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.)
Granted
Application number
CN201910178099.7A
Other languages
English (en)
Other versions
CN110012118B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910178099.7A priority Critical patent/CN110012118B/zh
Publication of CN110012118A publication Critical patent/CN110012118A/zh
Priority to PCT/CN2019/103258 priority patent/WO2020181735A1/zh
Application granted granted Critical
Publication of CN110012118B publication Critical patent/CN110012118B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2532Clique of NAT servers
    • 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/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种提供网络地址转换NAT服务的方法及控制器,该方法包括:控制器与多个宿主服务器建立通信,控制器为第一宿主服务器生成流表,所述第一宿主服务器为与所述控制器建立通信的多个宿主服务器中的任意一个宿主服务器,所述流表包括多个表项,所述多个表项中每个表项记录了一条NAT转发规则;所述控制器将所述流表发送给所述第一宿主服务器,所述流表用于所述第一宿主服务器为所述第一宿主服务器上的云主机提供NAT服务。本申请实施例提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。

Description

一种提供网络地址转换NAT服务的方法及控制器
技术领域
本申请涉及通信技术领域,尤其涉及一种提供网络地址转换NAT服务的方法和控制器。
背景技术
由于实际网络中公网地址资源有限,网关设备通常使用NAT(Network AddressTranslation,网络地址转换)功能来实现内网对Internet的访问,NAT是将IP数据报文头中的IP地址转换为另一个IP地址的过程,即NAT将数据中的私网地址转换为公网地址,以实现私有网络访问公共网络,且NAT通过使用少量的公网地址表示较多的私网地址,从而可减缓可用地址空间的枯竭。
业界通常使用NAT网关实例的方式提供NAT服务,这种实例可以采用虚拟机的方式部署,也可以用物理机集群的方式进行部署,不论哪种方式,都需要将流量分发到NAT网关实例处,对NAT网关本身的性能要求较高,一旦流量超过了设计的性能上限,NAT网关很容易成为瓶颈点。
发明内容
本申请实施例提供了一种提供网络地址转换NAT服务的方法和控制器,通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
第一方面,本申请实施例提供了一种提供网络地址转换NAT服务的方法,该方法包括:
控制器与多个宿主服务器建立通信;
所述控制器为第一宿主服务器生成流表,所述第一宿主服务器为与所述控制器建立通信的所述多个宿主服务器中的任意一个宿主服务器,所述流表包括多个表项,所述多个表项中每个表项记录了一条NAT转发规则;
所述控制器将所述流表发送给所述第一宿主服务器,所述流表用于所述第一宿主服务器为所述第一宿主服务器上的云主机提供NAT服务。
本申请实施例通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
结合第一方面,在第一方面的第一种可能的实施方式中,所述控制器将所述流表发送给所述第一宿主服务器之后,还包括:
所述控制器接收所述第一宿主服务器发送的报文;
所述控制器根据所述报文确定包含所述报文的NAT转发规则的表项;
所述控制器将所述包含所述报文的NAT转发规则的表项发送给所述第一宿主服务器,所述包含所述报文的NAT转发规则的表项用于所述第一宿主服务器对所述报文执行NAT操作。
采用本申请实施例,当宿主服务器为自身承载的云主机发送的报文根据流表匹配表项失败时,控制器可以为该报文生成或从现有的流表中选择其对应的表项并将该表项发送宿主服务器,从而使得宿主服务器可以成功地为该报文提供NAT服务。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述控制器接收所述第一宿主服务器发送的报文,包括:
所述控制器接收所述第一宿主服务器在为报文匹配表项失败后发送的所述报文。
结合第一方面、第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述控制器为第一宿主服务器生成流表之前,还包括:
所述控制器接收所述第一宿主服务器发送的NAT服务请求指令,所述请求指令用于请求所述控制器为所述第一宿主服务器生成所述流表。
本实施例通过请求指令请求控制器为宿主服务器生成流表,可以使得控制器的资源优化并及时对宿主服务器的NAT服务请求作出相应,进一步提高了NAT服务的处理效率。
结合第一方面,在第一方面的第四种可能的实施方式中,所述NAT转发规则包括私网信息与公网信息之间的转换规则,其中,所述私网信息包括私网的互联网协议IP地址和私网端口信息,所述公网信息包括公网的IP地址和公网端口信息,所述私网为所述第一宿主服务器上的云主机所属的专用网络。
本申请实施例提供了一种提供网络地址转换NAT服务的方法和控制器,通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
第二方面,本申请实施例提供了一种控制器,该控制器包括:
配置单元,用于与多个宿主服务器建立通信;
生成单元,用于为第一宿主服务器生成流表,所述第一宿主服务器为与所述控制器建立通信的所述多个宿主服务器中的任意一个宿主服务器,所述流表包括多个表项,所述多个表项中每个表项记录了一条NAT转发规则;
第一发送单元,用于将所述流表发送给所述第一宿主服务器,所述流表用于所述第一宿主服务器为所述第一宿主服务器上的云主机提供NAT服务。
本申请实施例提供了一种提供网络地址转换NAT服务的方法和控制器,通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
结合第二方面,在第二方面的第一种可能的实施方式中,所述控制器还包括第一接收单元、确定单元和第二发送单元;其中:
所述第一接收单元,用于在所述第一发送单元将所述流表发送给所述第一宿主服务器之后接收所述第一宿主服务器发送的报文;
所述确定单元,用于根据所述报文确定包含所述报文的NAT转发规则的表项;
所述第二发送单元,用于将所述包含所述报文的NAT转发规则的表项发送给所述第一宿主服务器,所述包含所述报文的NAT转发规则的表项用于所述第一宿主服务器对所述报文执行NAT操作。
采用本申请实施例,当宿主服务器为自身承载的云主机发送的报文根据流表匹配表项失败时,控制器可以为该报文生成或从现有的流表中选择其对应的表项并将该表项发送宿主服务器,从而使得宿主服务器可以成功地为该报文提供NAT服务。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述接收单元,用于接收所述第一宿主服务器发送的报文,具体为:
用于接收所述第一宿主服务器在为报文匹配表项失败后发送的所述报文。
结合第二方面、第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述控制器还包括:
第二接收单元,用于在所述生成单元为第一宿主服务器生成流表之前,接收所述第一宿主服务器发送的NAT服务请求指令,所述请求指令用于请求所述控制器为所述第一宿主服务器生成所述流表。
本实施例通过请求指令请求控制器为宿主服务器生成流表,可以使得控制器的资源优化并及时对宿主服务器的NAT服务请求作出相应,进一步提高了NAT服务的处理效率。
结合第二方面,在第二方面的第四种可能的实施方式中,所述NAT转发规则包括私网信息与公网信息之间的转换规则,其中,所述私网信息包括私网的互联网协议IP地址和私网端口信息,所述公网信息包括公网的IP地址和公网端口信息,所述私网为所述第一宿主服务器上的云主机所属的专用网络。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面所述的方法。
第四方面,本申请实施例提供了一种服务器,包括处理器、通信接口和计算机可读存储介质,所述处理器、通信接口和计算机可读存储介质相互连接,其中,所述计算机可读存储介质用于存储应用程序代码,所述处理器被配置用于调用所述应用程序代码,执行上述第一方面所述的方法。
综上所述,本申请实施例通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
附图说明
下面将对本申请实施例中所需要使用的附图作介绍。
图1为本申请实施例提供的一种提供NAT服务的方法的系统架构示意图;
图2为本申请实施例提供的一种提供NAT服务的方法的流程示意图;
图3为本申请实施例提供的宿主服务器为其承载的云主机发送的报文提供NAT服务的示意图;
图4为本申请实施例提供的一种控制器的结构示意图;
图5为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
本申请提供了一种提供网络地址转换NAT服务的方法和控制器,通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
本申请说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。
为了使本领域技术人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下分别进行详细说明。
为了更好的理解本申请实施例提供的一种提供网络地址转换NAT服务的方法和控制器,下面先对本申请实施例适用的一种提供网络地址转换NAT服务的方法的系统构架进行描述。参阅图1,图1是本方案实施例提供的一种提供网络地址转换NAT服务的方法的系统架构示意图。如图1所示,系统架构可以包括一个控制器101、一个或多个宿主服务器102以及一个或多个云主机103。控制器101可以和宿主服务器102互相通信,各个宿主服务器102承载着一个或多个云主机103,宿主服务器102和自身承载的云主机103可以互相通信。
需要说明的是,本申请提供的一种提供网络地址转换NAT服务的方法的系统构架不限于图1所示系统架构。
基于图1给出的一种提供网络地址转换NAT服务的方法的系统架构,下面提供一种提供网络地址转换NAT服务的方法,一种提供网络地址转换NAT服务的方法的流程图如图2所示,可以包括以下步骤:
步骤S201:控制器与多个宿主服务器建立通信。
具体地,该控制器上可以配置该多个宿主服务器的网络地址(可以是互联网中的地址,也可以是局域网中的地址,或者其他同于通信的地址),从而识别来自该多个宿主服务器的数据包,以及针对性地向该多个宿主服务器发送数据包;相应的,该多个宿主服务器上也都可以配置该控制器的网络地址,从而识别来自该控制器的数据包,以及针对性地向该控制器器发送数据包。另外,该控制器与该多个宿主服务器之间可以通过有线,或者无线的方式进行数据传输。
S202、控制器为第一宿主服务器生成流表。
具体的,所述第一宿主服务器为与所述控制器建立通信的多个宿主服务器中的任意一个宿主服务器,所述流表包括多个表项,所述多个表项中每个表项记录了一条NAT转发规则。
在具体实施方式中,当所述第一宿主服务器与所述控制器第一次建立通信时或者在所述第一宿主服务器发送NAT服务请求指令给控制器时,所述控制器为该第一宿主服务器生成对应的流表。该流表中包含多个表项,每个表项都记录了一条NAT转发规则。
在其中一种可能的实施方案中,上述NAT转发规则可以包括私网信息与公网信息之间的转换规则,其中,所述私网信息包括私网的互联网协议IP地址和私网的端口信息,所述公网信息包括公网的IP地址和公网的端口信息,所述私网为所述第一宿主服务器上的云主机所属的专用网络。具体的NAT转发规则示例可以参考表1,表1给出了NAT转发规则包含的信息的示例,主要是私网访问公网的地址和端口映射表。私网IP地址为10.0.0.2,对应的端口号为1723的云主机访问公网,需要将该云主机的私网IP地址和端口号替换为公网IP地址和公网的端口号,根据表1,可以将云主机的私网IP地址为10.0.0.2替换为131.107.0.1,端口号1723替换为4000,替换完成后云主机使用新的IP地址和端口号131.107.0.1/4000即可访问公网。
表1私网访问公网的地址和端口映射表
- 私网IP地址 私网端口号 公网IP地址 公网端口号
第一表项 10.0.0.2 1723 131.107.0.1 4000
第二表项 10.0.0.3 1723 131.107.0.1 4001
第三表项 10.0.0.4 1724 131.107.0.1 4002
在其中一种可能的实施方式中,所述控制器为第一宿主服务器生成流表之前,还包括:所述控制器接收所述第一宿主服务器发送的NAT服务请求指令,所述请求指令用于请求所述控制器为所述第一宿主服务器生成所述流表。
具体的,当第一宿主服务器上的云主机需要访问公网,向该第一宿主服务器发送报文,则第一宿主服务器根据报文信息向控制器发送NAT服务请求指令,这个请求指令用于请求控制器为所述第一宿主服务器生成流表,控制器接收到请求指令后,根据请求指令为第一宿主服务器生成对应的流表,然后将该流表发送给第一宿主服务器。
本实施例通过请求指令请求控制器为宿主服务器生成流表,可以使得控制器的资源优化并及时对宿主服务器的NAT服务请求作出相应,进一步提高了NAT服务的处理效率。
S203、所述控制器将所述流表发送给所述第一宿主服务器。
具体的,所述流表用于所述第一宿主服务器为所述第一宿主服务器上的云主机提供NAT服务。在具体的实施方式中,所述控制器为所述第一宿主服务器生成对应的流表后,将该流表发送给第一宿主服务器。
S204、第一宿主服务器接收所述流表。
在具体的实施方式中,第一宿主服务器接收所述控制器发送的流表后,将该流表存储在本地存储器中。当第一宿主服务器上的云主机需要访问公网,向该第一宿主服务器发送报文,则第一宿主服务器调用存储在本地的流表,根据该流表为报文匹配流表项,匹配到流表项之后根据流表项将报文的私网IP地址和私网端口号替换为公网IP地址和公网端口号,然后将替换了IP地址和端口的报文转发到公网中。
为了便于理解,图3给出了宿主服务器为其承载的云主机发送的报文提供NAT服务的示意图。假设云主机要访问目的IP地址和端口号分别为202.99.160.2和80的公网服务器,该云主机的私网IP地址和端口号分别为10.0.0.2和1723,该云主机使用私网IP地址不能访问外网的服务器,因而需要将其私网IP地址替换为外网的IP地址,为了外网反馈信息时能准确反馈到对应的云主机上也需要添加上对应的端口信息。所以图3中云主机将携带了私网IP地址和端口号以及目的IP地址和端口号的报文发送到宿主服务器,宿主服务器根据流表为该报文匹配流表项,具体表项可以参考表1,匹配到流表项后根据流表项将报文的私网IP地址和端口号替换为131.107.0.1/4000,目的IP地址和端口号不变,这样报文的源IP地址和源端口号属于公网的IP地址和端口号,从而使得云主机可以访问目的IP地址和端口号分别为202.99.160.2和80的公网服务器。
在其中一种可能的实施方式中,所述控制器将所述流表发送给所述第一宿主服务器之后,还包括:所述控制器接收所述第一宿主服务器发送的报文;所述控制器根据所述报文确定包含所述报文的NAT转发规则的表项;所述控制器将所述包含所述报文的NAT转发规则的表项发送给所述第一宿主服务器。
具体的,在所述第一宿主服务器根据上述流表为所述报文匹配流表项失败的情况下,所述第一宿主服务器将该报文发送给控制器,控制器接收该报文,根据该报文为其生成对应的流表项,同样的,该表项包含了所述报文的NAT转发规则,用于所述第一宿主服务器对所述报文执行NAT操作,然后控制器将其流表项发送给第一宿主服务器,第一宿主服务器接收该流表项之后根据该流表项为所述报文替换IP地址和端口号,然后将报文转发到公网中。
采用本申请实施例,当宿主服务器为自身承载的云主机发送的报文根据流表匹配表项失败时,控制器可以为该报文生成或从现有的流表中选择其对应的表项并将该表项发送宿主服务器,从而使得宿主服务器可以成功地为该报文提供NAT服务。
或者,在另一种可能的情况下,控制器接收所述第一宿主服务器因匹配表项失败而发送的报文后,控制器从该控制器维护的流表中为所述报文匹配流表项,确定了流表项之后,将该流表项发送给第一宿主服务器,第一宿主服务器同样地接收该流表项,根据该流表项为所述报文替换IP地址和端口号,然后将报文转发到公网中。
或者,在另一种可能的实施方式中,控制器接收所述第一宿主服务器因匹配表项失败而发送的报文后,为所述报文匹配表项失败,所述控制器将为所述报文匹配表项失败的信息返回给第一宿主服务器,第一宿主服务器将所述报文丢弃。
在其中一种可能的实施方式中,在所述第一宿主服务器根据上述流表为所述报文匹配流表项失败的情况下,直接将报文丢弃。
综上所述,该方法通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
为了便于更好地实施本申请的上述方案,本申请实施例还对应提供了一种控制器,下面结合附图来进行详细说明:
图4所示为一种控制器400的结构示意图,所述控制器400可以是图1所述一种提供网络地址转换NAT服务的方法的系统构架中的控制器101,所述控制器400包括:配置单元401、生成单元402和第一发送单元403,其中:
配置单元401,用于与多个宿主服务器建立通信;
生成单元402,用于为第一宿主服务器生成流表,所述第一宿主服务器为与所述控制器建立通信的所述多个宿主服务器中的任意一个宿主服务器,所述流表包括多个表项,所述多个表项中每个表项记录了一条NAT转发规则;
第一发送单元403,用于将所述流表发送给所述第一宿主服务器,所述流表用于所述第一宿主服务器为所述第一宿主服务器上的云主机提供NAT服务。
在其中一种实施方式中,控制器400还包括第一接收单元、确定单元和第二发送单元,其中:
所述第一接收单元,用于在所述第一发送单元将所述流表发送给所述第一宿主服务器之后接收所述第一宿主服务器发送的报文;
所述确定单元,用于根据所述报文确定包含所述报文的NAT转发规则的表项;
所述第二发送单元,用于将所述包含所述报文的NAT转发规则的表项发送给所述第一宿主服务器,所述包含所述报文的NAT转发规则的表项用于所述第一宿主服务器对所述报文执行NAT操作。
在其中一种实施方式中,所述接收单元用于接收所述第一宿主服务器发送的报文,具体为:
用于接收所述第一宿主服务器在为报文匹配表项失败后发送的所述报文。
在其中一种实施方式中,控制器400还包括:
第二接收单元,用于在所述生成单元为第一宿主服务器生成流表之前,接收所述第一宿主服务器发送的NAT服务请求指令,所述请求指令用于请求所述控制器为所述第一宿主服务器生成所述流表。
在其中一种实施方式中,所述NAT转发规则包括私网信息与公网信息之间的转换规则,其中,所述私网信息包括私网的互联网协议IP地址和私网端口信息,所述公网信息包括公网的IP地址和公网端口信息,所述私网为所述第一宿主服务器上的云主机所属的专用网络。
图4所示的服务器400中各个单元的具体实现及有益效果可以对应参照图2所示的方法实施例中的相应描述,此处不再赘述。
请参见图5,图5是本申请实施例提供的一种服务器500,该服务器500包括处理器501、存储器502(即计算机可读存储介质)和通信接口503,所述处理器501、存储器502和通信接口503通过总线504相互连接。
存储器502包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器502用于相关指令及数据的存储。通信接口503用于接收和发送数据。
处理器501可以是一个或多个中央处理器(central processing unit,CPU),在处理器501是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该服务器500中的处理器501用于读取所述存储器502中存储的程序代码,执行以下操作:
处理器501与多个宿主服务器建立通信;
处理器501为第一宿主服务器生成流表,所述第一宿主服务器为与所述控制器建立通信的所述多个宿主服务器中的任意一个宿主服务器,所述流表包括多个表项,所述多个表项中每个表项记录了一条NAT转发规则;
处理器501通过通信接口503将所述流表发送给所述第一宿主服务器,所述流表用于所述第一宿主服务器为所述第一宿主服务器上的云主机提供NAT服务。
在其中一种实施方式中,处理器501通过通信接口503将所述流表发送给所述第一宿主服务器之后,还包括:
处理器501通过通信接口503接收所述第一宿主服务器发送的报文;
处理器501根据所述报文确定包含所述报文的NAT转发规则的表项;
处理器501通过通信接口503将所述包含所述报文的NAT转发规则的表项发送给所述第一宿主服务器,所述包含所述报文的NAT转发规则的表项用于所述第一宿主服务器对所述报文执行NAT操作。
在其中一种实施方式中,处理器501通过通信接口503接收所述第一宿主服务器发送的报文,具体为:
处理器501通过通信接口503接收所述第一宿主服务器在为报文匹配表项失败后发送的所述报文。
在其中一种实施方式中,处理器501为第一宿主服务器生成流表之前,还包括:
处理器501通过通信接口503接收所述第一宿主服务器发送的NAT服务请求指令,所述请求指令用于请求所述控制器为所述第一宿主服务器生成所述流表。
在其中一种实施方式中,所述NAT转发规则包括私网信息与公网信息之间的转换规则,其中,所述私网信息包括私网的互联网协议IP地址和私网端口信息,所述公网信息包括公网的IP地址和公网端口信息,所述私网为所述第一宿主服务器上的云主机所属的专用网络。
需要说明的是,上述各个操作的实现还可以对应参照图2所示的方法实施例的相应描述。
在图5所描述的服务器500通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
本申请实施例还提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,图2所示的方法流程得以实现。
综上所述,本申请实施例提供了一种提供网络地址转换NAT服务的方法和控制器,通过控制器将NAT服务分散到各个计算节点上,各个计算节点通过流表的方式提供NAT服务,从而提高了NAT服务的效率,同时也消除了NAT网关的瓶颈点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种提供网络地址转换NAT服务的方法,其特征在于,包括:
控制器与多个宿主服务器建立通信;
所述控制器为第一宿主服务器生成流表,所述第一宿主服务器为与所述控制器建立通信的所述多个宿主服务器中的任意一个宿主服务器,所述流表包括多个表项,所述多个表项中每个表项记录了一条NAT转发规则;
所述控制器将所述流表发送给所述第一宿主服务器,所述流表用于所述第一宿主服务器为所述第一宿主服务器上的云主机提供NAT服务。
2.根据权利要求1所述方法,其特征在于,所述控制器将所述流表发送给所述第一宿主服务器之后,还包括:
所述控制器接收所述第一宿主服务器发送的报文;
所述控制器根据所述报文确定包含所述报文的NAT转发规则的表项;
所述控制器将所述包含所述报文的NAT转发规则的表项发送给所述第一宿主服务器,所述包含所述报文的NAT转发规则的表项用于所述第一宿主服务器对所述报文执行NAT操作。
3.根据权利要求2所述方法,其特征在于,所述控制器接收所述第一宿主服务器发送的报文,包括:
所述控制器接收所述第一宿主服务器在为报文匹配表项失败后发送的所述报文。
4.根据权利要求1-3任一项所述方法,其特征在于,所述控制器为第一宿主服务器生成流表之前,还包括:
所述控制器接收所述第一宿主服务器发送的NAT服务请求指令,所述请求指令用于请求所述控制器为所述第一宿主服务器生成所述流表。
5.根据权利要求1所述方法,其特征在于,所述NAT转发规则包括私网信息与公网信息之间的转换规则,其中,所述私网信息包括私网的互联网协议IP地址和私网端口信息,所述公网信息包括公网的IP地址和公网端口信息,所述私网为所述第一宿主服务器上的云主机所属的专用网络。
6.一种控制器,其特征在于,包括:
配置单元,用于与多个宿主服务器建立通信;
生成单元,用于为第一宿主服务器生成流表,所述第一宿主服务器为与所述控制器建立通信的所述多个宿主服务器中的任意一个宿主服务器,所述流表包括多个表项,所述多个表项中每个表项记录了一条NAT转发规则;
第一发送单元,用于将所述流表发送给所述第一宿主服务器,所述流表用于所述第一宿主服务器为所述第一宿主服务器上的云主机提供NAT服务。
7.根据权利要求6所述控制器,其特征在于,还包括第一接收单元、确定单元和第二发送单元,其中:
所述第一接收单元,用于在所述第一发送单元将所述流表发送给所述第一宿主服务器之后接收所述第一宿主服务器发送的报文;
所述确定单元,用于根据所述报文确定包含所述报文的NAT转发规则的表项;
所述第二发送单元,用于将所述包含所述报文的NAT转发规则的表项发送给所述第一宿主服务器,所述包含所述报文的NAT转发规则的表项用于所述第一宿主服务器对所述报文执行NAT操作。
8.根据权利要求7所述控制器,其特征在于,所述接收单元,用于接收所述第一宿主服务器发送的报文,具体为:
用于接收所述第一宿主服务器在为报文匹配表项失败后发送的所述报文。
9.一种控制器,其特征在于,所述控制器包括处理器、计算机可读存储介质和通信接口,其中,所述计算机可读存储介质用于存储程序指令,所述通信接口用于在所述处理器的控制下执行数据的接收和发送操作,所述处理器用于调用所述程序指令来执行权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序指令,所述程序指令在处理器上运行时,实现权利要求1-6任一项所述的方法。
CN201910178099.7A 2019-03-08 2019-03-08 一种提供网络地址转换nat服务的方法及控制器 Active CN110012118B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910178099.7A CN110012118B (zh) 2019-03-08 2019-03-08 一种提供网络地址转换nat服务的方法及控制器
PCT/CN2019/103258 WO2020181735A1 (zh) 2019-03-08 2019-08-29 一种提供网络地址转换nat服务的方法及控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910178099.7A CN110012118B (zh) 2019-03-08 2019-03-08 一种提供网络地址转换nat服务的方法及控制器

Publications (2)

Publication Number Publication Date
CN110012118A true CN110012118A (zh) 2019-07-12
CN110012118B CN110012118B (zh) 2022-07-22

Family

ID=67166686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910178099.7A Active CN110012118B (zh) 2019-03-08 2019-03-08 一种提供网络地址转换nat服务的方法及控制器

Country Status (2)

Country Link
CN (1) CN110012118B (zh)
WO (1) WO2020181735A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020181735A1 (zh) * 2019-03-08 2020-09-17 平安科技(深圳)有限公司 一种提供网络地址转换nat服务的方法及控制器
CN112333298A (zh) * 2020-12-01 2021-02-05 武汉绿色网络信息服务有限责任公司 报文传输方法、装置、计算机设备及存储介质
CN114710465A (zh) * 2022-04-07 2022-07-05 中国联合网络通信集团有限公司 网络地址转换方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645188B (zh) * 2021-07-07 2023-05-09 中国电子科技集团公司第三十研究所 一种基于安全关联的数据包快速转发方法
CN116032837B (zh) * 2022-12-22 2025-04-18 珠海星云智联科技有限公司 一种流表卸载方法及装置
CN119892431B (zh) * 2024-12-30 2025-12-09 浙江吉利控股集团有限公司 内网设备访问外网方法、装置、设备、介质及程序产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011035528A1 (zh) * 2009-09-24 2011-03-31 日电(中国)有限公司 用于通过中继方式进行nat穿越的方法、系统和中继服务器
CN103795805A (zh) * 2014-02-27 2014-05-14 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法
CN104780232A (zh) * 2014-01-13 2015-07-15 华为技术有限公司 一种资源分配方法、控制器及系统
US20150281173A1 (en) * 2014-03-25 2015-10-01 Cisco Technology, Inc. Dynamic service chain with network address translation detection
CN105554065A (zh) * 2015-12-03 2016-05-04 华为技术有限公司 处理报文的方法、转换单元和应用单元
JP2016092485A (ja) * 2014-10-30 2016-05-23 富士通株式会社 情報処理システム、管理装置及び情報処理システムの制御方法
US20180034769A1 (en) * 2016-08-01 2018-02-01 Big Switch Networks, Inc. Systems and methods for network address translation
CN108040134A (zh) * 2017-12-06 2018-05-15 杭州迪普科技股份有限公司 一种dns透明代理的方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581324B (zh) * 2013-11-11 2016-09-07 中国联合网络通信集团有限公司 一种云计算资源池系统及其实现方法
CN104601738B (zh) * 2014-12-09 2018-04-10 国家计算机网络与信息安全管理中心 一种分布式网络地址转换系统
CN104601432B (zh) * 2014-12-31 2018-03-13 新华三技术有限公司 一种报文传输方法和设备
WO2017032300A1 (zh) * 2015-08-25 2017-03-02 华为技术有限公司 一种数据传输方法、虚拟网络管理装置及数据传输系统
CN107172120B (zh) * 2017-03-27 2022-06-28 联想(北京)有限公司 信息处理方法、处理节点及网络节点
CN110012118B (zh) * 2019-03-08 2022-07-22 平安科技(深圳)有限公司 一种提供网络地址转换nat服务的方法及控制器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011035528A1 (zh) * 2009-09-24 2011-03-31 日电(中国)有限公司 用于通过中继方式进行nat穿越的方法、系统和中继服务器
CN104780232A (zh) * 2014-01-13 2015-07-15 华为技术有限公司 一种资源分配方法、控制器及系统
CN103795805A (zh) * 2014-02-27 2014-05-14 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法
US20150281173A1 (en) * 2014-03-25 2015-10-01 Cisco Technology, Inc. Dynamic service chain with network address translation detection
JP2016092485A (ja) * 2014-10-30 2016-05-23 富士通株式会社 情報処理システム、管理装置及び情報処理システムの制御方法
CN105554065A (zh) * 2015-12-03 2016-05-04 华为技术有限公司 处理报文的方法、转换单元和应用单元
US20180034769A1 (en) * 2016-08-01 2018-02-01 Big Switch Networks, Inc. Systems and methods for network address translation
CN108040134A (zh) * 2017-12-06 2018-05-15 杭州迪普科技股份有限公司 一种dns透明代理的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020181735A1 (zh) * 2019-03-08 2020-09-17 平安科技(深圳)有限公司 一种提供网络地址转换nat服务的方法及控制器
CN112333298A (zh) * 2020-12-01 2021-02-05 武汉绿色网络信息服务有限责任公司 报文传输方法、装置、计算机设备及存储介质
CN114710465A (zh) * 2022-04-07 2022-07-05 中国联合网络通信集团有限公司 网络地址转换方法、装置、设备及存储介质
CN114710465B (zh) * 2022-04-07 2023-05-02 中国联合网络通信集团有限公司 网络地址转换方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2020181735A1 (zh) 2020-09-17
CN110012118B (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
CN110012118A (zh) 一种提供网络地址转换nat服务的方法及控制器
CN107026890B (zh) 一种基于服务器集群的报文生成方法和负载均衡器
CN111917649B (zh) 虚拟私有云通信及配置方法以及相关装置
US12242872B2 (en) Systems and methods for providing availability to resources
CN104704471B (zh) 虚拟网络中的虚拟机多播/广播
CN105577723B (zh) 虚拟化网络中实现负载分担的方法和装置
CN1754374B (zh) 带有网关负载分配的网络地址转换
CN103685583B (zh) 一种域名解析的方法和系统
CN113014611B (zh) 一种负载均衡方法及相关设备
CN113094182A (zh) 一种服务的负载均衡处理方法、装置及云端服务器
CN109802985A (zh) 数据传输方法、装置、设备及可读取存储介质
CN111935752B (zh) 一种网关接入方法、装置、计算机设备和存储介质
CN109525684B (zh) 报文转发方法和装置
WO2014152242A1 (en) Network stack and related techniques
CN107547242B (zh) Vm配置信息的获取方法及装置
WO2017133291A1 (zh) 一种基于服务器集群的报文生成方法和负载均衡器
WO2013097484A1 (zh) 虚拟机集群的负载均衡方法、服务器及系统
CN113271260B (zh) 负载均衡处理方法、装置、设备及存储介质
CN115550316A (zh) 容器化网络系统、容器化ipv6通信方法及装置、介质、设备
CN104811383B (zh) 一种报文转发方法和设备
JPWO2014142258A1 (ja) 通信システム、制御装置、アドレス割当方法及びプログラム
CN109246024B (zh) 一种组网中负载分担方法、装置、终端设备及存储介质
US9929951B1 (en) Techniques for using mappings to manage network traffic
CN109885336A (zh) 一种智能设备的离线配置方法及装置
Ferdousi et al. LOAMY: A cloud-based middleware for CoAP-based IoT service discovery

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