CN101222406B - 双代理在虚拟专用网络(vpn)中进行应用层内容路由的方法 - Google Patents
双代理在虚拟专用网络(vpn)中进行应用层内容路由的方法 Download PDFInfo
- Publication number
- CN101222406B CN101222406B CN2007101959843A CN200710195984A CN101222406B CN 101222406 B CN101222406 B CN 101222406B CN 2007101959843 A CN2007101959843 A CN 2007101959843A CN 200710195984 A CN200710195984 A CN 200710195984A CN 101222406 B CN101222406 B CN 101222406B
- Authority
- CN
- China
- Prior art keywords
- vpn
- resource
- client
- node
- com
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000000977 initiatory effect Effects 0.000 claims abstract description 8
- 230000007246 mechanism Effects 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 12
- 238000013475 authorization Methods 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 32
- 230000005540 biological transmission Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 1
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 1
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 1
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
Abstract
一种使用(动态VPN)双重代理机制来进行应用级内容路由的方法,用于在不暴露彼此的实际IP地址和网络拓扑的情况下向客户端提供对远程网络上资源的访问。该方法包括向客户端提供远程网络上的可用资源列表;由该客户端从以该远程网络作主机的可用资源列表中发起对至少一个资源的请求,就好像该至少一个资源处于该客户端一样;通过在该客户端和远程网络之间的安全连接把该请求路由到该至少一个远程资源;由该至少一个远程资源对该请求作出响应,就好像该请求是在远程网络上本地发起一样;并且通过该安全连接把该响应从该远程网络路由回到该客户端。
Description
技术领域
本发明总体上涉及一种用于虚拟专用网络(VPN,virtual privatenetwork)系统的系统和方法,该系统可以在应用级部署虚拟资源(服务),其中可以在不公开该资源(服务)和客户端(请求者)的本地网络拓扑的情况下跨过通信网络(即,因特网)来路由应用级内容,并且尤其涉及一种用于使用动态VPN(DVPN)双重代理方法来进行虚拟专用网络应用级内容路由的系统和方法。
背景技术
用于互连分布式计算机系统的最有用网络之一是因特网。因特网使计算机系统的用户能够在全世界内交换数据。另外,采用公司或商业网络形式的许多专用网络被连接到因特网。这些专用网络典型情况下被称为“内部网(intranet)”。为了便于数据交换,内部网通常使用与因特网相同的通信协议。这些网际协议(IP,Internet protocols)规定怎样格式化并传送数据。另外,对公司网络或内部网的访问可以借助网络网关来控制,该网络网关可以包括防火墙系统。
随着因特网普及性的发展,企业倾向使之作为扩展他们自己网络的工具。首先是内部网的到来,其是被设计仅供公司雇员所使用的访问控制站点。现在,许多公司正创建他们自己的VPN(虚拟专用网络)来适应远程雇员和远端办公室的需要。VPN通常是使用公共网络(通常为因特网)来把远程站点或用户连接在一起的专用网络。代替使用诸如租用线路之类的专用的现实连接,VPN使用从公司的专用网络到远程站点或雇员的经由因特网路由的“虚拟”连接。
在典型的配置中,局部网使用所指定的“专用”IP地址子网(诸如192.168.x.x,10.x.x.x或172.16.x.x-172.31.x.x)之一,并且在该网络上的路由器具有在该地址空间中的专用地址(诸如192.168.0.1)。路由器还利用由ISP所分配的单个“公共”地址或多个“公共”地址连接到因特网。当通信业务从局部网去往因特网时,在从专用地址到公共地址的传输过程中,将每个分组的源地址进行转换。路由器跟踪关于每个活动连接的基本数据(特别是目的址和端口)。当应答返回到路由器时,它使用在出站阶段期间所存储的连接跟踪数据来确定在内部网络上的什么地方转送该应答。
典型的虚拟专用网络网关或设备包括经由开放且一般不安全的网络(诸如因特网)来进行安全通信。以便在虚拟专用网络(VPN)上的任何两个节点之间建立安全通信,每个节点以某种方式获得信息(“配置”),该信息包括但不局限于:在该VPN内远程节点的身份和状态,在节点之间的关系(VPN拓扑),和用于在节点之间进行认证和数据通信加密的密码术。在两个节点之间的安全通信通常被称为“隧道(tunnel)”,而该节点本身常常被称为“隧道端子”。传统的VPN解决方案由多个隧道端接设备组成,该隧道端接设备向VPN通信提供了中央“集线器”。然后把软件部署到希望参与到VPN中的节点,并且利用VPN设备的地址来手动配置该软件,然后执行该软件以便参与到VPN中。传统的VPN解决方案暴露两个端VPN节点的内部网络拓扑。客户端(请求者)和资源(服务)分别使用在他们自己VPN节点上的本地IP地址来彼此通信。
据此,可能希望应用于应用系统,该应用系统可以部署任何虚拟资源(服务)并且可以在不公开本地内部网络拓扑的情况下经由虚拟专用网络隧道来路由那些应用级内容。
发明内容
依照一个实施例,使用动态VPN(DVPN)双重代理机制来路由应用 级内容的方法包括:向第一虚拟专用网络节点上的至少一个客户端提供以第二虚拟专用网络节点作主机的可用资源列表;在不暴露该第二虚拟专用网络节点上可用资源列表的实际IP地址的情况下由该至少一个客户端从以该第二虚拟专用网络节点作主机的可用资源列表中发起对该至少一个资源的请求,就好像该至少一个资源在该至少一个客户端本地上一样;经由在该第一虚拟专用网络节点和第二虚拟专用网络节点之间的安全连接(隧道)把该请求路由到该至少一个资源;在不暴露该第一虚拟专用网络节点上至少一个客户端的实际IP地址的情况下,对该第二虚拟专用网络节点上至少一个资源的请求作出响应,就好像在该第二虚拟专用网络节点上本地发起该请求一样;并且经由该安全连接把该响应从该第二虚拟专用网络节点路由回到该第一虚拟专用网络节点上的至少一个客户端。
附图说明
现在参考在附图中所示的优选实施例来非常详细地描述本发明,其中同样的元素带有同样的附图标记,并且其中:
图1依照一个实施例示出了使用双重代理方法在虚拟专用网络系统内的两个对等体VPN节点之间进行应用级内容路由的动态虚拟专用网络(DVPN)系统的示意图;
图2示出了与在虚拟专用网络系统的两个VPN节点之间进行远程资源部署的信息设置相关的图表;
图3示出了用于在两个对等体VPN节点之间进行远程资源访问的DVPN体系结构的示意图;
图4依照一个实施例示出了与在两个对等体VPN节点之间进行远程资源服务部署的信息设置相关的图表;
图5依照一个实施例示出了关于在两个对等体VPN节点之间的远程资源(ftp)访问分组流的表;
图6依照一个实施例示出了在具有使用多个(传输控制协议,TCP) 端口的应用协议的对等体VPN节点之间的动态VPN(DVPN)体系结构的示意图;
图7依照如图6所示的实施例示出了与在两个对等体VPN节点之间使用多个(TCP)应用端口进行远程资源服务部署的信息设置相关的图表;
图8依照如图6和7所示的实施例示出了与在两个对等体VPN节点之间使用多个(TCP)端口进行远程资源访问的分组流相关的表;
图9依照一个实施例示出了经由中间VPN节点作为代理转送的在两个对等体VPN节点之间的动态VPN(DVPN)体系结构的示意图;
图10依照如图9所示的实施例示出了与经由中间节点在两个对等体VPN节点之间进行远程资源访问的信息设置相关的图表;
图11依照如图9和10所示的实施例示出了与经由中间节点在两个对等体VPN节点之间进行远程资源访问的分组流的表。
具体实施方式
可以理解,今天许多工业和企业注意通过提高雇员生产率和企业灵活性来简化和优化他们的商业运作同时使网络管理现代化并节省惊人的成本。为了内部和远程地提供安全的按需访问,虚拟专用网络(VPN)设备(又名网关)可以把雇员与远程应用和信息(即,资源/服务)需要相连接以便满足从小的本地企业到大的全球企业以及从金融服务和健康到政府和教育的客户需要。例如,对应用和具有网络功能的内容的安全访问几乎可以被所有类型的企业利用,从快速传递医疗工业中管理和临床应用和病人记录,并对其进行安全访问,改进客户服务业务及服务同时降低金融机构的成本,根据零售商的供应链和雇员来产生最优的生产率,能够对管理和教育应用进行快速、安全访问;向政府部门提供对重要操作和数据的快速访问和铠装的安全性;以及经由因特网利用整体的管理来提供快速和安全访问及电子邮件服务、最优的可用性和安全性的能力。
具有网络功能的应用帮助综合公司系统因此他们共享信息并且把雇 员、供应商和管理员连接到自动化商业过程。不考虑因特网是否正用于金融、供应链、客户关系管理或其它商业关键应用,仍然存在同样的必须要求:在没有适当性能级别、可用性和安全性的情况下,应用无法给出所允诺的回报。此外,因为客户端和客户端设备要求经由基于网络或具有网络功能的程序来大量访问数据和服务,所以对性能、可用性和安全性增强产品和解决方案的需要从来就不太大。
图1依照一个实施例示出了使用双重代理方法来用于应用级内容路由的动态虚拟专用网络(DVPN)系统10的示意图。如图1所示,系统10包括具有至少一个客户端或客户端机器a1.x.com 32(诸如计算机)的第一虚拟专用网络节点(客户端VPN节点)x.com 20和与该第一VPN节点20相关联的动态虚拟专用网络(DVPN)代理服务器40,和具有至少一个资源sv1.y.com 62的第二虚拟专用网络节点(资源VPN节点)y.com 50,以及与该第二VPN节点50相关联的第二动态虚拟专用网络(DVPN)代理服务器70。第一和第二DVPN代理服务器40、70共同工作,以在不公开第一和第二VPN节点20、50的本地内部网络拓扑的情况下部署任何资源来供客户端远程访问。第一和第二虚拟专用网络节点20、50优选被配置为经由通信网络80(即,因特网)在每端上使用虚拟专用网络网关(未在图1中示出)来彼此安全地通信。此外,可以理解客户端VPN节点可以被配置为给至少一个资源作主机,以致资源VPN节点还可以是客户端节点,并且该客户端节点可以被用为资源节点。
可以理解,在网络系统10(图1)的第一和第二节点20、50之间的数据交换可以处于在诸如计算设备(例如,计算机、个人数字助理(PDA)、蜂窝电话、具有嵌入式中央处理器(CPU)/软件的任何设备)之类的客户端或客户端机器32和/或在计算设备上运行的应用与一组资源(文件、服务、设备等)之间,该资源可以用单个名称和/或IP地址来标识。节点20、50中的每个优选包括敏感性信息,例如包含关于金融、商业发展计划或私 人电子邮件的机密数据。
依照一个实施例,系统10可以包括用于虚拟专用网络(VPN)进行应用级内容路由的系统和方法。如图1所示,第一和第二DVPN(动态虚拟专用网络)代理服务器40、70被这样配置以致应用及其它相关资源,诸如在一个VPN节点20、50上的电子邮件,可被其它VPN节点20、50依照这样的方式访问,其中当通过提供应用级内容路由并且提供用于动态虚拟专用网络隧道管理的方法和系统来传输或访问资源时在不公开两个VPN节点的本地网络拓扑的情况下该资源是安全的。第一和第二VPN节点20、50均分别包括至少一个DVPN代理服务器40、70,其可以以虚拟专用网络网关(未在图1中示出)或专用服务器为主机。DVPN代理服务器使客户端或客户端设备a1.x.com 32能够进行请求并连接到其它VPN节点上的资源,诸如节点50上的资源sv1.y.com 62,并且在不知道第二VPN节点50的具体IP地址和/或网络拓扑的情况下接收回响应。在使用中,客户端或客户端设备a1.x.com 32请求在远程VPN节点y.com 50上可用的文件或其它资源。用于充当虚拟资源sv1.y.com 36的第一VPN节点20上的第一DVPN代理服务器40将接收该请求,并且经由用于充当第二VPN节点50上的虚拟客户端a1.x.com 66的第二DVPN代理服务器70把该请求路由到第二VPN节点50上的远程资源。响应沿着反向的路径。可以理解有时候,DVPN代理服务器可以为了各种目的而改变客户端请求或服务器响应的内容,该目的诸如为了支持Microsoft交换协议传报应用程序接口(MAPI)和Windows文件共享协议公共因特网文件系统(CIFS),其将IP地址和端口号嵌入到它们内容中。
如图1所示,使用用于把一个协议或会话封装在另一协议或会话内的隧道协议来在第一VPN节点20和第二VPN节点50之间经由诸如因特网之类的通信网络80建立隧道90。隧道协议优选包括适当的协议,其中旨在使用的数据传输仅在于专用,通常为通过以某种方式的公共网络的公司 网,该方式为公共网络中的路由节点没有意识到传输属于专用网络的一部分。可以理解的是,优选地通过将专用网络数据和协议封装在公共网络传输单元中来实现该隧道,这样专用网络协议信息作为数据出现在该公共网络。
可以理解依照一个实施例,诸如节点20之类的每个VPN节点包括虚拟资源列表,诸如sv1.y.com 62位于网络系统10内的其它VPN节点50上。可以在节点20、50之间交换可用资源62的列表使用任何适当的公布方法(即,资源提供)。例如,可用资源sv1.y.com 62的公布可以包括由节点或网络管理员手动输入(或提供)资源62和/或动态地资源提供,其中在第一和第二VPN节点20、50之间隧道的建立提供可用资源62的列表的输出,作为第二VPN节点50处的主机,以致可以提供至少一个资源62用于由与第一VPN节点20相关联的客户端来访问。在适当的资源提供之后,第一DVPN代理服务器40以远程资源62的名义与客户端32相交互,就好像该远程资源62作为具有在第一VPN节点20上具有本地IP地址10.1.1.20的(虚拟)资源36一样。该过程还可以应用于从VPN节点20向VPN节点50提供资源。
依照一个实施例,使用诸如安全套接协议层(SSL,secure sockets layer)或传输层安全性(TLS,transport layer security)之类的安全协议来形成隧道90,其向如电子邮件、因特网传真以及其它数据转送这类事物提供了因特网上的安全通信。SSL使用密码术提供了经由因特网的端点认证和通信保密。在典型的使用中,只有服务器进行认证(即确保其身份)而客户端保持未经认证;相互认证要求对客户端进行公钥基础结构(PKI,public keyinfrastructure)部署。
如图1所示,第一VPN节点20具有域名x.com并且第二VPN节点50具有域名y.com。VPN节点20、50中的每个包括诸如sv1.y.com 62之类的至少一个资源,其可以经由诸如sv1.y.com之类的资源名称来访问。为了 远程访问在具有域名y.com的第二VPN节点50上的资源sv1.y.com 62,与第一VPN节点20相关联的客户端a1.x.com 32经由第一VPN节点20上的第一DVPN代理服务器40来发起访问资源62的请求,以便在第一VPN节点20和第VPN节点50之间经由通信网络80建立优选安全的连接或隧道90。第二VPN节点50上的资源62具有资源名称sv1.y.com,其具有唯一的数字IP地址(例如,第二VPN节点上的10.2.1.200)。在适当的提供之后,远程资源62具有本地IP地址10.1.1.20作为第一VPN节点20上的(虚拟)资源36。当第一VPN节点20内的客户端a1.x.com 32请求访问以第二VPN节点50作主机的远程资源sv1.y.com 62时,资源名称sv1.y.com经由第一VPN节点20上的第一域名服务器(DNS)30被转换为本地IP地址10.1.1.20。然后,用于充当虚拟远程资源36的第一DVPN代理服务器40会接收第一VPN节点20上的请求。第一VPN节点20上的第一DVPN代理服务器40通过安全连接90将该请求报文封装到第VPN节点50上的第二DVPN代理服务器70。用于充当虚拟客户端a1.x.com 66的第二DVPN代理服务器70利用第二VPN节点50上的资源sv1.y.com 62的本地源IP地址10.2.1.11(用于虚拟客户端a1.x.com 66)和本地目的IP地址10.2.1.200来发送请求。响应沿着反向的路径/过程。第一和第二DVPN代理服务器共同工作以便接收具有第一VPN节点20内一对源和目的IP地址的请求,通过安全连接90把它报文封装到第二VPN节点50,继而发送具有第二VPN节点50内的一对源和目的IP地址的请求。这使第一DVPN代理服务器40能够使用第一VPN节点20上的本地IP地址以远程资源62的名义与客户端32相交互,并且第二DVPN代理服务器70使用第二VPN节点50上的本地IP地址以(远程)客户端32的名义与该资源62相交互。这还使请求能够在数据分组不必在传输期间访问或穿越因特网80上的DNS(域名服务器)或内容路由器的情况下被报文封装到第二VPN节点50。
可以理解为了安全性而维护网络不透明性,优选只交换远程访问可用资源或应用所需要的最小数据。例如,为了远程访问第二VPN节点50的服务器内的资源,只需要资源名称。然而可以理解还可能需要应用端口号和/或唯一标识符。可以理解可以应用其它适当协议或规则,以允许该DVPN代理服务器从该第一虚拟专用网络节点20请求并获得远程资源的本地因特网协议(IP)地址。每当从第一VPN节点20请求获取在y.com上或来自y.com的资源时,第一VPN节点20上的DNS 30把资源名称解析为本地IP地址以致该请求可以由用于充当虚拟资源36的第一DVPN代理服务器40接收,其会代理经由隧道90到第二VPN节点50的通信业务。可以理解每个DVPN代理服务器优选还包括用于标识发起通信业务的唯一客户端机器的信息。依照一个实施例,每当建立新的VPN会话隧道时可以创建动态会话标识符。动态会话标识符或会话ID优选是基于源和目的名称和/或IP地址或任何适当方法的唯一散列值。
如图1所示,第一VPN节点20具有第一域名服务器(DNS)30,其被配置为把远程资源名称sv1.y.com解析为本地IP地址10.1.1.20。第一VPN节点20优选包括动态主机配置协议(DHCP)服务器(未在图1中示出),用于在资源提供步骤把诸如10.1.1.20之类的本地IP地址分配给sv1.y.com。为此还可以使用IP池或静态IP分配,其在不暴露第二VPN节点的网络拓扑和/或IP地址的情况下使第二VPN节点50上的远程资源62能够作为第一VPN节点20上的虚拟本地资源36被访问。第一和第二VPN节点40、70用于转换用来访问在其它VPN节点内资源的任何请求的能力提供了附加的安全性,其中在不必访问通信网络80内的内容路由器或内容路由代理的情况下把请求报文封装到其它VPN节点。
另外,可以理解IP地址还包括端口号,其中该端口号优选采用TCP和UDP协议的形式。可以存在于数据分组首部中的端口号可以用来把数据映射到在客户端或客户端机器上运行的特定过程和资源(服务器)上的应 用具体过程。例如,如果邮件代理服务器用于在第一和第二VPN节点内发送和接收电子邮件,那么该第一和第二VPN节点都包括简单邮件传送协议(SMTP,simple mail transfer protocol)和第三代邮局协议3(POP3,postoffice protocol version 3)服务,其中这些由不同的服务器进程来处理,并且可以使用端口号来确定哪个数据与哪个进程相关联。
图2示出了在两个VPN节点之间远程资源部署的设置信息的图表,包括各个客户端组以及用于每个客户端组的资源组。如图2所示,第一VPN节点20包括客户端组(a1.x.com和a2.x.com)、作为与第VPN节点50相关联的远程资源的资源组sv1.y.com:8080、可以被分配给(虚拟)资源sv1.y.com(图1,36)的本地IP地址池10.1.1.20以及用于与第二VPN节点50安全通信的隧道标识符(vpn.y.com:443)。第二VPN节点50包括(虚拟)客户端组(a1.x.com和a2.x.com)、资源组(sv1.y.com:8080)及第二VPN节点50内的本地IP地址10.2.1.200:80、可以被分配给虚拟客户端a1.x.com和a2.x.com(图1,66)的本地IP地址池10.2.1.11-12以及用于与该第一VPN节点20安全通信的隧道标识符(vpn.x.com:443)。第一和第二虚拟专用网络节点20、50优选经由通信网络80(即,因特网)或其它适当的安全网络连接来彼此通信。在第一VPN节点20上,客户端名称a1.x.com和a2.x.com可以通过由第一DVPN代理服务器进行反向DNS查找从他们的本地IP地址获得。在第二VPN节点50上,该资源可以由诸如sv1.y.com或本地IP地址之类的预先分配名称来标识。在后一种情况中,第二DVPN代理服务器向资源分配任意的但是唯一的名称以供在第一和第二DVPN代理服务器40、70之间内部使用。
图3示出了在用于远程资源访问的两个VPN节点20、50之间的DVPN(动态虚拟专用网络)系统10的示意图。如图3所示,该系统10包括具有第一DVPN代理服务器T(x->y)40的第一VPN节点20和具有第二DVPN代理服务器T(x<-y)70的第二VPN节点50。依照一个实施例, 第一DVPN代理服务器用于充当第一VPN节点20上客户端(例如,a1.x.com32)的第二VPN节点50的虚拟(远程)资源sv1.y.com(图1,36),并且第二DVPN代理服务器用于充当第二VPN节点50上资源(例如,sv1.y.com62)的第一VPN节点20的虚拟客户端(图1,66)。如图3所示的系统10可以提供对多个资源的控制访问,该资源以第二VPN节点50作主机。多个资源可以被第一VPN节点20内的多个客户端安全地访问,其中多个客户端对在网络之外的其它客户端以及可以访问该多个资源的其它客户端来说是透明的。
尽管如图3所示的系统10被配置为用于一个客户端从第一VPN节点20(客户端节点)访问第二VPN节点50(资源节点),然而可以理解该客户端节点可以被配置为至少一个资源或应用作主机,以致该资源节点还可以是客户端节点,并且该客户端节点可以被利用为资源节点。另外,可以理解系统10可以按需提供应用级内容路由,其可能启用诸如远程打印、文件服务器和电子邮件中继和转送之类的远程资源访问,其对因特网90来说是安全且透明的。另外,可以在不改变客户端和资源节点的现有网络拓扑的情况下实现系统10。
依照一个实施例,VPN节点20、50中的每个优选包含资源,其可以在不要求任何一个管理员知道其它网络的拓扑的情况下依照透明方式从另一VPN节点远程访问。可以通过按照逐个节点基础或其它适当方法通过公布/提供机制使资源列表可用。第一和第二DVPN代理服务器40、70经由通信网络80维护高可用性(HA,high availability)VPN控制隧道92,以便交换VPN会话隧道请求。当从与第一VPN节点20相关联的客户端a1.x.com 32请求用于充当(虚拟)资源sv1.y.com 62的第二VPN节点50内的资源sv1.y.com 62时,该第一VPN节点20上的第一DVPN代理服务器40接收该请求并且经由VPN控制隧道92向第二DVPN代理服务器70发起会话请求以便建立用于与资源sv1.y.com 62连接的VPN会话隧道94, 该资源sv1.y.com 62在该第二VPN节点50上可用。第一VPN节点20上的第一DVPN代理服务器40使用本地IP地址来接收该请求,并且经由VPN控制隧道92把该请求路由到第二虚拟专用网络节点上50的第二DVPN代理服务器70。第二代理服务器70使用第二VPN节点50上的本地IP地址以客户端a1.x.com 32的名义向资源sv1.y.com 62发布请求。把客户端名称a1.x.com和资源名称sv1.y.com转换为本地IP地址优选由第一和第二VPN节点20、50内的域名服务器30和60(图1)来执行。
作为在两个连接VPN节点20、50的第一和第二DVPN代理服务器之间的初始信号交换的一部分,选择性地,对从客户端a1.x.com 32访问资源sv1.y.com 62的请求来说经由到认证和授权(AAA)服务器64的VPN设备或网关(未示出)内的认证和授权模块或服务来检查。认证和授权(AAA)服务器64将检查:您是谁(认证);允许您作什么(授权);以及您实际上作什么(记帐/审计)。可以理解记帐信息可以在跟踪客户端中用于安全审计、开帐单或报告目的。当通过AAA检查时,在两个DVPN代理服务器40、70之间建立VPN会话隧道94以用于在客户端a1.x.com 32和资源sv1.y.com 62之间的进一步数据通信业务。
在客户端a1.x.com 32已经(经由VPN会话隧道92)与远程资源sv1.y.com 62建立安全连接之后,客户端可以向应用通信进行多个基于网络的应用(诸如但不局限于把文件上传到资源62的文件处理操作),从该资源62下载文件,重命名或删除该资源62上的文件或其它适当的动作。从客户端32所请求的操作被第一VPN节点20上的第一DVPN代理服务器40(用于充当虚拟资源sv1.y.com 62)接收,该第一DVPN代理服务器40经由在第一和第二虚拟专用网络节点20、50上的第一和第二DVPN代理服务器之间所建立的VPN会话隧道94转送该请求。第二DVPN代理服务器经由VPN会话隧道94接收所请求的操作,继而向资源62发布所请求的操作(用于充当a1.x.com 32的虚拟客户端),对该资源62执行所想要的操 作。资源62经由第二VPN节点50上的第二DVPN代理服务器和所建立的VPN会话隧道94向客户端32发送分组(即,格式化的数据块)来作出响应。该响应由第一虚拟专用网络节点20上的第一DVPN代理服务器40接收,该第一DVPN代理服务器40把该响应转送到客户端32。
图4依照如图3所示的实施例示出了与作为一个例子使用文件传输协议(ftp)进行远程资源部署的信息设置相关的图表。可以理解用于诸如文件传输或数据交换之类的远程资源访问的请求可以依照文件传输协议或任何其它适当的协议。如图4所示,第一VPN节点20可以包括客户端组a1.x.com和a2.x.com,具有(虚拟)资源组sv1.y.com:2121,可以被分配给(虚拟)资源sv1.y.com:2121的本地IP地址10.1.1.20和与第二VPN节点50的安全隧道标识符(vpn.y.com:443)。第二VPN节点50还可以包括(虚拟)客户端组,a1.x.com和a2.x.com、实际资源sv1.y.com:2121及本地IP地址10.2.1.200:21、可以被分配给虚拟客户端组(a1.x.com和a2.x.com)的本地IP地址池(10.2.1.11-12)以及与该第一VPN节点20的安全隧道标识符(vpn.x.com:443)。第一和第二VPN节点20、50彼此经由通信网络80(即,因特网)通信。在第一VPN节点20上,客户端组的名称a1.x.com和a2.x.com可以通过由第一DVPN代理服务器进行反向DNS查找来根据他们的本地IP地址标识。在第二VPN节点50上,该资源可以由诸如sv1.y.com或本地IP地址之类的预先分配名称来标识。在后一种情况中,第二DVPN代理服务器可以向资源分配任意的但是唯一的名称以供在第一和第二DVPN代理服务器之间使用。
图5依照如图3和4所示的实施例示出了在两个DVPN代理服务器之间的信号交换和数据分组流以用于服务对远程资源的客户端ftp请求相关的表。系统10包括第一VPN节点x.com 20上的客户端a1.x.com(图3,32),用于访问第二VPN节点y.com 50上的远程资源(ftp服务器)sv1.y.com(图3,62)。如图5的行1所示,当客户端发起用于访问ftp服务器的请 求:a1.x.com-ftp->sv1.y.com 110时,在第一和第二DVPN代理服务器之间开始信号交换。第一VPN节点x.com 20上的第一DVPN代理服务器T(x->y)向VPN控制隧道(图3,92)发送会话请求112,该会话请求112由第二VPN节点50上的第二DVPN代理服务器T(x<-y)接收114。
依照一个实施例,可以使用如图3-5所示的应用级内容路由系统来执行在应用级上转送文件或数据。按照图3中的步骤顺序来解释图5中的信号交换和数据分组流。图4示出了用于在第一和第二DVPN代理服务器之间映射客户端和资源名称、IP地址和端口号的设置信息。
步骤1:客户端a1.x.com(图3,32)发送用于请求访问y.com 50上的sv1.y.com的TCP同步分组10.1.1.11:1111-syn->10.1.1.20:2121(图5,120)。源IP地址10.1.1.11是具有第一VPN节点20上客户端a1.x.com的端口号1111的本地IP地址。目的IP地址10.1.1.20是具有第一节点x.com 20上远程资源sv1.y.com的端口号2121的本地IP地址。
步骤2:以远程资源的名义,第一代理服务器T(x->y)接收该请求并且经由VPN控制隧道(图3,92)向第二代理服务器T(x<-y)发送a1.x.com:1111-ftp->sv1.y.com:2121(图5,130)。图4示出了从第一VPN节点20上的远程资源的本地IP地址10.1.1.20到远程资源名称sv1.y.com:2121的映射信息。
步骤3:当接收该请求时,第二代理服务器T(x<-y)向第二VPN节点50上的a1.x.com:1111(经图4上的每个设置表)分配本地IP地址和端口号10.2.1.11:2222并且经由VPN控制隧道92把具有资源sv1.y.com:2121的本地IP地址10.2.1.200:21的此信息发回到(图5,140)第一代理服务器T(x→y)。客户端在第一节点x.com 20上具有端口号1111并且在第二节点y.com 50上具有端口号2222。该资源在第一节点x.com 20上具有端口号2121并且在第二节点y.com 50上具有端口号21。可以通过本地域名服务系统(DNS)查找、静态IP分配和任何其它适当方法来执行该资源名称和IP地 址映射。
步骤3a:选择性地,第二代理服务器T(x<-y)执行AAA检查来认证并授权访问请求。
步骤4:第一代理服务器T(x->y)接收a1.x.com:1111<->10.2.1.11:2222sv1.y.com:2121<->10.2.1.200:21(图5,150),其包含客户端和资源名称及它们在第二节点y.com 50上的本地IP地址和端口号。可以理解可以使用第二虚拟专用网络节点50上的本地IP地址和端口号来唯一地标识此请求。然而,还可以使用任何其它适当的方法。
步骤5:作为第一节点x.com 20上的虚拟客户端a1.x.com,第二代理服务器T(x<-y)向资源sv1.y.com发送TCP同步分组(10.2.1.11:2222-syn->10.2.1.200:21,图5,160)。源IP地址10.2.1.11:2222是用于第二节点y.com50上客户端a1.x.com的本地IP地址和端口号。目的IP地址10.2.1.200:21是第二节点z.com 50上资源sv1.y.com的本地IP地址和端口号2121。资源(ftp服务器)sv1.y.com利用TCP同步(syn)/确认(ack)分组来向回作出响应(10.2.1.200:21-syn/ack->10.2.1.11:2222,图5,170)。
步骤6:当接收TCP同步/确认分组(图5,770)时,第二代理服务器T(x<-y)经由图3中的VPN控制隧道92向第一代理服务器T(x->y)发送sv1.y.com:21-[id#1]syn/ack->a1.x.com:2222(图5,180),用于通知第二节点50上的资源sv1.y.com是可用的并且准备好用于第一节点20上的客户端a1.x.com以进行访问。第二代理服务器根据客户端名称和资源名称和/或任何适当的方法,使用散列函数来产生用于VPN会话隧道94的唯一标识符id#1(图3),其可以由这两个代理服务器中的任何一个来唯一地重新产生。唯一标识符id#1由这两个代理服务器用来标识在客户端a1.x.com 32和服务器sv1.y.com 62之间通过VPN会话隧道94所交换的数据通信业务。
步骤7:当接收通知时,第一代理服务器把sv1.y.com:21映射到sv1.y.com:2121并且把a1.x.com:2222映射到a1.x.com:1111(图5,190)。 端口号2121和1111是资源sv1.y.com和第一节点x.com 20上的客户端a1.x.com的本地端口号。此映射是基于在步骤2、3和4中所交换的信息的(分别为图5,130,140,150)。然后,第一代理服务器T(x->y)以(远程)资源sv1.y.com的名义向客户端a1.x.com发送TCP同步/确认分组,10.1.1.20:2121-syn/ack->10.1.1.11:1111(图5,200)。
步骤8:并行地,第二DVPN代理服务器T(x<-y)经由VPN控制隧道92(图3)向第一DVPN代理服务器T(x->y)发送用于id#1的VPN会话隧道94创建请求(图5,212)。然后,第一DVPN代理服务器T(x->y)创建用于id#1的VPN会话隧道94(图5,210)。在建立VPN会话隧道id#1(图3,94)之后,客户端a1.x.com和(远程)资源sv1.y.com可以安全地通信(交换数据)就好像它们处于相同的虚拟专用网络节点上一样。第一DVPN代理服务器T(x->y)和第二DVPN代理服务器T(x<-y)通过VPN会话隧道id#1(图3,94)来代理(路由)所交换的数据。
步骤9:当完成数据交换时,客户端a1.x.com 32发送TCP分组10.1.1.11:1111-[data]ack/fin->10.1.1.20:2121(图5,220)。在接收以第二节点50上的(远程)资源sv1.y.com 62的名义的分组之后,第一DVPN代理服务器T(x->y)经由VPN会话隧道94向第二DVPN代理服务器T(x<-y)发送[id#1][data]ack/fin(图5,222)。
步骤10:当接收[id#1][data]ack/fin(图5,224)时,第二DVPN代理服务器T(x<-y)以客户端a1.x.com 32的名义向第二节点50上的资源sv1.y.com 62发送TCP分组10.2.1.11:2222->[data]ack/fin->10.2.1.200:21(图5,226)。
步骤11:当完成数据交换时,第一DVPN代理服务器T(x->y)以第二VPN节点50上的(远程)资源sv1.y.com 62的名义向第一节点20上的客户端a1.x.com 32发送TCP分组10.1.1.21:2121-fin/ack->10.1.1.11:1111(图5,230)。
步骤12:第一DVPN代理服务器T(x->y)经由VPN控制隧道92向第二DVPN代理服务器T(x<-y)发送删除会话id#1(图5,240)。第二DVPN代理服务器T(x<-y)/T(y->z)关闭与id#1相关联的VPN会话隧道94(图5,242)。
这完成客户端a1.x.com 32对(远程)资源sv1.y.com 62的访问。
依照一个实施例,每个DVPN代理服务器可以根据(父(parent))VPN会话隧道94建立多个(子(child))VPN会话隧道95以便支持那些应用协议,诸如主动模式文件传输协议(ftp)、基于网际协议的语音传输(VoIP)/话路初始协议(SIP)或任何其它适当的应用协议,例如可以把FTP服务器向客户端VPN节点公开或提供,这会要求控制端口(端口21)和数据端口(端口20)。可以理解一旦对ftp控制端口(端口21)建立主要(或父)VPN会话隧道94,就要求为ftp数据端口(端口20)要求辅助(或子)VPN会话隧道95。
图6示出了在具有应用协议的两个VPN节点20、50之间的DVPN体系结构系统10的示意图,该应用协议使用多个(TCP)端口。如图6所示,可以通过建立除父VPN会话隧道94之外的子VPN会话隧道95来配置系统10,其中每个VPN节点20、50可以充当客户端节点和资源节点。可以理解,子VPN会话隧道95不局限于只有一个子VPN会话隧道95,并且根据建立父VPN会话隧道94,可以建立多个子VPN会话隧道95。可以理解,客户端a1.x.com 32可以访问第二VPN节点50内的多个资源,每个资源均要求父VPN会话隧道94和多个子VPN会话隧道95。
依照一个实施例,例如系统10可以提供主动模式文件传输协议(ftp),以便从与第一VPN节点20相关联的客户端a1.x.com 32和与第二VPN节点50相关联的至少一个资源sv1.y.com 62(ftp服务器)交换文件或资源。可以理解,客户端a1.x.com 32可以请求与第二节点50相关联的ftp服务器sv1.y.com 62建立用于ftp数据信道的子VPN会话隧道95,同时使用父VPN 会话隧道94作为ftp控制信道。可以理解资源还可以请求建立子VPN会话隧道95,诸如支持被动模式ftp。
如图6所示,第一VPN节点20上的第一VPN代理服务器40根据主动ftp协议接收来自客户端a1.x.com 32的请求并且创建/打开新的端口#2。第二VPN节点50上的第二DVPN代理服务器以第一VPN节点20上客户端a1.x.com 32的名义根据主动ftp协议创建/打开新的端口#1并且向ftp服务器sv1.y.com 62发送请求。
图7依照如图6所示的实施例示出了与在两个节点20、50之间的远程主动模式文件传输协议(ftp)服务部署的设置相关的图表。如图7所示,第一VPN节点20可以包括客户端组a1.x.com和a2.x.com,其具有要求两个TCP端口sv1.y.com:2121和sv1.y.com:2020的资源组,还包括可以被分配给资源sv1.y.com的本地IP地址10.1.1.20以及与第二VPN节点50的安全隧道标识符vpn.y.com:443。第二VPN节点50还可以包括(虚拟)客户端组a1.x.com和a2.x.com,其具有分别要求两个TCP端口sv1.y.com:2121和sv1.y.com:2020的一个资源组及其本地IP地址/端口号10.2.1.200:21和10.2.1.200:20,可以被分配给(虚拟)客户端组a1.x.com和a2.x.com的本地IP地址池10.2.1.11-12以及与该第一VPN节点20的安全隧道标识符(vpn.x.com:443)。第一和第二虚拟专用网络节点20、50彼此经由通信网络80(即,因特网)通信。在第一VPN节点20上,客户端组a1.x.com和a2.x.com的名称可以通过由第一VPN节点20上的第一DVPN代理服务器40进行反向DNS查找来根据他们的本地IP地址标识。在第二VPN节点50上,该资源可以由诸如sv1.y.com:2121或本地IP地址之类的预先分配名称来标识。在后一种情况中,第二DVPN代理服务器可以被分配有用于资源的任意但是唯一的名称以供在第一和第二DVPN代理服务器之间内部使用。
图8依照如图6和7所示的一个实施例示出了与在两个DVPN代理服 务器之间的信号交换和数据分组流相关的图表,该信号交换和数据分组流用于服务主动模式ftp服务器请求以便建立数据信道。系统10包括第一节点20上的客户端a1.x.com,其已经与第二VPN节点50上的远程ftp服务器sv1.y.com建立安全(父)VPN会话隧道94。如图8的行0所示,客户端a1.x.com经由如在图3-5中所阐明的第一和第二VPN节点20、50上的第一DVPN代理服务器T(x->y)和第二DVPN代理服务器T(x<-y)之间所建立的父VPN会话隧道94与远程ftp服务器sv1.y.com交换ftp控制通信业务。
如图8的行1所示,第一VPN节点20上的客户端a1.x.com 32想要与第VPN节点50上的ftp服务器sv1.y.com 62建立数据信道,a1.x.com-[PORT 4444]->sv1.y.com(312)。数据信道的端口号4444按照主动模式ftp协议可以是任何适当的端口号。响应于该请求,第一DVPN代理服务器T(x->y)发送PORT命令请求314以便创建与父VPN会话隧道id#1(图6,94)相关联的子VPN会话隧道95,并且经由图6中的VPN控制隧道92被第二DVPN代理服务器T(x<-y)316接收。
按照图6中的步骤顺序和图7中的设置信息来解释图8中的信号交换和数据分组流。
步骤1:客户端a1.x.com发送ftp PORT命令10.1.1.11:1111-[PORT 4444]->10.1.1.20:2121(320)。源IP地址和端口号10.1.1.11:1111是第一VPN节点20上的客户端a1.x.com 32的本地IP地址和控制信道端口号。目的IP地址和端口号10.1.1.20:2221是第一VPN节点20上的(虚拟)资源sv1.y.com62的本地IP地址和端口号。
步骤2:响应于与所建立的父VPN会话隧道id#1(图6,94)相关联的新PORT 4444命令,第一DVPN代理服务器T(x->y)创建新的端口号3333以由第DVPN代理服务器T(x<-y)使用,并且经由VPN控制隧道92(图6)向第二VPN节点50上的第二DVPN代理服务器T(x<-y) 发送此信息324。端口号3333是任意的但是唯一的数目,在没有任何改变的情况下其可以是4444。
步骤3:第二DVPN代理服务器T(x<-y)为第二VPN节点50上的ftp数据信道创建与[id#1][PORT 3333]相关联的新端口3333(326)。
步骤4:以客户端a1.x.com 32的名义,第二DVPN代理服务器T(x<-y)发送FTP端口命令,10.2.1.11:2222-[PORT 3333]->10.2.1.200:21(330)。源IP地址和端口号10.2.1.11:2222是第二VPN节点50上的(虚拟)客户端a1.x.com 32的IP地址和端口号。目的IP地址和端口号10.2.1.200:21是第二VPN节点50上的资源sv1.y.com 62的IP地址和端口号。
步骤5:第二DVPN代理服务器T(x<-y)经由VPN控制隧道92向第一DVPN代理服务器T(x->y)发送[PORT 3333]准备信息(346)(图6)。
步骤6:第一DVPN代理服务器T(x->y)彼此确认[PORT 3333/4444]准备好(344)。
步骤7:并行地,FTP服务器使用其在第二VPN节点50上的本地IP地址和端口号10.2.1.11:3333向(虚拟)客户端a1.x.com发布TCP同步分组,10.2.1.200:20-syn->10.2.1.11:3333(350)。以(虚拟)客户端的名义,第二DVPN代理服务器T(x<-y)对同步/确认TCP分组作出响应,10.2.1.11:3333-syn/ack->10.2.1.200:20(360)。
步骤8:第二DVPN代理服务器T(x<-y)经由VPN控制隧道92(图6)向第一DVPN代理服务器T(x->y)传递同步请求,sv1.y.com:20-syn->a1.x.com:3333(370)。
步骤9:在接收同步请求(382)之后,第一DVPN代理服务器把资源端口号20映射到端口号2020以便在第一VPN节点20上使用并且把客户端端口号3333映射到4444以便在该第一VPN节点20上使用。
步骤10:以(远程)FTP服务器sv1.y.com的名义,第一DVPN代理服务器T(x->y)向第一V PN节点20上的客户端a1.x.com发送 10.1.1.20:2020-syn->10.1.1.11:4444(380)。客户端a1.x.com利用TCP同步/确认分组10.1.1.11:4444-syn/ack->10.1.1.20:2020作出响应(390)。
步骤11:第一DVPN代理服务器T(x->y)创建用于子VPN会话隧道95(图6)的唯一标识符id#2并且经由控制VPN隧道92把它发送到第二DVPN代理服务器T(x<-y)。唯一标识符id#2优选使用基于ftp服务器和客户端名称、IP地址和端口号的散列函数,以致第一代理服务器T(x->y)和第二代理服务器T(x<-y)可以重新创建相同的散列结果。
步骤12:第二DVPN代理服务器T(x<-y)接收该消息并且利用标识符id#2创建(子)VPN会话隧道95(图6)。
步骤13:在建立子VPN会话隧道96(图6)之后,客户端a1.x.com 32和FTP服务器sv1.y.com 62按照主动模式ftp协议经由子VPN会话隧道95交换数据(410和412)。
步骤14:当完成数据交换时,ftp服务器sv1.y.com向(虚拟)客户端发送TCP[data]fin/ack分组,10.2.1.200:20-[data]fin/ack->10.2.1.11:3333(426)。响应于该分组,第二DVPN代理服务器T(x<-y)向第一DVPN代理服务器T(x->y)发送[id#2][data]fin/ack(424)。
步骤15:第一DVPN代理服务器T(x->y)接收[id#2][data]fin/ack(422)。然后,以(远程)FTP服务器sv1.y.com的名义,第一DVPN代理服务器T(x->y)向客户端a1.x.com发送10.1.1.20:2020-[data]fin/ack->10.1.1.11:4444(420)。
步骤16:客户端利用TCP fin/ack分组作出响应,10.1.1.11:4444-fin/ack->10.1.1.20:2020(430)。
步骤17:第一DVPN代理服务器T(x->y)和第二DVPN代理服务器T(x<-y)删除并关闭(440,442)子VPN隧道id#2。
步骤18:以客户端a1.x.com的名义,第二DVPN代理服务器T(x<-y)向ftp服务器sv1.y.com发送10.2.1.11:3333-fin/ack->10.2.1.200:20(444) 以便确认文件和/或数据交换完成。
图9示出了具有多个虚拟专用网络节点20、50、400的网络系统10的示意图,该节点20、50、400彼此经由通信网络80(即,因特网)安全地连接。如图9所示,系统10包括具有在第一VPN网关(未示出)上运行的第一DVPN代理服务器T(x->y)40的第一VPN节点x.com 20、具有在第二VPN网关(未示出)上运行的第二DVPN代理服务器T(x<-y)/T(y->z)70的第二VPN节点y.com 50,以及具有在第三VPN网关(未示出)上运行的第三DVPN代理服务器T(y<-z)420的第三VPN节点z.com400。依照一个实施例,第一VPN节点x.com 20上的客户端a1.x.com 32可以经由中间(第二)VPN节点y.com 50远程访问第三VPN节点z.com 400上的资源sv1.z.com 412。第二DVPN代理服务器用于在客户端a1.x.com 32和资源sv1.z.com 412之间所有通信业务的代理转送功能。可以理解客户端可以通过用于多个VPN节点上的多个中间DVPN代理来访问远程资源。第一DVPN代理服务器充当用于VPN节点x.com 20上客户端a1.x.com 32的第三VPN节点z.com 400上的虚拟(远程)资源,并且第三DVPN代理服务器充当用于第三VPN节点z.com 400上资源sv1.z.com 412的第一VPN节点x.com 20上的虚拟客户端。
第二VPN节点y.com 50还可以包括诸如sv1.y.com 62之类的资源,其可以由诸如a1.x.com 32之类的远程客户端访问。如图9所示,系统10还可以提供对多个资源的控制访问,该多个资源以第三VPN节点400作主机。多个资源可以被第一VPN节点20上的多个客户端安全地访问,其中多个客户端对在网络之外的其它客户端以及可以访问该多个资源的其它客户端来说是透明的。另外,与第二或第三VPN节点50、400相关联的资源62、412还被配置为向第一节点20发起请求以便访问与节点20相关联的至少一个资源。依照一个实施例,可以理解客户端32可以经由安全网络连接访问位于不同节点50、400内的资源62、412。依照进一步实施例,可以理 解可以创建多个子VPN会话隧道以便经由中间节点50支持诸如主动和被动ftp之类的特定应用协议。在如图9所示的实施例中,第二节点(y.com)和第三节点(z.com)可以被配置以致只可以经由第一节点20(x.com)访问与两个节点50、400相关联的资源62、412。还可以理解多个节点20、50、400不局限于如图9所示的三个节点,相反节点20、50、400的数目基本上是无限的。
图10依照如图9所示的实施例示出了与由在第一和第三VPN节点之间的中间(第二)DVPN代理服务器所进行代理转送的设置相关的图表。如图10所示,第一VPN节点x.com 20可以包括客户端组a1.x.com和a2.x.com、从第二VPN节点y.com所输出的(虚拟)资源组sv1.y.com:2121和sv1.y.com:2020、可以被分配给(虚拟)资源sv1.y.com:2121和sv1.y.com:2020的本地IP地址(10.1.1.20)、经由第二VPN节点50从第三VPN节点z.com所输出的另一(虚拟)资源组sv1.z.com:2121和sv1.z.com:2020和可以被分配给(虚拟)资源sv1.z.com:2121和sv1.z.com:2020的本地IP地址池(10.1.1.21),以及到第二VPN节点y.com50的安全隧道vpn.y.com:443。第二VPN节点50可以包括(虚拟)客户端组a1.x.com和a2.x.com、分别具有本地IP地址10.2.1.200:21和10.2.1.200:20的资源组sv1.y.com:2121和sv1.y.com:2020、可以被分配给(虚拟)客户端a1.x.com和a2.x.com的本地IP地址池(10.2.1.11-12)、到第一VPN节点20的安全隧道vpn.x.com:443,以及到第三VPN节点z.com 400的另一安全隧道vpn.z.com:444。第三VPN节点400可以包括(虚拟)客户端组a1.x.com和a2.x.com、分别具有本地IP地址10.3.1.200:21和10.3.1.200:20的资源组sv1.z.com:2121和sv1.z.com:2020、可以被分配给(虚拟)客户端a1.x.com和a2.x.com的本地IP地址池(10.3.1.11-12)以及到第二VPN节点y.com50的安全隧道vpn.y.com:444。诸如vpn.y.com:443、vpn.x.com:443、vpn.z.com:444和vpn.y.com:444之类的每个安全隧道可以包括VPN控制隧 道(诸如图9中的92和96)和多个VPN会话隧道(诸如图9中的94和98)。可以理解,VPN控制隧道可以由在每端的两个DVPN代理服务器用来协商创建VPN会话隧道以用于特定远程资源访问的数据转送。
图11依照如图9和10所示的实施例示出了与在第一、第二和第三DVPN代理服务器之间的代理转送分组流相关的表,其用于经由中间VPN节点服务客户端对远程资源的请求。系统10包括用于经由第二VPN节点y.com 50访问第三VPN节点z.com 400上的远程资源sv1.z.com的第一VPN节点x.com 20上的客户端a1.x.com,该第二VPN节点y.com 50具有第二DVPN代理服务器,其具有两块:用于与第一DVPN代理服务器T(x->y)相交互的T(x<-y)和用于与第三DVPN代理服务器T(y<-z)相交互的T(y->z)。第二DVPN代理服务器的功能之一是在x.com和z.com之间的代理转送通信业务515。图11的行1示出了客户端想要访问ftp服务器:a1.x.com-ftp->sv1.z.com 510。第一DVPN代理服务器T(x->y)向VPN控制隧道92(图9)发送会话请求512,该VPN控制隧道92连接到第二DVPN代理服务器T(x<-y)并且该第二DVPN代理服务器T(x<-y)接收来自该VPN控制隧道92的会话请求514。在接收会话请求514之后,第二DVPN代理服务器T(y->z)把会话请求516转送到VPN控制隧道96(图9)并且第三DVPN代理服务器T(y<-z)接收来自其它端的会话请求518。
图11中的代理转送分组流示出了图9中的步骤顺序。
步骤1:客户端a1.x.com 32发送用于请求(远程)访问z.com 400上的sv1.z.com的TCP同步分组10.1.1.11:1111-syn->10.1.1.21:2121(图11,520)。sv1z.com的目的IP地址10.1.1.21:2121是第一VPN节点x.com 20上的本地IP地址。
步骤2:以(远程)资源的名义,第一DVPN代理服务器T(x->y)经由VPN控制隧道92向第二DVPN代理服务器T(x<-y)/T(y->z)发 送a1.x.com:1111-ftp->av1.z.com:2121(图11,530)。在图10中示出了关于名称和IP地址的映射信息。
步骤3:第DVPN代理服务器T(x<-y)/T(y->z)经由VPN控制隧道96(图9)向第三DVPN代理服务器T(y<-z)转送a1.x.com:1111-ftp->sv1.z.com:2121(图11,536)。
步骤4:第三DVPN代理服务器T(y<-z)把本地IP地址10.3.1.11:2222分配给a1.x.com:1111并且经由VPN控制隧道96向第二DVPN代理服务器T(x<-y)/T(y->z)发送具有sv1.z.com:2121本地IP地址10.3.1.200:21的此信息(图11,548)。客户端在第一VPN节点x.com 20上具有端口号1111并且在第三VPN节点z.com 400上具有端口号2222。资源在第一VPN节点x.com 20上具有端口号2121并且在第三VPN节点z.com 400上具有端口号21。
步骤4a:选择性地,第三代理服务器执行AAA检查来认证并授权所请求的访问。
步骤5:第DVPN代理服务器T(x<-y)经由VPN控制隧道92(图9)向第一DVPN代理服务器T(x->y)转送a1.x.com:1111<->10.3.1.11:2222sv1.z.com:2121<->10.3.1.200:21(图11,540)。
步骤6:第一DVPN代理服务器T(x->y)接收a1.x.com:1111<->10.3.1.11:2222sv1.z.com:2121<->10.3.1.200:21(图11,550),其包含客户端和资源名称以及它们在第三VPN节点z.com 400上的本地IP地址和端口号。
步骤7:以第一VPN节点x.com 20上的客户端a1.x.com的名义,第三DVPN代理服务器T(y<-z)向资源sv1.z.com发送TCP同步分组(10.3.1.11:2222-syn->10.3.1.200:21,图11,560)。源IP地址10.3.1.11:2222是用于第三VPN节点z.com 400上(虚拟)客户端a1.x.com的本地IP地址和端口号。目的IP地址10.3.1.200:21是第三VPN节点z.com 400上资源 sv1.z.com的本地IP地址和端口号。资源sv1.z.com利用TCP同步/确认分组(10.3.1.200:21-syn/ack->10.3.1.11:2222,图11,570)向回作出响应。
步骤8:当接收TCP同步/确认分组(图11,570)时,第三DVPN代理服务器T(y<-z)经由图9中的VPN控制隧道96向第二DVPN代理服务器T(x<-y)/T(y->z)发送sv1.z.com:21-[id#1]syn/ack->a1.x.com:2222(图11,588)以便通知第三VPN节点400上的资源sv1.z.com可用并且准备好用于第一VPN节点20上的客户端a1.x.com以进行访问。第三DVPN代理服务器根据客户端名称和资源名称和/或任何适当的方法使用散列函数来产生唯一标识符id#1,其可以由这三个代理服务器中的任何一个来唯一地重新产生。唯一标识符id#1可以由三个代理服务器用来标识在客户端a1.x.com 32和服务器sv1.z.com 412之间通过VPN会话控制隧道所交换的数据通信业务。
步骤9:第二DVPN代理服务器T(x<-y)/T(y->z)接收sv1.z.com:21-[id#1]syn/ack->a1-x.com:2222(图11,580)并且经由图9中的中的VPN控制隧道92转送到第一DVPN代理服务器T(x->y)。
步骤10:当接收通知时,第一DVPN代理服务器把sv1.z.com:21映射到sv1.z.com:2121并且把a1.x.com:2222映射到a1.x.com:1111(图11,590)。端口号2121和1111是资源sv1.z.com和第一VPN节点x.com 20上的客户端a1.x.com的本地端口号。该映射是基于在步骤4、5和6中所交换的信息的(分别为图11的548,540,550)。然后第一DVPN代理服务器T(x->y)以(远程)资源sv1.z.com的名义向客户端a1.x.com发送TCP同步/确认分组10.1.1.21:2121-syn/ack->10.1.1.11:1111(图11,600)。
步骤11:并行地,第三DVPN代理服务器T(y<-z)经由VPN控制隧道96向第二DVPN代理服务器T(y->z)发送用于唯一标识符id#1的VPN会话隧道创建请求(图11,618)。然后第二代理服务器T(y->z)创建用于唯一标识符id#1的VPN会话隧道98(图11,616)。
步骤12:第二DVPN代理服务器T(x<-y)经由VPN控制隧道92向第一DVPN代理服务器T(x->y)转送用于id#1的VPN会话隧道创建请求(图11,612)。然后,第一DVPN代理服务器T(x->y)创建用于id#1的VPN会话隧道94(图11,610)。在建立VPN会话隧道94和98(图9)之后,客户端a1.x.com 32和(远程)资源sv1.z.com 412可以安全地通信(交换数据)就好像它们处于相同的VPN节点上一样。第一、第二和第三DVPN代理服务器通过VPN会话隧道94和98路由所交换的数据。
步骤13:当完成数据交换时,客户端a1.x.com 32发送TCP分组10.1.1.11:1111-[data]ack/fin->10.1.1.21:2121(图11,620)。在接收以第三VPN节点400上的资源sv1.z.com 412名义的此分组之后,第一DVPN代理服务器经由VPN会话隧道94向第二DVPN代理服务器T(x<-y)/T(y->z)发送[id#1][data]ack/fin(图11,622)。
步骤14:第二DVPN代理服务器T(y->z)经由VPN会话隧道98向第三DVPN代理服务器T(y<-z)转送[id#1][data]ack/fin(图11,624)。
步骤15:当接收[id#1][data]ack/fin(图11,626)时,第三DVPN代理服务器T(y<-z)以客户端a1.x.com 32的名义向第三VPN节点400上的资源sv1.z.com 412发送TCP分组10.3.1.11:2222->[data]ack/fin->10.3.1.200:21(图11,628)。
步骤16:第一DVPN代理服务器T(x->y)以第三VPN节点400上的(远程)资源sv1.z.com 412的名义向第一VPN节点20上的客户端a1.x.com 32发送TCP分组10.1.1.21:2121-fin/ack->10.1.1.11:1111(图11,630)。
步骤17:第一DVPN代理服务器T(x->y)经由VPN控制隧道92向第二DVPN代理服务器T(x<-y)发送删除会话id#1(图11,640)。
步骤18:第二DVPN代理服务器T(x<-y)/T(y->z)关闭与id#1相关联的VPN会话隧道94(图11,642)并且经由VPN控制隧道96向第三 DVPN代理服务器T(y<-z)转送删除会话id#1(图11,644)。
步骤19:第三DVPN代理服务器T(y<-z)关闭与id#1相关联的VPN会话隧道98(图11,646)。
这完成客户端a1.x.com 32对(远程)资源sv1.z.com 412的访问。
本发明可选的实施例还可以被实现为供计算机系统使用的计算机程序产品。这种实现方式可以包括一系列计算机指令,其固定在诸如计算机可读介质(例如,盘片、只读光盘存储器(CD-ROM)、只读存储器(ROM)或固定盘)之类的有形介质上,或者可经由调制解调器或其它接口设备发送到计算机系统,该调制解调器诸如经由介质连接到网络的通信适配器。该介质可以是有形介质(例如,光学或模拟通信线路)或者用无线技术(例如,微波、红外或其它传输技术)实现的介质。计算机指令系列优选实现这里所预先描述的关于系统的所有或部分功能。那些本领域技术人员应当理解可以用供许多计算机体系结构或操作系统使用的多种编程语言编写的这种计算机指令。此外,这种指令可以被存储在诸如半导体、磁、光之类的任何存储设备或其它存储设备中,并且可以使用诸如光、红外、微波之类的任何通信技术或其它传输技术发送。预计这种计算机程序产品可以作为带有印刷或电子文件化的可移动介质(例如,热缩包装软件)分送,利用计算机系统预先加载(例如,在系统ROM或固定盘上),或经由网络(例如,因特网或全球网)从服务器或电子公告板分送。
上面是用于实现本发明的示例性模式并且不意在限制。对本领域普通技术人员来说显而易见的是,在不脱离如以下权利要求所阐明的本发明的精神和范围的情况下可以对其进行修改。
Claims (22)
1.一种使用动态VPN即DVPN双重代理机制来进行应用层内容路由的方法,其中包括:
建立虚拟专用网络VPN控制隧道和至少一个虚拟专用网络VPN会话隧道;
为第一虚拟专用网络节点上的至少一个客户端提供在第二虚拟专用网络节点上的可用资源列表;
由该至少一个客户端从第二虚拟专用网络节点作为主机的可用资源列表中发起对至少一个资源的请求,就好像该至少一个资源在该至少一个客户端本地上一样,并且不暴露该第二虚拟专用网络节点上可用资源列表的实际IP地址给所述至少一个客户端;
通过在该第一虚拟专用网络节点和第二虚拟专用网络节点之间的VPN控制隧道把该请求路由到该至少一个资源;
由该第二虚拟专用网络节点上的至少一个资源对该请求作出响应,就好像响应在该第二虚拟专用网络节点上本地发起的请求一样,并且不暴露该第一虚拟专用网络节点上的至少一个客户端的实际IP地址给所述至少一个资源;并且
通过该VPN会话隧道把该响应从该第二虚拟专用网络节点路由回到该第一虚拟专用网络节点上的至少一个客户端。
2.根据权利要求1的方法,其中在该至少一个客户端和至少一个资源之间的VPN控制隧道和VPN会话隧道是建立在第一虚拟专用网络节点上的第一虚拟专用网络网关和第二虚拟专用网络节点上的第二虚拟专用网络网关之间的。
3.根据权利要求1的方法,其中进一步包括该第一虚拟专用网络节点上的第一DVPN代理服务器和该第二虚拟专用网络节点上的第二DVPN代理服务器。
4.根据权利要求3的方法,其中该第一和第二DVPN代理服务器是相互独立的。
5.根据权利要求3的方法,其中该第一和第二DVPN代理服务器是在相关联的虚拟专用网络网关上的独立服务器。
6.根据权利要求3的方法,其中向该第一DVPN代理服务器提供在该第二虚拟专用网络节点上的至少一个资源,并且把该第一虚拟专用网络节点上的本地IP地址和/或本地主机名称分配给该至少一个资源。
7.根据权利要求6的方法,其中该至少一个资源的第一虚拟专用网络节点上的本地IP地址来自该第一虚拟专用网络节点上的第一虚拟专用网络网关上所配置的地址IP池。
8.根据权利要求6的方法,其中该至少一个资源的第一虚拟专用网络节点上的本地IP地址来自该第一虚拟专用网络节点上的DHCP服务器。
9.根据权利要求6的方法,其中当该至少一个客户端通过主机名称来请求该至少一个资源时,会使用域名系统服务器来向该至少一个客户端提供该至少一个资源在该第一虚拟专用网络节点上的本地IP地址。
10.根据权利要求3的方法,其中在提供第二虚拟专用网络节点的虚拟资源后,第一DVPN代理服务器充当第一虚拟专用网络节点上的至少一个客户端进行访问的虚拟资源,并且其中该第一DVPN代理服务器可以使用第一虚拟专用网络节点上的本地IP地址来接收从该至少一个客户端访问至少一个资源的请求。
11.根据权利要求3的方法,其中从该第一DVPN代理服务器到第二DVPN代理服务器的初始请求经由VPN控制隧道传送。
12.根据权利要求3的方法,其中该第二DVPN代理服务器代替第一虚拟专用网络节点上的至少一个客户端得到该第二虚拟专用网络节点上的本地IP地址,并且其中该至少一个客户端的第二虚拟专用网络节点上的本地IP地址是通过配置在第二虚拟专用网络节点上的第二虚拟专用网络网关上的IP地址池来获得,或通过该第二虚拟专用网络节点上的DHCP服务器来获得。
13.根据权利要求3的方法,其中该第二DVPN代理服务器代表该至少一个客户端发起对第二虚拟专用网络节点上的至少一个资源的请求。
14.根据权利要求3的方法,其中该第一和第二DVPN代理服务器在完成处理通过第一和第二DVPN代理服务器之间的VPN控制隧道从该至少一个客户端到至少一个资源的初始请求之后建立VPN会话隧道。
15.根据权利要求3的方法,其中该第一和第二DVPN代理服务器使用唯一会话标识符来经由VPN会话隧道进行该至少一个客户端和至少一个资源之间的路由数据交换,该唯一会话标识符是根据该客户端名称、资源名称和第二虚拟专用网络节点上的一个IP地址来创建的。
16.根据权利要求3的方法,其中当该至少一个客户端和至少一个资源完成他们的数据交换时,该第一和第二DVPN代理服务器关闭并删除VPN会话隧道。
17.根据权利要求1的方法,其中进一步包括认证和授权系统,其中该认证和授权系统对每个访问请求进行认证和授权。
18.根据权利要求3的方法,其中该第一和第二DVPN代理服务器从初始VPN会话隧道创建多个VPN会话隧道以便支持使用多个IP端口的应用协议。
19.根据权利要求3的方法,其中该第一和第二DVPN代理服务器进行内容重写来把数据中包含的IP地址和端口号映射到第一和第二虚拟专用网络节点上以便支持应用层协议。
20.根据权利要求1的方法,其中该至少一个客户端利用多个中间虚拟专用网络节点中相应的DVPN代理服务器通过多个中间虚拟专用网络节点来访问至少一个资源。
21.根据权利要求1的方法,其中该至少一个客户端包括第一网络节点上的多个客户端,并且其中该多个客户端访问该第二虚拟专用网络节点上的多个资源。
22.根据权利要求1的方法,其中该第一虚拟专用网络节点拥有多个本地资源,所述本地资源可由该第二虚拟专用网络节点上的至少一个客户端访问。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/639,561 | 2006-12-14 | ||
US11/639,561 US7852861B2 (en) | 2006-12-14 | 2006-12-14 | Dynamic system and method for virtual private network (VPN) application level content routing using dual-proxy method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101222406A CN101222406A (zh) | 2008-07-16 |
CN101222406B true CN101222406B (zh) | 2012-05-30 |
Family
ID=39527107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101959843A Active CN101222406B (zh) | 2006-12-14 | 2007-12-14 | 双代理在虚拟专用网络(vpn)中进行应用层内容路由的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7852861B2 (zh) |
CN (1) | CN101222406B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104137479A (zh) * | 2012-02-10 | 2014-11-05 | 日本电气株式会社 | 计算机系统和虚拟网络的可视化方法 |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10511573B2 (en) | 1998-10-30 | 2019-12-17 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
EP3086533B1 (en) | 1998-10-30 | 2019-09-11 | VirnetX Inc. | An agile network protocol for secure communications with assured system availability |
US7418504B2 (en) | 1998-10-30 | 2008-08-26 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
US6502135B1 (en) | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US6826616B2 (en) | 1998-10-30 | 2004-11-30 | Science Applications International Corp. | Method for establishing secure communication link between computers of virtual private network |
US8370261B2 (en) * | 2007-01-10 | 2013-02-05 | Amnon Nissim | System and a method for access management and billing |
US7840701B2 (en) * | 2007-02-21 | 2010-11-23 | Array Networks, Inc. | Dynamic system and method for virtual private network (VPN) packet level routing using dual-NAT method |
US20080225749A1 (en) * | 2007-03-13 | 2008-09-18 | Dennis Peng | Auto-configuration of a network device |
US8782414B2 (en) * | 2007-05-07 | 2014-07-15 | Microsoft Corporation | Mutually authenticated secure channel |
US10469556B2 (en) * | 2007-05-31 | 2019-11-05 | Ooma, Inc. | System and method for providing audio cues in operation of a VoIP service |
US8331294B2 (en) * | 2007-07-20 | 2012-12-11 | Broadcom Corporation | Method and system for managing information among personalized and shared resources with a personalized portable device |
US9225626B2 (en) | 2007-06-20 | 2015-12-29 | Ooma, Inc. | System and method for providing virtual multiple lines in a communications system |
US8364761B2 (en) * | 2007-06-28 | 2013-01-29 | Microsoft Corporation | Updating conversations after redirection |
US8056890B2 (en) * | 2007-07-02 | 2011-11-15 | William Thomas Engel | Cut mat |
US20090168755A1 (en) * | 2008-01-02 | 2009-07-02 | Dennis Peng | Enforcement of privacy in a VoIP system |
US8515021B2 (en) * | 2008-02-25 | 2013-08-20 | Ooma, Inc. | System and method for providing personalized reverse 911 service |
US20090234953A1 (en) * | 2008-03-11 | 2009-09-17 | Palm, Inc. | Apparatus and methods for integration of third party virtual private network solutions |
US8266324B2 (en) * | 2008-06-12 | 2012-09-11 | International Business Machines Corporation | Domain specific domain name service |
CN101345774B (zh) * | 2008-08-13 | 2012-02-29 | 成都市华为赛门铁克科技有限公司 | 实现业务代理的装置、系统及方法 |
US8230050B1 (en) | 2008-12-10 | 2012-07-24 | Amazon Technologies, Inc. | Providing access to configurable private computer networks |
US9524167B1 (en) | 2008-12-10 | 2016-12-20 | Amazon Technologies, Inc. | Providing location-specific network access to remote services |
US9137209B1 (en) | 2008-12-10 | 2015-09-15 | Amazon Technologies, Inc. | Providing local secure network access to remote services |
US8201237B1 (en) | 2008-12-10 | 2012-06-12 | Amazon Technologies, Inc. | Establishing secure remote access to private computer networks |
US9652899B2 (en) * | 2009-04-09 | 2017-05-16 | Honeywell International Inc. | Methods, apparatus and systems for accessing vehicle operational data using an intelligent network router |
US20100325719A1 (en) * | 2009-06-19 | 2010-12-23 | Craig Stephen Etchegoyen | System and Method for Redundancy in a Communication Network |
US8495359B2 (en) | 2009-06-22 | 2013-07-23 | NetAuthority | System and method for securing an electronic communication |
US8736462B2 (en) * | 2009-06-23 | 2014-05-27 | Uniloc Luxembourg, S.A. | System and method for traffic information delivery |
US20100321207A1 (en) * | 2009-06-23 | 2010-12-23 | Craig Stephen Etchegoyen | System and Method for Communicating with Traffic Signals and Toll Stations |
US20100325703A1 (en) * | 2009-06-23 | 2010-12-23 | Craig Stephen Etchegoyen | System and Method for Secured Communications by Embedded Platforms |
US8452960B2 (en) | 2009-06-23 | 2013-05-28 | Netauthority, Inc. | System and method for content delivery |
US8903653B2 (en) | 2009-06-23 | 2014-12-02 | Uniloc Luxembourg S.A. | System and method for locating network nodes |
ATE527790T1 (de) * | 2009-06-24 | 2011-10-15 | Alcatel Lucent | Verfahren zur herstellung von disjunkt- datenverbindungen zwischen kunden über ein netzwerk |
US9141489B2 (en) | 2009-07-09 | 2015-09-22 | Uniloc Luxembourg S.A. | Failover procedure for server system |
KR101631618B1 (ko) * | 2010-07-06 | 2016-06-27 | 삼성전자주식회사 | 가상 개인화 그룹 생성 방법 및 가상 개인화 그룹을 이용하는 통신 기기와 허브를 포함하는 네트워크 |
KR101602294B1 (ko) * | 2010-08-06 | 2016-03-11 | 삼성전자주식회사 | 가상 개인화 그룹들 사이에서 계층적 탐색 기법을 사용하는 방법 및 장치 |
US8443435B1 (en) * | 2010-12-02 | 2013-05-14 | Juniper Networks, Inc. | VPN resource connectivity in large-scale enterprise networks |
US8446834B2 (en) | 2011-02-16 | 2013-05-21 | Netauthority, Inc. | Traceback packet transport protocol |
US9094400B2 (en) | 2011-04-27 | 2015-07-28 | International Business Machines Corporation | Authentication in virtual private networks |
US9100398B2 (en) | 2011-04-27 | 2015-08-04 | International Business Machines Corporation | Enhancing directory service authentication and authorization using contextual information |
JP5321707B2 (ja) * | 2011-05-11 | 2013-10-23 | 横河電機株式会社 | 通信システム |
WO2012157017A1 (en) * | 2011-05-16 | 2012-11-22 | Hitachi, Ltd. | Computer system for allocating ip address to communication apparatus in computer subsystem newly added and method for newly adding computer subsystem to computer system |
US9313172B1 (en) * | 2011-06-29 | 2016-04-12 | Amazon Technologies, Inc. | Providing access to remote networks via external endpoints |
US8909641B2 (en) | 2011-11-16 | 2014-12-09 | Ptc Inc. | Method for analyzing time series activity streams and devices thereof |
US9098312B2 (en) | 2011-11-16 | 2015-08-04 | Ptc Inc. | Methods for dynamically generating an application interface for a modeled entity and devices thereof |
US9576046B2 (en) | 2011-11-16 | 2017-02-21 | Ptc Inc. | Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof |
US8949954B2 (en) | 2011-12-08 | 2015-02-03 | Uniloc Luxembourg, S.A. | Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account |
AU2012100460B4 (en) | 2012-01-04 | 2012-11-08 | Uniloc Usa, Inc. | Method and system implementing zone-restricted behavior of a computing device |
AU2012100462B4 (en) | 2012-02-06 | 2012-11-08 | Uniloc Usa, Inc. | Near field authentication through communication of enclosed content sound waves |
US9286444B2 (en) * | 2012-02-28 | 2016-03-15 | Verizon Patent And Licensing Inc. | Next generation secure gateway |
US9898317B2 (en) * | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US10110417B1 (en) | 2012-07-06 | 2018-10-23 | Cradlepoint, Inc. | Private networks overlaid on cloud infrastructure |
US10135677B1 (en) | 2012-07-06 | 2018-11-20 | Cradlepoint, Inc. | Deployment of network-related features over cloud network |
US10177957B1 (en) | 2012-07-06 | 2019-01-08 | Cradlepoint, Inc. | Connecting a cloud network to the internet |
US10880162B1 (en) * | 2012-07-06 | 2020-12-29 | Cradlepoint, Inc. | Linking logical broadcast domains |
US10560343B1 (en) | 2012-07-06 | 2020-02-11 | Cradlepoint, Inc. | People centric management of cloud networks via GUI |
JP5904285B2 (ja) * | 2012-11-22 | 2016-04-13 | 日本電気株式会社 | 通信システム、仮想ネットワーク管理装置、通信ノード、通信方法及びプログラム |
KR20140099598A (ko) * | 2013-02-04 | 2014-08-13 | 한국전자통신연구원 | 모바일 vpn 서비스를 제공하는 방법 |
AU2013100355B4 (en) | 2013-02-28 | 2013-10-31 | Netauthority, Inc | Device-specific content delivery |
US9794169B2 (en) * | 2013-03-15 | 2017-10-17 | Aerohive Networks, Inc. | Application based data traffic routing using network tunneling |
WO2014145084A1 (en) | 2013-03-15 | 2014-09-18 | Ptc Inc. | Methods for managing applications using semantic modeling and tagging and devices thereof |
US9608962B1 (en) | 2013-07-09 | 2017-03-28 | Pulse Secure, Llc | Application-aware connection for network access client |
US9560198B2 (en) | 2013-09-23 | 2017-01-31 | Ooma, Inc. | Identifying and filtering incoming telephone calls to enhance privacy |
US9386148B2 (en) | 2013-09-23 | 2016-07-05 | Ooma, Inc. | Identifying and filtering incoming telephone calls to enhance privacy |
US9525629B2 (en) * | 2013-12-13 | 2016-12-20 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for transmitting data packets |
CN103716244B (zh) * | 2013-12-27 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种实现组播跨vpn转发的方法及装置 |
US9961058B2 (en) | 2014-03-21 | 2018-05-01 | Ptc Inc. | System and method of message routing via connection servers in a distributed computing environment |
US10025942B2 (en) | 2014-03-21 | 2018-07-17 | Ptc Inc. | System and method of establishing permission for multi-tenancy storage using organization matrices |
US9560170B2 (en) | 2014-03-21 | 2017-01-31 | Ptc Inc. | System and method of abstracting communication protocol using self-describing messages |
US9350791B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of injecting states into message routing in a distributed computing environment |
US9350812B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of message routing using name-based identifier in a distributed computing environment |
US10313410B2 (en) | 2014-03-21 | 2019-06-04 | Ptc Inc. | Systems and methods using binary dynamic rest messages |
US9762637B2 (en) | 2014-03-21 | 2017-09-12 | Ptc Inc. | System and method of using binary dynamic rest messages |
US9462085B2 (en) | 2014-03-21 | 2016-10-04 | Ptc Inc. | Chunk-based communication of binary dynamic rest messages |
US9467533B2 (en) | 2014-03-21 | 2016-10-11 | Ptc Inc. | System and method for developing real-time web-service objects |
WO2015143416A1 (en) | 2014-03-21 | 2015-09-24 | Ptc Inc. | Systems and methods for developing and using real-time data applications |
US9479457B2 (en) | 2014-03-31 | 2016-10-25 | Juniper Networks, Inc. | High-performance, scalable and drop-free data center switch fabric |
US9723110B2 (en) * | 2014-04-28 | 2017-08-01 | Oracle International Corporation | System and method for supporting a proxy model for across-domain messaging in a transactional middleware machine environment |
US10769931B2 (en) | 2014-05-20 | 2020-09-08 | Ooma, Inc. | Network jamming detection and remediation |
US9633547B2 (en) | 2014-05-20 | 2017-04-25 | Ooma, Inc. | Security monitoring and control |
US10553098B2 (en) | 2014-05-20 | 2020-02-04 | Ooma, Inc. | Appliance device integration with alarm systems |
US11330100B2 (en) | 2014-07-09 | 2022-05-10 | Ooma, Inc. | Server based intelligent personal assistant services |
US11171875B2 (en) | 2015-05-08 | 2021-11-09 | Ooma, Inc. | Systems and methods of communications network failure detection and remediation utilizing link probes |
US9521069B2 (en) | 2015-05-08 | 2016-12-13 | Ooma, Inc. | Managing alternative networks for high quality of service communications |
US10911368B2 (en) | 2015-05-08 | 2021-02-02 | Ooma, Inc. | Gateway address spoofing for alternate network utilization |
US10771396B2 (en) | 2015-05-08 | 2020-09-08 | Ooma, Inc. | Communications network failure detection and remediation |
US10009286B2 (en) | 2015-05-08 | 2018-06-26 | Ooma, Inc. | Communications hub |
US10158487B2 (en) | 2015-07-16 | 2018-12-18 | Cisco Technology, Inc. | Dynamic second factor authentication for cookie-based authentication |
US10116796B2 (en) | 2015-10-09 | 2018-10-30 | Ooma, Inc. | Real-time communications-based internet advertising |
CN105635335B (zh) * | 2015-12-30 | 2019-06-11 | 浙江宇视科技有限公司 | 社会资源接入方法、装置及系统 |
CN106301889B (zh) * | 2016-07-28 | 2019-10-18 | Tcl移动通信科技(宁波)有限公司 | 一种端口号快速设置方法及系统 |
US10243840B2 (en) | 2017-03-01 | 2019-03-26 | Juniper Networks, Inc. | Network interface card switching for virtual networks |
CN107347081B (zh) * | 2017-09-05 | 2020-05-12 | 杭州安恒信息技术股份有限公司 | 一种虚拟安全综合管理的方法及装置 |
US11075888B2 (en) | 2017-12-04 | 2021-07-27 | Nicira, Inc. | Scaling gateway to gateway traffic using flow hash |
US11095617B2 (en) | 2017-12-04 | 2021-08-17 | Nicira, Inc. | Scaling gateway to gateway traffic using flow hash |
US11347561B1 (en) | 2018-04-30 | 2022-05-31 | Vmware, Inc. | Core to resource mapping and resource to core mapping |
CN110753071B (zh) * | 2018-07-23 | 2022-08-16 | 视联动力信息技术股份有限公司 | 一种信息获取方法和装置 |
US10805113B2 (en) * | 2018-08-07 | 2020-10-13 | Dh2I Company | Application transmission control protocol tunneling over the public internet |
US11165891B2 (en) * | 2018-08-27 | 2021-11-02 | Dh2I Company | Highly available transmission control protocol tunnels |
US11876798B2 (en) * | 2019-05-20 | 2024-01-16 | Citrix Systems, Inc. | Virtual delivery appliance and system with remote authentication and related methods |
US11575757B2 (en) | 2019-06-17 | 2023-02-07 | Dh2I Company | Cloaked remote client access |
US11277343B2 (en) | 2019-07-17 | 2022-03-15 | Vmware, Inc. | Using VTI teaming to achieve load balance and redundancy |
CN110493095B (zh) * | 2019-07-26 | 2021-12-03 | 广州至真信息科技有限公司 | 一种vpn业务的处理方法、装置、服务器和存储介质 |
US11509638B2 (en) | 2019-12-16 | 2022-11-22 | Vmware, Inc. | Receive-side processing for encapsulated encrypted packets |
US11477187B2 (en) * | 2020-03-06 | 2022-10-18 | International Business Machines Corporation | API key access authorization |
US11563802B2 (en) | 2020-11-06 | 2023-01-24 | Dh2I Company | Systems and methods for hierarchical failover groups |
CN113364741A (zh) * | 2021-05-17 | 2021-09-07 | 网宿科技股份有限公司 | 一种应用访问方法及代理服务器 |
US11863514B2 (en) | 2022-01-14 | 2024-01-02 | Vmware, Inc. | Performance improvement of IPsec traffic using SA-groups and mixed-mode SAs |
US11956213B2 (en) | 2022-05-18 | 2024-04-09 | VMware LLC | Using firewall policies to map data messages to secure tunnels |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492644A (zh) * | 2002-10-22 | 2004-04-28 | 华为技术有限公司 | 二层虚拟专用网中超长报文的处理方法 |
CN1615612A (zh) * | 2001-12-21 | 2005-05-11 | 查尔斯·S·缪尔黑德 | 用于虚拟专用网络服务的供应链管理的系统 |
EP1566949A1 (en) * | 2004-02-18 | 2005-08-24 | AT&T Corp. | Narrowband and broadband vpn optimal path selection using the global positioning system |
CN2759071Y (zh) * | 2004-12-27 | 2006-02-15 | 上海自来水市北科技有限公司 | 专用数据传输终端 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7000012B2 (en) | 2000-04-24 | 2006-02-14 | Microsoft Corporation | Systems and methods for uniquely identifying networks by correlating each network name with the application programming interfaces of transport protocols supported by the network |
US6816882B1 (en) | 2000-05-31 | 2004-11-09 | International Business Machines Corporation | System and method for automatically negotiating license agreements and installing arbitrary user-specified applications on application service providers |
EP1327322A2 (en) | 2000-10-18 | 2003-07-16 | Alcatel | Network management |
US20050088977A1 (en) * | 2000-12-14 | 2005-04-28 | Nortel Networks Limited | Dynamic virtual private network (VPN) tunnel quality of service (QoS) treatment |
JP3760767B2 (ja) | 2000-12-21 | 2006-03-29 | 株式会社日立製作所 | ネットワーク管理装置及びネットワーク管理方法 |
US20020186698A1 (en) | 2001-06-12 | 2002-12-12 | Glen Ceniza | System to map remote lan hosts to local IP addresses |
JP3776821B2 (ja) | 2002-03-28 | 2006-05-17 | 富士通株式会社 | アドレスアクセスシステム及び方法 |
US6804777B2 (en) | 2002-05-15 | 2004-10-12 | Threatguard, Inc. | System and method for application-level virtual private network |
US7185106B1 (en) | 2002-11-15 | 2007-02-27 | Juniper Networks, Inc. | Providing services for multiple virtual private networks |
JP3965160B2 (ja) * | 2003-01-21 | 2007-08-29 | 三星電子株式会社 | 相異なる私設網に位置したネットワーク装置間の通信を支援するネットワーク接続装置 |
US20040162992A1 (en) * | 2003-02-19 | 2004-08-19 | Sami Vikash Krishna | Internet privacy protection device |
US7448080B2 (en) | 2003-06-30 | 2008-11-04 | Nokia, Inc. | Method for implementing secure corporate communication |
US20070081530A1 (en) | 2003-09-11 | 2007-04-12 | Yuji Nomura | Packet relay apparatus |
US7650636B2 (en) * | 2004-03-03 | 2010-01-19 | Cisco Technology, Inc. | Network security enhancement methods and devices |
US20050273849A1 (en) * | 2004-03-11 | 2005-12-08 | Aep Networks | Network access using secure tunnel |
US7894432B2 (en) * | 2005-04-09 | 2011-02-22 | Audiocodes, Inc. | Apparatus and method creating virtual routing domains in an internet protocol network |
US7660296B2 (en) | 2005-12-30 | 2010-02-09 | Akamai Technologies, Inc. | Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows |
-
2006
- 2006-12-14 US US11/639,561 patent/US7852861B2/en active Active
-
2007
- 2007-12-14 CN CN2007101959843A patent/CN101222406B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1615612A (zh) * | 2001-12-21 | 2005-05-11 | 查尔斯·S·缪尔黑德 | 用于虚拟专用网络服务的供应链管理的系统 |
CN1492644A (zh) * | 2002-10-22 | 2004-04-28 | 华为技术有限公司 | 二层虚拟专用网中超长报文的处理方法 |
EP1566949A1 (en) * | 2004-02-18 | 2005-08-24 | AT&T Corp. | Narrowband and broadband vpn optimal path selection using the global positioning system |
CN2759071Y (zh) * | 2004-12-27 | 2006-02-15 | 上海自来水市北科技有限公司 | 专用数据传输终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104137479A (zh) * | 2012-02-10 | 2014-11-05 | 日本电气株式会社 | 计算机系统和虚拟网络的可视化方法 |
CN104137479B (zh) * | 2012-02-10 | 2017-06-20 | 日本电气株式会社 | 计算机系统和虚拟网络的可视化方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080144625A1 (en) | 2008-06-19 |
US7852861B2 (en) | 2010-12-14 |
CN101222406A (zh) | 2008-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101222406B (zh) | 双代理在虚拟专用网络(vpn)中进行应用层内容路由的方法 | |
CN101252509B (zh) | 双-nat方法在动态虚拟专用网络(vpn)的数据包处理及路由中的应用 | |
WO2019201043A1 (zh) | 网络通信方法、系统、设备及存储介质 | |
US7849140B2 (en) | Peer-to-peer email messaging | |
CN101184015B (zh) | 一种为动态虚拟私用网络提供资源的方法 | |
KR20080026161A (ko) | 원격 네트워크 액세스를 위한 통일된 아키텍쳐 | |
JP4450712B2 (ja) | ネットワークシステム及びゲートウエイ | |
US8935427B2 (en) | Providing virtual networks using multi-tenant relays | |
CN108551464A (zh) | 一种混合云的连接建立、数据传输方法、装置和系统 | |
CN111612466B (zh) | 一种共识和资源传输方法、设备及存储介质 | |
JP4766976B2 (ja) | ノード間接続方法及び装置 | |
JP4628938B2 (ja) | データ通信システム、端末装置およびvpn設定更新方法 | |
CN104427010A (zh) | 应用于动态虚拟专用网络的网络地址转换方法和装置 | |
CN103618801A (zh) | 一种p2p资源共享的方法、设备及系统 | |
US10528759B2 (en) | Application programming interface bridge for transporting a local request from a local client system to a target server system, and method thereof | |
CN112911001A (zh) | 一种云vpn与企业网自动化组网方案 | |
Baglietto et al. | Deployment of service oriented architecture for a business community | |
CN100490393C (zh) | 一种访问客户网络管理平台的方法 | |
CN113472668A (zh) | 多方安全计算中的路由方法和系统 | |
CN103139076B (zh) | 分布式哈希表互通网络系统、域间节点及实现方法 | |
CN101521621B (zh) | 在dmvpn中实现互联网任意两端安全通信的方法 | |
JP2009206876A (ja) | サービス公開システム、通信中継装置、およびサービス公開装置 | |
Bronzino et al. | Demonstrating Context-Aware Services in the Mobility First Future Internet Architecture | |
CENTER | INTERNET ENGINEERIN (~ TASK FORCE | |
JP5171608B2 (ja) | Vpn接続装置、パケット制御方法、及びプログラム |
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 |