CN101909011B - 报文传输方法、系统、客户端和代理网关 - Google Patents

报文传输方法、系统、客户端和代理网关 Download PDF

Info

Publication number
CN101909011B
CN101909011B CN2010102487108A CN201010248710A CN101909011B CN 101909011 B CN101909011 B CN 101909011B CN 2010102487108 A CN2010102487108 A CN 2010102487108A CN 201010248710 A CN201010248710 A CN 201010248710A CN 101909011 B CN101909011 B CN 101909011B
Authority
CN
China
Prior art keywords
server
fpdp
address
message
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2010102487108A
Other languages
English (en)
Other versions
CN101909011A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2010102487108A priority Critical patent/CN101909011B/zh
Publication of CN101909011A publication Critical patent/CN101909011A/zh
Application granted granted Critical
Publication of CN101909011B publication Critical patent/CN101909011B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例涉及一种报文传输方法、系统、客户端和代理网关,该报文传输方法包括:通过第二数据端口在回环连接上进行侦听,获得数据报文,所述第二数据端口的端口号与预先获得的服务器的第一数据端口的端口号相同;根据所述第二数据端口的端口号以及预先保存的所述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关,所述封装后的数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;以使所述代理网关根据所述IP地址和所述第一数据端口的端口号与所述服务器建立数据通道,将所述封装后的数据报文发送至所述服务器。本发明实施例减轻了代理网关的处理负载,提高了使用代理网关的网络的安全性。

Description

报文传输方法、系统、客户端和代理网关
技术领域
本发明涉及通信技术领域,特别涉及一种报文传输方法、系统、客户端和代理网关。
背景技术
目前代理网关的使用非常普遍,现在的企业组网方式一般都会在出口处布置一台代理网关,通过代理网关,企业网外的终端能够安全的访问企业内网。在代理网关的实现上,可以采用基于动态端口协议的代理方式。其中应用层的动态端口协议最常见的就是文件传输协议(File Transfer Protocol;以下简称:FTP),动态端口由控制端口和数据端口组成,控制端口是固定的(FTP常见的控制端口是21端口),而数据端口是通过客户端和服务器之间的控制通道上的消息协商出来的,每传输一个文件就协商一个数据端口,并建立传输数据的数据通道,在文件传输完毕之后,拆除该数据通道连接。
但是,如果要实现基于动态端口协议的代理方式,需要在代理网关上解析控制报文,并开启多个数据端口来接收数据报文,进而将数据报文转发到服务器上,这样,不仅增加了代理网关的处理负载,并且在代理网关上开放多个数据端口,存在安全隐患。
发明内容
本发明实施例的目的在于提供一种报文传输方法、系统、客户端和代理网关,以减轻代理网关的处理负载,提高网络安全性。
本发明实施例提供一种报文传输方法,包括:
通过第二数据端口在回环连接上进行侦听,获得数据报文,所述第二数据端口的端口号与预先获得的服务器的第一数据端口的端口号相同;
根据所述第二数据端口的端口号以及预先保存的所述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关,所述封装后的数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;以使所述代理网关根据所述IP地址和所述第一数据端口的端口号与所述服务器建立数据通道,将所述封装后的数据报文发送至所述服务器。
本发明实施例还提供一种报文传输方法,包括:
通过与客户端之间建立的隧道以及与服务器之间建立的控制通道,将所述服务器发送的所述服务器的IP地址和第一数据端口的端口号转发给所述客户端;
通过所述隧道接收所述客户端发送的数据报文,所述数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;
根据所述数据报文中携带的所述服务器的IP地址和第一数据端口的端口号与所述服务器建立数据通道,将所述数据报文通过所述数据通道发送给所述服务器。
本发明实施例还提供一种客户端,包括:
报文获得模块,用于通过第二数据端口在回环连接上进行侦听,获得数据报文,所述第二数据端口的端口号与预先获得的服务器的第一数据端口的端口号相同;
报文发送模块,用于根据所述第二数据端口的端口号以及预先保存的所述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关,所述封装后的数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;以使所述代理网关根据所述IP地址和所述第一数据端口的端口号与所述服务器建立数据通道,将所述封装后的数据报文发送至所述服务器。
本发明实施例还提供一种代理网关,包括:
发送模块,用于通过与客户端之间建立的隧道以及与服务器之间建立的控制通道,将所述服务器发送的所述服务器的IP地址和第一数据端口的端口号转发给所述客户端;
报文接收模块,用于通过所述隧道接收所述客户端发送的数据报文,所述数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;
所述发送模块,还用于根据所述报文接收模块接收的数据报文中携带的所述服务器的IP地址和第一数据端口的端口号与所述服务器建立数据通道,将所述数据报文通过所述数据通道发送给所述服务器。
本发明实施例还提供一种报文传输系统,包括服务器、上述客户端和上述代理网关。
由以上技术方案可知,本发明实施例提供的报文传输方法、系统、客户端和代理网关,无需代理网关对控制报文进行处理,也无需在代理网关上开启多个端口进行数据侦听,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载,提高了使用代理网关的网络的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明报文传输方法一个实施例的流程图;
图2为本发明实施例提供的一个应用场景的示意图;
图3为本发明报文传输方法另一个实施例的流程图;
图4为本发明报文传输方法再一个实施例的流程图;
图5为本发明客户端一个实施例的结构示意图;
图6为本发明客户端另一个实施例的结构示意图;
图7为本发明客户端再一个实施例的结构示意图;
图8为本发明代理网关一个实施例的结构示意图;
图9为本发明代理网关另一个实施例的结构示意图;
图10为本发明报文传输系统一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明报文传输方法一个实施例的流程图,如图1所示,该报文传输方法可以包括:
步骤101,通过第二数据端口在回环连接上进行侦听,获得数据报文;其中,第二数据端口的端口号与预先获得的服务器的第一数据端口的端口号相同。
在本实施例的一种实现方式中,在通过第二数据端口在回环连接上进行侦听,获得数据报文之前,客户端可以通过与代理网关之间建立的隧道以及该代理网关与服务器之间建立的控制通道,获得并保存代理网关转发的上述服务器的IP地址和第一数据端口的端口号。
在本实施例的另一种实现方式中,在通过第二数据端口在回环连接上进行侦听,获得数据报文之前,客户端可以通过与代理网关之间的隧道向代理网关发送第一控制报文,以使代理网关通过该代理网关与服务器之间建立的控制通道将第一控制报文转发至服务器,该第一控制报文中携带服务器的IP地址;然后,客户端可以接收代理网关通过上述隧道转发的第二控制报文,该第二控制报文由上述服务器通过上述控制通道发送至代理网关,且携带上述服务器的IP地址以及上述服务器根据第一控制报文产生的第一数据端口的端口号;客户端可以解析第二控制报文,获得并保存上述服务器的IP地址和第一数据端口的端口号。
接下来,客户端可以将解析后的第二控制报文中携带的上述服务器的IP地址替换为回环地址,并根据该回环地址建立回环连接,然后客户端可以通过开启的第二数据端口在上述回环连接上进行侦听,获得数据报文。
本实施例中,前一种实现方式中的“客户端可以通过与代理网关之间建立的隧道以及该代理网关与服务器之间建立的控制通道,获得并保存代理网关转发的上述服务器的IP地址和第一数据端口的端口号”这一过程在具体实现时,可以参照后一种实现方式提供的方法;当然,也可以采用其他方法实现,本实施例对此不作限定。
步骤102,根据第二数据端口的端口号以及预先保存的上述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关。
其中,该封装后的数据报文中携带有上述服务器的IP地址和第一数据端口的端口号,以使代理网关根据该IP地址和第一数据端口的端口号与上述服务器建立数据通道,将封装后的数据报文发送至上述服务器。
上述实施例中,客户端对控制报文进行处理,无需代理网关对控制报文进行处理;并且客户端与代理网关通过该客户端与该代理网关之间建立的隧道,交互客户端的控制报文和数据报文,避免了在代理网关上开启多个数据端口进行报文的侦听;上述实施例中,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载,提高了使用代理网关的网络的安全性。
本发明实施例提供的报文传输方法可以应用于图2所示的应用场景中,图2为本发明实施例提供的一个应用场景的示意图,如图2所示,客户端中增加了应用处理装置,该应用处理装置与代理网关间建立有隧道,该应用处理装置与代理网关通过上述隧道交互该客户端的应用程序模块发送的控制报文和数据报文。代理网关与服务器间建立有控制通道和数据通道,代理网关与服务器通过控制通道交互客户端的应用程序模块发送的控制报文,代理网关与服务器通过数据通道交互客户端的应用程序模块发送的数据报文。
图3为本发明报文传输方法另一个实施例的流程图,本实施例提供的报文传输方法可以用于图2所示的应用场景中。
如图3所示,该报文传输方法可以包括:
步骤301,在客户端启用应用处理装置,该应用处理装置建立与代理网关之间的隧道。
具体地,在客户端启用应用处理装置之后,该应用处理装置可以与代理网关之间建立传输控制协议(Transmission Control Protocol;以下简称:TCP)连接,该TCP连接即为该应用处理装置与该代理网关之间的隧道,用于在应用处理装置与代理网关之间交互该客户端的应用程序模块发送的控制报文和数据报文。
步骤302,应用处理装置截获客户端的应用程序模块发送的第一控制报文,通过建立的隧道向代理网关发送该第一控制报文,该第一控制报文中携带服务器的IP地址。
具体地,当启用客户端访问企业内部的服务器时,客户端的应用程序模块发送第一控制报文,该第一控制报文携带企业内部的服务器的IP地址,例如:该企业内部的服务器的IP地址可以为172.16.234.10。该客户端的应用处理装置截获到应用程序模块发送的第一控制报文之后,通过建立的隧道将该第一控制报文发送到代理网关。
步骤303,代理网关接收到该第一控制报文后,根据第一控制报文中携带的服务器的IP地址(例如:172.16.234.10)与对应的服务器建立控制通道,通过该控制通道将第一控制报文转发到服务器上。
步骤304,服务器接收到第一控制报文之后,随机分配一个第一数据端口用来进行数据报文的侦听,并将该第一数据端口的端口号(例如:2176)和该服务器的IP地址(例如:172.16.234.10)携带在第二控制报文中,通过代理网关和服务器间建立的控制通道发送到代理网关。
步骤305,代理网关接收到第二控制报文之后,通过隧道将该第二控制报文转发给客户端的应用处理装置,该第二控制报文携带有服务器的IP地址(例如:172.16.234.10)和第一数据端口的端口号(例如:2176)。
步骤306,客户端的应用处理装置接收到第二控制报文之后,解析该第二控制报文,获得服务器的IP地址(例如:172.16.234.10)和第一数据端口的端口号(例如:2176),并保存服务器的IP地址(例如:172.16.234.10)和第一数据端口的端口号(例如:2176)的对应关系,开启第二数据端口进行数据报文的侦听,该第二数据端口的端口号与第一数据端口的端口号(例如:2176)相同。
具体地,客户端的应用处理装置收到该第二控制报文后,对该第二控制报文进行解析,提取出第一数据端口的端口号(例如:2176)和服务器的IP地址(例如:172.16.234.10),并在本地创建与第一数据端口具有相同端口号的第二数据端口进行数据报文的侦听。
步骤307,客户端的应用处理装置将解析后的第二控制报文中携带的服务器的IP地址(例如:172.16.234.10)替换为回环地址(127.0.0.1),重新计算替换后的控制报文的长度,将替换后的控制报文封装为第三控制报文,并将该第三控制报文发送至客户端的应用程序模块。
其中,回环地址不属于任何一个有类别地址类,代表客户端的本地虚拟接口,所以默认被看作是永远不会宕掉的接口,回环地址可以为现有的固定地址127.0.0.1。
步骤308,接收到第三控制报文之后,客户端的应用程序模块根据该第三控制报文中的回环地址建立该应用程序模块与应用处理装置间的回环连接。
其中,回环连接即为根据回环地址建立的连接,即在客户端自身建立的回环连接,客户端既作为发送端也作为接收端,具体地,在本实施例中,可以是客户端的应用程序模块和应用处理装置之间的连接。
步骤309,通过开启的第二数据端口在回环连接上侦听到客户端的应用程序模块发送的数据报文之后,应用处理装置截获该应用程序模块发送的数据报文,并根据开启的第二数据端口的端口号(例如:2176)在该应用处理装置保存的服务器的IP地址与第一数据端口的端口号的对应关系中进行查找,获得与该第二数据端口的端口号(例如:2176)对应的服务器的IP地址(例如:172.16.234.10),并对截获的数据报文进行封装,以将第二数据端口的端口号(例如:2176)对应的服务器的IP地址(例如:172.16.234.10)携带在截获的数据报文中。
步骤310,客户端的应用处理装置将携带有服务器的IP地址(例如:172.16.234.10)和第二数据端口的端口号(例如:2176)的数据报文通过隧道发送到代理网关。
步骤311,接收到该数据报文之后,代理网关根据该数据报文中携带的服务器的IP地址(例如:172.16.234.10)和第二数据端口的端口号(例如:2176)与服务器建立数据通道,通过该数据通道将上述数据报文发送给服务器。
本实施例中,若代理网关需要同时向服务器传输至少一个数据报文时,那么代理网关与服务器之间可以建立至少一条数据通道,代理网关通过一条数据通道向服务器传输一个数据报文。
上述实施例中,对于服务器返回的协商后的控制报文,代理网关不做任何处理只转发给客户端,由客户端的应用处理装置对该控制报文进行解析和重新封装,这样使得代理网关不需要对控制报文做其他处理;并且应用处理装置与代理网关通过该应用处理装置与该代理网关之间建立的隧道,交互客户端的应用程序模块的控制报文和数据报文,避免了在代理网关上开启多个数据端口进行报文的侦听;上述实施例中,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载,提高了使用代理网关的网络的安全性。
图4为本发明报文传输方法再一个实施例的流程图,本实施例从代理网关侧对本发明实施例提供的报文传输方法进行描述。如图4所示,该报文传输方法可以包括:
步骤401,通过与客户端之间建立的隧道以及与服务器之间建立的控制通道,将该服务器发送的该服务器的IP地址和第一数据端口的端口号转发给客户端。
具体地,代理网关可以通过与客户端之间建立的隧道接收该客户端发送的第一控制报文,将第一控制报文通过与服务器之间建立的控制通道转发至该服务器,该第一控制报文中携带该服务器的IP地址;然后,代理网关可以接收服务器通过上述控制通道发送的第二控制报文,该第二控制报文携带上述服务器的IP地址以及上述服务器根据第一控制报文产生的第一数据端口的端口号;代理网关将该第二控制报文通过与客户端之间建立的隧道发送给该客户端。
步骤402,通过上述隧道接收客户端发送的数据报文,该数据报文中携带有服务器的IP地址和第一数据端口的端口号。
步骤403,根据数据报文中携带的服务器的IP地址和第一数据端口的端口号与该服务器建立数据通道,将该数据报文通过上述数据通道发送给服务器。
上述实施例中,代理网关无需对控制报文进行处理,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载,并且代理网关与客户端通过该客户端与该代理网关之间建立的隧道,交互客户端的控制报文和数据报文,避免了在代理网关上开启多个数据端口进行报文的侦听,提高了使用代理网关的网络的安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可获取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
图5为本发明客户端一个实施例的结构示意图,本实施例中的客户端可以实现本发明图1所示实施例的流程。如图5所示,该客户端可以包括:报文获得模块51和报文发送模块52。其中:
报文获得模块51,用于通过第二数据端口在回环连接上进行侦听,获得数据报文,该第二数据端口的端口号与预先获得的服务器的第一数据端口的端口号相同;
报文发送模块52,用于根据第二数据端口的端口号以及预先保存的上述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关,该封装后的数据报文中携带有上述服务器的IP地址和第一数据端口的端口号;以使代理网关根据该IP地址和第一数据端口的端口号与上述服务器建立数据通道,将封装后的数据报文发送至上述服务器。
上述实施例中的客户端可以对控制报文进行处理,无需代理网关对控制报文进行处理,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载。并且客户端与代理网关通过该客户端与该代理网关之间建立的隧道,交互客户端的控制报文和数据报文,避免了在代理网关上开启多个数据端口进行报文的侦听,提高了使用代理网关的网络的安全性。
图6为本发明客户端另一个实施例的结构示意图,与图5所示的客户端相比,不同之处在于,图6所示的客户端还可以包括:获得模块53;
获得模块53,用于通过与代理网关之间建立的隧道以及该代理网关与服务器之间建立的控制通道,获得并保存代理网关转发的服务器的IP地址和第一数据端口的端口号。
上述实施例中的客户端可以对控制报文进行处理,无需代理网关对控制报文进行处理,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载;并且客户端与代理网关通过该客户端与该代理网关之间建立的隧道,交互客户端的控制报文和数据报文,避免了在代理网关上开启多个数据端口进行报文的侦听,提高了使用代理网关的网络的安全性。
图7为本发明客户端再一个实施例的结构示意图,与图5所示的客户端相比,不同之处在于,图7所示的客户端还可以包括:控制报文发送模块54、接收模块55和解析模块56;
其中,控制报文发送模块54,用于通过与代理网关之间建立的隧道向代理网关发送第一控制报文,以使代理网关通过该代理网关与服务器之间建立的控制通道将第一控制报文转发至服务器,该第一控制报文中携带有上述服务器的IP地址;
接收模块55,用于接收代理网关通过上述隧道转发的第二控制报文,该第二控制报文由服务器通过控制通道发送至代理网关,且携带有服务器的IP地址以及该服务器根据第一控制报文产生的第一数据端口的端口号;
解析模块56,用于解析第二控制报文,获得服务器的IP地址和第一数据端口的端口号;
保存模块57,用于保存解析模块56获得的服务器的IP地址和第一数据端口的端口号。
进一步地,本实施例中,客户端还可以包括:封装模块58和建立模块59;其中:
封装模块58,用于将解析模块56解析后的第二控制报文中携带的服务器的IP地址替换为回环地址;
建立模块59,用于根据该回环地址建立回环连接;这样,报文获得模块51就可以通过第二数据端口在建立模块59建立的回环连接上进行侦听,获得数据报文。
上述实施例中的客户端可以对控制报文进行处理,无需代理网关对控制报文进行处理,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载;并且客户端与代理网关通过该客户端与该代理网关之间建立的隧道,交互客户端的控制报文和数据报文,避免了在代理网关上开启多个数据端口进行报文的侦听,提高了使用代理网关的网络的安全性。
进一步地,在具体实现时,除本发明图5、图6或图7所示实施例中的模块之外,客户端还可以包括其他一些模块,例如:应用程序模块等,其中,该应用程序模块可以用于发送控制报文和数据报文。另外,本发明图5、图6或图7所示实施例中的模块可以按照实施例描述分布于客户端中,也可以进行相应变化位于不同于本发明图5、图6或图7所示实施例的一个或多个装置中。本发明图5、图6或图7所示实施例中的模块可以合并为一个模块,例如:本发明图5、图6或图7所示实施例中的模块可以作为本发明图2所示实施例中客户端的应用处理装置,或者该应用处理装置的一部分;当然本发明图5、图6或图7所示实施例中的模块也可以进一步拆分成多个子模块;本发明实施例对此不作限定。
图8为本发明代理网关一个实施例的结构示意图,本实施例中的代理网关可以实现本发明图4所示实施例的流程。如图8所示,该代理网关可以包括:发送模块81和报文接收模块82,其中:
发送模块81,用于通过与客户端之间建立的隧道以及与服务器之间建立的控制通道,将服务器发送的该服务器的IP地址和第一数据端口的端口号发送给客户端;
报文接收模块82,用于通过上述隧道接收客户端发送的数据报文,该数据报文中携带有服务器的IP地址和第一数据端口的端口号;
本实施例中,发送模块81还可以根据报文接收模块82接收的数据报文中携带的服务器的IP地址和第一数据端口的端口号与该服务器建立数据通道,将上述数据报文通过上述数据通道发送给服务器。
上述代理网关无需对控制报文进行处理,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载,并且该代理网关与客户端通过该客户端与该代理网关之间建立的隧道,交互客户端的控制报文和数据报文,避免了在代理网关上开启多个数据端口进行报文的侦听,提高了使用代理网关的网络的安全性。
图9为本发明代理网关另一个实施例的结构示意图,与图8所示的代理网关相比,不同之处在于,图9所示的代理网关中,发送模块81可以包括:控制报文接收子模块811和转发子模块812;
其中,控制报文接收子模块811,用于通过与客户端之间建立的隧道接收客户端发送的第一控制报文;
转发子模块812,用于将控制报文接收子模块811接收的第一控制报文通过与服务器之间建立的控制通道转发至服务器,该第一控制报文中携带服务器的IP地址;
本实施例中,控制报文接收子模块811还可以接收服务器通过控制通道发送的第二控制报文,该第二控制报文携带服务器的IP地址以及该服务器根据第一控制报文产生的第一数据端口的端口号;
转发子模块812还可以将第二控制报文通过与客户端之间建立的隧道发送给客户端。
上述代理网关无需对控制报文进行处理,代理网关仅用于报文的转发,从而减轻了代理网关的处理负载;并且该代理网关与客户端通过该客户端与该代理网关之间建立的隧道,交互客户端的控制报文和数据报文,避免了在代理网关上开启多个数据端口进行报文的侦听,提高了使用代理网关的网络的安全性。
图10为本发明报文传输系统一个实施例的结构示意图,如图10所示,该报文传输系统可以包括:代理网关1001、服务器1002和客户端1003;
其中,客户端1003,用于获得服务器1002的IP地址和第一数据端口的端口号,保存该服务器1002的IP地址和第一数据端口的端口号的对应关系;通过开启的第二数据端口获得数据报文,该第二数据端口的端口号与第一数据端口的端口号相同;并根据第二数据端口的端口号以及保存的服务器1002的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关1001,该封装后的数据报文中携带有服务器1002的IP地址和第一数据端口的端口号;具体地,客户端1003可以通过本发明图5、图6或图7所示的客户端实现;
代理网关1001,用于通过与客户端1003之间建立的隧道以及与服务器1002之间建立的控制通道,将服务器1002发送的该服务器1002的IP地址和第一数据端口的端口号转发给客户端1003;通过上述隧道接收客户端1003发送的封装后的数据报文,并根据封装后的数据报文中携带的服务器1002的IP地址和第一数据端口的端口号与服务器1002建立数据通道,将封装后的数据报文通过上述数据通道发送给服务器1002;具体地,代理网关1001可以通过本发明图8或图9所示的代理网关实现。
上述实施例中,客户端1003对控制报文进行处理,无需代理网关1001对控制报文进行处理,代理网关1001仅用于报文的转发,从而减轻了代理网关1001的处理负载,并且客户端1003与代理网关1001通过该客户端1003与该代理网关1001之间建立的隧道交互客户端1003的控制报文和数据报文,避免了在代理网关1001上开启多个数据端口进行报文的侦听,提高了使用代理网关1001的网络的安全性。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。此外,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (5)

1.一种报文传输方法,其特征在于,包括:
通过与代理网关之间建立的隧道向所述代理网关发送第一控制报文,以使所述代理网关通过所述代理网关与服务器之间建立的控制通道将所述第一控制报文转发至所述服务器,所述第一控制报文中携带有所述服务器的IP地址;
接收所述代理网关通过所述隧道转发的第二控制报文,所述第二控制报文由所述服务器通过所述控制通道发送至所述代理网关,且携带有所述服务器的IP地址以及所述服务器根据所述第一控制报文产生的第一数据端口的端口号;
解析所述第二控制报文,获得并保存所述服务器的IP地址和所述第一数据端口的端口号;
将所述服务器的IP地址替换为回环地址,根据所述回环地址建立回环连接;所述回环地址代表客户端的本地虚拟接口,默认为永远不会宕掉的接口;所述回环连接为根据所述回环地址建立的连接,所述连接为在客户端自身建立的连接,所述客户端既作为发送端又作为接收端;
通过开启的第二数据端口在所述回环连接上进行侦听,获得数据报文,所述第二数据端口的端口号与所述第一数据端口的端口号相同;
根据所述第二数据端口的端口号以及预先保存的所述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关,所述封装后的数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;以使所述代理网关根据所述IP地址和所述第一数据端口的端口号与所述服务器建立数据通道,将所述封装后的数据报文发送至所述服务器。
2.一种报文传输方法,其特征在于,包括:
通过与客户端之间建立的隧道以及与服务器之间建立的控制通道,将所述服务器发送的所述服务器的IP地址和第一数据端口的端口号转发给所述客 户端;
通过所述隧道接收所述客户端发送的数据报文,所述数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;所述数据报文是所述客户端通过开启的第二数据端口在回环连接上进行侦听获得的,然后根据所述第二数据端口的端口号以及预先保存的所述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关的;所述第二数据端口的端口号与预先获得的服务器的第一数据端口的端口号相同;
根据所述数据报文中携带的所述服务器的IP地址和第一数据端口的端口号与所述服务器建立数据通道,将所述数据报文通过所述数据通道发送给所述服务器;
其中,所述通过与客户端之间建立的隧道以及与服务器之间建立的控制通道,将所述服务器发送的所述服务器的IP地址和第一数据端口的端口号转发给所述客户端包括:
通过与客户端之间建立的隧道接收所述客户端发送的第一控制报文;
将所述第一控制报文通过与服务器之间建立的控制通道转发至所述服务器,所述第一控制报文中携带所述服务器的IP地址;
接收所述服务器通过所述控制通道发送的第二控制报文,所述第二控制报文携带所述服务器的IP地址以及所述服务器根据所述第一控制报文产生的第一数据端口的端口号;
将所述第二控制报文通过与所述客户端之间建立的隧道发送给所述客户端,以供所述客户端解析所述第二控制报文,获得并保存所述服务器的IP地址和所述第一数据端口的端口号,以及将所述服务器的IP地址替换为回环地址,根据所述回环地址建立回环连接;
其中,所述回环地址代表所述客户端的本地虚拟接口,默认为永远不会宕掉的接口;所述回环连接为根据所述回环地址建立的连接,所述连接为在所述客户端自身建立的连接,所述客户端既作为发送端又作为接收端。 
3.一种客户端,其特征在于,包括:
报文获得模块,用于通过第二数据端口在回环连接上进行侦听,获得数据报文,所述第二数据端口的端口号与预先获得的服务器的第一数据端口的端口号相同;
报文发送模块,用于根据所述第二数据端口的端口号以及预先保存的所述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关,所述封装后的数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;以使所述代理网关根据所述IP地址和所述第一数据端口的端口号与所述服务器建立数据通道,将所述封装后的数据报文发送至所述服务器;
所述客户端还包括:
控制报文发送模块,用于通过与所述代理网关之间建立的隧道向所述代理网关发送第一控制报文,以使所述代理网关通过所述代理网关与所述服务器之间建立的控制通道将所述第一控制报文转发至所述服务器,所述第一控制报文中携带有所述服务器的IP地址;
接收模块,用于接收所述代理网关通过所述隧道转发的第二控制报文,所述第二控制报文由所述服务器通过所述控制通道发送至所述代理网关,且携带有所述服务器的IP地址以及所述服务器根据所述第一控制报文产生的所述第一数据端口的端口号;
解析模块,用于解析所述第二控制报文,获得所述服务器的IP地址和所述第一数据端口的端口号;
保存模块,用于保存所述解析模块获得的所述服务器的IP地址和所述第一数据端口的端口号;
封装模块,用于将所述解析模块解析后的第二控制报文中携带的所述服务器的IP地址替换为回环地址;
建立模块,用于根据所述回环地址建立回环连接;
其中,所述回环地址代表所述客户端的本地虚拟接口,默认为永远不会宕掉的接口;所述回环连接为根据所述回环地址建立的连接,所述连接为在所述客户端自身建立的连接,所述客户端既作为发送端又作为接收端。 
4.一种代理网关,其特征在于,包括:
发送模块,用于通过与客户端之间建立的隧道以及与服务器之间建立的控制通道,将所述服务器发送的所述服务器的IP地址和第一数据端口的端口号转发给所述客户端;
报文接收模块,用于通过所述隧道接收所述客户端发送的数据报文,所述数据报文中携带有所述服务器的IP地址和第一数据端口的端口号;所述数据报文是所述客户端通过开启的第二数据端口在回环连接上进行侦听获得的,然后根据所述第二数据端口的端口号以及预先保存的所述服务器的IP地址和第一数据端口的端口号的对应关系将封装后的数据报文发送至代理网关的;所述第二数据端口的端口号与预先获得的服务器的第一数据端口的端口号相同;
所述发送模块,还用于根据所述报文接收模块接收的数据报文中携带的所述服务器的IP地址和第一数据端口的端口号与所述服务器建立数据通道,将所述数据报文通过所述数据通道发送给所述服务器;
其中,所述发送模块包括:
控制报文接收子模块,用于通过与客户端之间建立的隧道接收所述客户端发送的第一控制报文;
转发子模块,用于将所述控制报文接收子模块接收的第一控制报文通过与服务器之间建立的控制通道转发至所述服务器,所述第一控制报文中携带所述服务器的IP地址;
所述控制报文接收子模块,还用于接收所述服务器通过所述控制通道发送的第二控制报文,所述第二控制报文携带所述服务器的IP地址以及所述服务器根据所述第一控制报文产生的第一数据端口的端口号;
所述转发子模块,还用于将所述第二控制报文通过与所述客户端之间建立的隧道发送给所述客户端,以供所述客户端解析所述第二控制报文,获得并保存所述服务器的IP地址和所述第一数据端口的端口号,以及将所述服务 器的IP地址替换为回环地址,根据所述回环地址建立回环连接;
其中,所述回环地址代表所述客户端的本地虚拟接口,默认为永远不会宕掉的接口;所述回环连接为根据所述回环地址建立的连接,所述连接为在所述客户端自身建立的连接,所述客户端既作为发送端又作为接收端。
5.一种报文传输系统,其特征在于,包括:服务器、如权利要求3所述的客户端和如权利要求4所述的代理网关。 
CN2010102487108A 2010-08-04 2010-08-04 报文传输方法、系统、客户端和代理网关 Active CN101909011B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102487108A CN101909011B (zh) 2010-08-04 2010-08-04 报文传输方法、系统、客户端和代理网关

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102487108A CN101909011B (zh) 2010-08-04 2010-08-04 报文传输方法、系统、客户端和代理网关

Publications (2)

Publication Number Publication Date
CN101909011A CN101909011A (zh) 2010-12-08
CN101909011B true CN101909011B (zh) 2013-01-23

Family

ID=43264334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102487108A Active CN101909011B (zh) 2010-08-04 2010-08-04 报文传输方法、系统、客户端和代理网关

Country Status (1)

Country Link
CN (1) CN101909011B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103167022B (zh) * 2013-02-04 2017-04-05 北京蓝汛通信技术有限责任公司 一种数据包传输方法、相关设备及系统
CN105262787A (zh) * 2015-09-06 2016-01-20 浪潮软件股份有限公司 一种云端服务访问内网数据的技术
CN107360205B (zh) * 2016-05-09 2020-12-29 阿里巴巴集团控股有限公司 数据报文的传输方法及装置、系统
CN111901357B (zh) * 2020-08-06 2023-08-11 腾讯科技(深圳)有限公司 远程网络连接方法、系统、计算机设备和存储介质
CN115412599B (zh) * 2022-09-01 2024-01-30 北京东土军悦科技有限公司 一种报文数据转发方法、装置及服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444815A (zh) * 2000-07-28 2003-09-24 瑞吉威系统及软件有限公司 带有防火墙和网络地址转换的音频-视频电话
CN1588900A (zh) * 2004-09-30 2005-03-02 西安西电捷通无线网络通信有限公司 实现建立随机隧道的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145106A1 (en) * 2002-01-31 2003-07-31 Sun Microsystems, Inc. System and method for directing wireless data packet traffic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1444815A (zh) * 2000-07-28 2003-09-24 瑞吉威系统及软件有限公司 带有防火墙和网络地址转换的音频-视频电话
CN1588900A (zh) * 2004-09-30 2005-03-02 西安西电捷通无线网络通信有限公司 实现建立随机隧道的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
董德顺.FTP主动和被动传输区别.《才智》.2010,(第7期), *

Also Published As

Publication number Publication date
CN101909011A (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
CN101909011B (zh) 报文传输方法、系统、客户端和代理网关
CN107360154B (zh) 一种内网安全接入方法及系统
CN106797335B (zh) 数据传输方法、数据传输装置、电子设备和计算机程序产品
CN106470238A (zh) 应用于服务器负载均衡中的连接建立方法及装置
CN104994079A (zh) 访问请求的处理方法和装置、加速服务器
CN104038447A (zh) 一种报文传输方法和设备
CN102739684A (zh) 一种基于虚拟IP地址的Portal认证方法及服务器
US20130007109A1 (en) Load balancing system and method thereof
CN104038505A (zh) 一种IPSec防重放的方法和装置
CN104506549A (zh) 建立网游连接的方法、设备及系统
CN105939325A (zh) Tcp旁路阻断的方法及装置
CN110417632B (zh) 一种网络通信方法、系统及服务器
CN108093041B (zh) 单通道vdi代理服务系统及实现方法
CN113301106A (zh) 运维处理系统、方法以及装置
CN101262504A (zh) 一种源和目的ip地址转换的方法、设备及系统
US9917926B2 (en) Communication method and communication system
CN113364660B (zh) Lvs负载均衡中的数据包处理方法及装置
CN104796887A (zh) 一种安全信息交互的方法和装置
CN108064441B (zh) 一种加速网络传输优化方法以及系统
CN102158565A (zh) 一种为远端设备配置ip地址的方法和系统
CN112968965A (zh) Nfv网络节点的元数据服务方法、服务器及存储介质
US11968237B2 (en) IPsec load balancing in a session-aware load balanced cluster (SLBC) network device
EP4181431A1 (en) Service transmission method and apparatus, network device, and storage medium
CN114390020A (zh) 一种在地址转换nat场景下opc协议alg实现方法
CN103944776A (zh) 一种自环链路聚合的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220830

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

TR01 Transfer of patent right