CN101141420A - 私网与公网进行数据通信的方法及系统 - Google Patents

私网与公网进行数据通信的方法及系统 Download PDF

Info

Publication number
CN101141420A
CN101141420A CNA2007101213895A CN200710121389A CN101141420A CN 101141420 A CN101141420 A CN 101141420A CN A2007101213895 A CNA2007101213895 A CN A2007101213895A CN 200710121389 A CN200710121389 A CN 200710121389A CN 101141420 A CN101141420 A CN 101141420A
Authority
CN
China
Prior art keywords
public network
address
connection request
request message
message
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
CNA2007101213895A
Other languages
English (en)
Other versions
CN101141420B (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2007101213895A priority Critical patent/CN101141420B/zh
Publication of CN101141420A publication Critical patent/CN101141420A/zh
Application granted granted Critical
Publication of CN101141420B publication Critical patent/CN101141420B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种私网和公网进行数据通信的方法及系统。方法包括:私网客户端向公网服务器发起控制连接请求的第一过程,和公网服务器与私网客户端建立数据连接的第二过程;在所述第一过程中,NAT单元截获私网客户端发给公网服务器的控制连接请求报文,以公网地址和公网端口替换报文的IP头中的私网地址和TCP头中的私网端口,将该报文发送给ALG,ALG以报文的IP头中的所述公网地址替换报文的数据载荷中的私网地址,选择一个公网端口,将公网端口信息放入报文中发送给公网服务器。本发明中ALG不需要依赖NAT单元重新分配私网客户端与公网服务器进行数据通信时所使用的公网地址和公网端口,降低了实现成本。

Description

私网与公网进行数据通信的方法及系统
技术领域
本发明涉及数据通信技术领域,具体涉及私网和公网进行数据通信的方法及系统。
背景技术
网络地址转换(NAT,Network Address Translation)是一种将内部私有网络地址翻译成合法公有网络IP地址的技术。简单地说,NAT就是在局域网内部网络中使用内部地址,而当局域网内部节点要与外部互联网络进行通信时,就在网关处将私网地址替换成公网地址,从而实现与外部互联网的正常通信。
图1为现有的通过NAT实现私网和公网数据通信的流程图,如图1所示,其具体步骤如下:
步骤101:私网的客户端确定要连接到公网的服务器上,向公网服务器发送控制连接请求报文如:登录请求报文,该报文的IP头中的源IP地址为私网客户端与公网服务器进行控制通信时所使用的私网IP地址、目的IP地址为公网服务器的IP地址,报文的TCP头中的源端口号为私网客户端与公网服务器进行控制通信时所使用的私网端口号、目的端口号为公网服务器的端口号,报文的数据载荷中的IP地址、端口号分别为私网客户端与公网服务器进行数据通信时所使用的私网IP地址、私网端口号。
步骤102:NAT单元截获到该控制连接请求报文,根据预先配置的私公网IP地址转换规则,确定该报文的IP头中的源IP地址,即私网客户端与公网服务器进行控制通信时所使用的私网IP地址对应的公网IP地址,并获取一个与该公网IP地址对应且未被使用的公网端口号,以该公网端口号替换该报文的IP头中的源端口号,以所述公网IP地址替换该报文的IP头中的源IP地址,将该报文发送给应用网关(ALG,Application Gateway),并在NAT表项中建立:私网客户端与公网服务器进行控制通信时所使用的私网IP地址、私网端口号,私网客户端与公网服务器进行控制通信时所使用的公网IP地址、公网端口号,以及报文中的传输协议号间的对应关系。
步骤103:ALG收到该控制连接请求报文,对该报文的数据载荷进行解析,得到私网客户端与公网服务器进行数据通信时所使用的私网IP地址、私网端口号,将该私网IP地址、私网端口号发送给NAT单元。
NAT单元和ALG一般位于同一物理设备上。
步骤104:NAT单元收到该私网IP地址、私网端口号,根据预先配置的私公网IP地址转换规则,确定与该私网IP地址对应的公网IP地址,并获取一个与该公网IP地址对应且未被使用的公网端口号,将该公网端口号、公网IP地址返回给ALG。
通常,一个公网IP地址对应216个公网端口。
步骤105:ALG收到该公网IP地址、公网端口号,以该公网端口号和公网IP地址替换控制连接请求报文的数据载荷中的私网IP地址和私网端口号,然后将该控制连接请求报文发送给公网服务器,同时在NAT表项中建立:私网客户端与公网服务器进行数据通信时所使用的私网IP地址、私网端口号,私网客户端与公网服务器进行数据通信时所使用的公网IP地址、公网端口号,以及控制连接请求报文中的传输协议号间的对应关系。
步骤106:公网服务器接收到该控制连接请求报文,根据该控制连接请求报文的数据载荷中的公网IP地址、公网端口号,向私网客户端发送数据连接请求报文,该数据连接请求报文中的目的IP地址、目的端口号分别为控制连接请求报文的数据载荷中的公网IP地址、公网端口号。
公网服务器接收到控制连接请求报文,也可根据控制连接请求报文的IP头中的源IP地址,以及TCP头中的源端口号,向私网客户端发送控制连接响应报文如:登录响应报文,该控制连接响应报文的目的IP地址、目的端口号分别为控制连接请求报文中的源IP地址、源端口号,NAT单元截获到该控制连接响应报文后,会根据步骤102中在NAT表项中建立的对应关系,将该控制连接响应报文中的目的IP地址、目的端口号分别替换为私网客户端与公网服务器进行控制通信时所使用的私网IP地址、私网端口号,然后将该控制连接响应报文发送给私网客户端。
步骤107:NAT单元截获到该数据连接请求报文,在自身的NAT表项中,查找与该报文中的目的IP地址、目的端口号对应的私网IP地址、私网端口号,以该私网IP地址、私网端口号替换报文中的目的IP地址、目的端口号,将该报文发送给私网客户端。
步骤108:私网客户端向公网服务器发送数据连接请求报文,该报文的源IP地址、源端口号分别为私网客户端与公网服务器进行数据通信时所使用的私网IP地址、私网端口号,目的IP地址、目的端口号分别为公网服务器的IP地址、公网服务器的端口号。
步骤109:NAT单元截获到该数据连接请求报文,在自身的NAT表项中,查找到与该报文的源IP地址、源端口号、传输协议号对应的公网IP地址、公网端口号,以该公网IP地址、公网端口号替换该报文中的源IP地址、源端口号,将该报文发送给公网服务器。
可以看出,对从私网发往公网的控制协议报文,ALG对报文的数据载荷中的私网地址、私网端口进行转换时,需要由NAT为该私网地址、私网端口分配公网地址、公网端口,即ALG依赖于NAT对数据连接分配公网地址和公网端口,实现成本较高。另外,NAT分配公网地址、公网端口时,采用端口队列机制,即:一个公网地址的公网端口在同一时刻不能被重复使用,由于端口资源有限,很容易造成:NAT已成功为控制连接分配了公网地址和公网端口,而无法为数据连接分配公网地址和公网端口的情况,从而导致数据连接无法建立。
发明内容
本发明提供一种私网和公网进行数据通信的方法及系统,以降低私网和公网进行数据通信的成本。
本发明的技术方案是这样实现的:
一种私网和公网进行数据通信的方法,包括:私网客户端向公网服务器发起控制连接请求的第一过程,和公网服务器与私网客户端建立数据连接的第二过程;
在所述第一过程中,NAT单元截获私网客户端发起的控制连接请求报文,以公网地址和公网端口替换该报文的IP头中的私网地址和TCP头中的私网端口,然后将该报文发送给ALG,ALG以报文的IP头中的所述替换得到的公网地址替换报文的数据载荷中的私网地址,并选择一个公网端口,将该公网端口信息放入报文的数据载荷中发送给公网服务器。
所述ALG将公网端口信息放入报文的数据载荷中时进一步包括:ALG在已有的会话表项中建立:所述公网地址、所述选择的数据载荷中的公网端口信息及控制连接请求报文中的传输协议信息的对应关系;
且,所述第一过程,ALG选择的公网端口满足条件:所述公网地址和该公网端口未包含在会话表项中。
所述会话表项进一步包括:控制连接请求报文的数据载荷中原私网地址、原私网端口信息,
所述第二过程包括:NAT单元截获公网服务器发起的数据连接请求报文,在由ALG建立的会话表项中,查找与数据连接请求报文的目的地址、目的端口信息及报文中的传输协议信息对应的私网地址、私网端口信息,以该私网地址、私网端口信息替换数据连接请求报文的目的地址、目的端口信息,将数据连接请求报文发送给私网客户端。
所述NAT单元查找私网地址、私网端口信息进一步包括:NAT单元建立包括:数据连接请求报文的源地址、源端口信息,原目的地址、原目的端口信息,替换后的目的地址、目的端口信息,传输协议信息的对应关系的NAT表项,
所述NAT单元将数据连接请求报文发送给私网客户端之后进一步包括:
NAT单元截获到私网客户端向公网服务器发送的数据连接请求报文,在NAT表项中,查找该数据连接请求报文的源地址、源端口信息、目的地址、目的端口信息、传输协议信息对应的公网地址、公网端口信息,以该公网地址、公网端口信息替换数据连接请求报文的源地址、源端口信息,将数据连接请求报文发送给公网服务器。
所述会话表项进一步包括:控制连接请求报文的数据载荷中原私网地址、原私网端口信息,
所述第二过程包括:NAT单元截获私网客户端发起的数据连接请求报文,在由ALG建立的会话表项中,查找与数据连接请求报文的源地址、源端口信息及报文中的传输协议信息对应的公网地址、公网端口信息,以该公网地址、公网端口信息替换数据连接请求报文的源地址、源端口信息,将数据连接请求报文发送给公网服务器。
所述NAT单元查找公网地址、公网端口信息进一步包括:NAT单元建立包括:数据连接请求报文的原源地址、原源端口信息,替换后的源地址、源端口信息,目的地址、目的端口信息,传输协议信息的对应关系的NAT表项,
所述NAT单元将数据连接请求报文发送给私网客户端之后进一步包括:
NAT单元截获到公网服务器向私网客户端发送的数据连接请求报文,在NAT表项中,查找该数据连接请求报文的源地址、源端口信息、目的地址、目的端口信息、传输协议信息对应的私网地址、私网端口信息,以该私网地址、私网端口信息替换数据连接请求报文的目的地址、目的端口信息,将数据连接请求报文发送给私网客户端。
所述第一过程,所述NAT单元以公网端口替换控制连接请求报文的TCP头中的私网端口包括:
NAT单元获取一个与所述公网地址对应的公网端口信息,判断该公网地址、该公网端口信息以及控制连接请求报文中的目的地址、目的端口信息、传输协议信息间的对应关系是否包含在NAT表项中,若是,则重新获取一个与所述公网地址对应的公网端口信息,返回执行所述判断动作;否则,以所获取的公网端口信息替换控制连接请求报文的TCP头中的私网端口信息。
一种私网和公网进行数据通信的系统,该系统包括:
NAT单元,截获私网客户端发给公网服务器的控制连接请求报文,以公网地址和公网端口替换报文的IP头中的私网地址和TCP头中的私网端口,然后将报文发送给ALG;
ALG,接收NAT单元发来的控制连接请求报文,以报文的IP头中的公网地址替换报丈的数据载荷中的私网地址,选择一个公网端口,将该公网端口信息放入控制连接请求报文中发送给公网服务器。
该系统进一步包括:
会话表项存储单元,存储控制连接请求报文的数据载荷中原有的私网地址、私网端口信息,控制连接请求报文的数据载荷中的所述替换后的公网地址、所述选择的公网端口信息,及控制连接请求报丈中的传输协议信息间的对应关系,
且,所述ALG选择一个公网端口进一步包括:该公网端口满足:所述公网地址和该选择的公网端口信息间的对应关系未包含在会话表项存储单元中。
所述NAT单元包括:转换模块、数据报文收发模块和NAT表项存储模块,其中:
转换模块,接收私网客户端发来的控制连接请求报文,将报文的IP头中的私网地址转换为公网地址,获取一个与该公网地址对应的公网端口号,且,所述转换后的公网地址、获取的公网端口信息以及控制连接请求报文中的目的地址、目的端口信息、传输协议信息间的对应关系未包含在NAT表项存储单元中,以所获取的公网端口信息替换控制连接请求报文的TCP头中的私网端口信息,并在NAT表项存储模块中建立:控制连接请求报文的IP头中原有的私网地址、TCP头中原有的私网端口信息,控制连接请求报文的目的IP地址、目的端口信息,控制连接请求报文的IP头中替换后的公网地址、TCP头中替换后的公网端口信息,以及控制连接请求报文中的传输协议信息间的对应关系;
数据报文收发模块,接收公网服务器发起的数据连接请求报文,在会话表项存储单元中查找与报文的目的地址、目的端口信息对应的私网地址、私网端口信息,以该私网地址、私网端口信息替换该目的地址、目的端口信息,将该报文发送给私网客户端;
或者,接收私网客户端发起的数据连接请求报文,在会话表项存储单元中查找与报文的源地址、源端口信息对应的公网地址、公网端口信息,以该公网地址、公网端口信息替换该源地址、源端口信息,将该报文发送给公网服务器。
与现有技术相比,本发明通过ALG收到NAT单元发来的控制连接请求报文后,直接以该报文的IP头中的公网地址替换报文的数据载荷中的私网地址,并选择一个公网端口,将该公网端口信息放入报文中发送给公网服务器,使得ALG在为控制连接请求报文的数据载荷分配公网地址、公网端口时,不需要依赖NAT单元重新分配公网地址和公网端口,降低了实现成本。
另外,本发明通过在NAT单元为控制连接分配与公网地址对应的公网端口时,只需考虑该公网地址、公网端口信息及公网服务器地址、端口信息、传输协议信息是否已包含在NAT表项中,而不是必须选择一个未使用的公网端口,使得一个公网端口在同一时刻被重复使用,实现了控制连接和数据连接的无限连接,提高了私网和公网建立数据连接的成功率。
附图说明
图1为现有的通过NAT实现私网和公网数据通信的流程图;
图2为本发明实施例提供的通过NAT实现私网和公网数据通信的流程图;
图3为本发明实施例提供的私网和公网进行数据通信的系统组成图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图2为本发明实施例提供的通过NAT实现私网和公网数据通信的流程图,如图2所示,其具体步骤如下:
步骤201:私网的客户端确定要连接到公网的服务器上,向公网服务器发送控制连接请求报文如:登录请求报文,该报文的IP头中的源IP地址为私网客户端与公网服务器进行控制通信时所使用的私网IP地址、目的IP地址为公网服务器的IP地址,TCP头中的源端口号为私网客户端与公网服务器进行控制通信时所使用的私网端口号、目的端口号为公网服务器的端口号,数据载荷中的IP地址、端口号为私网客户端与公网服务器进行数据通信时所使用的私网IP地址、私网端口号。
根据协议的不同,控制连接请求报文的数据载荷中可能携带端口号,也可能不携带私网端口号;若不携带端口号,则协议会规定一个默认的私网客户端与公网服务器进行数据通信时所使用的私网端口号。
步骤202:NAT单元截获到该控制连接请求报文,根据预先配置的私公网IP地址转换规则,确定该报文的IP头中的源IP地址,即私网客户端与公网服务器进行控制通信时所使用的私网IP地址对应的公网IP地址,并获取一个与该公网IP地址对应的公网端口号。
步骤203:NAT单元判断所确定的公网IP地址、公网端口号与报文的目的IP地址、目的端口号及传输协议号间的对应关系是否包含在已有的NAT表项中,若是,执行步骤204;否则,执行步骤205。
步骤204:NAT重新获取一个与该公网IP地址对应的公网端口号,转至步骤203。
步骤205:NAT单元以所确定的公网IP地址替换该报文的IP头中的源IP地址,以所确定的公网端口号替换IP头中的源端口号,将该报文发送给ALG,并在NAT表项中建立:控制连接请求报文的IP头中的原源IP地址即:私网客户端与公网服务器进行控制通信时所使用的私网IP地址,TCP头中的原源端口号,替换后的IP头中的源IP地址即:私网客户端与公网服务器进行控制通信时所使用的公网IP地址,替换后的TCP头中的源端口号,IP头中的目的IP地址,TCP头中的目的端口号,报文中的传输协议号间的对应关系。
步骤206:ALG收到该控制连接请求报文,以该报文的IP头中的源IP地址,即私网客户端与公网服务器进行控制通信时所使用的公网IP地址替换该报文的数据载荷中的私网IP地址。
步骤207:ALG判断控制连接请求报文的数据载荷中的公网地址、公网端口号及控制连接请求报文中的传输协议号间的对应关系是否包含在会话表项中,若是,执行步骤208;否则,执行步骤209。
若控制连接请求报文的数据载荷中不携带私网端口号,本步骤中的数据载荷中的私网端口号指的是协议规定的默认的私网客户端与公网服务器进行数据通信时所使用的私网端口号。
步骤208:ALG重新获取一个与公网地址对应的公网端口号,转至步骤207。
步骤209:ALG以获取的公网端口号替换数据载荷中的私网端口号,将控制连接请求报文发送给公网服务器,同时在已有的会话表项中建立:控制连接请求报文数据载荷中原有的私网IP地址、私网端口号,即私网客户端与公网服务器进行数据通信时所使用的私网IP地址、私网端口号,替换后的数据载荷中的公网IP地址、公网端口号,即私网客户端与公网服务器进行数据通信时所使用的公网IP地址、公网端口号,以及控制连接请求报文中的传输协议号间的对应关系。
以上步骤201~209为NAT单元和ALG将私网客户端与公网服务器进行控制、数据通信时所使用的私网IP地址、私网端口号转换为公网IP地址、公网端口号的第一过程,以下步骤210~211给出公网服务器使用私网客户端的公网IP地址、公网端口号向私网客户端发送数据连接请求报丈的第二过程。
步骤210:公网服务器接收到该控制连接请求报文,向私网客户端发送数据连接请求报文,该数据连接请求报文中的目的IP地址、目的端口号为控制连接请求报文的数据载荷中的公网IP地址、公网端口号。
公网服务器接收到控制连接请求报文,也可根据控制连接请求报文的IP头中的源IP地址,以及TCP头中的源端口号,向私网客户端发送控制连接响应报文如:登录响应报文,该控制连接响应报文的目的IP地址、目的端口号分别为控制连接请求报文中的源IP地址、源端口号,NAT单元截获到该控制连接响应报文后,会根据步骤205中在NAT表项中建立的对应关系,将该控制连接响应报文中的目的IP地址、目的端口号分别替换为私网客户端与公网服务器进行控制通信时所使用的私网IP地址、私网端口号,然后将该控制连接响应报文发送给私网客户端。
私网客户端收到控制连接响应报文后,可主动向公网服务器发起数据连接请求报文,该报文的源IP地址、源端口号即为步骤201中的控制连接请求报文的数据载荷中的私网IP地址、私网端口号。NAT单元收到该数据连接请求报文后,会在ALG建立的会话表项中,查找该报文的源IP地址、源端口号、传输协议号对应的公网IP地址、公网端口号,以该公网IP地址、公网端口号替换该数据连接请求报文的源IP地址、源端口号,并建立包括:该报文的原有的源IP地址、原有的源端口号、替换后的源IP地址、替换后的源端口号、目的IP地址、目的端口号、传输协议号间的对应关系的NAT表项,然后将该数据连接请求报文发送给公网服务器。此后,若NAT单元收到公网服务器发来的数据连接请求报文,则可根据上述建立的NAT表项中的所述对应关系,将该数据连接请求报文中的目的IP地址、目的端口号转换为私网IP地址、私网端口号,从而将该报文发送给私网客户端。
步骤211:NAT单元截获到该数据连接请求报文,在ALG建立的会话表项中,查找到该报文的目的IP地址、目的端口号、传输协议号对应的私网IP地址、私网端口号,以查找到的私网IP地址、私网端口号替换该报文的目的IP地址、目的端口号,将该报文发送给私网客户端,同时在NAT表项中建立:报文的源IP地址、源端口号即:公网服务器的IP地址、公网服务器的端口号,替换前的目的IP地址、目的端口号,即私网客户端与公网服务器进行数据通信时所使用的公网IP地址、公网端口号,替换后的目的IP地址、目的端口号,即私网客户端与公网服务器进行数据通信时所使用的私网IP地址、私网端口号,以及报文中的传输协议号间的对应关系。
NAT单元和ALG位于同一物理设备上,因此,在步骤209中ALG建立的会话表项会位于ALG和NAT单元都可以访问的存储空间中。
以下步骤212~213为私网客户端向公网服务器发送数据连接请求报文的过程。
步骤212:私网客户端向公网服务器发送数据连接请求报文,该报文的源IP地址、源端口号为私网客户端与公网服务器进行数据通信时所使用的私网IP地址、私网端口号,目的IP地址、目的端口号为公网服务器的IP地址、公网服务器的端口号。
步骤213:NAT单元截获到该数据连接请求报文,在自身的NAT表项中,查找与该报文的源IP地址、源端口号、目的IP地址、目的端口号、传输协议号对应的公网IP地址、公网端口号,以查找到的公网IP地址、公网端口号替换该报文的源IP地址、源端口号,将该报文发送给公网服务器。
可以看出,本步骤中,在NAT表项中查找到公网IP地址、公网端口号是在步骤211中在NAT表项中建立的对应关系中查找到的。
图3为本发明实施例提供的私网和公网进行数据通信的系统组成图,如图3所示,其主要包括:私网客户端31、NAT单元32、ALG33、会话表项存储单元34和公网服务器35,且,NAT单元32包括:控制报文收发模块321、转换模块322、数据报文收发模块323和NAT表项存储模块324,具体功能如下:
私网客户端31:用于在确定要连接到公网服务器35上时,向公网服务器35发送控制连接请求报文;向公网服务器35发送数据连接请求报文。
NAT单元32中的控制报文收发模块321、转换模块322、数据报文收发模块323和NAT表项存储模块324的功能分别如下:
控制报文收发模块321:截获到私网客户端31发来的控制连接请求报文,将该报文发送给转换模块322。
转换模块322:接收到控制报文接收模块321发来的控制连接请求报文,根据预先配置的私公网IP地址转换规则,确定该控制连接请求报文的IP头中的源IP地址,即私网客户端31与公网服务器35进行控制通信时所使用的私网IP地址对应的公网IP地址,并获取一个与该公网IP地址对应的公网端口号,判断所确定的公网IP地址、公网端口号与控制连接请求报文的目的IP地址、目的端口号及传输协议号是否包含在NAT表项存储模块324中存储的NAT表项中,若是,重新获取一个与该公网IP地址对应的公网端口号;否则,以所确定的公网IP地址替换该控制连接请求报文的IP头中的源IP地址,以所确定的公网端口号替换IP头中的源端口号,将该控制连接请求报文发送给ALG33,并在NAT表项存储模块324中建立:控制连接请求报文的原源IP地址即:私网客户端31与公网服务器35进行控制通信时所使用的私网IP地址、原源端口号,替换后的源IP地址即:私网客户端31与公网服务器35进行控制通信时所使用的公网IP地址、替换后的源端口号,控制连接请求报文中的目的IP地址、目的端口号、控制连接请求报文中的传输协议号间的对应关系。
数据报文收发模块323:接收公网服务器35发起的数据连接请求报文,在会话表项存储单元34中,查找到该数据连接请求报文的目的IP地址、目的端口号、传输协议号对应的私网IP地址、私网端口号,以查找到的私网IP地址、私网端口号替换该数据连接请求报文的目的IP地址、目的端口号,将该数据连接请求报文发送给私网客户端31,同时在NAT表项存储模块324中建立:数据连接请求报文的源IP地址、源端口号,即公网服务器的IP地址、公网服务器的端口号,替换前的目的IP地址、目的端口号,即私网客户端31与公网服务器35进行数据通信时所使用的公网IP地址、公网端口号,替换后的目的IP地址、目的端口号,即私网客户端31与公网服务器35进行数据通信时所使用的私网IP地址、私网端口号,以及数据连接请求报文中的传输协议号间的对应关系;接收私网客户端31发来的数据连接请求报丈,在NAT表项存储模块324中,查找与该数据连接请求报文的源IP地址、源端口号、目的IP地址、目的端口号、传输协议号对应的公网IP地址、公网端口号,以查找到的公网IP地址、公网端口号替换该数据连接请求报文的源IP地址、源端口号,将该数据连接请求报文发送给公网服务器35。
或者,数据报文收发模块323用于,接收私网客户端31发起的数据连接请求报文,在会话表项存储单元34中,查找该数据连接请求报文的源IP地址、源端口号、传输协议号对应的公网IP地址、公网端口号,以该公网IP地址、公网端口号替换该数据连接请求报文的源IP地址、源端口号,并在NAT表项存储模块324中建立:该报文的原有的源IP地址、原有的源端口号、替换后的源IP地址、替换后的源端口号、目的IP地址、目的端口号、传输协议号间的对应关系,然后将该数据连接请求报文发送给公网服务器35。此后,接收到公网服务器35发来的数据连接请求报文,则在NAT表项存储模块324中查找该报文的源IP地址、源端口号、目的IP地址、目的端口号、传输协议号对应的私网IP地址、私网端口号,以该私网IP地址、私网端口号替换该报文的目的IP地址、目的端口号,然后将该报文发送给私网客户端31。
NAT表项存储模块324:存储NAT表项,该表项包括:私网客户端31与公网服务器35进行控制通信或数据通信时所使用的私网IP地址、端口号,私网客户端31与公网服务器35进行控制通信或数据通信时所使用的公网IP地址、端口号,公网服务器的IP地址、端口号,以及传输协议号。
ALG33:接收NAT单元32发来的控制连接请求报文,以该控制连接请求报文的IP头中的源IP地址,即私网客户端31与公网服务器35进行控制通信时所使用的公网IP地址替换该控制连接请求报文的数据载荷中的私网IP地址,选择一个公网端口,使该公网端口满足:所述公网地址、该公网端口及该控制连接请求报文中的传输协议号未包含在会话表项存储单元34中存储的会话表项中,将该公网端口号放入数据载荷中,然后将该控制连接请求报文发送给公网服务器35,同时建立在会话表项存储单元34中建立:控制连接请求报文数据载荷中原有的私网IP地址、私网端口号,即私网客户端31与公网服务器35进行数据通信时所使用的私网IP地址、私网端口号,替换后的数据载荷中的公网IP地址、公网端口号,即私网客户端31与公网服务器35进行数据通信时所使用的公网IP地址、公网端口号,以及控制连接请求报文中的传输协议号间的对应关系。
会话表项存储单元34:存储会话表项,该表项包括:私网客户端31与公网服务器35进行数据通信时所使用的私网IP地址、私网端口号,私网客户端31与公网服务器35进行数据通信时所使用的公网IP地址、公网端口号,以及传输协议号。
公网服务器35:接收ALG33发来的控制连接请求报文,向私网客户端31发送数据连接请求报文,该数据连接请求报文中的目的IP地址、目的端口号为控制连接请求报文的数据载荷中的公网IP地址、公网端口号。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种私网和公网进行数据通信的方法,该方法包括:私网客户端向公网服务器发起控制连接请求的第一过程,和公网服务器与私网客户端建立数据连接的第二过程;其特征在于,
在所述第一过程中,网络地址转换NAT单元截获私网客户端发起的控制连接请求报文,以公网地址和公网端口替换该报文的IP头中的私网地址和TCP头中的私网端口,然后将该报文发送给应用网关ALG,ALG以报文的IP头中的所述替换得到的公网地址替换报文的数据载荷中的私网地址,并选择一个公网端口,将该公网端口信息放入报文的数据载荷中发送给公网服务器。
2.如权利要求1所述的方法,其特征在于,所述ALG将公网端口信息放入报文的数据载荷中时进一步包括:ALG在已有的会话表项中建立:所述公网地址、所述选择的数据载荷中的公网端口信息及控制连接请求报文中的传输协议信息的对应关系;
且,所述第一过程,ALG选择的公网端口满足条件:所述公网地址和该公网端口未包含在会话表项中。
3.如权利要求2所述的方法,其特征在于,所述会话表项进一步包括:控制连接请求报文的数据载荷中原私网地址、原私网端口信息,
所述第二过程包括:NAT单元截获公网服务器发起的数据连接请求报文,在由ALG建立的会话表项中,查找与数据连接请求报文的目的地址、目的端口信息及报文中的传输协议信息对应的私网地址、私网端口信息,以该私网地址、私网端口信息替换数据连接请求报文的目的地址、目的端口信息,将数据连接请求报文发送给私网客户端。
4.如权利要求3所述的方法,其特征在于,所述NAT单元查找私网地址、私网端口信息进一步包括:NAT单元建立包括:数据连接请求报文的源地址、源端口信息,原目的地址、原目的端口信息,替换后的目的地址、目的端口信息,传输协议信息的对应关系的NAT表项,
所述NAT单元将数据连接请求报文发送给私网客户端之后进一步包括:
NAT单元截获到私网客户端向公网服务器发送的数据连接请求报文,在NAT表项中,查找该数据连接请求报文的源地址、源端口信息、目的地址、目的端口信息、传输协议信息对应的公网地址、公网端口信息,以该公网地址、公网端口信息替换数据连接请求报文的源地址、源端口信息,将数据连接请求报文发送给公网服务器。
5.如权利要求2所述的方法,其特征在于,所述会话表项进一步包括:控制连接请求报文的数据载荷中原私网地址、原私网端口信息,
所述第二过程包括:NAT单元截获私网客户端发起的数据连接请求报文,在由ALG建立的会话表项中,查找与数据连接请求报文的源地址、源端口信息及报文中的传输协议信息对应的公网地址、公网端口信息,以该公网地址、公网端口信息替换数据连接请求报文的源地址、源端口信息,将数据连接请求报文发送给公网服务器。
6.如权利要求5所述的方法,其特征在于,所述NAT单元查找公网地址、公网端口信息进一步包括:NAT单元建立包括:数据连接请求报文的原源地址、原源端口信息,替换后的源地址、源端口信息,目的地址、目的端口信息,传输协议信息的对应关系的NAT表项,
所述NAT单元将数据连接请求报文发送给私网客户端之后进一步包括:
NAT单元截获到公网服务器向私网客户端发送的数据连接请求报文,在NAT表项中,查找该数据连接请求报文的源地址、源端口信息、目的地址、目的端口信息、传输协议信息对应的私网地址、私网端口信息,以该私网地址、私网端口信息替换数据连接请求报文的目的地址、目的端口信息,将数据连接请求报文发送给私网客户端。
7.如权利要求1所述的方法,其特征在于,所述第一过程,所述NAT单元以公网端口替换控制连接请求报文的TCP头中的私网端口包括:
NAT单元获取一个与所述公网地址对应的公网端口信息,判断该公网地址、该公网端口信息以及控制连接请求报文中的目的地址、目的端口信息、传输协议信息间的对应关系是否包含在NAT表项中,若是,则重新获取一个与所述公网地址对应的公网端口信息,返回执行所述判断动作;否则,以所获取的公网端口信息替换控制连接请求报文的TCP头中的私网端口信息。
8.一种私网和公网进行数据通信的系统,其特征在于,该系统包括:
NAT单元,截获私网客户端发给公网服务器的控制连接请求报文,以公网地址和公网端口替换报文的IP头中的私网地址和TCP头中的私网端口,然后将报文发送给ALG;
ALG,接收NAT单元发来的控制连接请求报文,以报文的IP头中的公网地址替换报文的数据载荷中的私网地址,选择一个公网端口,将该公网端口信息放入控制连接请求报文中发送给公网服务器。
9.如权利要求8所述的系统,其特征在于,该系统进一步包括:
会话表项存储单元,存储控制连接请求报文的数据载荷中原有的私网地址、私网端口信息,控制连接请求报文的数据载荷中的所述替换后的公网地址、所述选择的公网端口信息,及控制连接请求报文中的传输协议信息间的对应关系,
且,所述ALG选择一个公网端口进一步包括:该公网端口满足:所述公网地址和该选择的公网端口信息间的对应关系未包含在会话表项存储单元中。
10.如权利要求9所述的系统,其特征在于,所述NAT单元包括:转换模块、数据报文收发模块和NAT表项存储模块,其中:
转换模块,接收私网客户端发来的控制连接请求报文,将报文的IP头中的私网地址转换为公网地址,获取一个与该公网地址对应的公网端口号,且,所述转换后的公网地址、获取的公网端口信息以及控制连接请求报文中的目的地址、目的端口信息、传输协议信息间的对应关系未包含在NAT表项存储单元中,以所获取的公网端口信息替换控制连接请求报文的TCP头中的私网端口信息,并在NAT表项存储模块中建立:控制连接请求报文的IP头中原有的私网地址、TCP头中原有的私网端口信息,控制连接请求报文的目的IP地址、目的端口信息,控制连接请求报文的IP头中替换后的公网地址、TCP头中替换后的公网端口信息,以及控制连接请求报文中的传输协议信息间的对应关系;
数据报文收发模块,接收公网服务器发起的数据连接请求报文,在会话表项存储单元中查找与报文的目的地址、目的端口信息对应的私网地址、私网端口信息,以该私网地址、私网端口信息替换该目的地址、目的端口信息,将该报文发送给私网客户端;
或者,接收私网客户端发起的数据连接请求报文,在会话表项存储单元中查找与报文的源地址、源端口信息对应的公网地址、公网端口信息,以该公网地址、公网端口信息替换该源地址、源端口信息,将该报文发送给公网服务器。
CN2007101213895A 2007-09-05 2007-09-05 私网与公网进行数据通信的方法及系统 Expired - Fee Related CN101141420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101213895A CN101141420B (zh) 2007-09-05 2007-09-05 私网与公网进行数据通信的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101213895A CN101141420B (zh) 2007-09-05 2007-09-05 私网与公网进行数据通信的方法及系统

Publications (2)

Publication Number Publication Date
CN101141420A true CN101141420A (zh) 2008-03-12
CN101141420B CN101141420B (zh) 2012-07-11

Family

ID=39193169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101213895A Expired - Fee Related CN101141420B (zh) 2007-09-05 2007-09-05 私网与公网进行数据通信的方法及系统

Country Status (1)

Country Link
CN (1) CN101141420B (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010145460A1 (zh) * 2009-09-24 2010-12-23 中兴通讯股份有限公司 光网络单元的管理方法、装置、和系统
CN102055755A (zh) * 2009-10-29 2011-05-11 杭州华三通信技术有限公司 一种公网与私网进行数据通信的方法和安全插卡
CN101594263B (zh) * 2009-01-09 2011-11-23 成都四方信息技术有限公司 对网络通信数据包进行监控的系统
CN102377628A (zh) * 2010-08-12 2012-03-14 杭州华三通信技术有限公司 建立DS-Lite隧道的方法和DS-Lite CGN
CN101808074B (zh) * 2009-02-18 2012-11-07 成都市华为赛门铁克科技有限公司 一种对不同网际协议版本转换的方法及装置
CN103024089A (zh) * 2011-09-20 2013-04-03 中国电信股份有限公司 网络地址转换方法和设备
CN103329506A (zh) * 2010-11-29 2013-09-25 瑞典爱立信有限公司 在公共网络中标识私有装置
CN103379027A (zh) * 2012-04-16 2013-10-30 中兴通讯股份有限公司 网关优化方法及装置
CN103442092A (zh) * 2013-07-22 2013-12-11 汉柏科技有限公司 网络地址转换的方法
CN102149024B (zh) * 2010-02-04 2014-04-16 华为技术有限公司 一种olt代理管理onu的方法、设备及系统
CN103905579A (zh) * 2012-12-28 2014-07-02 中国移动通信集团公司 平台与终端间的通信方法、通信系统、平台及相关设备
CN105827427A (zh) * 2015-01-08 2016-08-03 联想(北京)有限公司 一种信息处理方法及电子设备
CN105933221A (zh) * 2016-07-01 2016-09-07 北京汉格尚华科技发展有限公司 互联网反向路由控制器
CN106331200A (zh) * 2015-06-30 2017-01-11 华为技术有限公司 一种节点间数据传输的方法、网关节点及节点
CN106487864A (zh) * 2015-09-02 2017-03-08 华为终端(东莞)有限公司 数据连接的建立方法、服务端及移动终端
CN107222408A (zh) * 2017-06-01 2017-09-29 杭州迪普科技股份有限公司 一种分流方法及装置
WO2017198135A1 (zh) * 2016-05-16 2017-11-23 华为技术有限公司 一种用户溯源的方法、装置及系统
CN108234325A (zh) * 2018-01-10 2018-06-29 北京知道创宇信息技术有限公司 基于ip任播的系统及报文转发方法
CN108712506A (zh) * 2018-05-31 2018-10-26 中国联合网络通信集团有限公司 区块链节点通信方法、装置及区块链节点
CN111327715A (zh) * 2018-12-17 2020-06-23 中国移动通信集团四川有限公司 实现NB-IoT业务下行数据可达的方法、装置、设备及介质
CN111385378A (zh) * 2020-03-03 2020-07-07 深圳市网心科技有限公司 基于地址交换的报文转发方法、硬件设备、系统及介质
CN112333298A (zh) * 2020-12-01 2021-02-05 武汉绿色网络信息服务有限责任公司 报文传输方法、装置、计算机设备及存储介质
CN113572868A (zh) * 2021-09-28 2021-10-29 武汉绿色网络信息服务有限责任公司 动态拨号上网方法及系统
CN113573346A (zh) * 2021-07-12 2021-10-29 中国联合网络通信集团有限公司 一种数据处理方法及装置
CN113709242A (zh) * 2021-08-26 2021-11-26 华为技术有限公司 报文转发方法和通信装置
CN114268470A (zh) * 2021-12-06 2022-04-01 深圳飞音时代网络通讯技术有限公司 一种报文的传输方法、装置及设备
CN115442328A (zh) * 2022-08-03 2022-12-06 天翼云科技有限公司 一种网络地址转换方法、装置、网关、介质和设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049541B (zh) 2014-04-17 2018-06-22 财团法人资讯工业策进会 用于实时通信的网络地址转换穿透系统与方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4186446B2 (ja) * 2001-09-11 2008-11-26 株式会社日立製作所 アドレス変換方法
JP2004364141A (ja) * 2003-06-06 2004-12-24 Hitachi Communication Technologies Ltd Ipアドレス変換装置およびパケット転送装置
CN100359893C (zh) * 2003-08-28 2008-01-02 华为技术有限公司 以主机代理方式实现地址转换应用网关的方法

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101594263B (zh) * 2009-01-09 2011-11-23 成都四方信息技术有限公司 对网络通信数据包进行监控的系统
CN101808074B (zh) * 2009-02-18 2012-11-07 成都市华为赛门铁克科技有限公司 一种对不同网际协议版本转换的方法及装置
CN102035661A (zh) * 2009-09-24 2011-04-27 中兴通讯股份有限公司 光网络单元的管理方法、装置、和系统
WO2010145460A1 (zh) * 2009-09-24 2010-12-23 中兴通讯股份有限公司 光网络单元的管理方法、装置、和系统
CN102035661B (zh) * 2009-09-24 2014-04-30 中兴通讯股份有限公司 光网络单元的管理方法、装置、和系统
CN102055755A (zh) * 2009-10-29 2011-05-11 杭州华三通信技术有限公司 一种公网与私网进行数据通信的方法和安全插卡
CN102055755B (zh) * 2009-10-29 2013-10-23 杭州华三通信技术有限公司 一种公网与私网进行数据通信的方法和安全插卡
CN102149024B (zh) * 2010-02-04 2014-04-16 华为技术有限公司 一种olt代理管理onu的方法、设备及系统
CN102377628A (zh) * 2010-08-12 2012-03-14 杭州华三通信技术有限公司 建立DS-Lite隧道的方法和DS-Lite CGN
CN102377628B (zh) * 2010-08-12 2015-01-07 杭州华三通信技术有限公司 建立DS-Lite隧道的方法和DS-Lite CGN
CN103329506A (zh) * 2010-11-29 2013-09-25 瑞典爱立信有限公司 在公共网络中标识私有装置
CN103024089B (zh) * 2011-09-20 2016-02-17 中国电信股份有限公司 网络地址转换方法和设备
CN103024089A (zh) * 2011-09-20 2013-04-03 中国电信股份有限公司 网络地址转换方法和设备
CN103379027A (zh) * 2012-04-16 2013-10-30 中兴通讯股份有限公司 网关优化方法及装置
CN103379027B (zh) * 2012-04-16 2016-12-21 中兴通讯股份有限公司 网关优化方法及装置
CN103905579A (zh) * 2012-12-28 2014-07-02 中国移动通信集团公司 平台与终端间的通信方法、通信系统、平台及相关设备
CN103442092A (zh) * 2013-07-22 2013-12-11 汉柏科技有限公司 网络地址转换的方法
CN105827427A (zh) * 2015-01-08 2016-08-03 联想(北京)有限公司 一种信息处理方法及电子设备
CN105827427B (zh) * 2015-01-08 2020-06-23 联想(北京)有限公司 一种信息处理方法及电子设备
CN106331200A (zh) * 2015-06-30 2017-01-11 华为技术有限公司 一种节点间数据传输的方法、网关节点及节点
CN106487864B (zh) * 2015-09-02 2019-09-27 华为终端有限公司 数据连接的建立方法、服务端及移动终端
CN106487864A (zh) * 2015-09-02 2017-03-08 华为终端(东莞)有限公司 数据连接的建立方法、服务端及移动终端
US10693967B2 (en) 2015-09-02 2020-06-23 Huawei Technologies Co., Ltd. Data connection establishment method, server, and mobile terminal
WO2017198135A1 (zh) * 2016-05-16 2017-11-23 华为技术有限公司 一种用户溯源的方法、装置及系统
CN107395778B (zh) * 2016-05-16 2020-09-04 华为技术有限公司 一种用户溯源的方法、装置及系统
CN107395778A (zh) * 2016-05-16 2017-11-24 华为技术有限公司 一种用户溯源的方法、装置及系统
CN105933221A (zh) * 2016-07-01 2016-09-07 北京汉格尚华科技发展有限公司 互联网反向路由控制器
CN107222408A (zh) * 2017-06-01 2017-09-29 杭州迪普科技股份有限公司 一种分流方法及装置
CN107222408B (zh) * 2017-06-01 2020-08-04 杭州迪普科技股份有限公司 一种分流方法及装置
CN108234325A (zh) * 2018-01-10 2018-06-29 北京知道创宇信息技术有限公司 基于ip任播的系统及报文转发方法
CN108712506A (zh) * 2018-05-31 2018-10-26 中国联合网络通信集团有限公司 区块链节点通信方法、装置及区块链节点
CN108712506B (zh) * 2018-05-31 2021-02-02 中国联合网络通信集团有限公司 区块链节点通信方法、装置及区块链节点
CN111327715B (zh) * 2018-12-17 2022-08-23 中国移动通信集团四川有限公司 实现NB-IoT业务下行数据可达的方法、装置、设备及介质
CN111327715A (zh) * 2018-12-17 2020-06-23 中国移动通信集团四川有限公司 实现NB-IoT业务下行数据可达的方法、装置、设备及介质
CN111385378A (zh) * 2020-03-03 2020-07-07 深圳市网心科技有限公司 基于地址交换的报文转发方法、硬件设备、系统及介质
CN112333298A (zh) * 2020-12-01 2021-02-05 武汉绿色网络信息服务有限责任公司 报文传输方法、装置、计算机设备及存储介质
CN113573346A (zh) * 2021-07-12 2021-10-29 中国联合网络通信集团有限公司 一种数据处理方法及装置
CN113573346B (zh) * 2021-07-12 2023-10-20 中国联合网络通信集团有限公司 一种数据处理方法及装置
CN113709242A (zh) * 2021-08-26 2021-11-26 华为技术有限公司 报文转发方法和通信装置
CN113572868A (zh) * 2021-09-28 2021-10-29 武汉绿色网络信息服务有限责任公司 动态拨号上网方法及系统
CN114268470A (zh) * 2021-12-06 2022-04-01 深圳飞音时代网络通讯技术有限公司 一种报文的传输方法、装置及设备
CN114268470B (zh) * 2021-12-06 2024-06-07 深圳飞音时代网络通讯技术有限公司 一种报文的传输方法、装置及设备
CN115442328A (zh) * 2022-08-03 2022-12-06 天翼云科技有限公司 一种网络地址转换方法、装置、网关、介质和设备
CN115442328B (zh) * 2022-08-03 2023-06-02 天翼云科技有限公司 一种网络地址转换方法、装置、网关、介质和设备

Also Published As

Publication number Publication date
CN101141420B (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN101141420B (zh) 私网与公网进行数据通信的方法及系统
CN102148878B (zh) Ip地址分配方法、系统和设备
CN1902877B (zh) 控制去往无线通信设备的未请求业务的设备及方法
CN101699801B (zh) 一种数据传输方法及传输数据的虚拟对等网络系统
CN100438516C (zh) 网络连接系统、网络连接方法、及所使用的交换机
CN101577722B (zh) 实现强制mac转发功能的方法和装置
EP2858313B1 (en) Method, device, and system for routing function activation and data transmission
CN101895589A (zh) 广域网路由器和广域网路由器中路由表项建立的方法
CN101553796B (zh) 用于重定向请求的系统和方法
CN101217482A (zh) 一种穿越nat下发策略的方法和一种通信装置
CN103797772A (zh) 利用网络地址查找的用户类相关调适的数据业务的差异化处理
CN110247848A (zh) 发送报文的方法、网络设备及计算机可读存储介质
CN103329506B (zh) 在公共网络中标识私有装置
CN102055816A (zh) 一种通信方法、业务服务器、中间设备、终端及通信系统
JP3420512B2 (ja) ダイナミックドメインネームシステム
CN100525318C (zh) 通过接口标识符分配网络标识符的改进方法
CN105101176A (zh) 一种漫游场景下的会话绑定方法、装置和系统
CN114125995B (zh) 数据传输方法及装置
CN101873330B (zh) 支持IPv6/IPv4双栈接入的访问控制方法和服务器
CN106603435A (zh) 分配端口块资源的方法及装置
CN101796769B (zh) 用于改善控制服务器性能的因特网协议版本4上的因特网协议版本6转变方法和设备
CN108566446A (zh) 局域网域名解析方法、装置和系统
CN102075588A (zh) 一种实现网络地址转换nat穿越的方法、系统和设备
EP2854343B1 (en) Subscriber service selection over non-channelized media
CN102447724B (zh) 控制p2p下载的方法、服务器及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120711

Termination date: 20200905