CN101895559B - 一种代理穿越网络及防火墙的方法 - Google Patents

一种代理穿越网络及防火墙的方法 Download PDF

Info

Publication number
CN101895559B
CN101895559B CN 201010249039 CN201010249039A CN101895559B CN 101895559 B CN101895559 B CN 101895559B CN 201010249039 CN201010249039 CN 201010249039 CN 201010249039 A CN201010249039 A CN 201010249039A CN 101895559 B CN101895559 B CN 101895559B
Authority
CN
China
Prior art keywords
host
protocol
agent
agreement
network
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.)
Expired - Fee Related
Application number
CN 201010249039
Other languages
English (en)
Other versions
CN101895559A (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.)
Beijing Zhongchuang Telecom Test Co Ltd
Original Assignee
Beijing Zhongchuang Telecom Test 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 Beijing Zhongchuang Telecom Test Co Ltd filed Critical Beijing Zhongchuang Telecom Test Co Ltd
Priority to CN 201010249039 priority Critical patent/CN101895559B/zh
Publication of CN101895559A publication Critical patent/CN101895559A/zh
Application granted granted Critical
Publication of CN101895559B publication Critical patent/CN101895559B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了代理穿越网络及防火墙方法,包括步骤:接收服务器端或客户端的数据包;由所述数据包确定该数据包所应用的传输协议;根据该数据包所应用的传输协议确定所述应用的传输协议所归属的网络及防火墙穿越的实现方法种类;调用为所述应用的传输协议所归属的传输协议种类所设定的代理程序,实现通讯数据穿越网络及防火墙;所述设定的代理程序为根据传输协议按照其代理实现方法的不同分类后,分别与每一类传输协议对应的代理程序;所述代理程序为与其对应的一类传输协议实现通讯数据穿越网络及防火墙。本发明通过使每一类传输协议分别使用同一代理程序实现通讯数据穿越网络及防火墙的方案,实现了多种协议的穿越。

Description

一种代理穿越网络及防火墙的方法
技术领域
本发明涉及网络通讯领域,更具体地说,涉及一种代理穿越网络及防火墙的方法。
背景技术
目前的网络出于安全和管理方面的原因,会将内部网络通过防火墙等一些技术手段将内部网络与外网隔开。这样,虽然带来了安全与管理方便,但是,同时也造成了外部网络访问内部网络中的某些资源的时候,不方便或者不能够直接访问。这样就需要穿越网络,以方便外部网络访问内部网络中的资源。
目前,在客户端/服务器(C/S)模式的***中,其穿越网络的方法有其缺点,具体如下:
是针对不同的协议,分别在服务器端安装相应的代理程序,比如(socket,p,http等)。这种方法的问题是,由于经常在一个C/S***中的客户端上使用多种协议,从而需要在服务器端安装各种协议的代理程序,导致了C/S***的维护与配置复杂,增加了***的不稳定性。
发明内容
有鉴于此,本发明实施例提供了一种代理穿越网络及防火墙方法,以实现维护与配置简单的、支持多协议的且稳定的穿越网络及防火墙。
为了实现上述目的,本发明实施例提供了如下技术方案:
一种代理穿越网络及防火墙方法,包括步骤:
接收服务器端或客户端的数据包;
由所述数据包确定该数据包所应用的传输协议;
根据该数据包所应用的传输协议确定所述应用的传输协议所归属的网络及防火墙穿越的实现方法种类,所述传输协议按照代理实现方法的不同进行分类,且同一类所述传输协议使用同一代理程序;
调用为所述应用的传输协议所归属的传输协议种类所设定的代理程序,实现通讯数据穿越网络及防火墙;所述设定的代理程序为根据传输协议按照其代理实现方法的不同分类后,分别与每一类传输协议对应的代理程序;所述代理程序为与其对应的一类传输协议实现通讯数据穿越网络及防火墙。
优选的,在本发明实施例中,所述控制端口基于HTTP协议。
优选的,在本发明实施例中,所述将传输协议按照其代理实现方法的不同分类包括:
将基于TCP连接且不带源IP地址信息的协议归为一类。
优选的,在本发明实施例中,所述基于TCP连接且不带源IP地址信息的协议包括:
不带IP地址信息的TCP协议、TELNET协议和LDAP协议。
优选的,在本发明实施例中,对于所述基于TCP连接且不带源IP地址信息的协议,其所使用的代理程序具体实现方法为:
在协议穿越的路径节点上,所述代理程序监听其需要穿越的端口,并连接到目的计算机的对应端口;
当需要穿越所述端口进行通讯的数据到达时,将所述数据发送至目的计算机的对应端口。
优选的,在本发明实施例中,所述将传输协议按照其代理实现方法的不同分类包括:
将基于TCP连接且带有源IP地址信息的协议归为一类。
优选的,在本发明实施例中,所述基于TCP连接且带有源IP地址信息的协议包括:HTTP协议、IIOP协议和FTP协议。
优选的,在本发明实施例中,还包括:
对客户端中所述基于TCP连接的连接监控;
当所述连接在设定时间内没有与服务器发生数据交换时,将该连接与服务器或/和客户端断开。
优选的,在本发明实施例中,还包括:
所述代理程序将TCP协议、TELNET协议和LDAP协议实现为点对点的穿越;
所述代理程序将HTTP协议和FTP协议实现为点对面的穿越。
优选的,在本发明实施例中,所述代理程序分多级部署。
在本发明实施例中,先将需要到的传输协议按照其代理实现方法的不同予以分类,然后,使每一类传输协议分别使用同一代理程序实现通讯数据穿越网络及防火墙;最后通过控制端口增加或删除所述代理程序所允许代理的协议。通过上述方法,可以支持多种协议的穿越,另外,本发明实施例中,还可以通过控制端口可以方便的添加或删除允许予以代理的传输协议,从而方便实现了传输协议的管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中所述方法的步骤流程图;
图2为本发明实施例中所述IIOP协议实现的网络结构示意图;
图3为本发明又一实施例中所述方法的步骤流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种代理穿越网络及防火墙方法,以实现维护与配置简单的、支持多协议的且稳定的穿越网络及防火墙。
S11、接收服务器端或客户端的数据包;
由于大多数的网络使用了内部IP地址,而且,为了网络的安全考虑,大多数的网络还设有火墙,所以,当客户端和服务器分别处于不同的网络中时,需要使用代理服务器,所述代理服务器通过设有的代理程序以实现客户端与服务器之间的通讯数据在不同网络之间的穿越。
在本发明实施例中,客户端发送至服务器端的数据包和服务器发送至客户端的数据包,首先要由所述代理服务器接收。
S12、由所述数据包确定该数据包所应用的传输协议;
在实际应用中,客户端需要通过多种的不同协议与服务器通讯,以实现对服务器中不同服务的应用。由于使用不同传输协议的数据包具有不同的数据帧,所以可以通过分析数据包确定该数据包所应用的传输协议。
S13、根据该数据包所应用的传输协议确定所述应用的传输协议所归属的网络及防火墙穿越的实现方法种类;
为了避免为客户端与服务器端通讯所应用到的每一种使用到的协议单独设有代理程序,简化代理程序的配置和和维护,本发明实施例中,将使用到的协议按照其代理实现方法的不同分类。具体的,可以是,将基于TCP连接且不带IP地址信息的协议归为一类,这类的协议中,可以包括TCP协议、TELNET协议和LDAP协议等。
此外,本发明实施例中,还可以将基于TCP连接且带有IP地址信息的协议归为一类。这类的协议中,可以包括:HTTP协议、IIOP协议或/和FTP协议等。
S14、调用为所述应用的传输协议所归属的传输协议种类所设定的代理程序,实现通讯数据穿越网络及防火墙;所述设定的代理程序为根据传输协议按照其代理实现方法的不同分类后,分别与每一类传输协议对应的代理程序;所述代理程序为与其对应的一类传输协议实现通讯数据穿越网络及防火墙。
上一步骤中,由于基于TCP连接且不带IP地址信息的这一类协议都是基于TCP连接的,而且,在这些协议中,没有携带IP地址等客户端信息。所以,这类的协议可以使用同一代理程序,以实现客户端与服务器之间的通讯数据在不同网络之间的穿越。此类的协议所使用代理程序的具体实现方法可以为:在协议穿越的路径节点上监听其需要穿越的端口,并连接到服务器(目的计算机)的对应端口;当需要穿越所述端口进行通讯的数据到达时,将所述数据发送至服务器(目的计算机)的对应端口。
与上述记述同理,上一步骤中,基于TCP连接且带有IP地址信息的这一类协议也可以使用同一代理程序。在代理程序实现HTTP协议的穿越过程中,由于HTTP协议的特点是每一次发出请求的数据包中都带有访问目的资源所在计算机的地址信息(如IP地址),所以代理程序可以实现通讯数据信息从源计算机到目标计算机的穿越。具体的,可以是,代理程序收到客户端(即源计算机)的通讯数据包后,根据HTTP协议的信息,访问目标网段内的服务器(即目标计算机),然后,将结果返回给客户端。
在代理程序实现FTP协议的穿越过程中,与HTTP协议的过程类似,只是,根据FTP协议的定义,每个FTP协议需要有数据端口和控制端口两个TCP连接,所以代理程序实现FTP协议的穿越稍复杂一些。
在代理程序实现IIOP协议的穿越过程中,代理程序在收到客户端的通讯数据包后,会将所述通讯数据包中的源IP地址信息更改为代理程序所在代理服务器的IP地址,然后,将更改源IP地址信息后的通讯数据包发送给目标计算机,此时,目标计算机会认为所述通讯数据包由代理服务器发出的,从而会将结果数据包返回给代理服务器,代理服务器接收到结果数据包后,会将其中的源IP地址信息改回客户端的源IP地址,并发送至客户端。这样,代理程序对于客户端来说是透明的。
例如,如图2所示,一个网段为192.168.3.x的局域网,其中包括有IP地址为192.168.3.112的客户端1;所述客户端通过IP地址为10.224.10.20的代理服务器2使用IIOP协议和IP地址为10.224.10.30的服务器3通讯。其具体过程为:
IP地址为192.168.3.112的客户端1发送的使用IIOP协议的数据包;在IP地址为10.224.10.20的代理服务器2接收前,所述数据包中的源IP地址信息为192.168.3.112。
地址为10.224.10.20的代理服务器2接收到所述数据包后,所述代理服务器2中的代理程序将其中的源IP地址信息由192.168.3.112更改为10.224.10.20;然后,将更改源IP地址信息后的通讯数据包发送给IP地址为10.224.10.30的服务器3。
此时,所述服务器3会认为源IP地址信息为10.224.10.20通讯数据包是由代理服务器2发出的,从而会将结果数据包返回给代理服务器2;此时,数据包中的源IP地址信息为10.224.10.20。
所述代理服务器2中的代理程序将数据包中的源IP地址信息由10.224.10.20改回192.168.3.112并发送至客户端1。
在上述过程中,客户端1并不知道其源IP地址的更改过程,也不知道代理服务器2的存在,也就是说,代理服务器2对于客户端1来说是透明的。
在本发明的另一实施例中,还可以通过控制端口增加或删除所述代理程序所允许代理的协议。
在本发明实施例中,所述代理程序还提供了一个控制端口,具体的,在本发明实施例中,可以是基于HTTP协议的控制端口。通过控制端口,可以增删所述代理程序所允许代理的协议。从而,在知道客户端需要使用的协议种类后,只需要局域网的防火墙开放必要的端口即可实现所需的代理协议的穿越。
在本发明实施例中,先将需要到的传输协议按照其代理实现方法的不同予以分类,然后,使每一类传输协议分别使用同一代理程序实现通讯数据穿越网络及防火墙;最后通过控制端口增加或删除所述代理程序所允许代理的协议。通过上述方法,可以支持多种协议的穿越,而且,通过控制端口可以方便的添加或删除允许予以代理的传输协议,从而方便实现了传输协议的管理。
在本发明的另一实施例中,如图3所示,还可以是包括有以下步骤:
S21、接收服务器端或客户端的数据包;
S22、由所述数据包确定该数据包所应用的传输协议;
S23、根据该数据包所应用的传输协议确定所述应用的传输协议所归属的网络及防火墙穿越的实现方法种类;
S24、调用为所述应用的传输协议所归属的传输协议种类所设定的代理程序,实现通讯数据穿越网络及防火墙;所述设定的代理程序为根据传输协议按照其代理实现方法的不同分类后,分别与每一类传输协议对应的代理程序;所述代理程序为与其对应的一类传输协议实现通讯数据穿越网络及防火墙。
S25、通过控制端口增加或删除所述代理程序所允许代理的协议;
S26、对客户端中所述基于TCP连接的连接监控;当所述连接在设定时间内没有与服务器发生数据交换时,将该连接与服务器或/和客户端断开。
在本发明实施例中,步骤S21至S24分别与上一实施例中的相对应的步骤类似,在这里就不再赘述。
本发明实施例,还有步骤S26,即,对客户端中所述基于TCP连接的连接监控;当所述连接在设定时间内没有与服务器发生数据交换时,将该连接与服务器或/和客户端断开。
本发明实施例通过对客户端与服务器之间的连接进行监控,并及时的断开长期不活动的连接,使得服务器的资源不被长期不活动的连接占用,从而有效地减少了服务器的压力。
在本发明实施例中,所述代理程序还可以将TCP协议、TELNET协议和LDAP协议实现为点对点的穿越,将HTTP协议和FTP协议实现为点对面的穿越。
在本发明实施例中,所述代理程序还可分多级部署。具体的:
当需要穿透多个网络进行数据通讯时,比如,如果数据需要从IP地址为192.168.0.1的计算机经过IP地址为192.168.1.1的计算机再经过IP地址为192.168.2.1的计算机最后到达IP地址为192.168.3.1的计算机。所述多级部署的具体方式为:
首先,将代理程序部署到所要访问的机器上;通过控制端口启动代理程序并添加各种所需要穿越的协议与端口,其中,代理管理协议自己也可以通过代理程序穿越。所述添加各种所需要穿越的协议与端口具体可以是:
首先,以添加ADMIN协议为例,设定ADMIN协议使用端口为2300。具体的部署方式为:在192.168.0.1上添加ADMIN协议,端口2300到192.168.1.1:2300;在192.168.1.1上添加ADMIN协议,端口2300到192.168.2.1:2300;在192.168.2.1上添加ADMIN协议,端口2300到192.168.3.1:2300。这样,就可以从192.168.0.1的2300端口直接访问192.168.3.1的ADMIN协议。从而实现了穿透多个网络进行数据通讯。
接着,再以添加隧道协议为例,设定隧道协议使用的端口为2400。具体的部署方式为:在192.168.0.1上添加隧道协议,端口2400到192.168.1.1:2400;在192.168.1.1上添加隧道协议,端口2400到192.168.2.1:2400;在192.168.2.1上添加隧道协议,端口2400到192.168.3.1:2400。
在本发明实施例中,通过添加隧道协议,可以简化多级穿越中的复杂配置。比如,可以使用隧道协议,在192.168.0.1上添加p协议,从而使得端口2121可以直接连接到192.168.3.1:21。同理,还可以使用隧道协议,在192.168.0.1上添加HTTP协议,从而使得端口8080可以直接连接到192.168.3.1:80。同理,还可以使用隧道协议,在192.168.0.1上添加IIOP协议,从而使得端口2809可以直接连接到192.168.3.1:2809。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种代理穿越网络及防火墙方法,其特征在于,
接收服务器端或客户端的数据包;
由所述数据包确定该数据包所应用的传输协议;
根据该数据包所应用的传输协议确定所述应用的传输协议所归属的网络及防火墙穿越的实现方法种类,所述传输协议按照代理实现方法的不同进行分类,且同一类所述传输协议使用同一代理程序;
调用为所述应用的传输协议所归属的传输协议种类所设定的代理程序,实现通讯数据穿越网络及防火墙;所述设定的代理程序为根据传输协议按照其代理实现方法的不同分类后,分别与每一类传输协议对应的代理程序;所述代理程序为与其对应的一类传输协议实现通讯数据穿越网络及防火墙。
2.根据权利要求1所述方法,其特征在于,还包括,通过控制端口增加或删除所述代理程序所允许代理的协议。
3.根据权利要求2所述方法,其特征在于,所述控制端口基于HTTP协议。
4.根据权利要求3所述方法,其特征在于,所述将传输协议按照其代理实现方法的不同分类包括:
将基于TCP连接且不带源IP地址信息的协议归为一类;
将基于TCP连接且带有源IP地址信息的协议归为一类。
5.根据权利要求4述方法,其特征在于,所述基于TCP连接且不带源IP地址信息的协议包括:
不带IP地址信息的TCP协议、TELNET协议和LDAP协议。
6.根据权利要求5述方法,其特征在于,对于所述基于TCP连接且不带源IP地址信息的协议,其所使用的代理程序具体实现方法为:
在协议穿越的路径节点上,所述代理程序监听其需要穿越的端口,并连接到目的计算机的对应端口;
当需要穿越所述端口进行通讯的数据到达时,将所述数据发送至目的计算机的对应端口。
7.根据权利要求4所述方法,其特征在于,所述基于TCP连接且带有源IP地址信息的协议包括:HTTP协议、IIOP协议和FTP协议。
8.根据权利要求3至7中任一所述方法,其特征在于,还包括:
对客户端中所述基于TCP连接的连接监控;
当所述连接在设定时间内没有与服务器发生数据交换时,将该连接与服务器或/和客户端断开。
9.根据权利要求1所述方法,其特征在于,还包括:
所述代理程序将TCP协议、TELNET协议和LDAP协议实现为点对点的穿越;
所述代理程序将HTTP协议和FTP协议实现为点对面的穿越。
10.根据权利要求1所述方法,其特征在于,所述代理程序分多级部署。
CN 201010249039 2010-08-09 2010-08-09 一种代理穿越网络及防火墙的方法 Expired - Fee Related CN101895559B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010249039 CN101895559B (zh) 2010-08-09 2010-08-09 一种代理穿越网络及防火墙的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010249039 CN101895559B (zh) 2010-08-09 2010-08-09 一种代理穿越网络及防火墙的方法

Publications (2)

Publication Number Publication Date
CN101895559A CN101895559A (zh) 2010-11-24
CN101895559B true CN101895559B (zh) 2013-06-12

Family

ID=43104625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010249039 Expired - Fee Related CN101895559B (zh) 2010-08-09 2010-08-09 一种代理穿越网络及防火墙的方法

Country Status (1)

Country Link
CN (1) CN101895559B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970291B (zh) * 2012-11-19 2016-01-06 北京思特奇信息技术股份有限公司 一种穿越单边防火墙建立tcp连接的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030865A (zh) * 2006-02-28 2007-09-05 西门子通信技术(北京)有限公司 一种网络地址转换和/或防火墙穿越平台、***及其方法
CN101374141A (zh) * 2007-08-23 2009-02-25 浙江省电信有限公司 一种基于pcp协议的tcp nat穿越方法
CN101437036A (zh) * 2008-12-22 2009-05-20 北京中企开源信息技术有限公司 支持nat/防火墙穿越的文件传输方法和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030865A (zh) * 2006-02-28 2007-09-05 西门子通信技术(北京)有限公司 一种网络地址转换和/或防火墙穿越平台、***及其方法
CN101374141A (zh) * 2007-08-23 2009-02-25 浙江省电信有限公司 一种基于pcp协议的tcp nat穿越方法
CN101437036A (zh) * 2008-12-22 2009-05-20 北京中企开源信息技术有限公司 支持nat/防火墙穿越的文件传输方法和***

Also Published As

Publication number Publication date
CN101895559A (zh) 2010-11-24

Similar Documents

Publication Publication Date Title
CN107852604B (zh) 用于提供全局虚拟网络(gvn)的***
CN113950816A (zh) 使用边车代理机构提供多云微服务网关的***和方法
US8295277B2 (en) Analyzing a network with a cache advance proxy
US20060200547A1 (en) Methods, devices, systems and computer program products for providing secure communications between managed devices in firewall protected areas and networks segregated therefrom
CN107210933B (zh) 用于向附接的装备提供硬件资源信息的机制
EP3289728B1 (en) Distribution of internal routes for virtual networking
US9825815B2 (en) System and method for aggregating and estimating the bandwidth of multiple network interfaces
US20220368563A1 (en) Method for implementing gre tunnel, access point and gateway
JP5679343B2 (ja) クラウドシステム、ゲートウェイ装置、通信制御方法、及び通信制御プログラム
US11601358B2 (en) Cross datacenter communication using a mesh gateway
US11805011B2 (en) Bulk discovery of devices behind a network address translation device
CN111262715B (zh) 一种虚拟内网加速方法、***和计算机设备
Mohammadnia et al. IoT-NETZ: Practical spoofing attack mitigation approach in SDWN network
US20210044678A1 (en) Optimized quic fallback on access networks and endpoints
US20230336377A1 (en) Packet forwarding method and apparatus, and network system
EP3583751B1 (en) Method for an improved deployment and use of network nodes of a switching fabric of a data center or within a central office point of delivery of a broadband access network of a telecommunications network
US20200322418A1 (en) Secure remote computer network
CN105052106A (zh) 用于接收和传输互联网协议(ip)数据包的方法和***
WO2022151420A1 (zh) 一种数据包传输的方法、装置和***
CN101895559B (zh) 一种代理穿越网络及防火墙的方法
CN110381007B (zh) Tcp加速方法及装置
CN114979139B (zh) 边缘计算场景下异构虚拟网关的管理***及方法
CN105429844A (zh) 网络***、内网设备及内网设备的访问方法
WO2011026355A1 (zh) 节点接入家乡代理的方法、家乡代理集群***及业务路由器
US20090052446A1 (en) Communications Interface

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
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: 20130612

Termination date: 20170809