首页> 中国专利> VPN节点及其标识解析代理及方法、和VPN服务器

VPN节点及其标识解析代理及方法、和VPN服务器

摘要

本申请公开了VPN节点及其标识解析代理及方法、和VPN服务器。VPN包括VPN服务器以及多个VPN节点。该VPN节点标识解析代理包括:节点标识-VPN地址关联装置,用于维护同VPN服务器建立连接的VPN节点的节点标识与VPN服务器分配给相应VPN节点的VPN地址之间的关联;以及请求处理装置,从源VPN节点接收对目的节点的节点标识解析请求,该请求包括目的节点的节点标识,其中请求处理装置响应于所述节点标识解析请求,根据节点标识-VPN地址关联装置,向源VPN节点返回与目的节点的节点标识相关联的VPN地址。

著录项

  • 公开/公告号CN102684969A

    专利类型发明专利

  • 公开/公告日2012-09-19

    原文格式PDF

  • 申请/专利权人 日电(中国)有限公司;

    申请/专利号CN201110077565.6

  • 申请日2011-03-18

  • 分类号H04L12/46(20060101);H04L29/12(20060101);H04L29/06(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人倪斌

  • 地址 100191 北京市海淀区学院路35号世宁大厦20层

  • 入库时间 2023-12-18 06:33:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-06

    未缴年费专利权终止 IPC(主分类):H04L12/46 授权公告日:20150304 终止日期:20170318 申请日:20110318

    专利权的终止

  • 2015-03-04

    授权

    授权

  • 2012-11-14

    实质审查的生效 IPC(主分类):H04L12/46 申请日:20110318

    实质审查的生效

  • 2012-09-19

    公开

    公开

说明书

技术领域

本申请一般地涉及计算机网络领域,更为具体地,涉及虚拟专用 网(VPN)中的节点标识解析。

背景技术

虚拟专用网(Virtual Private Network,VPN)被定义为通过一个 公共网络(例如,通常是因特网)建立的一个临时、安全的连接,是 一条穿过混乱的公共网络的安全、稳定的隧道。使用这条隧道可以对 数据进行几倍加密达到安全使用互联网的目的。虚拟专用网是对企业 内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业 伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安 全传输。虚拟专用网可用于不断增长的移动用户的全球因特网接入, 以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路, 用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。 VPN的核心就是利用公共网络建立虚拟私有网,VPN可以通过特殊的 加密的通讯协议在连接在因特网上的位于不同地方的两个或多个企业 内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样, 但是它并不需要真正的去铺设光缆之类的物理线路。

如图1所示,当网关路由器如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地址进行动态的绑定, 这样源节点无论何时都可以通过目的节点的标识如主机名对目的节点 进行访问。

文献1(杨云海,利用动态DNS和VPN构建基于动态IP地址网 络的小型分布式局域网,系统信息工程,2009年第5期)提出了一种 将动态DNS(域名服务器)服务与VPN结合的方法。图2示出了与 图1所示相同的网络,其中增加了动态DNS(DDNS)服务。动态DNS 服务是互联网上的DNS系统,通常由DNS服务商提供。如图2所示, 动态DNS服务拥有一个域名前缀(如图2中的oray.net),动态DNS 服务会给节点分配一个静态的域名(如图2中的pc1.oray.net、 pc3.oray.net),然后将动态的VPN地址(如图2中的10.8.0.7)与节点 的静态域名(如pc1.oray.net)绑定。源节点不需要做任何修改,就可 以通过目的节点的域名访问目的节点。

然而,DDNS是独立于VPN系统之外的,即VPN的管理员并不 拥有和控制DDNS,这会给VPN系统带来很大的麻烦。例如,VPN 的拥有者必须向DDNS服务提供商缴费。DDNS的任何问题都会导致 VPN中采用域名访问的方式失效,而VPN的管理员因为不能控制 DDNS,所以不能及时地进行错误恢复。VPN中每个节点的主机名必 须由DDNS服务商分配,必须有相同的前缀(如示例中的.oray.net), 但如果主机之前已经由一个存在的域名(如pc1.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提供节点标识如域名解析服务。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其 他目的、特征和优点将更为清楚,在附图中:

图1示出了常规技术中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、401B(统 称为“网关401”)而连接至公共网络100的多个节点402A、402B(统 称为节点“402”)。在该实施例中,节点402包括VPN客户端,以便 通过VPN客户端连接至VPN服务器300而构成VPN网络。即,利用 VPN技术,通过互联网100,实现了VPN节点402之间的安全通信。 这里需要指出的是,本地网络400A、400B不限于局域网,例如也可 以是企业的内联网(intranet)。构成VPN的节点402也不限于一定处 于某一本地网络当中,也可以直接是公共网络100中的某一网络节点。

本地网络400可以是公(public)网或者私(private)网。例如, 在该实施例中,本地网络400A是私网,从而其中每一节点402A的本 地网络地址例如是192.168.1.xxx;而本地网络400B是公网,从而其 中每一节点402B的本地网络地址例如是123.127.186.xxx。对于私网 400A而言,其中每个节点的本地网络地址192.168.1.xxx不能用来直 接在公共网络100上通信,因为其只是本地网络的内部分配地址,而 不是公共网络100上的地址。网关401A可以包括NAT(网络地址转 换)协议,用来将节点的本地网络地址192.168.1.xxx转换成公共网络 100上的网络地址如202.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 1获得目的节点的网络地址。在这种情况下,请求处 理装置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客户端402 1在该VPN节点上创建一个虚拟的接口(tap0), 然后将分配的VPN地址(如,虚拟IP)配置在该接口上。另外,在 与VPN服务器建立连接且VPN服务器向其分配VPN地址(10.8.0.7) 之后,VPN客户端402 1还向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 1中。

图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所示,当要通信的节点1和节点2处于同一本地网络400A 内时,它们通过自身的本地网络地址(192.168.1.1,192.168.1.2)直 接进行通信,而无需经过VPN服务器300′转发。当要通信的节点1 和节点22分别处于不同本地网络400A和400B中时,它们通过自身 的VPN地址(10.8.0.7,10.8.1.14)进行通信,它们之间的通信经过 VPN服务器300′进行转发。

为了实现上述配置,代理200′除了维护节点标识与VPN地址之 间的关联之外,还需要另外维护节点标识与相应节点的本地网络地址 (如,局域网IP地址)、公共网络地址(如,互联网IP地址)之间的 关联。

如图11所示,根据该实施例的代理200′除了包括节点标识-VPN 地址关联装置2001、请求处理装置2002以及可选的DNS客户端2003 之外,还包括公共网络地址获取装置2004和地址选择装置2005。

在该实施例中,节点标识-VPN地址关联装置2001从VPN服务 器300接收到的信息除了VPN节点的节点标识(pc.nec.cn)与VPN 地址(10.8.0.7)之间的映射关系之外,还包括VPN节点的本地网络 地址(192.168.1.1)和公共网络地址(202.102.0.2 1)。从而,将VPN 节点标识(pc.nec.cn)与相对应的VPN地址(10.8.0.7)、本地网络地 址(192.168.1.1)和公共网络地址(202.102.0.21)相关联地存储在节 点标识-VPN地址关联装置2001中。

请求处理装置2002在接收到来自源节点的节点标识解析请求时, 一方面同上述实施例中一样,根据该请求中包括的目的节点的节点标 识(pc.nec.cn),在节点标识-VPN地址关联装置2001中进行查询;另 一方面,将从源节点接收到的数据发送公共网络地址获取装置2004。 在此,通过查询获得的目的节点的VPN地址(10.8.0.7)、本地网络地 址(192.168.1.1)和公共网络地址(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.1.1)发送至 请求处理装置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.1.1)。公共网络地址获取装置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.1.1)

对于公网节点(例如,本地网络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 1)向VPN服务器300′报告其节点标识 (pc.nec.cn)以及本地网络地址(192.168.1.1)。在步骤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.1.1)、公共网络地 址(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.1.1、 202.102.0.21,它们之间的关联例如通过图14所示的操作而存储在节 点标识-VPN地址关联装置2001中。

如图1 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.1.1)。从而在步骤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′来转发。

在图1 5所示的方法流程中,步骤S402和S403的顺序可以调换 或者可以同时进行。

根据该实施例,可以提高通信效率,并降低VPN服务器300′的 负担。

以上参照本发明的实施例对本发明予以了说明。但是,这些实施 例仅仅是为了说明的目的,而并非为了限制本发明的范围。本发明的 范围由所附权利要求及其等价物限定。不脱离本发明的范围,本领域 技术人员可以做出多种替换和修改,这些替换和修改都应落在本发明 的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号