通过复制中转ip包来透传vpn通信的方法

文档序号:7694758阅读:398来源:国知局
专利名称:通过复制中转ip包来透传vpn通信的方法
通过复制中转IP包来透传VPN通信的方法
技术领域
本发明涉及计算机网络通信技术,尤其是一种通过复制中转IP包来透传VPN通信的方法。
背景技术
因为IPv4互联网网络IP地址数量的有限性,当前大多数以太局域网中的电脑或其他设备,都必须通过NAT处理,共用一个互联网出口的公网IP地址,才能实现连接访问互联网的通信功能。当前存在两种基本的NAT处理方式NAT和NAPT。NAT是一对一转换,一个局域网中的私有IP地址,对应一个互联网公网IP地址。NAPT,是一对多转换,多个局域网中的私有IP地址,都使用一个相同的互联网公网IP地址。还存在其它变种NAT技术,但无论哪种NAT变种技术,都需要改变数据包中IP头部的IP地址。
NAT技术,虽然解决了局域网中多台电脑、共享一个公网IP地址、同时访问互联网的应用需求,但也对某些特殊的通信功能,带来限制。例如,对互联网中虚拟局域网(VPN)通信,带来诸多限制,使很多VPN通信,不能在局域网电脑和公网服务器之间进行,局域网中的电脑,不能成功拨号连接到公网上的VPN服务器。尤其是对IPSEC隧道模式实现的VPN通信,更是限制。IPSEC隧道模式的VPN通信,完全无法在局域网中电脑和公网服务器之间进行。IPSEC隧道模式通信,不允许从局域网内电脑发出的IP包,在到达互联网上的VPN服务器之前,IP地址发生改变。从VPN服务器发出的IP包,在到达局域网内电脑之前,也不允许IP地址发生改变。然而NAT处理,至少会改变IP包中IP头的IP地址。这样,就带来矛盾,造成两者无法兼容共存。这个问题,对于酒店来讲,更是一个大问题。对于企业局域网,还可以部署某种特殊的软件或设备,来实现VPN对于NAT的穿透,实现VPN通信。但是对于酒店局域网,每天有各种各样的客人入住,每个客人可能有各种不同的VPN通信方式。尤其是IPSEC隧道模式的VPN通信,在欧美的使用范围很广泛。这些外国客人到中国来商务旅行,入住中国的酒店,也需要和客人所在公司的总部,进行IPSEC隧道模式的VPN通信。这种通信行为,完全无法在中国绝大多数酒店中实现,影响酒店的上网服务质量。少数高星酒店,在客人需要IPSEC隧道模式的VPN通信时,临时分配一个备用的公网IP地址给客人使用,客人使用完后,再收回这个公网IP地址。这种临时的措施,虽然可以满足客人的VPN通信要求,但也给酒店管理方,带来很大的管理负担。并且酒店必须先向电信公司申请一个或多个公网IP地址,保留备用。这样的操作模式,既给酒店方带来成本负担,也带来宝贵公网IP地址资源的浪费。因为酒店保留备用的公网IP地址,平时是空闲的,客人需要时才使用。电信公司又必须一直给酒店保留这些公网IP地址,不能有效利用这些公网IP地址资源。因此,开发研究一种可以有效解决局域网和互联网之间进行IPSEC隧道模式下的VPN通信问题的通信方法,成为一个亟待研究的课题。
发明内容本发明旨在提供一种通过复制中转IP包来透传VPN通信的方法,此方法可有效解决局域网和互联网之间进行IPSEC隧道模式的VPN通信问题。本发明的目的是这样实现的,它包括以下步骤A、局域网络中内部需要访问互联网进行VPN通信的电脑,在局域网中的IP地址,设置为互联网上的公网IP地址;和此内部电脑设置的公网IP地址对应,在互联网上,真实存在一台中转服务器,其IP地址设置为此公网IP地址,真实拥有此公网地址。B、局域网的上网路由器,当其LAN网口接收到内部电脑发送来的VPN通信IP包时,先把IP包复制到中转服务器,再通过中转服务器发送IP包到互联网。C、在中转服务器上,建立一个局域网上网路由器和VPN服务器IP地址之间的映射关联表。 D、中转服务器接收到从VPN服务器发送回来的VPN通信的IP包,查找第3步骤建立的映射关联表,找到对应的局域网上网路由器,把IP包复制到局域网上网路由器,上网路由器再把IP包发送到目标内部电脑。本发明的有益效果在于其一、对于IPSEC隧道模式的VPN通信问题,在本发明技术方案中,当局域网电脑和互联网上的VPN服务器进行通信,双方收发的IP包数据,只是在中间传输过程中,增加了复制中转处理的环节,在到达通信双方时,IP层数据没有发生任何改变,IP地址没有被转换修改,所以可以顺利进行IPSEC隧道模式的VPN通信。从而彻底解决局域网和外部互联网之间进行VPN通信的问题。其二、在酒店局域网中,本发明具有重要的实际使用价值,电信公司,可以提供一批公网IP地址,供不同的酒店使用。电信公司在为这一批公网IP地址,提供一台或者多台中转服务器硬件设备,来转发这批IP地址的VPN通信。每个酒店在其局域网中,都使用同一批公网IP地址。每个酒店,再使用具有本专利中复制IP包的功能的路由器。当酒店客人在进行IPSEC隧道模式的VPN通信时,通过路由器和中转服务器的协同处理,酒店客人就可以顺利进行VPN通信。即使是IPSEC隧道模式的VPN通信,也可以顺利进行。本发明技术,并不局限于酒店网络中使用。对于一个企业,也可以使用同样的技术,来解决普遍存在的VPN通信的问题。本发明技术,典型的实用价值,是解决局域网和互联网之间进行IPSEC隧道模式的VPN通信问题。但本发明技术,也不局限于只解决此VPN通信的问题。利用本发明的技术,可以解决很多类似的通信问题。当NAT处理影响通信的顺利进行时,就可以考虑采取本发明的技术方案,来解决这种问题。实际使用中,可以把本方法的处理功能,增加到标准的路由器上。局域网电脑在进行非IPSEC的VPN通信时,进行常规的NAT处理。只有当局域网电脑在进行IPSEC的VPN通信时,才使用本发明方法进行处理。所以,在实际使用中,中转服务器并不会存在很大的通信处理压力,并不会阻碍本发明方法的实际运用。

图I为本发明单台内部电脑网络拓扑示意2为本发明多台内部电脑和多个局域网的网络拓扑示意图具体实施方式下面结合附图及具体实施方式
对本发明作进一步说明本发明为一种通过复制中转IP包来透传VPN通信的方法,包括以下步骤(I)、局域网络中内部需要访问互联网进行VPN通信的电脑,在局域网中的IP地址,设置为互联网上的公网IP地址;和此内部电脑设置的公网IP地址对应,在互联网上,真实存在一台中转服务器,其IP地址设置为此公网IP地址,真实拥有此公网IP地址;参照附图I所示,例如,一个局域网中的电脑,设置其IP地址为202.61. 186. 120。网关IP地址设置为任何有效的、同网段的IP地址,如202.61. 186. 1,IP地址掩码为255. 255. 255.0 ;在互联网上的中转服务器,其IP地址设为202.61. 186. 120,其网关IP地址设为任何有效的、同网段的IP地址,如202. 61. 186. 1,IP地址掩码为255. 255. 255. O。在局域网中的内部电脑,虽然其IP地址设置为公网IP地址(如 202.61.186. 120),但因为通信被局域网的上网路由器所隔断,并不会被互联网所真实访问至IJ,在互联网上访问202. 61. 186. 120这个公网IP地址时,必然实际访问到的是位于公网上的对应的中转服务器,并非访问到局域网中的内部电脑。局域网内部电脑设置的网关IP地址,这个网关的角色,实际由局域网的上网路由器的LAN网口来担任。当内部电脑发出ARP查询包,询问其网关IP地址(202.61.186.1)对应的MAC地址时,上网路由器的LAN网口将发出ARP响应包,响应查询,通知内部电脑,
202.61.186. I对应的MAC地址,就是路由器LAN网口的MAC地址。如此处理后,内部电脑访问互联网上的IP地址时,其IP包将被首先发送到路由器的LAN网口上来。局域网的上网路由器的LAN网口,对于内部电脑,虽然担当一个网关(202.61. 186. I)的角色,但其LAN网口的实际IP地址,还是设置一个私网IP地址,例如192. 168. I. 1,和常规的上网路由器并不产生冲突矛盾。路由器的LAN网口,只是额外多担当一个内部电脑的网关角色(202.61. 186. I)的功能,响应内部电脑发出的网关IP地址(202.61. 186. I)的ARP查询包,发出对应的ARP响应包,使得内部电脑发送的、访问互联网的IP包,首先被发送到上网路由器的LAN网口上来。上网路由器的WAN 口,还是如常规路由器一样,设置一个真实有效的公网IP地址。通过此公网IP地址,路由器可以在互联网上进行正常的通信。(2)、局域网的上网路由器,当其LAN网口接收到内部电脑发送来的VPN通信IP包时,先把IP包复制到中转服务器,再通过中转服务器发送IP包到互联网。该步骤中上网路由器和常规上网路由器的处理完全不同,常规上网路由器接收到内部电脑发送来的IP包,经过上网路由器本身处理后,就直接发送到互联网,而本发明中的上网路由器,接收到内部电脑发送来的IP包,不直接发送到互联网,而是把IP包复制到中转服务器,再通过中转服务器来把IP包发送到互联网。在这个步骤处理的过程中,上网路由器需要把IP包复制到中转服务器,可以存在多种多样的复制IP包的方法;例如上网路由器可以先把原始IP包封装到一个新的IP包里面,新的IP包的目标IP地址设置为中转服务器IP地址,再把新的IP包发送出去。新的IP包被中转服务器接收到,中转服务器再从IP包中把原始IP包解封出来。就实现把原始IP包从上网路由器复制到中转服务器;再例如,上网路由器和中转服务器之间可以建立一条TCP/IP的socket通信连接,上网路由器接收到内部电脑发送来的IP包,通过socket连接,把IP包数据发送到中转服务器,中转服务器从socket连接中接收到IP包的数据后,再重新构建一个IP包,IP包的数据就完全和内部电脑发送IP包的数据相同,也实现把原始IP包从上网路由器复制到中转服务器。为什么要先把IP包复制到中转服务器,再通过中转服务器来发送IP包呢?因为上网路由器的公网IP地址,和内部电脑设置的IP地址并不相同。内部电脑发送的IP包的源IP地址,不是上网路由器的公网IP地址。上网路由器必须对IP包的源IP地址进行转换,才能通过公网IP地址发送出去。但正是IP地址转换的NAT处理,限制了 IPSEC隧道模式的VPN通信无法顺利进行。所以,需要通过本发明的此步骤操作处理,先把IP包复制到中转服务器。中转服务器的IP地址,和内部电脑的IP地址是相同的,所以,不需要对IP包的源IP地址进行转换。在满足现有公知的IP通信的规则下,先把IP包复制到中转服务器,再通过中转服务器来最终把IP包发送到互联网,就可以避开常规上网路由器NAT转换对IP层数据造成的破坏,从而满足IPSEC隧道模式的VPN通信中不得对IP地址进行任何改变的要求。先把IP包复制到中转服务器,再通过中转服务器来发送IP包,实际效果上,完全模拟出是中转服务器在访问VPN服务器的效果,造成是中转服务器在访问目标VPN服务器的假象,VPN服务器并不会知道是局域网中的内部电脑在访问它,VPN服务器只会认为是中转服务器在访问它,VPN服务器发回来的IP包,必然最终会到达中转服务器,被中转服务器接收到。(3)、在中转服务器上,建立一个局域网上网路由器和VPN服务器IP地址之间的映射关联表。在上面第2步的操作处理中,中转服务器接收到局域网上网路由器复制来的IP包数据时,同时也需要建立一个局域网上网路由器的公网IP地址和VPN服务器IP地址(即IP包目标IP地址)的一个映射关联表。如下面表格例子;
权利要求
1.一种通过复制中转IP包来透传VPN通信的方法,其特征在于包括以下步骤 A、局域网络中内部需要访问互联网进行VPN通信的电脑,在局域网中的IP地址,设置为互联网上的公网IP地址;和此内部电脑设置的公网IP地址对应,在互联网上,真实存在一台中转服务器,其IP地址设置为此公网IP地址,真实拥有此公网地址。
B、局域网的上网路由器,当其LAN网口接收到内部电脑发送来的VPN通信IP包时,先把IP包复制到中转服务器,再通过中转服务器发送IP包到互联网。
C、在中转服务器上,建立一个局域网上网路由器和VPN服务器IP地址之间的映射关联表。
D、中转服务器接收到从VPN服务器发送回来的VPN通信的IP包,查找第3步骤建立的映射关联表,找到对应的局域网上网路由器,把IP包复制到局域网上网路由器,上网路由器再把IP包发送到目标内部电脑。
全文摘要
本发明公开了一种通过复制中转IP包来透传VPN通信的方法,该方法具体为局域网内部电脑设置为一个公网IP地址,在互联网上存在一台对应的中转服务器,真实拥有这个公网IP地址;内部电脑发出VPN通信IP包,局域网路由器把IP包复制到中转服务器,再通过中转服务器发送到VPN服务器;在中转服务器上建立局域网路由器和VPN服务器之间的映射关联表;VPN服务器发回来的IP包,到达中转服务器,中转服务器查找映射关联表,把IP包复制到对应的局域网路由器,再通过路由器转发到内部电脑。本发明的典型应用价值,是解决局域网电脑和互联网之间进行IPSEC隧道模式的VPN通信问题。
文档编号H04L12/46GK102821020SQ20111016089
公开日2012年12月12日 申请日期2011年6月9日 优先权日2011年6月9日
发明者李小林 申请人:李小林
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1