CN105635338B - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN105635338B CN105635338B CN201511031602.4A CN201511031602A CN105635338B CN 105635338 B CN105635338 B CN 105635338B CN 201511031602 A CN201511031602 A CN 201511031602A CN 105635338 B CN105635338 B CN 105635338B
- Authority
- CN
- China
- Prior art keywords
- client
- network
- proxy server
- agent client
- nat
- 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
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
- H04L61/256—NAT traversal
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内部网络的代理客户端发送的注册信息;代理服务器接收位于NAT外部网络的外网客户端发送的访问请求信息,并根据注册信息向代理客户端转发访问请求信息;代理客户端接收代理服务器转发的访问请求信息,并向位于NAT内部网络的网络服务器转发访问请求信息;代理客户端接收网络服务器根据访问请求信息发送的反馈信息,并向代理服务器转发;代理服务器接收反馈信息,并向外网客户端转发反馈信息。本发明的实施例用于传输数据。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法及装置。
背景技术
目前全球因特网所采用的协议族是TCP/IP协议族。网络互连协议(InternetProtocol,IP)是TCP/IP协议族中网络层的协议,为TCP/IP协议族的核心协议。目前IP协议的版本号是第四版,即网际网协议第四版(Internet Protocol Version 4,IPV4)。IPv4为每个网际网的节点分配唯一IP地址,但随着计算机网络的快速发展,IPv4面临地址耗尽的挑战,为了解决IPv4地址耗尽的问题,提出了网络地址转换(Network AddressTranslation,NAT)技术,通过使用NAT技术,一方面可以节省网络互连协议(InternetProtocol,IP)地址资源,另一方面可以保证局域网内部的安全并控制内部人员的访问权限。但是,NAT技术同时也在一定程度上阻碍了网络通信,位于NAT外部网络的设备在通信时必须具备穿越NAT设备的能力,才能达到访问位于NAT内部网络设备的目的。
现有技术中,已经有不少方案用于解决位于NAT外部网络的设备访问位于NAT内部网络设备的问题,其中应用比较广泛的有通过创建VPN隧道,使位于NAT外部网络的设备能够与位于NAT内部网络的设备进行通信,但上述方案需要部署VPN设备,其成本较高,并且容量有限;另一种方案是通过采用NAT静态映射,将位于NAT内部网络的设备映射到NAT外部网络,但此方案需要在NAT设备上进行相应的配置,并且若存在多层NAT设备则需要对每一个NAT设备均进行配置,使得整体方案较为繁琐。
发明内容
本发明的实施例提供的一种数据传输方法及装置,能够在不对NAT设备进行配置的情况下使位于NAT外部网络的设备与位于NAT内部网络的设备进行数据通信,简化了进行NAT穿越的方案,降低了进行NAT穿越的成本。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种数据传输方法,应用于包括代理服务器与代理客户端的通信系统,代理服务器位于NAT外部网络,代理客户端位于NAT内部网络,包括:代理客户端向代理服务器发送注册信息;代理服务器接收代理客户端发送的注册信息;代理服务器接收外网客户端发送的访问请求信息,外网客户端位于NAT外部网络;代理服务器根据注册信息向代理客户端转发访问请求信息;代理客户端接收代理服务器转发的访问请求信息,并向网络服务器转发访问请求信息,网络服务器位于NAT内部网络;代理客户端接收网络服务器根据访问请求信息发送的反馈信息,并向代理服务器转发反馈信息。代理服务器接收反馈信息,并向外网客户端转发反馈信息。
在第一方面的第一种可能的实现方式中,访问请求信息包括代理客户端对应的网络域名,其中访问请求信息为外网客户端根据DNS服务器配置的网络域名与代理服务器的对应关系向代理服务器发送。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,代理服务器接收代理客户端发送的注册信息后,根据注册信息为所述代理客户端分配唯一的网络域名,并记录所述网络域名与代理客户端的对应关系;代理服务器根据注册信息向代理客户端转发访问请求信息,包括代理服务器根据网络域名与代理客户端的对应关系,向代理客户端转发访问请求信息。
结合第一方面,或者第一方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,代理服务器与代理客户端间建立有TCP长连接。
第二方面,本发明实施例提供了一种代理服务器,代理服务器位于NAT外部网络,包括接收单元,用于接收代理客户端发送的注册信息,代理客户端为NAT内部网络的网络服务器对应的代理客户端;接收单元,还用于接收外网客户端发送的访问请求信息,外网客户端为NAT外部网络的客户端;处理单元,用于根据注册信息向代理客户端转发访问请求信息;接收单元,还用于接收代理客户端根据访问请求信息从网络服务器获取的反馈信息;处理单元,还用于向外网客户端转发反馈信息。
在第二方面的第一种可能的实现方式中,访问请求信息包括代理客户端对应的网络域名,其中访问请求信息为外网客户端根据DNS服务器配置的网络域名与代理服务器的对应关系向代理服务器发送。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,处理单元还用于根据注册信息为所述代理客户端分配网络域名,并记录所述网络域名与代理客户端的对应关系,所述网络域名用于对代理客户端对应的网络服务器进行访问;处理单元具体用于根据网络域名与代理客户端的对应关系,向代理客户端转发访问请求信息。
结合第二方面,或者第二方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,代理服务器与代理客户端间建立有TCP长连接。
第三方面,本发明实施例提供了一种客户端,客户端为位于NAT内部网络的代理客户端,包括发送单元,用于向代理服务器发送注册信息,代理服务器位于NAT外部网络;接收单元,用于接收代理服务器转发的访问请求信息,访问请求信息为位于NAT外部网络的外网客户端向代理服务器发送的;发送单元还用于向网络服务器转发访问请求信息,网络服务器位于NAT内部网络;接收单元还用于接收网络服务器根据访问请求信息发送的反馈信息,并向代理服务器转发反馈信息。在第三方面的第一种可能的实现方式中,所述客户端与所述代理服务器间建立有TCP长连接。
第四方面,本发明实施例提供了一种通信系统,包括第二方面或第二方面任意一种可能的实现方式中的代理服务器以及第三方面获第三方面任意一种可能的实现方式中的代理客户端。
本发明的实施例提供的一种数据传输方法、装置及通信系统,通过在NAT内部网络侧设置代理客户端,在NAT外部网络侧设置代理服务器,并通过代理客户端向代理服务器发送注册信息,使代理服务器在收到外网客户端发来的访问请求信息后,能根据注册信息向代理客户端转发访问请求信息,从而使代理客户端将访问请求信息转发至NAT内部网络的网络服务器,并使该网络服务器可以向外网客户端返回反馈信息,从而在不对NAT设备进行相应配置的前提下,使位于NAT外部网络的外网客户端与位于NAT内部网络的网络服务器可以进行数据交互,因此本发明的实施例能够在不对NAT设备进行配置的情况下使位于NAT外部网络的设备与位于NAT内部网络的设备进行数据通信,简化了进行NAT穿越的方案,降低了进行NAT穿越的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的一种NAT网络的示意性结构图;
图2为本发明的实施例提供的一种通信系统的示意性结构图;
图3为本发明的实施例提供的一种数据传输方法的流程示意图;
图4为本发明的另一实施例提供的一种数据传输方法的流程示意图;
图5为本发明的实施例提供的一种代理服务器的示意性结构图;
图6为本发明的实施例提供的一种代理客户端的示意性结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形的术语如“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。同时还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
通常情况下,如图1所示,当位于NAT内部网络的NAT内部网络设备与位于NAT外部网络的NAT外部网络设备在进行数据交互时,由于NAT内部网络设备具有的私有地址不能被NAT外部网络设备所识别,因此当NAT外部网络设备想要访问NAT内部网络设备时,需要在NAT内部网络与NAT外部网络间的NAT设备上进行相关的设置,当NAT内部网络与NAT外部网络间存在多个NAT设备时,则需要对多个NAT设备均进行相应的配置,才能够在NAT外部网络设备与NAT内部网络设备间进行数据交互,当未能在NAT设备上进行相应配置时,NAT外部网络设备无法访问NAT内部网络设备。
参照图2所述,本发明的实施例提供一种通信系统,包括位于NAT内部网络的网络服务器、位于NAT内部网络的代理客户端以及位于NAT外部网络的代理服务器以及外网客户端,其中网络服务器与代理客户端之间能够进行数据交互,代理客户端与代理服务器之间能够进行数据交互,代理服务器与外网客户端之间可以进行数据交互。
针对上述问题,基于上述实施例提供的通信系统,参照图3所示,本发明的实施例提供一种数据传输方法,具体包括如下步骤:
101、代理客户端向代理服务器发送注册信息。
其中,代理客户端位于NAT内部网络,代理服务器位于NAT外部网络,NAT内部网络是指通过NAT设备与外部网络通信的私有网络,NAT外部网络是指能够访问NAT设备的外部网络,NAT设备是指具有NAT功能的网络设备,位于NAT内部网络的设备可以使用私有网络地址通过接入NAT设备访问外部网络。
注册信息包括代理客户端的标识信息,代理服务器根据该代理客户端能够获取与该代理客户端所代理的NAT内部网络的网络服务器通信。其中代理客户端为NAT内部网络的网络服务器的代理客户端,是指通过访问代理客户端可以与其所代理的NAT内部网络设备间进行无障碍的数据交互。其中网络服务器位于NAT内部网络,代理客户端能够在NAT内部网络与网络服务器进行无障碍的数据交互,代理客户端可以与一个网络服务器相对应,也可以与多个网络服务器相对应。
示例性的,代理服务器在收到注册信息后可以根据该注册信息中包括的代理客户端的标识信息,在该代理服务器上为代理客户端分配全局唯一的网络域名,并记录该网络域名与该代理客户端的对应关系。
所述的代理客户端位于网络服务器上,也可以位于网络服务器之外,代理客户端与网络服务器一一对应,这样代理客户端可以将外网客户端的访问请求发送给网络服务器。访问代理客户端的网络域名即完成对对应网络服务器的访问。
102、代理服务器接收外网客户端发送的访问请求信息。
其中,外网客户端位于NAT外部网络,其中访问请求信息中包括要访问的网络服务器的域名地址(即网络服务器对应的代理客户端的网络域名),访问请求信息还可以包括与外网客户端与位于NAT内部网络的网络服务器进行数据交互相关联的数据,示例性的,访问请求信息还可以包括外网客户端所请求数据的请求方法、标识符、使用的协议、外网客户端的标识等。
103、代理服务器根据注册信息向代理客户端转发访问请求信息。
其中代理服务器利用根据注册信息分配给代理客户端的域名地址,确定与访问请求信息中所包含的域名地址对应的代理客户端,并向所确定的代理客户端转发访问请求信息。
示例性的,代理服务器利用根据注册信息确定的与代理客户端对应的域名地址中查找与访问请求信息中所包含域名地址相同的域名地址,进而确定与访问请求信息中所包含域名地址对应的代理客户端。
104、代理客户端向网络服务器转发访问请求信息。
代理客户端在接收到代理服务器发送的访问请求信息后,向对应的网络服务器转发该访问请求信息。
105、网络服务器根据访问请求信息向代理客户端发送反馈信息。
网络服务器根据收到的访问请求信息生成反馈信息,并向代理客户端发送反馈信息,其中反馈信息可以包括访问请求信息中所请求数据,也可以包括网络服务器针对访问请求信息所包含数据在网络服务器上生成的其他数据。
106、代理客户端向代理服务器转发反馈信息。
代理客户端收到服务器发送的反馈信息,并向在步骤103中转发访问请求信息的代理服务器转发该反馈信息。
107、代理服务器向外网客户端转发反馈信息。
代理服务器收到代理客户端转发的反馈信息,并向发送访问请求信息的外网客户端转发该反馈信息。
本发明的实施例提供的一种数据传输方法,通过在NAT内部网络侧设置代理客户端,在NAT外部网络侧设置代理服务器,并通过代理客户端向代理服务器发送注册信息,使代理服务器在收到外网客户端发来的访问请求信息后,能根据注册信息向代理客户端转发访问请求信息,从而使代理客户端将访问请求信息转发至NAT内部网络的网络服务器,并使该网络服务器可以向外网客户端返回反馈信息,从而在不对NAT设备进行相应配置的前提下,使位于NAT外部网络的外网客户端与位于NAT内部网络的网络服务器可以进行数据交互,因此本发明的实施例能够在不对NAT设备进行配置的情况下使位于NAT外部网络的设备与位于NAT内部网络的设备进行数据通信,简化了进行NAT穿越的方案,降低了进行NAT穿越的成本。
针对上述问题,基于上述实施例提供的通信系统,参照图4所示,本发明的实施例提供一种数据传输方法,具体包括如下步骤:
201、代理客户端向代理服务器发送注册信息。
具体示例参照上述步骤101,这里不再赘述。
优选的,代理服务器是位于NAT外部网络的HTTP代理服务器。代理客户端在向代理服务器发送注册信息前,需要现在先配置代理服务器的IP地址,代理客户端通过NAT设备向代理服务器发起TCP长连接,并通过该TCP长连接将代理客户端的注册信息发送到代理服务器。
202、代理服务器根据注册信息配置网络域名与代理客户端的对应关系。
代理服务器根据在步骤101中收到的注册信息,在代理服务器上为代理客户端分配与其对应的网络域名,生成代理客户端与该网络域名的对应关系并记录。为代理客户端分配的网络域名全局唯一。
203、外网客户端向DNS服务器发送查询信息。
其中,外网客户端与DNS服务器均位于NAT外部网络,外网客户端与DNS服务器间路由可达,外网客户端向DNS服务器发送的查询信息包括外网客户端需进行数据交互的位于NAT内部网络的网络服务器的域名地址,该域名地址即代理服务器分配给与该网络服务器对应的代理客户端的网络域名。
其中网络服务器是位于NAT内部网络的设备,代理客户端能够在NAT内部网络与网络服务器进行无障碍的数据交互。
204、DNS服务器根据事先配置的网络域名与代理服务器的对应关系以及收到的查询信息,向外网客户端发送地址信息。
DNS服务器根据事先配置在该DNS服务器上的位于NAT内部网络的网络服务器的域名地址与代理服务器的IP地址的对应关系,确定与查询信息所包含域名地址对应的IP地址为代理服务器的IP地址,并向外网客户端发送包含该代理服务器IP地址的地址信息。其中在该对应关系中,代理客户端对应的网络服务器的域名地址在DNS服务器上所对应的IP地址为代理服务器的IP地址。
205、代理服务器接收外网客户端发送的访问请求信息。
其中,外网客户端在收到DNS服务器发送的IP地址信息后,外网客户端根据该IP地址信息向代理服务器发送访问请求信息。
其中访问请求信息包括代理客户端的域名地址,访问请求信息还可以包括与外网客户端与位于NAT内部网络的网络服务器进行数据交互所相关联的数据,示例性的,访问请求信息还可以包括外网客户端所请求数据的请求方法、标识符、使用的协议、外网客户端的标识等。
优选的,访问请求信息为HTTP请求,该HTTP请求的HTTP头部包括域名地址。
206、代理服务器根据网络域名与代理客户端的对应关系以及访问请求信息,确定与访问请求信息对应的代理客户端。
其中代理服务器根据访问请求信息中包含的域名地址,结合在步骤202中生成的代理客户端与域名地址的对应关系,确认与访问请求信息中包含的域名地址对应的代理客户端。优选的,当访问请求信息为HTTP请求,并且HTTP请求的HTTP头中包括域名地址,代理服务器根据该域名地址以及代理客户端与域名地址的对应关系,确定相应的代理客户端。
207、代理服务器向确定的代理客户端转发访问请求信息。
代理服务器根据步骤206中确定的代理客户端,向该代理客户端转发访问请求信息。优选的,代理服务器通过在步骤201中建立的与代理客户端间的TCP长连接转发访问请求信息。
208、代理客户端向网络服务器转发访问请求信息。
代理客户端在收到访问请求信息后,向代理客户端代理的网络服务器转发访问请求信息。代理客户端代理的网络服务器,是指通过访问代理客户端,可以与网络服务器间进行无障碍的数据交互。
209、网络服务器根据访问请求信息向代理客户端发送反馈信息。
网络服务器在收到访问请求信息后,根据访问请求信息向代理客户端发送针对访问请求信息的反馈信息,其中反馈信息可以包括访问请求信息所要求进行数据交互的信息。
210、代理客户端向代理服务器转发反馈信息。
代理客户端在收到反馈信息后,向代理服务器转发反馈信息。优选的,代理客户端通过在步骤201中建立的与代理服务器间的TCP长连接转发反馈信息。
211、代理服务器向外网客户端转发反馈信息。
代理服务器在收到反馈信息后,向外网客户端转发反馈信息。
本发明的实施例提供的一种数据传输方法,通过在NAT内部网络侧设置代理客户端,在NAT外部网络侧设置代理服务器,并通过代理客户端向代理服务器发送注册信息,并在代理服务器上为代理客户端配置网络域名与代理客户端的对应关系,当外网客户端根据DNS服务器配置的网络域名与代理服务器的对应关系向代理服务器发送访问请求信息,代理服务器可以根据网络域名与代理客户端的对应关系向代理客户端转发访问请求信息,从而使代理客户端将访问请求信息转发至NAT内部网络的网络服务器,并使该网络服务器可以向外网客户端返回反馈信息,从而在不对NAT设备进行相应配置的前提下,使位于NAT外部网络的外网客户端在访问位于NAT内部网络的网络服务器的域名地址时,可以与该网络服务器进行数据交互,因此本发明的实施例能够在不对NAT设备进行配置的情况下使位于NAT外部网络的设备与位于NAT内部网络的设备进行数据通信,简化了进行NAT穿越的方案,降低了进行NAT穿越的成本。
针对上述问题,基于上述实施例提供的通信系统,参照图5所述,本发明的实施例提供一种代理服务器,该代理服务器位于NAT外部网络,包括接收单元301,处理单元302。
接收单元301,用于接收代理客户端发送的注册信息。
其中,代理客户端位于NAT内部网络,代理服务器位于NAT外部网络,NAT内部网络是指通过NAT设备与外部网络通信的私有网络,NAT外部网络是指能够访问NAT设备的外部网络,NAT设备是指具有NAT功能的网络设备,位于NAT内部网络的设备可以使用私有网络地址通过接入NAT设备访问外部网络。
注册信息包括代理客户端的标识信息,代理服务器根据该代理客户端的注册信息能够与该代理客户端所代理的NAT内部网络设备通信。其中代理客户端为NAT内部网络的网络服务器的代理客户端,是指通过访问代理客户端可以与其所代理的NAT内部网络服务器间进行无障碍的数据交互。其中网络服务器位于NAT内部网络,代理客户端能够在NAT内部网络与网络服务器进行无障碍的数据交互,代理客户端可以与一个网络服务器相对应,也可以与多个网络服务器相对应。
示例性的,代理服务器在收到注册信息后可以根据该注册信息中包括的代理客户端的标识信息,在该代理服务器上为代理客户端分配相对应的全局唯一的网络域名,并记录该域名与代理客户端的对应关系。
接收单元301,还用于接收外网客户端发送的访问请求信息。
其中,外网客户端位于NAT外部网络,其中访问请求信息包括域名地址,访问请求信息还可以包括与外网客户端与位于NAT内部网络的网络服务器进行数据交互相关联的数据,示例性的,访问请求信息还可以包括外网客户端所请求数据的请求方法、标识符、使用的协议、外网客户端的标识等。
处理单元302,用于根据注册信息向代理客户端转发访问请求信息。
其中代理服务器利用根据注册信息分配的代理客户端的网络域名,确定与访问请求信息中所包含的域名地址对应的代理客户端,并向所确定的代理客户端转发访问请求信息。
示例性的,代理服务器利用根据注册信息分配的与代理客户端对应的域名地址中查找与访问请求信息中所包含域名地址相同的域名地址,进而确定与访问请求信息中所包含域名地址对应的代理客户端。
接收单元301,还用于接收代理客户端根据访问请求信息从网络服务器获取的反馈信息。
反馈信息为代理客户端从网络服务器获取的针对访问请求信息的反馈信息。
处理单元302,还用于向外网客户端转发反馈信息。
代理服务器收到代理客户端转发的反馈信息,并向发送访问请求信息的外网客户端转发该反馈信息。
本发明的实施例提供的一种代理服务器,位于NAT外部网络,通过接收代理客户端向代理服务器发送的注册信息,使代理服务器在收到外网客户端发来的访问请求信息后,能根据注册信息向代理客户端转发访问请求信息,以便于代理客户端将访问请求信息转发至NAT内部网络的网络服务器,并使该网络服务器可以向外网客户端返回反馈信息,从而在不对NAT设备进行相应配置的前提下,使位于NAT外部网络的外网客户端与位于NAT内部网络的网络服务器可以进行数据交互,因此本发明的实施例能够在无需对NAT设备进行配置的情况下使位于NAT外部网络的设备与位于NAT内部网络的设备进行数据通信,简化了进行NAT穿越的方案,降低了进行NAT穿越的成本。
针对上述问题,基于上述实施例提供的通信系统,参照图5所述,本发明的实施例提供一种代理服务器,该代理服务器位于NAT外部网络,包括接收单元301,处理单元302。
接收单元301,用于接收代理客户端发送的注册信息。
具体示例参照上述实施例中的接收单元301,这里不再赘述。
优选的,代理服务器是位于NAT外部网络的HTTP服务器。代理客户端在向代理服务器发送注册信息前,向代理服务器发起TCP长连接,并通过该TCP长连接将代理客户端的代理信息发送到代理服务器。
处理单元302,用于根据注册信息配置网络域名与代理客户端的对应关系;
代理服务器根据在步骤101中收到的注册信息,在代理服务器上为代理客户端分配与其对应的全局唯一的网络域名地址,并生成代理客户端与该网络域名地址的对应关系。
接收单元301,还用于接收外网客户端发送的访问请求信息。
其中外网客户端向DNS服务器发送查询信息,外网客户端与DNS服务器均位于NAT外部网络,外网客户端与DNS服务器间路由可达,外网客户端向DNS服务器发送的查询信息包括外网客户端需进行数据交互的位于NAT内部网络的网络服务器的域名地址。
其中网络服务器是位于NAT内部网络的设备,代理客户端能够在NAT内部网络与网络服务器进行无障碍的数据交互,代理客户端可以与一个网络服务器相对应,也可以与多个网络服务器相对应。
DNS服务器根据事先配置在该DNS服务器上的位于NAT内部网络的网络服务器的域名地址与IP地址的对应关系,确定与查询信息所包含域名地址对应的IP地址,并向外网客户端发送包含该IP地址的地址信息。其中在该对应关系中代理客户端对应的网络服务器的域名地址所对应的IP地址为代理服务器的IP地址,示例性的,当外网客户端向DNS服务器发送的查询信息包含代理客户端对应的网络服务器的域名地址时,DNS服务器向外网客户端发送的地址信息包含代理服务器的IP地址。
外网客户端在收到DNS服务器发送的地址信息后,当地址信息对应代理服务器,外网客户端根据地址信息向代理服务器发送访问请求信息。
其中访问请求信息包括代理客户端的域名地址,访问请求信息还可以包括与外网客户端与位于NAT内部网络的网络服务器进行数据交互相关联的数据,示例性的,访问请求信息还可以包括外网客户端所请求数据的请求方法、标识符、使用的协议、外网客户端的标识等。
优选的,访问请求信息为HTTP请求,该HTTP请求的HTTP头部包括域名地址。
处理单元302,用于根据网络域名与代理客户端的对应关系以及访问请求信息,确定与访问请求信息对应的代理客户端。
其中代理服务器根据访问请求信息中包含的域名地址,结合在步骤202中生成的代理客户端与域名地址的对应关系,确认与访问请求信息中包含的域名地址对应的代理客户端。优选的,当访问请求信息为HTTP请求,并且HTTP请求的HTTP头中包括域名地址,代理服务器根据该域名地址以及代理客户端与域名地址的对应关系,确定相应的代理客户端。
处理单元302,还用于向确定的代理客户端转发访问请求信息。
代理服务器根据步骤206中确定的代理客户端,向该代理客户端转发访问请求信息。优选的,代理服务器通过在步骤201中建立的与代理客户端间的TCP长连接转发访问请求信息。
接收单元301,还用于接收代理客户端根据访问请求信息从网络服务器获取的反馈信息。
反馈信息为代理客户端从网络服务器获取的针对访问请求信息的反馈信息。优选的,代理客户端通过在步骤201中建立的与代理服务器间的TCP长连接转发反馈信息。
处理单元302,还用于向外网客户端转发反馈信息。
代理服务器收到代理客户端转发的反馈信息,并向外网客户端转发该反馈信息。
本发明的实施例提供的一种代理服务器,设置在NAT外部网,通过接收代理客户端向代理服务器发送的注册信息,并在代理服务器上为代理客户端配置网络域名与代理客户端的对应关系,当外网客户端根据DNS服务器配置的网络域名与代理服务器的对应关系向代理服务器发送访问请求信息,代理服务器可以根据网络域名与代理客户端的对应关系向代理客户端转发访问请求信息,以便于代理客户端将访问请求信息转发至NAT内部网络的网络服务器,使网络服务器可以向外网客户端返回反馈信息,从而在不对NAT设备进行相应配置的前提下,使位于NAT外部网络的外网客户端可以与位于NAT内部网络的网络服务器进行数据交互,因此本发明的实施例能够在不对NAT设备进行配置的情况下使位于NAT外部网络的设备与位于NAT内部网络的设备进行数据通信,简化了进行NAT穿越的方案,降低了进行NAT穿越的成本。
针对上述问题,基于上述实施例提供的通信系统,参照图6所述,本发明的实施例提供一种代理客户端,该代理客户端为位于NAT内部网络的代理客户端,包括发送单元401,接收单元402。
发送单元401,用于向代理服务器发送注册信息。
其中,代理客户端位于NAT内部网络,代理服务器位于NAT外部网络,NAT内部网络是指通过NAT设备与外部网络通信的私有网络,NAT外部网络是指能够访问NAT设备的外部网络,NAT设备是指具有NAT功能的网络设备,位于NAT内部网络的设备可以使用私有网络地址通过接入NAT设备访问外部网络。
注册信息包括代理客户端的标识信息,代理服务器根据该代理客户端的注册信息能够获取与该代理客户端所代理的NAT内部网络设备。其中代理客户端为NAT内部网络的网络服务器的代理客户端,是指通过访问代理客户端可以与其所代理的NAT内部网络设备间进行无障碍的数据交互。其中网络服务器位于NAT内部网络,代理客户端能够在NAT内部网络与网络服务器进行无障碍的数据交互,代理客户端与网络服务器一一对应,代理客户端可以位于网络服务器中,也可以位于网络服务器之外。
示例性的,代理服务器在收到注册信息后可以根据该注册信息中包括的代理客户端的标识信息,在该代理服务器上为代理客户端分配相对应的域名,并记录该域名与代理客户端的对应关系。
优选的,代理服务器是位于NAT外部网络的HTTP服务器。代理客户端在向代理服务器发送注册信息前,代理客户端上配置有代理服务器的IP地址,代理客户端向代理服务器发起TCP长连接,并通过该TCP长连接将代理客户端的代理信息发送到代理服务器。
接收单元402,用于接收代理服务器转发的访问请求信息。
其中代理服务器利用根据注册信息为代理客户端分配的网络域名地址,确定与访问请求信息中所包含的域名地址对应的代理客户端,并向所确定的代理客户端转发访问请求信息。
示例性的,代理服务器在注册信息确定的与代理客户端对应的域名地址中查找与访问请求信息中所包含域名地址相同的域名地址,进而确定与访问请求信息中所包含域名地址对应的代理客户端。
发送单元401,还用于向网络服务器转发访问请求信息。
代理客户端在收到访问请求信息后,向代理客户端代理的网络服务器转发访问请求信息。代理客户端代理的网络服务器,是指通过访问代理客户端,可以与网络服务器间进行无障碍的数据交互。
接收单元402,还用于接收网络服务器根据访问请求信息发送的反馈信息。
网络服务器根据收到的访问请求信息生成反馈信息,并向代理客户端发送该针对访问请求信息的反馈信息,其中反馈信息可以包括访问请求信息中所请求数据,也可以包括网络服务器针对访问请求信息所包含数据在网络服务器上生成的其他数据。
发送单元401,还用于向代理服务器转发反馈信息。
代理客户端在收到反馈信息后,向代理服务器转发反馈信息。优选的,代理客户端通过与代理服务器间的TCP长连接转发反馈信息。
本发明的实施例提供的一种代理客户端,该代理客户端为位于NAT内部网络的代理客户端,代理客户端通过向代理服务器发送注册信息,以便于代理服务器为代理客户端配置网络域名与代理客户端的对应关系,进而当外网客户端根据DNS服务器配置的网络域名与代理服务器的对应关系向代理服务器发送访问请求信息,代理服务器可以根据网络域名与代理客户端的对应关系向代理客户端转发访问请求信息,代理客户端在接收到访问请求信息后将其转发至NAT内部网络的网络服务器,并使该网络服务器可以通过代理客户端向代理服务器返回反馈信息,以便代理服务器向外网客户端返回反馈信息,从而在不对NAT设备进行相应配置的前提下,使位于NAT外部网络的外网客户端在访问位于NAT内部网络的网络服务器的域名地址时,可以与该网络服务器进行数据交互,因此本发明的实施例能够在不对NAT设备进行配置的情况下使位于NAT外部网络的设备与位于NAT内部网络的设备进行数据通信,简化了进行NAT穿越的方案,降低了进行NAT穿越的成本。
其中,需要说明的是,本实施例中的各个单元可以为单独设立的处理器或传感器,也可以集成在某一个处理器或传感器中实现,此外,也可以以程序代码的形式存储于触控点识别装置的存储器中,由处理器调用并执行以上各个单元的功能。这里所述的处理器可以是一个中央处理器(英文全称:Central Processing Unit,英文简称:CPU),或者是被配置成实施本发明实施例的一个或多个集成电路(英文全称:Integrated Circuit,英文简称:IC);传感器可以是一个电子元件,或者是多个电子元件组成的电路结构,或是被配置成实施本发明实施例的一个或多个集成电路。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据传输方法,应用于包括代理服务器与代理客户端的通信系统,所述代理服务器位于NAT外部网络,所述代理客户端位于NAT内部网络,其特征在于,包括:
所述代理客户端向所述代理服务器发送注册信息;
所述代理服务器接收所述代理客户端发送的注册信息;
所述代理服务器接收外网客户端发送的访问请求信息,所述外网客户端位于NAT外部网络;
所述代理服务器根据所述注册信息向所述代理客户端转发所述访问请求信息;
所述代理客户端接收所述代理服务器转发的所述访问请求信息,并向网络服务器转发所述访问请求信息,所述网络服务器位于NAT内部网络;
所述代理客户端接收所述网络服务器根据所述访问请求信息发送的反馈信息,并向所述代理服务器转发所述反馈信息;
所述代理服务器接收所述反馈信息,并向所述外网客户端转发所述反馈信息。
2.根据权利要求1所述的数据传输方法,其特征在于,所述访问请求信息包括代理客户端对应的网络域名,其中所述访问请求信息为所述外网客户端根据DNS服务器配置的网络域名地址与代理服务器的对应关系向所述代理服务器发送。
3.根据权利要求1所述的数据传输方法,其特征在于,所述代理服务器接收所述代理客户端发送的注册信息后还包括:
所述代理服务器根据所述注册信息,为所述代理客户端分配网络域名,并记录所述网络域名与所述代理客户端的对应关系;
所述代理服务器根据所述注册信息向所述代理客户端转发所述访问请求信息,包括:
所述代理服务器根据所述网络域名与所述代理客户端的对应关系,向所述代理客户端转发所述访问请求信息。
4.根据权利要求1-3任一项所述的数据传输方法,其特征在于,所述代理服务器与所述代理客户端间建立有TCP长连接。
5.一种代理服务器,其特征在于,所述代理服务器位于NAT外部网络,包括:
接收单元,用于接收代理客户端发送的注册信息,所述代理客户端为NAT内部网络的网络服务器对应的代理客户端;
所述接收单元,还用于接收外网客户端发送的访问请求信息,所述外网客户端为NAT外部网络的客户端;
处理单元,用于根据所述注册信息向所述代理客户端转发所述访问请求信息;
所述接收单元,还用于接收所述代理客户端根据所述访问请求信息从所述网络服务器获取的反馈信息;
所述处理单元,还用于向所述外网客户端转发所述反馈信息。
6.根据权利要求5所述的代理服务器,其特征在于,所述访问请求信息包括代理客户端对应的网络域名,其中所述访问请求信息为所述外网客户端根据DNS服务器配置的网络域名与代理服务器的对应关系向所述代理服务器发送。
7.根据权利要求5所述的代理服务器,其特征在于,
所述处理单元还用于:根据所述注册信息,为所述代理客户端分配网络域名,并记录所述网络域名与所述代理客户端的对应关系;
和/或,
所述处理单元具体用于:根据所述网络域名与所述代理客户端的对应关系,向所述代理客户端转发所述访问请求信息。
8.根据权利要求5-7任一项所述的代理服务器,其特征在于,所述代理服务器与所述代理客户端间建立有TCP长连接。
9.一种客户端,其特征在于,所述客户端为位于NAT内部网络的代理客户端,包括:
发送单元,用于向代理服务器发送注册信息,所述代理服务器位于NAT外部网络;
接收单元,用于接收所述代理服务器转发的访问请求信息,所述访问请求信息为位于NAT外部网络的外网客户端向所述代理服务器发送的;
所述发送单元还用于向网络服务器转发所述访问请求信息,所述网络服务器位于NAT内部网络;
所述接收单元还用于接收所述网络服务器根据所述访问请求信息发送的反馈信息,并向所述代理服务器转发所述反馈信息。
10.根据权利要求9所述的客户端,其特征在于,所述代理客户端与所述代理服务器间建立有TCP长连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511031602.4A CN105635338B (zh) | 2015-12-31 | 2015-12-31 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511031602.4A CN105635338B (zh) | 2015-12-31 | 2015-12-31 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635338A CN105635338A (zh) | 2016-06-01 |
CN105635338B true CN105635338B (zh) | 2019-03-05 |
Family
ID=56049804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511031602.4A Active CN105635338B (zh) | 2015-12-31 | 2015-12-31 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635338B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632223B (zh) * | 2017-03-23 | 2022-01-11 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及电子设备 |
CN107231426A (zh) * | 2017-06-15 | 2017-10-03 | 郑州云海信息技术有限公司 | 一种多数据中心访问方法、代理服务器及系统 |
CN107483609B (zh) * | 2017-08-31 | 2018-08-28 | 深圳市迅雷网文化有限公司 | 一种网络访问方法、相关设备和系统 |
CN108989420B (zh) * | 2018-07-12 | 2021-08-13 | 上海携程商务有限公司 | 注册服务的方法及系统、调用服务的方法及系统 |
CN109120717B (zh) * | 2018-09-26 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 反向代理方法、装置及存储介质、分布式系统 |
CN109872824A (zh) * | 2019-02-15 | 2019-06-11 | 苏州麦迪斯顿医疗科技股份有限公司 | 一种远程会诊架构及数据传输方法 |
CN109787848A (zh) * | 2019-04-02 | 2019-05-21 | 浙江数值跳跃网络科技有限公司 | 一种通过内网穿透技术组建去中心化网络架构技术 |
CN110661858A (zh) * | 2019-09-12 | 2020-01-07 | 南京博联智能科技有限公司 | 基于websocket的内网穿透方法及系统 |
CN113190228B (zh) * | 2021-05-14 | 2024-01-26 | 抖音视界有限公司 | 一种脚本文件生成的方法、装置以及计算机存储介质 |
CN114979099B (zh) * | 2022-04-14 | 2024-02-23 | 天津车之家软件有限公司 | 一种目标服务访问方法、模块及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633100A (zh) * | 2003-12-24 | 2005-06-29 | 华为技术有限公司 | 多媒体业务网络地址转换穿越的方法及其系统 |
CN101175036A (zh) * | 2007-11-01 | 2008-05-07 | 南京大学 | 基于内网节点转发技术的防火墙/子网的穿透方法 |
CN102035904A (zh) * | 2010-12-10 | 2011-04-27 | 北京中科大洋科技发展股份有限公司 | 一种将tcp网络通信服务端转换为客户端的方法 |
CN104168257A (zh) * | 2014-01-28 | 2014-11-26 | 广东电网公司电力科学研究院 | 基于非网络方式的数据隔离装置及其方法与系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130791B (zh) * | 2010-01-14 | 2013-02-13 | 深圳市深信服电子科技有限公司 | 一种在网关上检测代理的方法、装置及网关服务器 |
-
2015
- 2015-12-31 CN CN201511031602.4A patent/CN105635338B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633100A (zh) * | 2003-12-24 | 2005-06-29 | 华为技术有限公司 | 多媒体业务网络地址转换穿越的方法及其系统 |
CN101175036A (zh) * | 2007-11-01 | 2008-05-07 | 南京大学 | 基于内网节点转发技术的防火墙/子网的穿透方法 |
CN102035904A (zh) * | 2010-12-10 | 2011-04-27 | 北京中科大洋科技发展股份有限公司 | 一种将tcp网络通信服务端转换为客户端的方法 |
CN104168257A (zh) * | 2014-01-28 | 2014-11-26 | 广东电网公司电力科学研究院 | 基于非网络方式的数据隔离装置及其方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105635338A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635338B (zh) | 一种数据传输方法及装置 | |
US9800539B2 (en) | Request routing management based on network components | |
KR100838911B1 (ko) | 정적인 식별자와 동적인 주소가 관련되어지는 것에 의해호스트 도달성을 얻을 수 있는 망에 있어서, 도달성을확인하기 위한 통신 모델, 신호, 방법 및 장치 | |
JP3703457B2 (ja) | アドレス通知方法、プログラム、及び、装置 | |
US9160703B2 (en) | Request routing management based on network components | |
US7228359B1 (en) | Methods and apparatus for providing domain name service based on a client identifier | |
US9712422B2 (en) | Selection of service nodes for provision of services | |
CN108737515A (zh) | 在联网环境中请求路由选择 | |
PT2204962E (pt) | Um método, um sistema e um dispositivo para processamento da informação de solicitação de acesso | |
CN102171984A (zh) | 服务提供者访问 | |
CN105847312B (zh) | 一种资源访问方法及用户终端 | |
CN103618801B (zh) | 一种p2p资源共享的方法、设备及系统 | |
CN103262502B (zh) | 多核平台的dns代理服务 | |
CN110225144A (zh) | 获取及提供服务的方法、用户设备和管理服务器 | |
ES2451269T3 (es) | Método y sistema para gestionar dispositivos remotos | |
CN106453399B (zh) | 一种面向用户隐私保护的域名解析服务方法和系统 | |
CN103634289B (zh) | 通信屏蔽装置及通信屏蔽方法 | |
JP2010511236A (ja) | ウェブ・サービス・エンドポイントを表すエンドポイント参照を変更する方法、装置およびコンピュータ・プログラム | |
Afanasyev et al. | Map-and-encap for scaling ndn routing | |
US20160006685A1 (en) | Receiving device, receiving device control method, network system, network system control method, and medium | |
Rodrigues et al. | Zigzag: A middleware for service discovery in future internet | |
Alzoubi et al. | Performance implications of unilateral enabling of IPv6 | |
CN102790679B (zh) | 上网卡的上网方法和上网卡 | |
JP4825780B2 (ja) | トランスレータ装置およびそのアドレス体系変換方法 | |
Panica et al. | Distributed resource identification service for cloud environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |