CN101159657A - 一种实现私网穿越的方法、设备及服务器 - Google Patents
一种实现私网穿越的方法、设备及服务器 Download PDFInfo
- Publication number
- CN101159657A CN101159657A CNA2007101759584A CN200710175958A CN101159657A CN 101159657 A CN101159657 A CN 101159657A CN A2007101759584 A CNA2007101759584 A CN A2007101759584A CN 200710175958 A CN200710175958 A CN 200710175958A CN 101159657 A CN101159657 A CN 101159657A
- Authority
- CN
- China
- Prior art keywords
- tunnel
- message
- server
- address
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种实现私网穿越的方法、设备及服务器。其主要包括:首先,处于私网中的源设备生成待发送的报文后,由隧道客户端将该报文前封装上隧道后通过建立的隧道发送给隧道服务器;之后,隧道服务器报文后将隧道头剥离,并进行地址转换,将报文发送到目的了。由于采用了隧道传输技术进行报文的传递,因此,本发明实施例能够简便的实现各种网络环境下的私网穿越,大大简化了网络的维护,便于运营商在各种网络环境下推广其业务。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种私网穿越技术。
背景技术
随着网络技术的迅速发展,电信网逐步向移动网络和固定网络互相融合的方向发展,使得各种电信业务均希望承载于IP(互联网协议)网络上。但是由于IP网络中的IP地址的严重缺乏,使得无法每一个终端都分配一个公网地址。为此,需要在IP网络上实现相应的私网穿越功能,以实现公网地址与私网地址之间的转换,使得利用较少的公网IP地址满足更多的私网用户的访问网络的需求。
现有技术中,基于IP网络的私网穿越方式主要包括三种,下面将对该三种通常采用的私网穿越实现方式进行说明。
第一种私网穿越方式为:基于ALG(应用层网关)的穿越方式
在该方式中,NAT(网络地址转换)设备上的核心模块是ALG,具体的私网穿越方式为:通过修改TCP(传输控制协议)、UDP(用户数据包协议)报文头部地址信息实现公网地址与私网地址的转换,同时还通过ALG识别出应用层协议报文内容中地址和端口,并对识别出的地址和端口进行转换,在NAT出口处替换为公网地址出口,以保证报文能路由回来。
可以看出,由于该方式中需要NAT设备识别出应用层协议,使得每新增一种应用,便需要对NAT进行升级。而在网络上已经部署了大量NAT设备的情况下,实现对网络上所有的NAT设备的升级将变得十分困难。
第二种私网穿越方式为:STUN(UDP的NAT简单穿越)的穿越方式
在该方式中,首先,应用程序STUN Client(STUN客户端)向NAT外的STUN Server(STUN服务器)发送基于UDP的STUN请求消息;STUNServer接收到所述请求消息后产生响应消息,响应消息中携带请求消息的端口,即STUN Client在NAT上对应的外部端口;之后,通过NAT,将响应消息发送给STUN Client;STUN Client通过响应消息中的内容得知其在NAT上对应的外部地址。这样,在后续的报文内容需要携带地址端口的情况下,填上已知的外部地址端口。
在该方式中,虽然无需改动现网中的NAT设备,但是,其无法支持TCP连接的穿越,也无法穿越对称型NAT,即该方式不支持TCP连接和对称型NAT的私网穿越。
第三种私网穿越方式为:TURN(NAT Relay(NAT中继器)穿越)的穿越方式,即通过Relay(中继)方式穿越私网
在该方式中,应用程序TURN Client(TURN客户端)通过类似STUN的机制预先获得其在公网上的地址和端口,但是,TURN方式得到是其在TURNServer(TURN服务器)的地址和端口,则通过TURN Server转发经过NAT的所有TURN Client报文。
在该方式中,解决了TCP连接和对称型NAT的私网穿越问题,但是,在实现本发明过程中,发明人发现上述现有技术至少存在以下问题:
目前,很多企业的内部网络均存在NAT/FW设备,该NAT/FW设备对穿越的报文使用的端口、协议等均有严格的限制,这将导致某些协议报文无法通过企业的NAT/FW设备,因而,相应报文也就无法到达STUN Server,使得私网穿越无法实现。即在实现私网穿越过程中,由于企业内部网络的安全限制非常严格,导致私网穿越的情况更加复杂。
总之,目前没有一种技术方案能够解决各种网络环境下的私网穿越问题,包括解决各种企业内部网络中的私网穿越。
发明内容
本发明实施例提供一种实现私网穿越的方法、设备及服务器,以便于能够实现各种网络环境下的私网穿越,且实现过程简单。
本发明实施例提供了一种实现私网穿越的方法,包括:
在处于私网中的源设备与隧道服务器之间的建立隧道;
处于私网中的源设备生成待发送的报文后,由隧道客户端在该报文前封装隧道头,并通过所述隧道发送到隧道服务器;
隧道服务器对收到报文进行隧道头的剥离,并进行网络地址转换,创建地址转换对应关系,之后,将报文发送到目的服务器。
本发明实施例提供了一种客户端设备,包括:
隧道建立单元,用于在处于私网中的源设备与隧道服务器间建立隧道;
报文获取单元,用于获取处于私网中的源设备生成的待发送的报文;
第一隧道管理单元,用于将报文接收单元接收到的报文前增加隧道头后,通过所述隧道建立单元建立的隧道发送给处于公网中的隧道服务器。
本发明实施例提供了一种隧道服务器,包括:
隧道建立单元,用于在处于私网中的隧道客户端与隧道服务器之间的建立隧道;
报文处理单元,用于通过所述隧道建立单元建立的隧道交互报文,所述的报文前封装有隧道头;
第二隧道管理单元,用于对所述报文处理单元接收到的隧道客户端发来的报文进行去隧道封装处理,去除报文前的隧道头,及对需要发送给隧道客户端的报文进行隧道封装处理,并将封装处理后的报文通过所述报文处理单元发送;
网络地址转换单元,用于将所述第二隧道管理单元处理后的报文进行地址转换处理并发送。
由上述本发明实施例提供的技术方案可以看出,本发明实施例提供的私网穿越实现方案,由于采用了隧道传输技术进行穿越报文的传递,且在报文最前面封装相应的隧道头,因此,本发明实施例能够简便的实现各种网络环境下的私网穿越,并使得穿越过程中报文的处理更加灵活,大大简化了网络的维护,便于运营商在各种网络环境下推广其业务。
附图说明
图1为本发明实施例应用的网络结构示意图;
图2为本发明实施例提供的私网穿越处理流程示意图;
图3为本发明实施例提供的设备及服务器的具体实现结构示意图。
具体实施方式
本发明实施例提供的私网穿越实现方案中,主要包括:在处于私网中的源设备生成待发送的报文后,由网络地址转换客户端在该报文前封装隧道头,即在报文的最外层封装隧道头,并通过建立的隧道发送给隧道服务器;隧道服务器收到所述报文后创建地址转换对应关系,并根据该地址转换对应关系将报文中的网络地址转换客户端的私网源地址转换为公网源地址,发送转换后的报文,将报文发送给接收该报文的目的设备。
目的设备接收到隧道服务器发来的报文后,可以向隧道服务器返回响应报文,且该响应报文需要发送给所述源设备,在这种情况下,隧道服务器则可以根据其记录的地址转换对应关系将该响应报文中的公网目的地址转换为源设备的私网目的地址,之后,通过所述隧道发送转换后的响应报文。
另外,在上述处理过程中,为使得源设备中生成的待发送报文可以被所述的虚拟网卡获取,则还可以在源设备上配置相应的路由信息,以便于在源设备中能够根据配置的路由信息及待发送报文的目的地址将待发送的报文传递给虚拟网卡,即当待发送报文的目的地址与配置的路由信息匹配时,则将相应的报文传递给虚拟网卡,虚拟网卡交给第一报文收发处理单元,以进行后续的报文发送处理。
具体一点讲,本发明实施例中,可以在公网上部署TN_Server(隧道和NAT服务器),在源设备上部署TN Client(隧道和NAT客户端),若存在NAT(网络地址转换)/FW(防火墙设备),则还在连接于TN_Server与TNClient之间的NAT/FW上开放到达TN_Server的IP和端口,允许到达TN_Server的报文穿越NAT/FW。经过这样的部署便可以使得源设备的报文能够通过TN_Client、NAT/FW及TN_Server实现私网到公网的穿越。其中,所述的地址可以包括IP地址和端口。
本发明实施例中,相应的报文传递的处理过程具体可以包括:
(一)私网中的源设备发送报文的处理过程
(1)源设备通过TN Client发送报文,报文最外层的目的地址为TNServer的地址,源地址为源设备(即TN Client)的地址;
(2)所述报文经NAT/FW之后,执行NAT转换处理,将所述报文的源IP地址及端口转换为公网IP地址(即转换为NAT/FW的地址),并发送到公网上的TN Server;
(3)TN Server收到所述报文后,解封装后根据报文中的源地址(即源设备的地址)和目的地址(即接收报文中数据的设备的地址),并将报文中的源地址转换为TN Server的地址,将报文转发至相应的目的设备。
(二)公网中的设备向私网中的设备发送响应报文的处理过程
(1)目的设备向公网上的TN Server发送响应报文,该响应报文的目的地址为TN Server的地址;
(2)TN Server收到所述响应报文后,将所述响应报文的目的地址修改为源设备的IP地址和端口,并进行隧道封装然后发送;
(3)所述响应报文经过NAT/FW之后,继续执行地址转换处理,将该响应报文的目的地址修改为接收该响应报文的TN Client的地址(执行公网地址到私网地址的转换),并发送;
(4)源设备中的TN Client接收响应报文,即源设备收到响应报文。
在上述处理过程中,源设备可以通过在TN Client与TN Server之间建立的隧道与TN Server之间进行信息的交互。相应的处理过程可以包括:TNClient截获源设备发出的请求报文,并将所述请求报文封装隧道头后发送;之后,封装了隧道头的报文到达NAT/FW后,由NAT/FW将该报文中的私网源地址转换成公网源地址,并继续发送;最后,该报文到达TN Server,由TNServer去掉该报文的隧道头,并对该报文的源地址进行转换(即转换为TNServer的地址),之后,将转换后的报文发送至目的设备。同样,目的设备向源设备发送的响应报文也可以通过TN Client与TN Server之间的隧道进行传递,以使得源设备可以接收到相应的响应报文。
根据实际需求,在网络中可以布置多个TN Server,以用于为不同的源设备提供相应的私网穿越功能。
本发明实施例中,源设备具体可以为PC(个人计算机),或者,也可以为其他需要进行私网穿越的设备或应用程序。
本发明实施例中,TN Client为在设备上部署的具有隧道功能和NAT功能的程序或设备;若所述TN Client为程序,则该程序可以单独安装,不影响设备上已有的程序。而且,为使得TN Client能够通过TN Client与TN Server间的隧道传递报文,TN Client包括虚拟网卡。
为便于对本发明实施例的理解,下面结合图1和图2,对本发明实施例的具体应用进行详细叙述。
图1为本发明实施例的应用的网络环境的结构示意图,具体包括:公网上的目的设备Server(服务器)1,在公网上部署的TN Server,公网和源设备之间的NAT/FW,需要进行私网穿越的源设备(即PC以及其上设置的TNClient,且所述TN Client上设置了虚拟网卡)。
在图1中,假设所述PC的IP地址和端口分别为10.1.1.10和5000,所述PC进行私网穿越后到达的目的设备的IP地址和端口分别为:40.1.1.10和6600;所述的TN Server的IP地址和端口分别为30.1.1.10和8000;所述的NAT/FW的公网IP地址和端口分别为20.1.1.10和20001。
为使得TN Client发送的报文可以穿越NAT/FW到达TN Server,则需要在NAT/FW设置为允许源设备的报文穿越NAT/FW到达TN Server。
在TN Client上,需要创建UDP Socket(用户数据报协议的套接口),以便于令TN Client与TN Server建立连接,其中,该连接的源IP地址和端口为10.1.1.10和5000,目的IP地址和端口为30.1.1.10和8000。通过该连接发送的报文在到达NAT/FW后,相应的源IP地址和端口将被转换为公网IP地址和端口,即转换为20.1.1.10和20001。
基于上述假设,本发明实施例中,首先需要建立TN Client与TN Server之间的隧道,以传递TN Client与TN Server之间的报文,相应的隧道建立的过程具体可以包括以下过程:
(1)TN Client向TN Server发送隧道建立请求;
(2)NAT/FW设备收到TN Client发来的隧道建立请求后,生成如下NAT表项:
私网IP | 私网端口 | 公网IP | 公网端口 |
10.1.1.10 | 5000 | 20.1.1.10 | 20001 |
由上述NAT表项可知,在NAT/FW上,可以利用该生成的表项将源设备的私网源IP地址和端口转换为NAT/FW上设置的公网源IP地址和端口。
(3)NAT/FW利用上述表项对所述隧道建立请求进行私网地址到公网地址的转换处理后,发送给TN Server,所述TN Server收到该隧道建立请求后,则生成如下的隧道索引表:
隧道索引 | IP | 端口 |
1 | 20.1.1.10 | 20001 |
在该隧道索引表中,1为隧道的索引号,用于表明隧道索引号为1的隧道,其对应的IP地址和端口是20.1.1.10和20001(即NAT/FW的地址)。
TN Server收到该连接请求之后,还向TN Client发送连接响应,TNClient从TN Server获取的IP地址、掩码、网关分别为192.168.1.10、255.255.255.0、192.168.1.1;
(4)TN Client将获取的所述信息设置到虚拟网卡上;
同时,TN Client设置路由信息,即设置需要穿越私网的目的地址,使得到该目的地址的报文路由到网关192.168.1.1,例如,配置到目的IP为40.1.1.10的路由,应该路由到网关192.168.1.1上,则源设备发送的目的地址为40.1.1.10报文将被路由到所述网关,在路由到网关的过程中该报文将会被虚拟网卡截获并传送到目的IP地址为192.168.1.10的TN Client,以便于TNClient可以获取需要穿越私网的报文;
也就是说,在源设备中,设置需要发送到网关192.168.1.1的报文均需要经过虚拟网卡传送出去,这样,相应的报文便可以被虚拟网卡截获,并可以将其传递给TN Client,以便于TN Client通过隧道传递所述报文。
建立相应的隧道后,为避免该隧道被老化掉,还需要在TN Client与TNServer之间定时进行报文的交互(如交互心跳报文等)。
通过上述处理过程,便可以在TN Client与TN Server之间建立相应的隧道,下面将对利用该隧道进行报文传递的处理过程进行描述。
如图2所示,本发明实施例的报文传递处理过程包括发送流程和接收流程,下面分别对本发明实施例的发送流程和接收流程进行详细叙述。
(一)本发明实施例的发送报文的处理流程包括如下步骤:
步骤1:源设备向目的设备发送请求报文;具体可以由源设备的应用程序发送所述请求报文。
在本发明实施例中,应用程序访问的目的设备的IP地址和端口为40.1.1.10和6600,根据在源设备中设置的路由,应用程序访问目的设备的请求报文选择虚拟网卡的地址192.68.1.10和1025作为源地址;同时,根据设置的路由,所述请求报文应经过网关192.168.1.1传送(以便于报文可以被TNClient获取),该所述请求报文的具体格式如下表所示:
步骤2:TN Client截获所述请求报文,并进行隧道封装;
具体可以为:首先,请求报文在发送过程中被TN Client上设置的虚拟网卡截获,并通过虚拟网卡和TN Client之间的接口被发送到TN Client;之后,由TN Client对所述请求报文进行隧道封装并发送;
其中,隧道封装后的请求报文的具体格式如下表所示:
由上述隧道封装后的请求报文的具体格式可以看出,对所述请求报文的隧道封装,即是在原有的请求报文中增加一个隧道头,所述隧道头包括公网目的IP和端口(30.1.1.10和8000),以及源设备的私网源IP地址和端口(10.1.1.10和5000);对于步骤1中所述的请求报文则作为步骤2中生成的报文的数据直接封装到数据区中。
步骤3:步骤2中经过隧道封装后的报文到达NAT/FW后,由NAT/FW对该报文的源IP和端口进行转换处理,即将报文中的源设备的私网源IP地址和端口转换成公网源IP地址和端口,之后,继续发送该报文;
具体可以为:根据建立隧道时创建的NAT表项对经过隧道封装后的报文进行地址转换处理,转换处理后的报文的具体格式如下表所示:
由上述报文的具体格式可以看出,在TN Client与TN Server创建的连接所经过的NAT/FW上,按照其上预先创建的NAT表项,可以将源设备的私网源IP地址和端口转换成公网源IP地址和端口,即将10.1.1.10和5000转换为20.1.1.10和20001。
步骤4:NAT/FW发送的报文到达TN Server后,TN Server将该报文的隧道头去掉,并对该报文的源IP和端口、目的IP和端口进行NAT,即进行网络地址转换操作,将TN Client的IP地址和端口转换为TN Server的IP地址和端口,之后,向目的设备发送转换后的报文;
在进行NAT的过程中,还创建的相应的NAT表项,该表项如下:
隧道索引 | 私网IP | 私网端口 | 公网IP | 公网端口 |
1 | 192.168.1.10 | 1025 | 30.1.1.10 | 30001 |
由该NAT表项可以看出,在TN Server上,隧道索引为1的隧道的两端地址分别为:TN Client一端的私网IP地址和端口,以及TN Server一端的公网IP地址和端口;
通过创建的该NAT表项,TN Server需要将接收到的NAT/FW发来的报文中的TN Client地址(私网地址)转换为公网地址一,以及在接收到目的设备返回的响应报文后,能够根据该NAT表项将所述响应报文中目的地址(公网地址)转换为TN Client的地址(私网地址)后发送给TN Client;
在该步骤中,TN Server根据上述NAT表项对接收的报文进行转换,转换后得到的报文格式如下表所示:
由上述报文格式可知,将步骤3中的报文去掉隧道头之后,将TN Client的私网源IP地址和端口转换为对应的公网IP地址和端口(即30.1.1.10和8000),并将转换生的报文发送给目的设备Server1。
(二)本发明实施例的接收响应报文的处理流程包括如下步骤:
TN Server将以上报文发送到Server1之后,Server1对报文进行回应,即需要向源设备方向返回响应报文;相应的源设备的接收响应报文的处理流程具体可以包括如下步骤:
步骤1:Server1对源设备发出的请求报文进行响应;
由于Server1接收到的是TN Server发来的请求报文(报文的源地址为TNServer的地址),所以该响应报文的目的地址应为TN Server的地址,即相应的响应报文的格式如下表所示:
目的IP、端口 | 30.1.1.10 | 30001 |
源IP、端口 | 40.1.1.10 | 6600 |
数据区 | DATA |
步骤2:TN Server收到所述响应报文后,则查找相应的NAT表项,以对响应报文中的目的IP地址和端口进行转换;
在该步骤中,转换后的响应报文的格式如下表所示:
目的IP、端口 | 192.168.1.10 | 1025 |
源IP、端口 | 40.1.1.10 | 6600 |
数据区 | DATA |
由上述报文格式可以看出,TN Server根据其上的NAT表项,将作为目的地址的公网IP地址和端口(即TN Server的地址)转换为相应的私网IP地址和端口(即源设备的地址),以便于源设备可以接收到该响应报文;
同时,TN Server根据NAT表项中的隧道索引,找到对应的隧道索引表,对该响应报文进行隧道封装,封装后的响应报文格式如下表所示:
由上述报文格式可以看出,进行隧道封装后的报文,即是在原有的报文中添加隧道头,所述隧道头指示该报文的源IP地址和端口为TN Server的公网IP地址和端口,所述隧道头指示该报文的目的IP地址和端口为NAT/FW设备的公网IP和端口,以使得响应报文可以到达NAT/FW设备。
步骤3:NAT/FW接收到所述响应报文后,查找NAT表项,并根据查找到的NAT表项对该响应报文的目的IP地址和端口进行转换,以将响应报文的目的IP地址和端口转换为源设备的私网IP地址和端口,具体地,转换后的响应报文的格式如下表所示:
NAT/FW向TN Client发送转换后的响应报文。
步骤4:TN Client接收到所述的响应报文后,将响应报文的隧道头去掉,具体地,去掉隧道头的响应报文格式如下表所示:
目的IP、端口 | 192.168.1.10 | 1025 |
源IP、端口 | 40.1.1.10 | 6600 |
数据区 | DATA |
之后,根据去掉隧道头的响应报文中的目的IP地址和端口,将上述去掉隧道头的响应报文发送到TN Client与源设备之间的虚拟网卡;
步骤5:虚拟网卡接收到所述响应报文后,继续将该响应报文发送到相应的协议层进行处理,如发送到TCP/IP协议层处理,并继续将该报文送到相应的应用程序中,以便应用程序对此报文进行处理。
经过上述处理,处于私网中的设备可以穿越私网,通过公网中的隧道服务器与其他设备之间进行信息交互。
本发明实施例还提供了一种客户端设备,该客户端设备的具体结构如图3所示,具体可以包括:
(1)隧道建立单元,用于建立与隧道服务器之间的隧道,以便通过该隧道进行穿越私网的报文的传递;
(2)报文获取单元,用于获取处于私网中的源设备生成的待发送的报文,具体可以根据配置的路由信息获取需要穿越私网的待发送的报文;
(3)第一隧道管理单元,用于将报文接收单元接收到的报文前封装隧道头,并通过所述隧道建立单元建立的隧道发送给处于公网中的隧道服务器,以实现私网穿越;
可选地,该第一隧道管理单元具体可以包括:
报文发送处理单元,用于将待发送的报文前封装上隧道头后通过所述第一隧道建立单元建立的隧道发送;
报文接收处理单元,用于通过所述隧道接收报文,并对接收到的报文进行去隧道封装处理,解隧道封装后的报文可以交给其他协议层进行相应的报文接收处理。
可选地,该客户端设备还可以包括隧道维护单元,用于定时通过所述隧道与隧道服务器之间进行报文的传递,以保证隧道的有效性,例如,通过定时发送心跳报文的方式保证隧道的有效,以避免隧道因长时间未使用而被网络中的NAT/FW设备等老化掉,同时,若在一定时间内未收到某条隧道的心跳报文则将该隧道老化掉。
可选地,该客户端设备还可以包括虚拟网卡管理单元,用于创建虚拟网卡,设置虚拟网卡的IP地址、掩码、网关等;该虚拟网卡作为所述报文获取单元,用于根据设置的目的路由信息截获源设备中的应用程序生成的待发送的报文(需要穿越私网的报文),并传递给隧道管理单元。
为获得相应的目的路由信息,所述的设备还可以包括路由管理单元,用于设置目的路由信息,并将设置的目的路由信息提供给所述虚拟网卡,以便于所述虚拟网卡可以截获与目的路由信息匹配的需要穿越私网的报文;例如,该路由管理单元负责设置目的IP地址的路由,该目的IP地址是源设备中应用程序需要访问的地址,且路由设置完成后,所述应用程序发的报文将被路由到虚拟网卡。
本发明实施例还提供了一种隧道服务器,其具体实现结构仍如图3所示,具体可以包括:
(1)隧道建立单元,用于建立与隧道服务器之间的隧道,以便通过该隧道进行穿越私网的报文的传递;
(2)报文处理单元,用于与处于私网中的隧道客户端之间交互报文,所述的报文为通过与所述隧道客户端之间的隧道交互传递,即接收由私网用户通过隧道发来的报文,并在所述报文最外层封装上隧道头后通过隧道向私网用户发送报文;
(3)第二隧道管理单元,用于对所述报文处理单元接收到的隧道客户端发来的报文进行去隧道封装处理,以及用于对需要发送到隧道客户端的报文进行隧道封装处理,并将封装处理后的报文通过所述报文处理单元发送给隧道客户端;
可选地,所述的第二隧道管理单元具体可以用于记录并维护隧道两端的地址信息,如维护隧道索引表,以记录隧道对应的IP地址和端口,并提供给所述网络地址转换单元,以便于网络地址转换单元可以根据该隧道两端的地址信息进行相应的网络地址转换处理。
可选地,该隧道服务器还可以包括隧道维护单元,用于定时通过所述隧道与一个或多个隧道客户端之间进行报文的传递,以保证隧道的有效性,例如,通过心跳报文的传递保证隧道的有效,同时,若在一定时间内未收到某条隧道的心跳报文则将该隧道老化掉。
(4)网络地址转换单元,用于将所述第二隧道管理单元处理后的报文中进行地址转换处理后发送。
在隧道服务器中,可选地,还可以包括地址分配处理单元,用于为处于私网中的隧道客户端中的虚拟网卡(设置于客户端设备中)分配地址,该单元具体可以为DHCP处理单元,且用于负责分配IP地址给TN Client,当隧道连接老化掉以后,还负责释放分配的IP地址。
综上所述,利用上述本发明实施例,源设备可以从私网向公网发出的请求报文,之后,还可以从公网接收到一个响应报文,而且,本发明实施例是在报文最前面封装相应的隧道头,因此,其能够简便的实现各种网络环境下的私网穿越,并使得穿越过程中报文的处理更加灵活。进一步讲,由于本发明实施例中,报文的传递具体是在TN Client和TN Server间通过隧道封装传递实现,因此,无论源设备发出的何种协议的报文,均可以经过隧道封装传递,对于NAT/FW来说,通过的报文只有一种,即目的IP和端口为特定的公网目的IP和端口(例如,本发明实施例中的30.1.1.10和8000)的报文,而对于报文的具体内容,NAT/FW并不涉及。这样,只需要在NAT/FW上设置一个简单的规则,允许到TN Client和TN Server之间传递的穿越私网的报文可以穿越该NAT/FW即可,即本发明实施例可以应用于各种网络环境中,且不会对其业务产生负面影响,大大简化了网络的维护。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种实现私网穿越的方法,其特征在于,包括:
在处于私网中的源设备与隧道服务器之间的建立隧道;
处于私网中的源设备生成待发送的报文后,由隧道客户端在该报文前封装隧道头,并通过所述隧道发送到隧道服务器;
隧道服务器对收到报文进行隧道头的剥离,并进行网络地址转换,创建地址转换对应关系,之后,将报文发送到目的服务器。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
隧道服务器接收需要发送给所述源设备的响应报文,并根据所述地址转换对应关系将该响应报文中的公网目的地址转换为网络地址转换客户端的私网目的地址,并封装隧道头后通过所述隧道发送转换后的响应报文。
3.一种客户端设备,其特征在于,包括:
隧道建立单元,用于在处于私网中的源设备与隧道服务器间建立隧道;
报文获取单元,用于获取处于私网中的源设备生成的待发送的报文;
第一隧道管理单元,用于将报文接收单元接收到的报文前增加隧道头后,通过所述隧道建立单元建立的隧道发送给处于公网中的隧道服务器。
4.根据权利要求3所述的设备,其特征在于,所述的第一隧道管理单元具体包括:
报文发送处理单元,用于将待发送的报文前封装上隧道头后通过所述第一隧道建立单元建立的隧道发送;
报文接收处理单元,用于通过所述隧道接收报文,并对接收到的报文进行去隧道封装处理。
5.根据权利要求4所述的设备,其特征在于,该设备还包括隧道维护单元,用于定时通过所述隧道与隧道服务器之间进行联系,保持所述隧道连接的有效。
6.根据权利要求3、4或5所述的设备,其特征在于,所述的设备还包括虚拟网卡管理单元,用于创建虚拟网卡,该虚拟网卡作为所述报文获取单元,用于根据设置的目的路由信息截获源设备生成的待发送的报文,并传递给隧道管理单元。
7.根据权利要求6所述的设备,其特征在于,所述的设备还包括路由管理单元,用于设置目的路由信息,并将设置的目的路由信息提供给所述虚拟网卡。
8.一种隧道服务器,其特征在于,包括:
隧道建立单元,用于在处于私网中的隧道客户端与隧道服务器之间的建立隧道;
报文处理单元,用于通过所述隧道建立单元建立的隧道交互报文,所述的报文前封装有隧道头;
第二隧道管理单元,用于对所述报文处理单元接收到的隧道客户端发来的报文进行去隧道封装处理,去除报文前的隧道头,及对需要发送给隧道客户端的报文进行隧道封装处理,并将封装处理后的报文通过所述报文处理单元发送;
网络地址转换单元,用于将所述第二隧道管理单元处理后的报文进行地址转换处理并发送。
9.根据权利要求8所述的服务器,其特征在于,所述的第二隧道管理单元还包括隧道维护单元,用于定时通过所述隧道与一个或多个隧道客户端之间进行联系,以保持隧道连接的有效性。
10.根据权利要求8或9所述的服务器,其特征在于,所述服务器还包括地址分配处理单元,用于为处于私网中的客户端设备中的虚拟网卡分配地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101759584A CN101159657A (zh) | 2007-10-16 | 2007-10-16 | 一种实现私网穿越的方法、设备及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101759584A CN101159657A (zh) | 2007-10-16 | 2007-10-16 | 一种实现私网穿越的方法、设备及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101159657A true CN101159657A (zh) | 2008-04-09 |
Family
ID=39307583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101759584A Pending CN101159657A (zh) | 2007-10-16 | 2007-10-16 | 一种实现私网穿越的方法、设备及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101159657A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148767A (zh) * | 2011-05-12 | 2011-08-10 | 杭州华三通信技术有限公司 | 一种基于nat的数据路由方法及其装置 |
CN102281180A (zh) * | 2011-07-14 | 2011-12-14 | 冶金自动化研究设计院 | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 |
WO2012022145A1 (zh) * | 2010-08-20 | 2012-02-23 | 成都市华为赛门铁克科技有限公司 | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统 |
CN102571814A (zh) * | 2012-02-10 | 2012-07-11 | 浙江宇视科技有限公司 | 一种ip监控系统中穿越隔离设备的方法及代理设备 |
CN101753634B (zh) * | 2008-12-19 | 2013-01-30 | 华为技术有限公司 | 一种私网穿越的方法,系统和装置 |
CN102932487A (zh) * | 2012-11-26 | 2013-02-13 | 福建伊时代信息科技股份有限公司 | 数据处理方法及系统 |
WO2013086928A1 (zh) * | 2011-12-13 | 2013-06-20 | 华为技术有限公司 | 一种互联方法、装置和系统 |
WO2013117154A1 (zh) * | 2012-02-10 | 2013-08-15 | 浙江宇视科技有限公司 | 穿越监控网络中隔离设备的方法和设备 |
CN104168173A (zh) * | 2010-08-20 | 2014-11-26 | 华为技术有限公司 | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统 |
CN104468625A (zh) * | 2014-12-26 | 2015-03-25 | 浙江宇视科技有限公司 | 拨号隧道代理装置、利用拨号隧道穿越nat的方法 |
CN104618214A (zh) * | 2015-03-06 | 2015-05-13 | 北京深思数盾科技有限公司 | 构建局域网进行信息传输的方法及系统 |
CN104639418A (zh) * | 2015-03-06 | 2015-05-20 | 北京深思数盾科技有限公司 | 构建局域网进行信息传输的方法及系统 |
CN105208139A (zh) * | 2014-06-26 | 2015-12-30 | 浙江大华技术股份有限公司 | 一种终端建立连接的方法、终端和服务器 |
CN103905302B (zh) * | 2012-12-28 | 2017-06-06 | 上海格尔软件股份有限公司 | 一种在使用虚拟网卡的Windows主机上绑定源IP的方法 |
CN109120737A (zh) * | 2018-08-10 | 2019-01-01 | 哈尔滨工业大学(威海) | 一种基于泊松模型的递增型对称nat的udp穿透方法与系统 |
CN109819067A (zh) * | 2019-03-12 | 2019-05-28 | 赛特斯信息科技股份有限公司 | 利用stun协议实现基于vxlan隧道技术的nat穿越处理的方法 |
CN110830454A (zh) * | 2019-10-22 | 2020-02-21 | 远江盛邦(北京)网络安全科技股份有限公司 | 基于alg协议实现tcp协议栈信息泄露的安防设备检测方法 |
CN111614796A (zh) * | 2020-04-30 | 2020-09-01 | 网络通信与安全紫金山实验室 | 使用手工密钥配置IPsec隧道穿越NAT的方法及装置 |
-
2007
- 2007-10-16 CN CNA2007101759584A patent/CN101159657A/zh active Pending
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753634B (zh) * | 2008-12-19 | 2013-01-30 | 华为技术有限公司 | 一种私网穿越的方法,系统和装置 |
CN104168173A (zh) * | 2010-08-20 | 2014-11-26 | 华为技术有限公司 | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统 |
WO2012022145A1 (zh) * | 2010-08-20 | 2012-02-23 | 成都市华为赛门铁克科技有限公司 | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统 |
CN102377629A (zh) * | 2010-08-20 | 2012-03-14 | 成都市华为赛门铁克科技有限公司 | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统 |
CN104168173B (zh) * | 2010-08-20 | 2018-01-16 | 华为技术有限公司 | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统 |
US9813380B2 (en) | 2010-08-20 | 2017-11-07 | Huawei Technologies Co., Ltd. | Method, apparatus, and network system for terminal to traverse private network to communicate with server in IMS core network |
US9172559B2 (en) | 2010-08-20 | 2015-10-27 | Huawei Technologies Co., Ltd. | Method, apparatus, and network system for terminal to traverse private network to communicate with server in IMS core network |
CN102377629B (zh) * | 2010-08-20 | 2014-08-20 | 华为技术有限公司 | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统 |
CN102148767A (zh) * | 2011-05-12 | 2011-08-10 | 杭州华三通信技术有限公司 | 一种基于nat的数据路由方法及其装置 |
CN102281180A (zh) * | 2011-07-14 | 2011-12-14 | 冶金自动化研究设计院 | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 |
US9137334B2 (en) | 2011-12-13 | 2015-09-15 | Huawei Technologies Co., Ltd. | Interconnection method, apparatus, and system based on socket remote invocation |
WO2013086928A1 (zh) * | 2011-12-13 | 2013-06-20 | 华为技术有限公司 | 一种互联方法、装置和系统 |
CN102571814A (zh) * | 2012-02-10 | 2012-07-11 | 浙江宇视科技有限公司 | 一种ip监控系统中穿越隔离设备的方法及代理设备 |
US9215215B2 (en) | 2012-02-10 | 2015-12-15 | Zhejiang Uniview Technologies Co., Ltd | Method and device for passing through isolation device in surveillance network |
WO2013117154A1 (zh) * | 2012-02-10 | 2013-08-15 | 浙江宇视科技有限公司 | 穿越监控网络中隔离设备的方法和设备 |
CN102932487A (zh) * | 2012-11-26 | 2013-02-13 | 福建伊时代信息科技股份有限公司 | 数据处理方法及系统 |
CN103905302B (zh) * | 2012-12-28 | 2017-06-06 | 上海格尔软件股份有限公司 | 一种在使用虚拟网卡的Windows主机上绑定源IP的方法 |
CN105208139A (zh) * | 2014-06-26 | 2015-12-30 | 浙江大华技术股份有限公司 | 一种终端建立连接的方法、终端和服务器 |
CN105208139B (zh) * | 2014-06-26 | 2018-08-07 | 浙江大华技术股份有限公司 | 一种终端建立连接的方法、终端和服务器 |
CN104468625B (zh) * | 2014-12-26 | 2018-07-13 | 浙江宇视科技有限公司 | 拨号隧道代理装置、利用拨号隧道穿越nat的方法 |
CN104468625A (zh) * | 2014-12-26 | 2015-03-25 | 浙江宇视科技有限公司 | 拨号隧道代理装置、利用拨号隧道穿越nat的方法 |
CN104618214B (zh) * | 2015-03-06 | 2018-07-06 | 北京深思数盾科技股份有限公司 | 构建局域网进行信息传输的方法及系统 |
CN104639418A (zh) * | 2015-03-06 | 2015-05-20 | 北京深思数盾科技有限公司 | 构建局域网进行信息传输的方法及系统 |
CN104639418B (zh) * | 2015-03-06 | 2018-04-27 | 北京深思数盾科技股份有限公司 | 构建局域网进行信息传输的方法及系统 |
CN104618214A (zh) * | 2015-03-06 | 2015-05-13 | 北京深思数盾科技有限公司 | 构建局域网进行信息传输的方法及系统 |
CN109120737A (zh) * | 2018-08-10 | 2019-01-01 | 哈尔滨工业大学(威海) | 一种基于泊松模型的递增型对称nat的udp穿透方法与系统 |
CN109819067A (zh) * | 2019-03-12 | 2019-05-28 | 赛特斯信息科技股份有限公司 | 利用stun协议实现基于vxlan隧道技术的nat穿越处理的方法 |
CN110830454A (zh) * | 2019-10-22 | 2020-02-21 | 远江盛邦(北京)网络安全科技股份有限公司 | 基于alg协议实现tcp协议栈信息泄露的安防设备检测方法 |
CN110830454B (zh) * | 2019-10-22 | 2020-11-17 | 远江盛邦(北京)网络安全科技股份有限公司 | 基于alg协议实现tcp协议栈信息泄露的安防设备检测方法 |
CN111614796A (zh) * | 2020-04-30 | 2020-09-01 | 网络通信与安全紫金山实验室 | 使用手工密钥配置IPsec隧道穿越NAT的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101159657A (zh) | 一种实现私网穿越的方法、设备及服务器 | |
CN101447935B (zh) | 数据包转发方法、系统及设备 | |
CN105830395B (zh) | 用于促进分析的基于会话的分组路由 | |
CN101141420B (zh) | 私网与公网进行数据通信的方法及系统 | |
CN101197856B (zh) | Vpn网络间ip地址空间免规划及私有域名访问的方法 | |
CN102447752B (zh) | 基于二层隧道协议的业务访问方法、系统和装置 | |
EP2916499B1 (en) | Ip packet processing method, apparatus and network system | |
CN104468625B (zh) | 拨号隧道代理装置、利用拨号隧道穿越nat的方法 | |
CN105847108B (zh) | 容器间的通信方法及装置 | |
CN102209121A (zh) | IPv6网络和IPv4网络之间互通的方法和装置 | |
US20080112421A1 (en) | Systems and methods for distributing data packets over a communication network | |
CN103236964B (zh) | 基于Linux的DS-Lite实现方法及其CPE接入设备 | |
CN103067268A (zh) | 一种虚拟家庭网关服务提供方法及服务器 | |
CN101515882A (zh) | 一种局域网与公网通信的方法、设备及系统 | |
CN106413127A (zh) | Relay设备连接远程网管服务器的方法、系统及Relay设备 | |
CN102882733B (zh) | 一种穿越nat设备实现web网管方法 | |
KR100844380B1 (ko) | 가입자 단말 관리 시스템 및 그 방법과, 이를 구현하기 위한 프로그램이 저장된 기록매체 | |
CN102447747A (zh) | 一种与私有网络的交互方法、装置及系统 | |
CN101707573B (zh) | 一种实现ipv4和ipv6网互通的过渡体系架构 | |
CN102984202A (zh) | 一种穿越NAT设备实现Telnet网管的系统与方法 | |
CN101465858B (zh) | 监控业务中实现私网穿越的方法、网络设备和服务器 | |
CN104994178A (zh) | 一种网络地址转换方法及装置 | |
CN106506718B (zh) | 基于多重NAT纯IPv6网络的IVI过渡方法及网络系统 | |
CN102546845B (zh) | 业务访问方法、装置及系统 | |
CN108040137A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080409 |