Vpn节点及其标识解析代理及方法、和vpn服务器的制作方法

文档序号:7624726阅读:1480来源:国知局
专利名称:Vpn节点及其标识解析代理及方法、和vpn服务器的制作方法
技术领域
本申请一般地涉及计算机网络 领域,更为具体地,涉及虚拟专用网(VPN)中的节点标识解析。
背景技术
虚拟专用网(Virtual Private Network, VPN)被定义为通过一个公共网络(例如,通常是因特网)建立的一个临时、安全的连接,是一条穿过混乱的公共网络的安全、稳定的隧道。使用这条隧道可以对数据进行几倍加密达到安全使用互联网的目的。虚拟专用网是对企业内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。虚拟专用网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。VPN的核心就是利用公共网络建立虚拟私有网,VPN可以通过特殊的加密的通讯协议在连接在因特网上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设光缆之类的物理线路。如图I所示,当网关路由器如401A、401B或局域网(LAN)如400A、400B中主机402A、402B上的VPN客户端功能开启时,VPN客户端连接互联网100上的VPN服务器300。VPN服务器300维护VPN地址如虚拟IP地址(10. 8. X. x)池301,且为每个VPN客户端分配一个VPN地址。VPN中的所有节点可通过VPN地址相互访问,他们之间的数据通常通过VPN服务器300转发。VPN服务器采用动态的方式给VPN客户端分配VPN地址。具体地,当某个VPN客户端关闭时,向其分配的VPN地址被回收后再分配给其他VPN客户端。因此,每个VPN客户端的VPN地址都不是固定的,这就给节点之间的相互访问带来麻烦源节点在访问之前必须通过其它方式获得目的节点的VPN地址。为解决这个问题,一个直接的想法就是将VPN节点的标识如主机名与VPN地址进行动态的绑定,这样源节点无论何时都可以通过目的节点的标识如主机名对目的节点进行访问。文献I (杨云海,利用动态DNS和VPN构建基于动态IP地址网络的小型分布式局域网,系统信息工程,2009年第5期)提出了一种将动态DNS (域名服务器)服务与VPN结合的方法。图2示出了与图I所示相同的网络,其中增加了动态DNS (DDNS)服务。动态DNS服务是互联网上的DNS系统,通常由DNS服务商提供。如图2所示,动态DNS服务拥有一个域名前缀(如图2中的oray. net),动态DNS服务会给节点分配一个静态的域名(如图2中的pci. oray. net、pc3. oray. net),然后将动态的VPN地址(如图2中的10. 8. 0. 7)与节点的静态域名(如pci. oray. net)绑定。源节点不需要做任何修改,就可以通过目的节点的域名访问目的节点。然而,DDNS是独立于VPN系统之外的,即VPN的管理员并不拥有和控制DDNS,这会给VPN系统带来很大的麻烦。例如,VPN的拥有者必须向DDNS服务提供商缴费。DDNS的任何问题都会导致VPN中采用域名访问的方式失效,而VPN的管理员因为不能控制DDNS,所以不能及时地进行错误恢复。VPN中每个节点的主机名必须由DDNS服务商分配,必须有相同的前缀(如示例中的.oray. net),但如果主机之前已经由一个存在的域名(如pcl.nec.cn),则会造成域名映射上的冲突
发明内容

鉴于上述问题,本发明的目的在于提供一种在VPN网络中设立节点标识解析代理的装置和方法,以解决现有技术中的上述问题。根据本发明的一个方面,提供了一种用于VPN的节点标识解析代理,该VPN包括VPN服务器以及多个VPN节点,所述节点标识解析代理包括节点标识-VPN地址关联装置,用于维护同VPN服务器建立连接的VPN节点的节点标识与VPN服务器分配给相应VPN节点的VPN地址之间的关联;以及请求处理装置,从源VPN节点接收对目的节点的节点标识解析请求,该请求包括目的节点的节点标识,其中请求处理装置响应于所述节点标识解析请求,根据节点标识-VPN地址关联装置,向源VPN节点返回与目的节点的节点标识相关联的VPN地址。根据本发明的另一方面,提供了一种VPN中的VPN服务器,该VPN还包括与该VPN服务器建立连接的多个VPN节点,所述VPN服务器包括动态主机配置协议(DHCP)服务器,用于向与该VPN服务器建立连接的VPN节点分配VPN地址,以及从离开该VPN的VPN节点回收分配的VPN地址;以及标识-地址绑定装置,用于从与该VPN服务器建立连接的VPN节点获得该VPN节点的节点标识,并从DHCP服务器获得分配给该VPN节点的VPN地址,以将该VPN节点的节点标识-VPN地址之间的关联发送给一用于该VPN的节点标识解析代理。根据本发明的再一方面,提供了一种VPN中的VPN节点,该VPN还包括与该VPN节点建立连接的VPN服务器,所述VPN节点包括VPN客户端,用于连接VPN服务器,其中在与VPN服务器建立连接并接收到VPN服务器所分配的VPN地址之后,向VPN服务器报告该VPN节点的节点标识。根据本发明的又一方面,提供了一种用于VPN的节点标识解析方法,该VPN包括VPN服务器以及多个VPN节点,所述方法包括为该VPN提供一节点标识解析代理,该代理负责为该VPN进行节点标识解析,在该代理处a)维护同VPN服务器建立连接的VPN节点的节点标识与VPN服务器分配给相应VPN节点的VPN地址之间的关联;b)从源VPN节点接收对目的节点的节点标识解析请求,该请求包括目的节点的节点标识;以及c)响应于所述节点标识解析请求,根据所维护的节点标识-VPN地址关联,向源VPN节点返回与目的节点的节点标识相关联的VPN地址。根据本发明的实施例,可以以较低的成本、简单的配置来实现所述代理,从而为VPN提供节点标识如域名解析服务。


通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中图I示出了常规技术中VPN的网络环境;
图2示出了常规技术中为VPN提供域名解析服务的设置;图3示出了根据本发明第一实施例的网络系统;图4示出了根据本发明第一实施例的节点标识解析代理的结构图;
图5示出了根据本发明第一实施例的VPN服务器的结构图;图6示出了根据本发明第一实施例的VPN节点的结构图;图7示出了根据本发明第一实施例在VPN节点进入VPN时的操作流程;图8示出了根据本发明第一实施例在两个节点之间建立通信的操作流程;图9中示出了根据本发明第一实施例的节点标识-VPN地址关联装置中数据结构与常规DNS服务器中数据结构之间的对比;图10示出了根据本发明第二实施例的网络系统;图11示出了根据本发明第二实施例的节点标识解析代理的结构图;图12示出了根据本发明第二实施例的VPN服务器的结构图;图13示出了根据本发明第二实施例的VPN节点的结构图;图14示出了根据本发明第二实施例在VPN节点进入VPN时的操作流程;以及图15示出了根据本发明第二实施例在两个节点之间建立通信的操作流程。
具体实施例方式以下,通过附图中示出的具体实施例来描述本发明。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。本发明的基本思想是由VPN网络自己做节点标识(如域名)解析,而不是依赖第三方的域名解析服务。但是,搭建一个完整的域名解析系统是复杂且昂贵的,对VPN网络而言,也是没有必要的。因为它只需要维护VPN网络中节点的节点标识与网络地址之间的映射,而不需要关心VPN网络之外的节点,因此规模较小。基于这个特点,本发明提出了在VPN中搭建VPN代理的方法,这个代理只完成最简单的域名解析功能,即解析VPN网络中的节点。图3示出了根据本发明实施例的网络系统。如图3所示,该网络系统包括通过公共网络如互联网100相互连接的本地网络如局域网400A、400B(统称为“本地网络400”),VPN节点标识解析代理200,VPN服务器300,以及互联网DNS系统500。需要指出的是,图3仅仅是为了说明本发明的目的而示出了一种示意的简化网络系统,实际的网络系统不限于图3所示的例子。本地网络400A、400B分别包括通过相应网关401A、40IB (统称为“网关401”)而连接至公共网络100的多个节点402A、402B(统称为节点“402”)。在该实施例中,节点402包括VPN客户端,以便通过VPN客户端连接至VPN服务器300而构成VPN网络。S卩,利用VPN技术,通过互联网100,实现了 VPN节点402之间的安全通信。这里需要指出的是,本地网络400A、400B不限于局域网,例如也可以是企业的内联网(intranet)。构成VPN的节点402也不限于一定处于某一本地网络当中,也可以直接是公共网络100中的某一网络节点。本地网络400可以是公(public)网或者私(private)网。例如,在该实施例中,本地网络400A是私网,从而其中每一节点402A的本地网络地址例如是192. 168. I. xxx ;而本地网络400B是公网,从而其中每一节点402B的本地网络地址例如是123. 127. 186. xxx。对于私网400A而言,其中每个节点的本地网络地址192. 168. I. xxx不能用来直接在公共网络100上通信,因为其只是本地网络的内部分配地址,而不是公共网络100上的地址。网关401A可以包括NAT (网络地址转换)协议,用来将节点的本地网络地址192. 168. I. xxx转换成公共网络100上的网络地址如2 02. 102. 0. 21。公网400B中每个节点的地址
123.127. 186. XX本身就是公共网络100上的网络地址,从而无需进行NAT。以上这些关于网络架构的描述只是为了说明本发明实施的网络环境。本领域技术人员可以想到其他各种网络架构。VPN服务器300负责管理VPN中各节点的VPN地址如虚拟IP地址池301。例如,当某一节点连接至该VPN服务器300时,VPN服务器300向其分配VPN地址。另外,VPN服务器300还管理其与各VPN节点之间的连接,并负责转发节点之间的数据。代理200维护VPN网络中节点的节点标识与网络地址之间的映射,负责对VPN节点的节点标识进行解析。图3中还示出了互联网DNS系统500。若VPN节点向代理200请求的是VPN网络以外的节点或其它功能,则代理200会以客户端的身份向互联网DSN系统500转发请求,再将返回的应答转发给真正请求的VPN节点。这里需要指出的是,在图3中,将互联网DNS系统500示出为连接至代理200 ;事实上该互联网DNS系统500可以连接在互联网100上,从而其与代理200之间的通信通过互联网100完成。以下,将参照图4 6所示的结构图以及图7、8所示的流程图来进一步详细说明该实施例中的代理200、VPN服务器300以及VPN节点402的结构及其操作。如图4所示,根据本发明实施例的代理200包括节点标识-VPN地址关联装置2001、请求处理装置2002以及可选的DNS客户端2003。节点标识-VPN地址关联装置2001从VPN服务器300接收关于VPN节点的节点标识(pc. nec. cn)与VPN地址(10. 8. 0. 7)之间映射关系的信息,并因此维护VPN中各节点的节点标识与VPN地址之间的关联。节点标识-VPN地址关联装置2001例如可以是以表的形式存储有VPN节点的节点标识(pc. nec. cn)与该节点的相应VPN地址(10.8.0. 7)之间的映射关系的存储装置。在本发明中,由于节点标识-VPN地址关联装置2001仅维护VPN中各节点的节点标识与VPN地址之间的关联,因此与常规的DNS服务器相比,其结构非常简单。图9中示出了根据本发明实施例的节点标识-VPN地址关联装置2001中数据结构与常规DNS服务器中数据结构之间的对比。可以清楚地看到,节点标识-VPN地址关联装置2001能够便利、低成本的实现。请求处理装置2002用来处理来自源节点的节点标识解析请求。例如,源节点希望与节点标识名称为pc. nec. cn的目的节点通信。为了建立通信,源节点需要知道目的节点的网络地址(在VPN的情况下,需要知道目的节点的VPN地址)。为此,源节点向代理200发送节点标识解析请求,该请求中包括要解析的目的节点的节点标识(pc. nec. cn)。代理200中的请求处理装置2002接收该请求,并根据其中包括的目的节点的节点标识(pc. nec.cn),在节点标识-VPN地址关联装置2001中进行查询,以获得与该节点标识(pc. nec. cn)相关联的VPN地址(10. 8. 0. 7),并把获得的VPN地址返回源节点。
在优选实施例中,该请求处理装置2002可以设置为仅处理节点标识解析请求,即,通过节点标识查询相应VPN地址。从而,请求处理装置2002可以以非常简单的结构来实现。如果目的节点并非处于该VPN之中,此时节点标识-VPN地址关联装置2001中不会存在源节点发送的节点标识解析请求中所包括的目的节点的节点标识。此时,请求处理装置2002不能从节点标识-VPN地址关联装置200 I获得目的节点的网络地址。在这种情况下,请求处理装置2002可以向源节 点返回错误报告。源节点在接收到来自代理200的错误报告之后,可以通过自身的DNS客户端向互联网DNS系统500请求解析目的节点的节点标识。优选地,代理200可以包括DNS客户端2003,从而将来自源节点的解析请求转发至互联网DNS系统500,并将来自互联网DNS系统500的解析结果返回给源节点。如图5所示,根据本发明实施例的VPN服务器300包括标识-地址绑定装置3001、DHCP (动态主机配置协议)服务器3002和VPN路由装置3003。DHCP服务器3002负责管理VPN中各节点的VPN地址如虚拟IP地址池301。当某一节点进入该VPN,具体地连接至VPN服务器300时,将VPN地址(例如虚拟IP地址10. 8. 0. 7)分配给该节点,并将所分配的地址(10. 8. 0. 7)通知给标识-地址绑定装置3001。另外,当某一节点离开该VPN时,从离开的该节点回收分配的VPN地址。进入该VPN的节点在获得为其分配的VPN地址之后,向VPN服务器300报告自己的节点标识。节点标识例如可以包括节点的主机名,该主机名可以包括节点的域名,也可以由VPN管理员分配。VPN服务器300,具体地其中的标识-地址绑定装置3001,接收来自节点的报告,获得节点标识(pc. nec. cn),然后将相对应的节点标识(pc. nec. cn)以及所分配的VPN地址(10. 8. 0. 7)之间的映射关系发送给代理200 (具体地,发送给节点标识-VPN地址关联装置2001)。当节点离开该VPN时,DHCP服务器3002可以回收分配给该节点的VPN地址,并将回收的VPN地址通知给标识-地址绑定装置3001。标识-地址绑定装置3001通知代理200 (具体地,通知节点标识-VPN地址关联装置2001)删除与回收的VPN地址相对应的记录。VPN路由装置3003管理VPN服务器与各VPN节点之间的连接,并负责转发节点之间的数据。具体地,来自源节点的数据通过VPN路由装置3003转发给目的节点。如图6所示,根据本发明实施例的VPN节点402包括VPN客户端4021和DNS客户端 4022。VPN客户端4021用来连接VPN服务器300。在连接成功之后,在VPN客户端402I在该VPN节点上创建一个虚拟的接口(tapO),然后将分配的VPN地址(如,虚拟IP)配置在该接口上。另外,在与VPN服务器建立连接且VPN服务器向其分配VPN地址(10.8.0.7)之后,VPN客户端402 I还向VPN服务器300报告自己的节点标识(pc. nec. cn)。DNS客户端4022用来进行与节点标识解析相关的操作。例如,DNS客户端4022向代理200发送节点标识解析请求,并接收返回的地址。另外,例如当该节点向代理200发送节点标识解析请求而代理200返回错误报告时,DNS客户端4022可以向互联网DNS系统500发送解析请求,并接收返回的相应地址。图7示出了根据本发明实施例在VPN节点进入VPN时的操作流程。
如图7所示,在步骤S101,VPN节点402(例如,通过VPN客户端4021)连接至VPN服务器300。响应于连接,在步骤S102,VPN服务器300 (例如,通过DHCP服务器3002)向该VPN节点402分配VPN地址(10. 8. 0. 7)。然后,在步骤S103,VPN节点402 (例如,通过VPN客户端4021)向VPN服务器300报告其节点标识(pc.nec.cn)。接着,在步骤S104,VPN服务器300 (例如,通过标识-地址绑定装置3001)将VPN节点402的节点标识(pc. nec. cn)与VPN地址(10. 8. 0. 7)之间的映射关系发送至代理200,以便存储在节点标识-VPN地址关联装置200 I中。图8示出了根据本发明实施例在两个节点之间建立通信的操作流程。在此,假设源节点为402B(10. 8. 0. 8);目的节点 为节点402A,其相应的节点标识和VPN地址分别为pc. nec. cn和10. 8. 0. 7,它们之间的关联例如通过图7所示的操作而存储在节点标识-VPN地址关联装置2001中。如图8所示,在步骤S201,源节点402B (例如,通过其中的DNS客户端4022)向代理200发送节点标识解析请求,请求解析目的节点的节点标识(pc. nec. cn)。代理200在接收到该节点标识解析请求后,在步骤S202,响应于该请求,由请求处理装置2002根据节点标识-VPN地址关联装置2001,向源节点402B返回目的节点的相应VPN地址(10. 8. 0. 7)。在步骤S203,源节点402B根据目的节点402A的VPN地址(10. 8. 0. 7),建立与目的节点402A的通信。在VPN中,源节点402B与目的节点402A之间的通信一般均经过VPN服务器300来转发。在此,可选地,当代理200在步骤S201中接收到来自源节点402B的解析请求之后,如果在节点标识-VPN地址关联装置2001中并不存在与请求解析的节点标识相对应的记录,则可以在步骤S205中向外部DNS服务器例如互联网DNS系统500请求解析该节点标识,并在步骤S206中接收从外部DNS服务器返回的相应网络地址,然后在步骤S207中将该网络地址返回给源节点402B。根据本发明的上述实施例,可以用最小的代价为VPN网络中的节点提供节点标识(如域名)解析服务,从而消除了常规技术中利用动态DNS技术来为VPN提供域名解析服务的种种不足。但是,在上述实施例中,节点之间的通信需要经过VPN服务器来转发。对于VPN服务器而言,其流量相对较大。尤其在源节点与目的节点本来就处于同一本地网络(如局域网)内的情况下,那么这种转发的通信模式显然效率低下,因为源节点和目的节点可以通过本地网络地址直接通信。根据本发明的另一实施例,代理进行更智能的解析,如果发现源节点和目的节点处于同一本地网络内,则返回本地网络地址,否则返回VPN地址。以下,将参照附图10 15来描述该实施例。在以下描述中,将着重说明该实施例与上述实施例之间的区别,对于两个实施例之间相同的功能模块和/或操作,将不再详细描述。另外,附图中相似的附图标记表示相同或相对应的部件。图10示出了根据该实施例的网络系统。图10所示的网络系统与图3所示的网络系统相同,除了同一本地网络中VPN节点402'之间的通信不再经过VPN服务器300'转发之外。如图10所示,当要通信的节点I和节点2处于同一本地网络400A内时,它们通过自身的本地网络地址(192. 168. I. 1,192. 168. 1.2)直接进行通信,而无需经过VPN服务器300'转发。当要通信的节点I和节点22分别处于不同本地网络400A和400B中时,它们通过自身的VPN地址(10. 8. 0. 7,10. 8. I. 14)进行通信,它们之间的通信经过VPN服务器300'进行转发。为了实现上述配置,代理200'除了维护节点标识与VPN地址之间的关联之外,还需要另外维护节点标识与相应节点的本地网络地址(如,局域网IP地址)、公共网络地址(如,互联网IP地址)之间的关联。如图11所示,根据该实施例的代理200'除了包括节点标识-VPN地址关联装置2001、请求处理装置2002以及可选的DNS客户端2 003之外,还包括公共网络地址获取装置2004和地址选择装置2005。在该实施例中,节点标识-VPN地址关联装置2001从VPN服务器300接收到的信息除了 VPN节点的节点标识(pc. nec. cn)与VPN地址(10. 8. 0. 7)之间的映射关系之外,还包括VPN节点的本地网络地址(192. 168. I. I)和公共网络地址(202. 102. 0. 2 I)。从而,将VPN节点标识(pc. nec. cn)与相对应的VPN地址(10. 8. 0. 7)、本地网络地址(192. 168. I. I)和公共网络地址(202. 102. 0. 21)相关联地存储在节点标识-VPN地址关联装置2001中。请求处理装置2002在接收到来自源节点的节点标识解析请求时,一方面同上述实施例中一样,根据该请求中包括的目的节点的节点标识(pc. nec. cn),在节点标识-VPN地址关联装置2001中进行查询;另一方面,将从源节点接收到的数据发送公共网络地址获取装置2004。在此,通过查询获得的目的节点的VPN地址(10. 8. 0.7)、本地网络地址(192. 168. I. I)和公共网络地址(202. 102. 0. 21)并不直接返回给请求处理装置2002,而是发送至地址选择装置2005。公共网络地址获取装置2004根据来自源节点的数据报文的源地址字段,获得源节点的公共网络地址。并将源节点的公共网络地址发送至地址选择装置2005。这里需要指出的是,在图11中将公共网络地址获取装置2004示出为从请求处理装置2002接收来自源节点的数据。但是公共网络地址获取装置2004的位置不限于此。例如,公共网络地址获取装置2004可以处于请求处理装置2002上游,在接收到来自源节点的解析请求并从中提取源节点的公共网络地址之后,再将该解析请求发送至请求处理装置2002 ;或者公共网络地址获取装置2004可以与请求处理装置2002并行地接收来自源节点的数据。地址选择装置2005比较由公共网络地址获取装置2004获得的源节点的公共网络地址以及通过查询获得的目的节点的公共网络地址。如果通过比较发现源节点与目的节点处于同一本地网络内,例如这两个节点的公共网络地址的前缀(例如,图中所示的202. 102. 0. 21,202. 102. 0. 22)相同,则地址选择装置2005将从节点标识-VPN地址关联装置2001接收到的目的节点的本地网络地址(192. 168. I. I)发送至请求处理装置2002,以便由请求处理装置2002返回给源节点。另一方面,如果通过比较发现源节点与目的节点处于不同的本地网络内,则地址选择装置2005将从节点标识-VPN地址关联装置2001接收到的目的节点的VPN地址(10. 8. 0. 7)发送至请求处理装置2002,以便由请求处理装置2002返回给源节点。如图12所示,根据该实施例的VPN服务器300'除了包括标识-地址绑定装置3001、DHCP服务器3002和VPN路由装置3003之外,还包括公共网络地址获取装置3004。
进入该VPN的节点在获得为其分配的VPN地址(10. 8. 0. 7)之后,向VPN服务器300'报告自己的节点标识(pc.nec.cn),并同时报告自己的本地网络地址(192. 168. I. I)。公共网络地址获取装置3004根据来自VPN节点的数据报文的源地址字段,获得该节点的公共网络地址(202. 102. 0. 21),并将其发送至标识-地址绑定装置3001。这里需要指出的是,在图12中,将公共网络地址获取装置3004示出为处于标识-地址绑定装置3001上游。但是公共网络地址获取装置3004的位置不限于此。例如,公共网络地址获取装置3004可以处于标识-地址绑定装置3001下游,在标识-地址绑定装置3001接收到来自节点的报告之后,再将这些数据发送 至公共网络地址获取装置3004,以便由公共网络地址获取装置3004从中提取节点的公共网络地址,然后再将所提取的公共网络地址发送至标识-地址绑定装置3001 ;或者公共网络地址获取装置3004可以与标识-地址绑定装置3001并行地接收来自节点的数据。如图13所示,根据该实施例的节点402'在接收到VPN服务器300'为其分配的VPN地址(10. 8. 0. 7)之后,通过VPN客户端4021向VPN服务器300'包括自身的节点标识(pc. nec. cn)以及本地网络地址(192. 168. I. I)对于公网节点(例如,本地网络401B中的节点)而言,其公共网络地址与本地网络地址相同;而对于私网节点(例如,本地网络401A中的节点)而言,其公共网络地址是其本地网络地址经过NAT转换后得到的地址。图14示出了根据该实施例在VPN节点进入VPN时的操作流程。如图14所示,在步骤S301,VPN节点402'(例如,通过VPN客户端4021)连接至VPN服务器300'。响应于连接,在步骤S302,VPN服务器300'(例如,通过DHCP服务器3002)向该VPN节点402'分配VPN地址(10. 8. 0. 7)。然后,在步骤S303,VPN节点402'(例如,通过VPN客户端402 I)向VPN服务器300'报告其节点标识(pc. nec. cn)以及本地网络地址(192. 168. I. I)。在步骤S304,VPN服务器300'(例如,通过公共网络地址获取装置3004)从来自节点402'的数据报文的源地址字段获得节点402'的公共网络地址(202. 102. 0. 21)。接着,在步骤S305,VPN服务器300'(例如,通过标识-地址绑定装置3001)将VPN节点402'的节点标识(pc. nec. cn)与VPN地址(10. 8. 0. 7)、本地网络地址(192. 168. I. I)、公共网络地址(202. 102. 0. 21)之间的映射关系发送至代理200',以便存储在节点标识-VPN地址关联装置2001中。图15示出了根据本发明该实施例在两个节点之间建立通信的操作流程。在此,假设源节点为402B' (10. 8. 0.8),其公共网络地址为202. 102.0.22 ;目的节点为节点402A/,其相应的节点标识、VPN地址、本地网络地址、公共网络地址分别为pc.nec. cn、10. 8. 0. 7,192. 168. I. 1,202. 102. 0. 21,它们之间的关联例如通过图14所示的操作而存储在节点标识-VPN地址关联装置2001中。如图I 5所示,在步骤S401,源节点402B'(例如,通过其中的DNS客户端4022)向代理200 '发送节点标识解析请求,请求解析目的节点的节点标识(pc. nec. cn)。在步骤S402,代理200'(例如,通过公共网络地址获取装置2004)根据来自源节点402B'的数据,从数据报文的源地址字段获得源节点402B'的公共网络地址(202. 102. 0. 22)。代理200'在接收到该节点标识解析请求后,在步骤S403,响应于该请求,(例如,通过请求处理装置2002)向节点标识-VPN地址关联装置2001查询与目的节点的节点标识(pc.nec. cn)相关联的VPN地址(10.8.0. 7)、本地网络地址(192. 168.1.1)和公共网络地址(202. 102. 0. 21)。接着,在步骤S404,代理200'(例如,通过地址选择装置2005)比较源节点和目的节点的公共网络地址。如果通过比较发现这两个节点处于同一本地网络中,则在步骤S405,代理200'(例如,通过请求处理装置2002)向源节点402B返回目的节点的相应本地网络地址(192. 168. I. I)。从而在步骤S406,源节点402B根据目的节点402A的本地网络地址(192. 168. 1.1),建立与目的节点402A的通信。该通信发生在同一本地网络内,因而不再需要经过VPN服务器300' 转发。如果在步骤S404中通过比较发现源节点和目的节点并非处于同一本地网络内,那么在步骤S407,代理200'(例如,通过请求处理装置2002)向源节点402B返回目的节点的相应VPN地址(10. 8. 0. 7)。然后,源节点402B '根据目的节点402A的VPN地址(10. 8. 0. 7),建立与目的节点402A的通信。该通信经过VPN服务器300'来转发。在图I 5所示的方法流程中,步骤S402和S403的顺序可以调换或者可以同时进行。根据该实施例,可以提高通信效率,并降低VPN服务器300'的负担。以上参照本发明的实施例对本发明予以了说明。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。本发明的范围由所附权利要求及其等价物限定。不脱离本发明的范围,本领域技术人员可以做出多种替换和修改,这些替换和修改都应落在本发明的范围之内。
权利要求
1.ー种用于虚拟专用网VPN的节点标识解析代理,该VPN包括VPN服务器以及多个VPN节点,所述节点标识解析代理包括 节点标识-VPN地址关联装置,用于维护同VPN服务器建立连接的VPN节点的节点标识与VPN服务器分配给相应VPN节点的VPN地址之间的关联;以及 请求处理装置,从源VPN节点接收对目的节点的节点标识解析请求,该请求包括目的节点的节点标识,其中请求处理装置响应于所述节点标识解析请求,根据节点标识-VPN地址关联装置,向源VPN节点返回与目的节点的节点标识相关联的VPN地址。
2.如权利要求I所述的节点标识解析代理,还包括 域名服务DNS客户端,其中在目的节点的节点标识不存在于节点标识-VPN地址关联装置中时,请求处理装置通过该DNS客户端向外部网络DNS服务器请求将目的节点的节点标识解析为相应的网络地址。
3.如权利要求I所述的节点标识解析代理,其中,所述节点标识包括节点的主机名,所述VPN地址包括VPN服务器向VPN节点分配的虚拟IP地址。
4.如权利要求3所述的节点标识解析代理,其中,所述主机名包括节点的域名,或者由VPN管理员分配给节点的主机名。
5.如权利要求I所述的节点标识解析代理,其中,当一VPN节点建立到VPN服务器的连接时,在获得VPN服务器向其分配的VPN地址后,向VPN服务器报告其节点标识,从而VPN服务器将为该VPN节点分配的VPN地址以及从该VPN节点接收到的节点标识发送到所述节点标识解析代理,以存储在节点标识-VPN地址关联装置中。
6.如权利要求I所述的节点标识解析代理,其中,当一VPN节点离开该VPN吋,VPN服务器通知所述节点标识解析代理从节点标识-VPN地址关联装置中删除与该VPN节点相对应的记录。
7.如权利要求I所述的节点标识解析代理,其中,所述多个VPN节点分别处于各自相应的本地网络中,所述本地网络通过公共网络相互通信。
8.如权利要求7所述的节点标识解析代理,其中,每ーVPN节点均具有其所属的本地网络中的本地网络地址以及公共网络中的公共网络地址,以及 所述节点标识-VPN地址关联装置还维护同VPN服务器建立连接的VPN节点的节点标识与相应VPN节点的本地网络地址、公共网络地址之间的关联。
9.如权利要求8所述的节点标识解析代理,其中,当一VPN节点建立到VPN服务器的连接时,在获得VPN服务器向其分配的VPN地址后,向VPN服务器报告其节点标识以及相应的本地网络地址, VPN服务器根据来自该VPN节点的数据报文的源地址字段,获得该VPN节点的公共网络地址,从而将为该VPN节点分配的VPN地址以及该VPN节点的节点标识、本地网络地址和公共网络地址发送到所述节点标识解析代理,以存储在节点标识-VPN地址关联装置中。
10.如权利要求8所述的节点标识解析代理,还包括 公共网络地址获取装置,根据来自源VPN节点的数据报文的源地址字段,获得源VPN节点的公共网络地址;以及 地址选择装置, 其中,请求处理装置根据所述节点标识解析请求中包含的目的节点的节点标识,从节点标识-VPN地址关联装置获取目的节点相对应的VPN地址、本地网络地址和公共网络地址,并将其送入地址选址装置,以及 所述地址选择装置比较由公共网络地址获取装置获得的源VPN节点的公共网络地址以及目的节点的公共网络地址,其中如果这两个公共网络地址处于同一本地网络内,则向请求处理装置返回目的节点的本地网络地址以便由请求处理装置将该本地网络地址返回给源VPN节点;如果这两个公共网络地址不处于同一本地网络内,则向请求处理装置返回目的节点的VPN地址以便由请求处理装置将该VPN地址返回给源VPN节点。
11.一种虚拟专用网VPN中的VPN服务器,该VPN还包括与该VPN服务器建立连接的多个VPN节点,所述VPN服务器包括 动态主机配置协议DHCP服务器,用于向与该VPN服务器建立连接的VPN节点分配VPN地址,以及从离开该VPN的VPN节点回收分配的VPN地址;以及 标识-地址绑定装置,用于从与该VPN服务器建立连接的VPN节点获得该VPN节点的节点标识,并从DHCP服务器获得分配给该VPN节点的VPN地址,以将该VPN节点的节点标识-VPN地址之间的关联发送给ー用于该VPN的节点标识解析代理。
12.如权利要求11所述的VPN服务器,还包括 VPN路由装置,用于管理VPN服务器与所述多个VPN节点之间的连接,并转发所述多个VPN节点之间的数据。
13.如权利要求11所述的VPN服务器,其中,所述多个VPN节点分别处于各自相应的本地网络中,所述本地网络通过公共网络相互通信; 每ー VPN节点均具有其所属的本地网络中的本地网络地址以及公共网络中的公共网络地址; 该VPN服务器还包括公共网络地址获取装置,用于根据来自VPN节点的数据报文的源地址字段,获得该VPN节点的公共网络地址;以及 所述标识-地址绑定装置还将VPN节点的节点标识、本地网络地址和公共网络地址之间的关联发送给节点标识解析代理。
14.ー种虚拟专用网VPN中的VPN节点,该VPN还包括与该VPN节点建立连接的VPN服务器,所述VPN节点包括 VPN客户端,用于连接VPN服务器,其中在与VPN服务器建立连接并接收到VPN服务器所分配的VPN地址之后,向VPN服务器报告该VPN节点的节点标识。
15.如权利要求14所述的VPN节点,其中,所述节点标识包括节点的主机名,所述VPN >地址包括VPN服务器向VPN节点分配的虚拟IP地址。
16.如权利要求15所述的VPN节点,其中,所述主机名包括节点的域名,或者由VPN管理员分配给节点的主机名。
17.如权利要求14所述的VPN节点,其中,该VPN节点处于自身相应的本地网络中; 该VPN节点具有其所属的本地网络中的本地网络地址;以及 在与VPN服务器建立连接并接收到VPN服务器所分配的VPN地址之后,VPN客户端还向VPN服务器报告该VPN节点的本地网络地址。
18.ー种用于虚拟专用网VPN的节点标识解析方法,该VPN包括VPN服务器以及多个VPN节点,所述方法包括为该VPN提供ー节点标识解析代理,该代理负责为该VPN进行节点标识解析, 在该代理处 a)维护同VPN服务器建立连接的VPN节点的节点标识与VPN服务器分配给相应VPN节点的VPN地址之间的关联; b)从源VPN节点接收对目的节点的节点标识解析请求,该请求包括目的节点的节点标识;以及 c)响应于所述节点标识解析请求,根据所维护的节点标识-VPN地址关联,向源VPN节点返回与目的节点的节点标识相关联的VPN地址。
19.如权利要求18所述的方法,其中,c)步骤包括 如果不存在与目的节点的节点标识相对应的节点标识-VPN地址关联,则向外部网络域名服务DNS服务器请求将目的节点的节点标识解析为相应的网络地址。
20.如权利要求18所述的方法,其中,当一VPN节点建立到VPN服务器的连接时,在获得VPN服务器向其分配的VPN地址后,向VPN服务器报告其节点标识;以及 所述a)步骤包括从VPN服务器获得VPN节点的节点标识及VPN地址,从而建立该VPN节点的节点标识-VPN地址关联。
21.如权利要求18所述的方法,其中,所述a)步骤还包括根据来自VPN服务器的关于ー VPN节点离开该VPN的通知,删除与该VPN节点相对应的节点标识-VPN地址关联。
22.如权利要求18所述的方法,其中,所述多个VPN节点分别处于各自相应的本地网络中,所述本地网络通过公共网络相互通信。
23.如权利要求22所述的方法,其中,每ーVPN节点均具有其所属的本地网络中的本地网络地址以及公共网络中的公共网络地址,以及 所述步骤a)还包括维护同VPN服务器建立连接的VPN节点的节点标识与相应VPN节点的本地网络地址、公共网络地址之间的关联。
24.如权利要求23所述的方法,其中,当一VPN节点建立到VPN服务器的连接时,在获得VPN服务器向其分配的VPN地址后,向VPN服务器报告其节点标识以及相应的本地网络地址, VPN服务器根据来自该VPN节点的数据报文的源地址字段,获得该VPN节点的公共网络地址, 所述步骤a)还包括从VPN服务器获得VPN节点的节点标识及相应的本地网络地址和公共网络地址,从而维护该VPN节点的节点标识与本地网络地址和公共网络地址之间的关联。
25.如权利要求23所述的方法,其中, 所述步骤b)包括根据来自源VPN节点的数据报文的源地址字段,获得源VPN节点的公共网络地址;以及 所述步骤c)包括 Cl)根据所维护的节点标识与VPN地址、本地网络地址、公共网络地址之间的关联,获得与节点标识解析请求中所包含的目的节点的节点标识相关联的VPN地址、本地网络地址和公共网络地址; c2)比较源VPN节点的公共网络地址以及目的节点的公共网络地址;以及c3)根据比较结果,对所述节点标识解析请求进行响应如果这两个公共网络地址处 于同一本地网络内,则返回目的节点的本地网络地址;如果这两个公共网络地址不处于同一本地网络内,则返回目的节点的VPN地址。
全文摘要
本申请公开了VPN节点及其标识解析代理及方法、和VPN服务器。VPN包括VPN服务器以及多个VPN节点。该VPN节点标识解析代理包括节点标识-VPN地址关联装置,用于维护同VPN服务器建立连接的VPN节点的节点标识与VPN服务器分配给相应VPN节点的VPN地址之间的关联;以及请求处理装置,从源VPN节点接收对目的节点的节点标识解析请求,该请求包括目的节点的节点标识,其中请求处理装置响应于所述节点标识解析请求,根据节点标识-VPN地址关联装置,向源VPN节点返回与目的节点的节点标识相关联的VPN地址。
文档编号H04L12/46GK102684969SQ20111007756
公开日2012年9月19日 申请日期2011年3月18日 优先权日2011年3月18日
发明者于青, 刘永强, 夏勇, 张云飞, 彭晋, 陈松杰 申请人:日电(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1