CN114556868A - 虚拟专用网络vpn客户端的专用子网络 - Google Patents
虚拟专用网络vpn客户端的专用子网络 Download PDFInfo
- Publication number
- CN114556868A CN114556868A CN201980101417.8A CN201980101417A CN114556868A CN 114556868 A CN114556868 A CN 114556868A CN 201980101417 A CN201980101417 A CN 201980101417A CN 114556868 A CN114556868 A CN 114556868A
- Authority
- CN
- China
- Prior art keywords
- network
- address
- client
- client device
- vpn
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims description 16
- 238000013507 mapping Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 230000010354 integration Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文所述的设备、方法和系统用于:为多个客户端设备创建彼此隔离的多个子网络,其中,所述多个客户端设备请求与包括多个网络节点的服务网络建立多条虚拟专用网络(VirtualPrivate Network,VPN)链路中的相应一条;与所述多个客户端设备建立所述请求的多条VPN链路,所述VPN链路中的每一条将所述相应客户端设备连接到其相应的隔离子网络。所述多个隔离子网络中的每一个是通过以下方式为所述多个客户端设备中的相应一个创建的:根据所述相应客户端设备的访问凭证识别子组,所述子组包括所述多个网络节点中的一个或多个;向所述子组的每个成员分配服务器虚拟地址,并向所述相应客户端设备分配客户端虚拟地址。
Description
技术领域
在本发明的一些实施例中,本发明涉及为多个VPN客户端提供服务,更具体地(但不限于)涉及为多个VPN客户端中的每一个创建多个专用子网络中的相应一个,其中所有这些专用子网络彼此隔离。
背景技术
多种应用、服务和平台的网络化服务正在不断发展,而这些应用、服务和平台几乎涵盖现代生活的各个方面。因此,这些网络化服务对日趋复杂的底层网络提出了多重且不断加剧的挑战。
然而,由于数据可以通过开放网络传输,而开放网络易被拦截、监视和/或窃听,因此许多网络化服务可能会遭受重大的隐私性、安全性和/或完整性问题。
为了解决网络化服务中的这些漏洞,实施了各种方法、技术和协议。最突出的一种方案是虚拟专用网络(Virtual Private Network,VPN),其中在VPN客户端和VPN服务器之间传输的数据被加密,从而在开放网络上创建虚拟隧道。使用一种或多种加密协议的虚拟隧道可以免遭潜在的恶意攻击,因为即使被拦截,它也不会被解码和/或解密。
然而,在部署VPN链路的过程中也面临着巨大挑战,尤其是同时为大量VPN客户端提供服务。
发明内容
本发明实施例的目的在于提供一种减轻或解决传统方案的缺点和问题的方案。
上述和其它目的是通过由独立权利要求请求保护的主题来实现。进一步的有利实施例可以在从属权利要求中找到。
本发明旨在提供一种用于创建、维护和管理多个专用子网络的方案,每个专用子网络是为服务网络同时服务的多个VPN客户端(客户端设备)中的相应一个创建的,其中,所述专用子网络中的每一个与其它专用子网络完全隔离且无法从其它专用子网络访问。
根据本发明的第一方面,提供了一种VPN网关,所述VPN网关包括:电路,用于:为多个客户端设备创建彼此隔离的多个子网络,其中,所述多个客户端设备请求与包括多个网络节点的服务网络建立多条VPN链路中的相应一条;与所述多个客户端设备建立所述请求的多条VPN链路,所述VPN链路中的每一条将所述相应客户端设备连接到其相应的隔离子网络。所述VPN网关通过以下方式为所述多个客户端设备中的相应一个创建所述多个隔离子网络中的每一个:根据所述相应客户端设备的访问凭证识别子组,所述子组包括所述多个网络节点中的一个或多个;向所述子组的每个成员分配服务器虚拟地址,并向所述相应客户端设备分配客户端虚拟地址。
根据本发明的第二方面,提供了一种为多个VPN客户端创建专用子网络的计算机实现方法,包括:为多个客户端设备创建彼此隔离的多个子网络,其中,所述多个客户端设备请求与包括多个网络节点的服务网络建立多条VPN链路中的相应一条;与所述多个客户端设备建立所述请求的多条VPN链路,所述VPN链路中的每一条将所述相应客户端设备连接到其相应的隔离子网络。所述多个隔离子网络中的每一个是通过以下方式为所述多个客户端设备中的相应一个创建的:根据所述相应客户端设备的访问凭证识别子组,所述子组包括所述多个网络节点中的一个或多个;向所述子组的每个成员分配服务器虚拟地址,并向所述相应客户端设备分配客户端虚拟地址。
创建所述专用隔离子网络可以确保每个客户端设备(VPN客户端)仅能够访问作为其相应子网络中根据所述相应客户端设备的所述访问凭证选择的成员的网络节点和服务。此外,所述客户端设备中没有一个可以访问所述客户端设备中的任何其它客户端设备。此外,使用所述虚拟地址可以防止地址与在所述源网络中分配的地址发生冲突(重叠),其中,所述客户端设备通过所述源网络连接到所述服务网络。此外,由于每个客户端设备的所述VPN连接和专用子网络由所述VPN网关隔离管理,并且独立于所述客户端设备中的其它客户端设备的所述VPN链路和专用子网络,因此可以使用公共虚拟和/或本地地址同时为大量客户端设备提供服务。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述电路用于:通过对每个入消息执行以下操作,控制所述相应客户端设备通过所述相应VPN链路向所述成员网络节点传输的入网络流量:
-将包括所述客户端虚拟地址的所述入消息的源地址调整为所述服务网络的本地地址范围内的客户端本地地址;
-将包括所述服务器虚拟地址的所述入消息的目的地址调整为包括所述本地地址范围内的服务器本地地址;
-将所述入消息转发至所述网络节点中的一个或多个。
通过根据所述分配的虚拟地址调整所述入消息来管理所述入网络流量可能是将所述入消息正确路由和转发到目标(目的)网络节点的必要操作。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述电路用于:通过对每个出消息执行以下操作,控制所述成员网络节点向所述相应客户端设备传输的出网络流量:
-将包括服务器本地地址的所述出消息的源地址调整为包括所述服务器虚拟地址;
-将包括客户端本地地址的所述出消息的目的地址调整为包括所述客户端虚拟地址;
-通过所述相应VPN链路将所述出消息传输到所述相应客户端设备。
通过根据所述分配的虚拟地址调整所述出消息来管理所述出网络流量可能是将所述出消息正确路由和转发到目标(目的)客户端设备的必要操作。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述客户端虚拟地址和所述服务器虚拟地址不在分配给所述服务网络的本地地址的范围内,也不在分配给源网络的本地地址的范围内,其中,所述相应客户端设备连接到所述源网络以建立所述相应VPN链路。由于所述客户端虚拟地址和所述服务器虚拟地址不在所述服务网络和/或所述源网络的所述本地地址的所述范围内,因此避免了地址冲突、重叠等,从而避免了由于地址含糊不清而导致的网络可达性和/或降级问题。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述客户端虚拟地址和所述服务器虚拟地址是从唯一分配给所述服务网络使用的预定义地址范围中选择的。这可以用于防止所述虚拟地址与在所述服务网络和/或所述源网络中分配的所述本地地址之间发生地址冲突。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述客户端虚拟地址和所述服务器虚拟地址是从任意选择的地址范围中选择的。这可以用于防止所述虚拟地址与在所述服务网络和/或所述源网络中分配的所述本地地址之间发生地址冲突。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述客户端虚拟地址和所述服务器虚拟地址是根据与所述客户端设备协商的地址范围选择的。这可以用于防止所述虚拟地址与在所述服务网络和/或所述源网络中分配的所述本地地址之间发生地址冲突。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述客户端虚拟地址、所述服务器虚拟地址、所述客户端本地地址和所述服务器本地地址为互联网协议(Internet Protocol,IP)地址。由于基于IP协议的通信是最主要和最常见的通信,因此根据IP协议寻址配置的所述虚拟地址可以高度兼容几乎任何网络系统、服务和/或平台,而无需适应、定制、集成和/或迁移工作和/或成本。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述电路还用于:通过以下方式在IPv6地址范围和IPv4地址范围之间进行转换:所述本地地址范围是IPv4地址时,在IPv6地址范围内分配所述客户端虚拟地址和所述服务器虚拟地址,将所述客户端虚拟IPv6地址和所述服务器虚拟IPv6地址转换为相应的客户端本地IPv4地址和服务器本地IPv4地址;所述本地地址范围是IPv6地址范围时反之亦然。将网络流量从一种通信协议转换为与另一种通信协议兼容的网络流量,例如IPv6数据包和IPv4数据包和/或反之亦然,可能是存在混合这些通信协议的多个应用、平台和/或系统实现高效部署和/或采用的必要操作。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述电路用于:根据所述客户端本地地址,关联所述成员网络节点响应于所述相应客户端设备传输的相应入消息而传输的一个或多个出消息。如果有足够的本地地址为每个客户端设备分配唯一的客户端本地地址,则遵循此类唯一寻址方案可能是非常高效的,因为每个客户端设备可以很容易地通过其唯一本地地址被唯一识别。此类实现方式通常可以应用于在任何给定时间为数量相对较少的VPN客户端提供服务的服务网络。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述电路用于:通过跟踪所述相应客户端设备到所述服务网络的连接,关联所述成员网络节点响应于所述相应客户端设备传输的相应入消息而传输的一个或多个出消息。当为大量VPN客户端提供服务时,容易受限的本地地址范围可能不足以为每个客户端设备(VPN客户端)分配唯一的客户端本地地址。在这种情况下,可以为多个客户端设备分配一个公共客户端本地地址。因此,可以应用一种或多种会话和/或连接跟踪协议、技术和/或方法来关联每个消息,具体来说,将每个出消息与其目标客户端设备相关联,而不仅仅依赖于作为目的地址包括在所述出消息中的所述客户端本地地址。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述电路还用于:通过向所述服务网络的DNS控制器分配域名系统(Domain Name System,DNS)虚拟地址,将为所述多个客户端设备中的至少一个创建的所述隔离子网络扩展为包括所述DNS控制器。其中,所述电路用于:通过调整和转发所述客户端设备通过所述相应VPN链路传输到所述DNS控制器的一个或多个DNS请求以及通过所述相应VPN链路调整和传输所述DNS控制器传输到所述相应客户端设备的一个或多个响应消息来控制入和出网络流量。支持DNS方案可能是DNS是基本组件的多个应用、平台和/或系统实现简单、高效和直接转发、部署、集成和/或采用的必要操作。
在所述第一方面和/或所述第二方面的另一种实现方式中,所述服务网络由一个或多个物理网络和/或一个或多个虚拟网络构成,所述多个网络节点中的每一个是物理网络节点或虚拟网络节点。由于最新服务网络可以包括物理网络、虚拟网络和/或其组合,因此支持任何此类部署可能是使所述隔离专用子网络VPN方案成为在此类服务网络中采用和集成的有吸引力方案的必要操作。
本发明的其它系统、方法、特征和优点在检查以下附图和详细描述后对本领域技术人员来说会或变得显而易见。旨在所有这些附加系统、方法、特征和优点都包括在本说明书中,在本发明的范围内,并受到所附权利要求书的保护。
除非另有定义,否则本文所使用的所有技术和/或科学术语的含义与本发明所属领域的普通技术人员通常理解的相同。尽管与本文所描述的方法和材料类似或等效的方法和材料可以用于本发明实施例的实施或测试,但下文还是描述了一些示例性方法和/或材料。如有冲突,以本专利说明书(包括定义)为准。另外,这些材料、方法和示例仅是说明性的,并不一定具有限制性。
本发明实施例提供的方法和/或系统的实现可以涉及手动、自动或者两种方式结合地执行或完成所选择的任务。此外,根据本发明的方法和/或系统实施例的实际仪器和设备,可以通过操作系统利用硬件、软件、固件或者三者组合完成多个选择的任务。
例如,根据本发明实施例执行选择的任务的硬件可以实现为芯片或电路。对于软件,根据本发明实施例执行选择的任务可以是由计算机通过任意合适的操作系统执行多个软件指令。在本发明的示例性实施例中,本文所描述的方法和/或系统的示例性实施例中的一个或多个任务由数据处理器执行,例如用于执行多个指令的计算平台。可选地,所述数据处理器包括存储指令和/或数据的易失性存储器和/或非易失性存储器,例如用于存储指令和/或数据的硬磁盘和/或可移动介质。可选地,也提供网络连接。可选地,也提供显示器和/或用户输入设备,例如键盘或者鼠标。
附图说明
此处将仅作为示例,结合附图描述本发明的一些实施例。具体结合附图详细说明,需要强调的是,所示细节通过示例示出并出于对本发明实施例的说明性探讨。这样,根据附图说明,如何实施本发明实施例对本领域技术人员而言是显而易见的。
在附图中:
图1是本发明的一些实施例提供的为请求访问服务网络的多个VPN客户端中的每一个创建专用子网络的示例性流程的流程图;
图2是本发明的一些实施例提供的为请求访问服务网络的多个VPN客户端中的每一个创建专用子网络的示例性网络化系统的示意图;
图3是本发明的一些实施例提供的用于初始化VPN客户端的专用子网络以及管理在VPN客户端与网络节点之间交换的流量的示例性顺序的示意图;
图4是本发明的一些实施例提供的用于使用DNS控制器初始化VPN客户端的专用子网络以及管理在VPN客户端和DNS控制器与网络节点之间交换的流量的示例性顺序的示意图。
具体实施方式
在本发明的一些实施例中,本发明涉及为多个VPN客户端提供服务,更具体地(但不限于)涉及为多个VPN客户端中的每一个创建多个专用子网络中的相应一个,其中所有这些专用子网络彼此隔离。
本发明提出了用于为多个VPN客户端创建多个专用子网络的设备、系统和方法,其中所述多个VPN客户端是同时通过多个VPN链路访问服务网络的多个客户端设备发起的。具体地,所述客户端设备访问所述服务网络的一个或多个网络节点,例如服务器、计算节点、计算节点集群、虚拟机、云服务等,所述一个或多个网络节点向所述客户端设备提供一个或多个服务。
所述多个专用子网络中的每一个是为所述多个客户端设备中的相应一个创建的,以包括所述服务网络的所述多个网络节点中的一个或多个成员(网络节点),所述一个或多个成员(网络节点)被授权访问所述相应客户端设备,使得所述相应客户端设备仅可以访问包括在其相应专用子网络中的所述成员网络节点。
此外,所述多个专用子网络彼此隔离,使得所述客户端设备(VPN客户端)中的每一个不知道当前连接到所述服务网络的任何其它客户端设备。
所述VPN链路及其各自专用子网络可以各自独立地分别由一个或多个网关管理和控制,所述一个或多个网关部署用于将构成所述服务网络的一个或多个本地网络连接到一个或多个外部网络,具体地,所述一个或多个外部网络是所述客户端设备访问所述服务网络所使用的互联网。
具体地,所述网关可以执行和/或使用VPN管理器,所述VPN管理器可以通过所述多条VPN链路管理(即,控制、映射、路由等)所述多个客户端设备与所述网络节点之间交换的网络流量。
在从所述多个客户端设备中的相应一个接收到与所述服务网络的所述网络节点中的一个或多个建立VPN链路的请求时,所述VPN管理器可以分析所述相应客户端设备的访问凭证,以确定所述相应客户端设备被授权访问所述网络节点中的哪些网络节点。然后,所述VPN管理器可以为所述相应客户端设备创建专用子网络,所述专用子网络包括所述相应客户端设备被授权访问的所述网络节点(成员)。
所述VPN管理器通过以下方式为所述客户端设备中的每一个创建所述专用子网络:向所述相应客户端设备分配客户端虚拟地址,并向为所述相应客户端设备创建的所述相应专用子网络的每个成员(网络节点)分配服务器虚拟地址。然后,所述VPN管理器可以将所述虚拟地址(客户端和服务器)传输到所述相应客户端设备,所述相应客户端设备可以使用这些虚拟地址来访问包括在其相应专用子网络中的所述成员网络节点。
具体地,所述VPN管理器分配所述客户端虚拟地址和所述服务器虚拟地址的地址范围不与分配给所述服务网络中的网络资源的本地地址冲突。所述VPN管理器还可以向所述客户端设备中的每一个分配客户端本地地址,用于在所述服务网络中映射所述客户端设备。
此外,所述VPN管理器分配所述客户端虚拟地址和所述服务器虚拟地址的地址范围不与在源网络中分配的地址冲突,其中,所述相应客户端设备从所述源网络连接到所述服务网络,例如通过互联网。所述VPN管理器可以根据一种或多种方法、技术和/或实现方式选择所述虚拟地址,以确保不存在网络地址冲突,即所述虚拟地址与所述服务网络和所述源网络中使用的所述本地地址之间不重叠。
例如,所述虚拟地址范围可以是预定义的且唯一分配给特定服务网络中的特定VPN管理器使用。由于这样的虚拟地址范围被唯一分配在所述特定服务网络中使用,因此无需担心地址与所述服务网络和/或所述客户端设备连接到的所述源网络中的所述本地地址发生冲突。在另一个示例中,所述虚拟地址范围可以是任意的和/或由所述VPN管理器随机选择的,因此,这样的虚拟地址范围与所述服务网络和/或所述源网络中的所述本地地址冲突的概率显著降低,并且几乎微不足道。在另一个示例中,所述VPN管理器可以与所述客户端设备中的一个或多个通信(握手),以探索所述源网络的所述地址范围。在确定所述源网络中使用的所述地址范围后,所述VPN管理器可以从不与所述源网络中分配的所述本地地址冲突的非冲突地址范围中选择所述客户端虚拟地址和所述服务器虚拟地址。
此外,所述VPN管理器可以在由一种通信协议定义的地址范围内分配所述虚拟地址,而在所述服务网络和/或所述源网络中分配的所述本地地址是根据另一种通信协议定义的。例如,通常网络寻址采用互联网协议(Internet Protocol,IP)寻址方案。假设定义了服务网络中使用的所述本地地址范围并且符合IPv4协议,则所述VPN管理器可以在定义的且符合IPv6协议的地址范围内将所述客户端虚拟地址和所述相应服务器虚拟地址分配给所述客户端设备中的一个或多个,反之亦然。
由于每条VPN链路是独立且分别管理的,分配给所述客户端设备的所述虚拟地址和(可选地)所述本地地址以及分配给所述各个专用子网络中的网络节点的所述服务器虚拟地址可以是每个客户端设备的唯一地址和/或可以在多个客户端设备之间共享。
在所述VPN管理器与每个客户端设备建立所述VPN链路并向所述相应客户端设备提供包括在所述相应专用子网络中的所述网络节点的所述客户端虚拟地址和所述服务器虚拟地址之后,所述相应客户端设备便可以通过其相应VPN链路向使用所述虚拟地址的所述网络节点传输一个或多个(入)消息。这些入消息中的每一个可以包括所述相应始发(源)客户端设备的所述客户端虚拟地址和所述网络节点的所述服务器虚拟地址,所述服务器虚拟地址识别所述相应入消息的目的。
所述网关,具体地是通过所述VPN链路接收所述入网络流量(即所述入消息)的所述VPN管理器,可以调整所述入消息,使得所述入消息可以正确地转发(路由)到其目的网络节点。具体地,所述VPN管理器可以调整每个入消息的源地址,以将所述客户端虚拟地址替换为所述相应客户端设备的所述客户端本地地址。所述VPN管理器还调整每个入消息的目的地址,以将所述服务器虚拟地址替换为所述相应网络节点的所述(服务器)本地地址。然后,所述网关可以通过所述服务网络将所述相应入消息转发到所述目的网络节点。
在响应路径上,所述网络节点中的一个或多个可以用一个或多个出消息(出网络流量)响应从所述客户端设备中的一个或多个接收的所述入消息的一个或多个。所述出消息中的每一个可以包括所述始发(源)网络节点的所述(服务器)本地地址和所述相应客户端设备的所述客户端本地地址,所述客户端本地地址是所述相应出消息的目的。
所述网关,具体地是接收所述出网络流量(即所述出消息)的所述VPN管理器,可以调整所述出消息中的每一个,使得所述出消息可以正确地转发(路由)到其目的客户端设备。具体地,所述VPN管理器可以调整每个出消息的源地址,以将所述服务器本地地址替换为所述始发网络节点的所述服务器虚拟地址。所述VPN管理器还调整每个出消息的目的地址,以将所述客户端本地地址替换为所述相应客户端设备的所述客户端虚拟地址。然后,所述网关可以通过所述相应VPN链路将所述相应出消息转发到所述目的客户端设备。
在所述客户端设备中的每一个都分配有唯一本地地址的情况下,所述VPN管理器可以根据所述客户端本地地址确定一个或多个出消息的所述目的客户端设备。然而,所述VPN管理器可以应用本领域已知的一种或多种会话和/或连接跟踪协议,以将所述出消息中的一个或多个与其目的设备相关联,尤其是在多个客户端设备分配有一个公共客户端本地地址的情况下。
网络资源(即所述服务网络的网络节点和/或服务)通常可以使用名称和/或指示符映射,例如统一资源标识符(Uniform Resource Identifier,URI),例如统一资源定位符(Uniform Resource Locator,URL)。因此,所述服务网络可以包括一个或多个域名系统(Domain Name System,DNS)控制器,所述DNS控制器用于解析所述名称(例如所述URL),并将其转换为分配给映射在所述服务网络中并且可由所述客户端设备通过所述VPN链路访问的所述网络节点的标准网络地址。
在这样的部署中,所述VPN管理器可以在所述客户端设备中的一个或多个的所述专用子网络中包括所述DNS控制器中的一个或多个,并且还可以向所述相应客户端设备的所述专用子网络中的每个DNS控制器分配DNS虚拟地址。当与所述相应客户端设备建立所述VPN链路时,所述VPN管理器可以向所述相应客户端设备提供(传输)所述DNS虚拟地址。然后,所述相应客户端设备可以使用所述DNS虚拟地址来访问所述DNS控制器,以便解析包括在其相应专用子网络中的所述网络节点中的一个或多个的所述名称。
与提供用于将VPN客户端连接到服务网络的VPN服务的现有方法和系统相比,为所述多个VPN客户端创建的所述专用隔离子网络具有显著的优点和优势。
一些现有的VPN服务可以通过在所述服务网络的所述本地地址范围内分配所述VPN设备地址来与所述VPN客户端(客户端设备)建立所述VPN链路,使得所述VPN客户端看起来像是作为驻留在所述服务网络的所述本地网络上的本地网络节点直接连接到所述服务网络。由于所述VPN客户端直接映射在所述服务网络中,在它们可以(被授权)访问所述服务网络的所述网络节点和/或服务中的一个或多个的同时,所述VPN客户端实际上也能够访问未给它们授权的其它网络节点,这可能会造成重大限制。另一方面,创建所述专用隔离子网络可确保每个客户端设备(VPN客户端)仅能够访问其访问凭证定义的所述网络节点和服务。
此外,当使用所述服务网络的所述地址范围直接在所述服务网络中映射所述客户端设备时(正如一些现有方法所做的那样),所述客户端设备(VPN客户端)中的一个或多个可以访问所述客户端设备中的其它客户端设备中的一个或多个的本地资源,这肯定会危及所述本地资源的隐私性、安全性和/或完整性。使用所述专用隔离子网络可以完全防止这种情况,因为所述客户端设备中没有一个被所述VPN管理器映射到任何其它客户端设备,因此所述客户端设备中没有一个可以访问其它客户端设备。
此外,分配给所述服务网络中的所述客户端设备中的一个或多个的所述本地地址可能与所述源网络中分配的地址冲突(重叠),其中,所述客户端设备通过所述源网络连接到所述服务网络(通常通过互联网)。这些冲突可能导致网络映射和/或路由问题,因为所述地址可能没有被明确且不含糊地解析,从而导致网络可达性和/或连接性问题,这可能会严重影响网络运营。由于为所述客户端设备分配的所述客户端虚拟地址和所述服务器虚拟地址的选择使得所述虚拟地址不与所述服务网络中使用的所述本地地址以及所述源网络中使用的所述本地地址冲突,因此大大减少并几乎完全消除了此类问题。
此外,一些服务网络可能服务的VPN客户端数量极大,这可能会大大影响为在所述服务网络的所述地址范围内映射如此大量客户端设备提供足够的本地网络地址。由于可以为多个客户端设备(VPN客户端)分配公共虚拟地址,从而减少映射所述客户端设备所需的地址数,因此通过创建并分别管理所述隔离专用子网络可以很容易地解决此限制。由于每个子网络(因此由于每个VPN链路)与其它子网络完全分开管理,因此无需担心使用相同虚拟和/或本地地址的客户端设备之间发生冲突。
另外,创建和管理虚拟映射的隔离子网络可用于将使用一种通信协议传输的网络流量容易地转换为符合另一种通信协议的网络流量,例如,在IPv6数据包与IPv4数据包之间转换和/或在IPv4数据包与IPv6数据包之间转换。这种能力可能是VPN客户端到服务网络实现高效和/或透明连接的必要能力,但在现有VPN方法和系统中也可能非常受限并且潜在地不可行,因为在现有VPN方法和系统中映射VPN客户端是根据服务网络中使用的映射方案来执行的。
最后,支持DNS方案可能是DNS是基本组件的多个应用、平台和/或系统实现简单、高效和直接转发、部署、集成和/或采用的必要操作。
在详细描述本发明的至少一个实施例之前,应理解,本发明的应用不一定局限于以下描述和/或附图和/或示例中所示的组件和/或方法的具体构造和布置。本发明可以有其它实施例或可以采用各种方式实施或执行。
本发明可以为系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其中具有计算机可读程序指令,用于使处理器执行本发明的各方面。
所述计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或上述的任何适当组合。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应计算/处理设备,或者通过因特网、局域网、广域网和/或无线网络等网络下载到外部计算机或外部存储设备。
所述计算机可读程序指令可以完全在用户计算机上执行或部分在用户计算机(例如,用户设备(user equipment,UE))上执行,或者作为独立的软件包,部分在用户计算机上执行部分在远程计算机(例如,网络装置)上执行,或完全在远程计算机或服务器上执行。在最后一种场景中,所述远程计算机可以通过任何类型的网络连接到用户的计算机,这些网络包括局域网(local area network,LAN)或广域网(wide area network,WAN),还可以(例如,通过使用因特网服务提供商的因特网)连接到外部计算机。在一些实施例中,包括可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)或可编程逻辑阵列(programmable logic array,PLA)等的电子电路可以通过利用计算机可读程序指令的状态信息来个性化电子电路来执行计算机可读程序指令,以执行本发明的各方面。
本文结合本发明实施例提供的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令实现。
图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、段或指令部分,该指令部分包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中注明的功能可以不按照图中注明的顺序。例如,实际上,连续示出的两个框可以实质上同时执行,或者根据所涉及的功能,这些框有时可以按相反的顺序执行。还需要说明的是,框图和/或流程图中的每个框,以及框图和/或流程图中的框的组合,可以由基于专用硬件的系统实现,这些系统执行指定的功能或动作,或执行专用硬件和计算机指令的组合。
现参考图1,图1示出了本发明的一些实施例提供的为请求访问服务网络的多个VPN客户端中的每一个创建专用子网络的示例性流程的流程图。示例性流程100可以由服务网络的网关执行,以与多个用户使用的多个客户端设备建立VPN链路,并创建全部彼此隔离的多个专用子网络,使得每个客户端设备只能访问其相应的专用子网络。
为相应客户端设备创建的每个子网络可以包括所述服务网络的一个或多个网络节点,所述网络节点是根据定义所述相应客户端设备对所述网络节点的访问权限的访问凭证选择的。所述访问凭证可以从所述客户端设备的凭证记录中提取,例如,与所述相应客户端设备的相应用户相关联的凭证记录。
所述网关可以通过将客户端虚拟地址分配给所述客户端设备中的每一个并将服务器虚拟地址分配给所述客户端设备可访问的所述网络节点中的每一个来创建所述隔离的子网络。具体地,分配所述(客户端和服务器)虚拟地址的地址范围不与所述服务网络中分配的本地地址的地址范围冲突。此外,分配给所述客户端设备中的每一个的所述客户端虚拟地址不与在所述相应客户端设备的源网络中分配的地址的范围冲突。
在创建所述多个隔离子网络之后,所述网关可以与所述多个客户端设备建立所述多条VPN链路,并且可以通过将交换的消息(数据包)重定向到其目的来控制所述客户端设备与所述服务网络之间的入和/或出网络流量。所述网关可以通过根据分配给所述客户端设备和所述网络节点的所述虚拟地址调整所述交换的消息的源地址和/或目的地址来重定向所述交换的消息。
现参考图2,图2是本发明的一些实施例提供的为请求访问服务网络的多个VPN客户端中的每一个创建专用子网络的示例性网络化系统的示意图。
在本地网络220上建立的示例性服务网络200可以包括多个网络节点202,例如服务器、计算节点、计算节点集群等,这些网络节点可以向多个用户设备204提供一个或多个服务,例如计算机、移动设备(例如,智能手机、平板电脑等)。所述服务可以包括邮件服务、远程访问服务(例如,远程桌面等)、数据库访问、存储服务等。
具体地,客户端设备204可以通过建立的各个VPN链路访问服务网络200,以通过加密网络节点202与客户端设备204之间交换的数据,在客户端设备204中的每一个与服务网络200之间创建各自的虚拟点对点连接。所述VPN链路可以使用本领域已知的一种或多种隧道协议建立,例如L2隧道、L3隧道等,例如第二层隧道协议(Layer 2Tunneling Protocol,L2TP)、通用路由封装(Generic Routing Encapsulation,GRE)、虚拟可扩展局域网(Virtual Extensible Local Area Network,VXLAN)、安全套接字隧道协议(SecureSocket Tunneling Protocol,SSTP)、互联网协议安全(Internet Protocol Security,IPSec)、IP in IP(IP in IPv4/IPv6)、SIT/IPv6(IPv6 in IPv4/IPv6)、OpenVPN等。
本地网络220可以包括一个或多个有线和/或无线网络,例如局域网(Local AreaNetwork,LAN)、广域网(Wide Area Network,WAN)等,这些网络可以由一个或多个物理网络和/或虚拟网络使用,例如软件定义网络(Software Defined Network,SDN)等。所述物理网络可以包括一个或多个物理网络节点202,例如所述服务器、所述计算节点、所述计算节点集群等,这些物理网络节点由一个或多个物理交换机管理。所述虚拟网络可以包括一个或多个虚拟网络节点202,例如虚拟机(Virtual Machine,VM)等,一个或多个虚拟网络节点202在一个或多个物理网络节点202上实例化,并且可选地由一个或多个虚拟交换机管理,例如Open vSwitch(OVS)等。
为服务网络200提供基础设施的本地网络220可以通过一个或多个网关206连接到一个或多个外部网络230,例如LAN、WAN、市域网(Municipal Area Network,MAN)、蜂窝网络、互联网等。因此,从外部网络230访问服务网络200的客户端设备204之间交换的流量可以通过网关206中的一个或多个。
具有多个用于连接到本地网络220和外部网络230的网络接口的网关206可以可选地包括:一个或多个处理器(同构或异构),用于并行处理(作为集群和/或作为一个或多个分布式核心处理单元);存储器,用于存储代码(程序存储器)和/或数据。所述处理器可以执行一个或多个软件模块,例如进程、脚本、应用、代理、实用程序、工具、操作系统(OperatingSystem,OS)、服务、插件、加载项等,每个软件模块包括多个程序指令,所述程序指令可以从所述程序存储器执行。
网关206还可以包括一个或多个硬件元件,例如电路、组件、集成电路(IntegratedCircuit,IC)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital SignalProcessor,DSP)、网络处理器等。
网关206可以执行VPN管理器210用于创建和管理多个子网络250,每个子网络250是为请求与服务网络200建立VPN链路的多个客户端设备204中的相应一个创建的。VPN管理器210可以由所述软件模块中的一个或多个、所述硬件元件中的一个或多个和/或其组合使用。此外,VPN管理器210可以作为单独的模块实现,也可以与网关206中执行和/或部署的用于建立、控制和/或管理VPN链路的一个或多个其它模块集成。
VPN管理器210可以创建子网络250,每个子网络250包括一个或多个网络节点202(成员),所述一个或多个网络节点202可以根据为客户端设备204中的每一个定义的访问权限向客户端设备204提供一个或多个服务。每个客户端设备204的所述访问权限可以定义相应客户端设备204可以访问的所述服务和/或网络节点202。每个客户端设备204或使用相应客户端设备204的相应用户的所述访问权限可以定义并存储在为相应客户端设备204和/或其使用相应客户端设备204的关联用户创建的一个或多个凭证记录中。
例如,VPN管理器210可以为客户端设备A 204(204A)创建包含三个成员(网络节点202A、网络节点202B和网络节点202E)的子网络250A。在另一个示例中,VPN管理器210可以为客户端设备B 204(204B)创建包含三个成员(网络节点202D、网络节点202E和网络节点202F)的子网络250B。在另一个示例中,VPN管理器210可以为客户端设备N 204(204N)创建包含两个成员(网络节点202G和网络节点202H)的子网络250N。
可选地,可以在服务网络200中部署一个或多个DNS控制器208,以解析通过本地网络220传输的网络流量消息的寻址和/或路由。例如,DNS控制器208可以解析URI,例如指定服务网络200中的网络节点202中的一个或多个的URL,并将这些URL转换为各个网络节点202的实际网络地址。
DNS控制器208可以根据本领域已知的一种或多种技术、实现和/或部署方式,在服务网络200中部署和/或使用。例如,DNS控制器208中的一个或多个可以实现为专用网络节点,例如网络节点202。在另一个示例中,DNS控制器208中的一个或多个可以部署在向客户端设备204提供一个或多个服务的网络节点202中的一个或多个中。在另一个示例中,DNS控制器208中的一个或多个可以部署在服务网络200中部署的网关206中的一个或多个中,以将本地网络220连接到外部网络230。
如102处所示,VPN管理器210可以从多个客户端设备204中的至少一些客户端设备接收多个请求,其中,多个客户端设备204请求与服务网络200建立VPN链路以访问网络节点202中的一个或多个和/或由网络节点202中的一个或多个提供的服务。
所述多个VPN链路请求可以在网关206处同时和/或连续地接收,使得在客户端设备204和服务网络200之间建立的VPN链路的数量随着时间的推移累积并由VPN管理器210同时管理。因此,虽然可以断开与各个客户端设备204建立的一条或多条VPN链路和/或可以与客户端设备204建立新的VPN链路,但是所述VPN管理器通常保持与多个相应客户端设备204的多条VPN链路。
如104处所示,VPN管理器210可以分析发起所述多个VPN链路请求中的相应一个的多个客户端设备204中的每一个的访问凭证。所述访问凭证可以定义相应客户端设备204的访问权限,用于访问网络节点202中的一个或多个和/或网络节点202提供的一个或多个服务。因此,VPN管理器210可以分析请求建立相应VPN链路的多个客户端设备204中的每一个的访问凭证,以识别相应客户端设备204的访问权限。
例如,特定客户端设备204A的所述访问凭证可以定义客户端设备204A被授权访问网络节点202A、202B和/或202E。在另一个示例中,特定客户端设备204B的所述访问凭证可以定义客户端设备204B被授权访问网络节点202D、202E和/或202F。在另一个示例中,特定客户端设备204C的所述访问凭证可以定义客户端设备204C被授权访问网络节点202G和/或202H。
定义相应客户端设备204的访问权限或使用相应客户端设备204的用户的访问权限的访问凭证可以从维护的一个或多个凭证记录中提取(获取),以将多个客户端设备204和/或使用客户端设备204的用户与各个访问权限相关联。例如,一个或多个凭证记录可以本地存储在网关206中,使得VPN管理器210可以本地访问这个(这些)凭证记录,以提取相应客户端设备204的访问凭证。在另一个示例中,一个或多个凭证记录可以存储在网络节点202中的一个或多个中,使得VPN管理器210可以通过经由本地网络220与相应网络节点202通信来访问这个(这些)凭证记录,以提取相应客户端设备204的访问凭证。在另一个示例中,一个或多个凭证记录可以存储在VPN管理器210可以通过外部网络230访问的一个或多个远程网络化资源中,以提取相应客户端设备204的访问凭证。
如106处所示,VPN管理器210可以创建多个子网络250,子网络250中的每一个是为发起VPN链路请求的多个客户端设备204中的相应一个创建的。具体地,VPN管理器210根据为请求建立相应VPN链路的客户端设备204中的每一个识别的访问凭证(访问权限)创建多个子网络250。
继续前面的示例,由于客户端设备204A被授权访问网络节点202A、202B和/或202E,因此VPN管理器210可以为客户端设备204A创建包括成员网络节点202的一个子集(具体地,是网络节点202A、202B和202E)的子网络250A。在另一个示例中,由于客户端设备204B被授权访问网络节点202D、202E和/或202F,因此VPN管理器210可以为客户端设备204B创建包括成员网络节点202的另一个子集(具体地,是网络节点202D、202E和202F)的子网络250B。在另一个示例中,由于客户端设备204N被授权访问网络节点202G和/或202H,因此VPN管理器210可以为客户端设备204N创建包括成员网络节点202的另一个子集(具体地,是网络节点202G和202H)的子网络250N。
如108处所示,对于发起VPN链路请求的客户端设备204中的每一个,VPN管理器210可以将客户端虚拟(网络)地址分配给相应客户端设备204,并将服务器虚拟地址分配给包括在为相应客户端设备204创建的子网络250中的网络节点202。
具体地,VPN管理器210分配所述(客户端和服务器)虚拟地址的地址范围不与在服务网络200内的网络节点202中分配的本地地址的地址范围冲突。此外,分配VPN管理器210为客户端设备204中的每一个分配的所述虚拟地址的地址范围不与在源网络中分配的地址的本地地址范围冲突,其中,相应客户端设备204连接到所述源网络以连接到网络230并通过网络230连接到网关206。
在所述非冲突地址范围内分配所述虚拟地址,以防止由分配给客户端设备204和/或网络节点202中的一个或多个的客户端和/或服务器虚拟(网络)地址引起的映射和/或路由问题,所述虚拟(网络)地址不与在本地网络220中分配的本地(网络)地址重叠。类似地,在所述非冲突地址范围内为每个客户端设备204分配所述虚拟(网络)地址,以防止所述虚拟地址与在相应客户端设备204所连接的所述源网络中分配的本地(网络)地址重叠。
现代网络的映射、寻址和/或路由协议、方案和/或机制通常基于根据一种或多种协议(例如IPv4、IPv6等)的互联网协议(Internet Protocol,IP)地址。因此,在本地网络220以及外部网络230中分配的所述本地(网络)地址通常可以是IP地址,其中,外部网络230包括客户端设备204的所述源网络。为了保持完全符合现有寻址方案并实现容易集成和/或迁移,所述虚拟地址也可以是IP地址,例如IPv4、IPv6等。
VPN管理器210分配的所述虚拟地址可以在根据一种或多种技术和/或实现方式选择和/或定义的一个或多个虚拟地址范围内分配。
例如,所述虚拟地址范围可以是预定义的且唯一分配给服务网络220中的VPN管理器210使用。由于这样的虚拟地址范围被唯一分配在服务网络200中使用,因此无需担心地址与本地网络220和/或外部网络230中的所述本地地址发生冲突,其中,外部网络230包括客户端设备204连接到的所述源网络。
在另一个示例中,所述虚拟地址范围可以在任意的和/或由VPN管理器210随机选择的一个或多个地址范围中选择。由于是任意的和/或随机选择的,因此,这样的虚拟地址范围与本地网络220和/或所述源网络中的所述本地地址冲突的概率显著降低,并且几乎微不足道。
在另一个示例中,VPN管理器210可以与客户端设备204中的一个或多个通信(握手),并探索所述相应客户端设备的所述源网络的所述地址范围,以便协商分配所述虚拟地址的所述地址范围。确定在所述源网络中使用的所述地址范围之后,VPN管理器210因此可以选择所述虚拟地址范围,使得所述虚拟地址范围不与在所述源网络中分配的所述地址范围冲突,从而防止地址重叠。
此外,VPN管理器210可以在一种通信协议使用的地址范围内分配所述虚拟地址,而在另一种通信协议使用的不同地址范围内分配所述本地地址。例如,假设服务网络200中使用的所述本地地址范围符合IPv4协议,使得映射在本地网络220中的网络节点202具有符合IPv4协议的地址。然而,VPN管理器210可以在符合IPv6协议的地址范围内将所述客户端虚拟地址和所述相应服务器虚拟地址分配给客户端设备204中的一个或多个。在另一个示例中,假设服务网络200中使用的所述本地地址范围符合IPv6协议,使得映射在本地网络220中的网络节点202具有符合IPv6协议的地址。然而,VPN管理器210可以在符合IPv4协议的地址范围内将所述客户端虚拟地址和所述相应服务器虚拟地址分配给客户端设备204中的一个或多个。
如下文所述,VPN管理器210管理每个相应客户端设备204与网络节点202之间经由所述VPN链路中的每一条交换的网络流量(即消息、数据包)的映射、寻址和/或路由,其中网络节点202包括在相应客户端设备204的子网络250(成员)中。具体地,VPN管理器210独立于通过所述VPN链路中的其它链路中的每一条交换的网络流量,管理通过所述多条VPN链路中的每一条交换的网络流量,使得多个子网络250彼此隔离。
VPN管理器210可以为发起所述VPN链路的客户端设备204中的每一个分配唯一的客户端虚拟地址,以及为子网络250中的每一个中的网络节点202分配唯一的服务器虚拟地址。VPN管理器210可以使用单个虚拟地址范围或多个虚拟地址范围。然而,由于所述VPN链路的独立和隔离管理,VPN管理器210可以将重叠的客户端虚拟地址分配给多个客户端设备204和/或将重叠的服务器虚拟地址分配给包括在不同子网络250中的多个网络节点202。使用重叠的虚拟地址可以用于维持相对较小的虚拟地址范围。
如110处所示,VPN管理器210可以与发起所述VPN链路请求的多个客户端设备204建立所述多条VPN链路。具体地,VPN管理器210与客户端设备204中的相应一个建立所述VPN链路中的每一条,用于访问包括在为相应客户端设备204创建的子网络250中的网络节点202。
为此,VPN管理器210可以向每个客户端设备204提供(传输)分配给相应客户端设备204的所述客户端虚拟地址以及分配给网络节点202的所述服务器虚拟地址,其中网络节点202包括在为相应客户端设备204创建的子网络250中。此外,VPN管理器210可以在本地网络220的本地地址范围内为客户端设备204中的每一个分配客户端本地地址,用于在本地网络220中映射客户端设备204。如在上文中针对所述虚拟地址所描述的,虽然VPN管理器210可以为客户端设备204中的每一个分配唯一的客户端本地地址,但是由于VPN管理器210与其它VPN链路隔离独立地管理每条VPN链路,因此VPN管理器210可以为多个客户端设备204分配重叠和/或相似的客户端本地地址。
对于客户端设备204经由所述VPN链路向网络节点202传输的入网络流量,每个客户端设备204可以使用其分配的虚拟地址和分配给其子网络250的网络节点202的虚拟地址,通过网关206向网络节点202传输消息(数据包)。具体地,每个客户端设备204可以将其虚拟地址设置为源地址,并将目的网络节点202的所述虚拟地址设置为相应客户端设备204传输到网关206的每个消息中的目的地址。
类似地,在响应路径上,即传输到客户端设备204的出网络流量,网关206(具体地是VPN管理器210)可以使用分配给每个客户端设备204的所述虚拟地址来向相应客户端设备204传输从特定网络节点202接收的消息(数据包)。具体地,VPN管理器210可以将特定网络节点202的所述虚拟地址设置为源地址,并将相应客户端设备204的所述虚拟地址设置为传输到相应客户端设备204的每个消息中的目的地址。
如112处所示,在与相应客户端设备204建立每条VPN链路之后,VPN管理器210管理(控制)在相应客户端设备204与网络节点202之间交换的网络流量的映射、寻址和/或路由,其中网络节点202包括在为相应客户端设备204创建的子网络250中。VPN管理器210可以通过将所述虚拟地址转换为所述入网络流量消息的本地地址,反之将所述本地地址转换为所述出网络流量消息的虚拟地址来管理网络流量,如下所述。
VPN管理器210可以通过如下调整每个入消息来控制从每个客户端设备204接收并发往其相应子网络250的成员的消息的入网络流量:
-将包括相应客户端设备204的所述客户端虚拟地址的所述入消息的源地址(字段)
调整为相应客户端设备204的所述客户端本地地址。
-将所述入消息的目的地址(字段)调整为相应成员网络节点202的所述(服务器)本地地址,其中所述入消息包括为相应客户端设备204创建的子网络250的成员网络节点202之一的所述服务器虚拟地址。
-将所述调整后的入消息转发到相应成员网络节点202。
作为补充,VPN管理器210可以通过如下调整每个出消息来控制从子网络250的成员网络节点202接收并发往客户端设备204之一的消息的出网络流量:
-将所述相应出消息的源地址(字段)调整为相应成员网络节点202的所述服务器虚拟地址,其中所述相应出消息包括相应成员网络节点202的所述服务器本地地址。
-将所述出消息的目的地址(字段)调整为相应客户端设备204的所述客户端虚拟地址,其中所述出消息包括相应客户端设备204的所述客户端本地地址。
-将所述调整后的出消息转发到相应客户端设备204。
在入网络流量路径上,由于管理与所有客户端设备204建立的所有VPN链路的VPN管理器210可以根据接收所述相应入消息所使用的VPN链路将所述相应入消息与相应客户端设备204相互关联,因此VPN管理器210可以容易地将每个入消息与客户端设备204中的相应一个相关联。
然而,在出网络流量上,VPN管理器210可能需要应用一种或多种技术来识别目的客户端设备204,目的客户端设备204被指定为网络节点202之一传输的每个出消息的目标(接收者)。
如前所述,在本发明的一些实施例中,为每个客户端设备204分配唯一的客户端本地地址。在这种情况下,VPN管理器210可以根据包括在每个出消息中的所述唯一客户端本地地址将该出消息与相应目的客户端设备204相关联。
然而,在本发明的一些实施例中,可以为多个客户端设备204分配相似的客户端本地地址,这在识别共享相同客户端本地地址的多个客户端设备204中的哪一个是每个出消息的目的时可能会带来挑战。为了消除这种含糊不清,VPN管理器210可以应用本领域已知的一种或多种会话和/或连接跟踪协议来跟踪客户端设备204中的每一个与网络节点202的会话/连接。具体地,VPN管理器210可以跟踪与一个或多个其它客户端设备204共享公共客户端本地地址的客户端设备204中的每一个的会话/连接。根据识别每个此类客户端设备204的会话和/或连接,VPN管理器210可以将每个出消息与相应(特定)客户端设备204相关联。
可选地,在本发明的一些实施例中,可以存在地址分配的组合,其中,可以为客户端设备204中的一个或多个分配唯一客户端本地地址,而一组或多组其它客户端设备204可以共享一个或多个相似的客户端本地地址。在这种情况下,VPN管理器210可以根据所述唯一本地地址关联发往分配了唯一地址的客户端设备204的出消息,同时根据会话/连接跟踪关联发往共享公共客户端本地地址的客户端设备204的出消息。
此外,如前所述,VPN管理器210可以在不同的地址范围内分配所述虚拟地址和所述本地地址,这些地址符合不同的通信协议并被不同的通信协议使用,例如IPv4、IPv6等。在这种情况下,当调整所述入网络流量消息和/或所述出网络流量消息中的源地址和目的地址时,VPN管理器210可以将在一个地址范围内分配的由第一协议使用的虚拟地址转换为在另一个地址范围内分配的由第二协议使用的本地地址,反之亦然。例如,假设服务网络200中使用的所述本地地址范围符合IPv4协议,其中,网络节点202的所述地址是根据IPv4协议分配的,而所述客户端虚拟地址和所述服务器虚拟地址是根据IPv6协议在某个地址范围内分配的。在这种情况下,在入网络流量路径上,VPN管理器210可以将IPv6地址范围中的所述虚拟地址转换为IPv4地址空间中的所述本地地址,反之,在出网络流量路径上,VPN管理器210可以将IPv4地址范围中的所述本地地址转换为IPv6地址范围中的所述虚拟地址。在另一个示例中,假设服务网络200中使用的所述本地地址范围符合IPv6协议,其中,网络节点202的所述地址是根据IPv6协议分配的,而所述客户端虚拟地址和所述服务器虚拟地址是根据IPv4协议在某个地址范围内分配的。在这种情况下,在入网络流量路径上,VPN管理器210可以将IPv4地址范围中的所述虚拟地址转换为IPv6地址空间中的所述本地地址,反之,在出网络流量路径上,VPN管理器210可以将IPv6地址范围中的所述本地地址转换为IPv4地址范围中的所述虚拟地址。
现参考图3,图3是本发明的一些实施例提供的用于初始化VPN客户端的专用子网络以及管理在VPN客户端与网络节点之间交换的流量的示例性顺序的示意图。可以遵循示例性顺序300通过网关(例如网关206)在客户端设备(例如客户端设备204)与网络节点(例如连接到本地网络的网络节点202,所述本地网络例如是服务网络的本地网络220,所述服务网络例如是服务网络200)建立VPN链路。网关206可以执行、利用和/或实现VPN管理器,例如VPN管理器210。网络节点202可以在本地网络220中与本地地址Z映射。
如图所示,顺序300从配置阶段开始,当网关206(具体地是VPN管理器210)从客户端设备204接收到与服务网络200建立VPN链路的请求时启动所述配置阶段。如在流程100的步骤104和步骤106中所述,响应于所述VPN链路请求,VPN管理器210为客户端设备204创建隔离的专用子网络,所述专用子网络包括一个或多个网络节点202,所述一个或多个网络节点202被授权由客户端设备204访问,如客户端设备204的访问凭证所定义的。为客户端设备204创建的所述专用子网络与可能为其它客户端设备204创建的任何其它子网络隔离,其中,其它客户端设备204当前可能通过其它VPN链路连接到服务网络200。
具体地,VPN管理器210将客户端虚拟地址V分配给客户端设备204,并将服务器虚拟地址Y分配给网络节点202,根据客户端设备204的所述访问凭证确定客户端设备204可以访问网络节点202。所述VPN管理器还可以将本地客户端地址A分配给客户端设备204,本地客户端地址A在服务网络200的本地网络220中映射客户端设备204。
然后,VPN管理器210可以通过向客户端设备204传输客户端虚拟地址V和服务器虚拟地址Y来与客户端设备204建立所述VPN链路,如在流程100的步骤110中所述。
建立所述VPN链路后,在入网络流量路径上,客户端设备204可以通过向网络节点202传输一个或多个消息来访问网络节点202。客户端设备204可以构建所述入消息以包括VPN管理器210分配给它的所述虚拟地址,用于将其自身指定为所述消息的源(发起者)并将网络节点202映射为所述消息的目的。具体地,客户端设备204可以将所述消息的源地址和目的地址设置为分别包括客户端虚拟地址V和服务器虚拟地址Y。
从客户端设备204接收所述入消息的VPN管理器210可以调整每个接收的消息,以将源虚拟地址和目的虚拟地址转换为对应的本地地址。具体地,VPN管理器210可以将源地址从客户端虚拟地址V转换为客户端本地地址A,将目的地址从服务器虚拟地址Y转换为服务器本地地址Z。
然后,网关206可以通过本地网络220将所述调整后(转换后)的入消息转发到网络节点202。
在响应路径上,即在出网络流量路径上,网络节点202可以通过网关206经由所述VPN链路向客户端设备204传输一个或多个出消息来响应客户端设备204。网络节点202自然不会注意到为客户端设备204进行的地址转换,它使用所述本地地址来映射所述出消息,即服务器本地地址Z作为源地址,客户端本地地址A(从所述入消息中检索)作为目的地址。
所述VPN管理器可以调整从网络节点202接收的每个出消息,以根据分配给为客户端设备204创建的所述子网络的所述虚拟地址转换源地址和目的地址。具体地,VPN管理器210可以将源地址从服务器本地地址Z转换为服务器虚拟地址Y,将目的地址从客户端本地地址A转换为客户端虚拟地址V。
然后,网关206可以通过与客户端设备204建立的所述VPN链路向所述客户端设备传输所述调整后(转换后)的出消息。
网络节点202中的一个或多个和/或网络节点202提供的一个或多个服务可以在外部网络230中使用名称和/或指示符映射,具体地是URI,例如URL。因此,服务网络200可以部署一个或多个DNS控制器(例如DNS控制器208),用于将网络节点202中的一个或多个的URL解析并转换为这些网络节点202的所述本地网络地址,即所述服务器本地地址。
在这种情况下,VPN管理器210可以扩展客户端设备204中的一个或多个的所述隔离子网络以包括DNS控制器208,从而使得客户端设备204能够访问DNS控制器208,以便首先解析每个目标网络节点202的URI并获取相应目标网络节点202的所述服务器网络地址。
例如,DNS控制器208可以用一个或多个DNS响应消息来响应从客户端设备204接收的DNS解析请求,所述DNS响应消息包括相应目标网络节点202的所述服务器虚拟地址,所述服务器虚拟地址是客户端设备204的目标。在另一个示例中,DNS控制器208可以用一个或多个DNS响应消息来响应从客户端设备204接收的DNS解析请求,所述DNS响应消息包括所述目标网络节点的所述本地地址。然后,接收所述DNS响应消息的VPN管理器210可以为该目标网络节点分配服务器虚拟地址,所述服务器虚拟地址通过所述VPN链路传输到客户端设备204。VPN管理器210还可以将所述分配的服务器虚拟地址与目标网络节点202的所述本地地址相关联,以便控制入和/或出网络流量并相应地调整交换的消息。
在获取目标网络节点202的所述服务器虚拟地址后,客户端设备204可以使用所述获取的服务器虚拟地址访问目标网络节点202,如在流程100中所述。
现参考图4,图4是本发明的一些实施例提供的用于使用DNS控制器初始化VPN客户端的专用子网络以及管理在VPN客户端和DNS控制器与网络节点之间交换的流量的示例性顺序的示意图。可以遵循示例性顺序400通过网关(例如网关206)在客户端设备(例如客户端设备204)与网络节点(例如连接到本地网络的网络节点202,所述本地网络例如是服务网络的本地网络220,所述服务网络例如是服务网络200)建立VPN链路,其中,DNS控制器(例如DNS控制器208)解析网络节点202中的一个或多个的URI。网关206可以执行、利用和/或实现VPN管理器,例如VPN管理器210。网络节点202可以在本地网络220中映射为本地地址Z,而DNS控制器208在本地网络220中映射为本地地址D。
如图所示,顺序400从配置阶段开始,当网关206(具体地是VPN管理器210)从客户端设备204接收到与服务网络200建立VPN链路的请求时启动所述配置阶段。如在流程100的步骤104和步骤106中所述,响应于所述VPN链路请求,VPN管理器210为客户端设备204创建隔离的专用子网络,所述专用子网络包括一个或多个网络节点202,所述一个或多个网络节点202被授权由客户端设备204访问,如客户端设备204的访问凭证所定义的。VPN管理器210还在为客户端设备204创建的所述隔离子网络中包括DNS控制器208。如前所述,为客户端设备204创建的所述专用子网络与可能为其它客户端设备204创建的任何其它子网络隔离,其中,其它客户端设备204当前可能通过其它VPN链路连接到服务网络200。
具体地,VPN管理器210将客户端虚拟地址V分配给客户端设备204,将DNS虚拟地址X分配给DNS控制器208。所述VPN管理器还可以将本地客户端地址A分配给客户端设备204,本地客户端地址A在服务网络200的本地网络220中映射客户端设备204。
然后,VPN管理器210可以通过向客户端设备204传输客户端虚拟地址V和DNS虚拟地址X来与客户端设备204建立所述VPN链路,如在流程100的步骤110中所述。
建立所述VPN链路后,只有网络节点202的URI的客户端设备204可能首先需要获取网络节点202的所述服务器地址。因此,客户端设备204可以使用所述DNS虚拟地址经由所述VPN链路访问DNS控制器208以尝试解析网络节点202的URI。具体地,客户端设备204可以将定向到DNS控制器208的所述(入)消息的源地址和目的地址设置为分别包括客户端虚拟地址V和服务器虚拟地址Y。客户端设备204还可以包括URI,例如网络节点202的URL,其是客户端设备204访问服务网络200的目标。
从客户端设备204接收所述入DNS消息的VPN管理器210可以调整每个接收的DNS消息,以将源虚拟地址和目的虚拟地址转换为对应的本地地址。具体地,VPN管理器210可以将源地址从客户端虚拟地址V转换为客户端本地地址A,将目的地址从DNS控制器虚拟地址X转换为服务器本地地址D。
然后,网关206可以通过本地网络220将所述调整后(转换后)的入DNS消息转发到DNS控制器208。
作为响应,所述DNS控制器可以通过网关206经由所述VPN链路向客户端设备204传输一个或多个出DNS消息来响应客户端设备204,所述出DNS消息可以包括根据在来自客户端设备204的所述DNS消息中接收的URI和/或URL解析的目标网络节点202的服务器虚拟地址Y。DNS控制器208可以使用所述本地地址来映射所述出DNS消息,即本地地址D作为源地址,客户端本地地址A(从所述入消息中检索)作为目的地址。
VPN管理器210可以调整从DNS控制器208接收的每个出DNS消息,以根据分配给为客户端设备204创建的所述子网络的所述虚拟地址转换源地址和目的地址。具体地,VPN管理器210可以将源地址从DNS本地地址D转换为DNS虚拟地址X,将目的地址从客户端本地地址A转换为客户端虚拟地址V。
然后,网关206可以通过与客户端设备204建立的所述VPN链路向所述客户端设备传输所述调整后(转换后)的出DNS消息。
从这一点来看,顺序400可以与顺序300非常相似。
使用在来自DNS控制器208的所述DNS出消息中接收的所述服务器虚拟地址的客户端设备204现在可以经由所述VPN链路向网络节点202传输一个或多个(入)消息。具体地,客户端设备204可以将所述入消息的源地址和目的地址设置为分别包括客户端虚拟地址V和服务器虚拟地址Y。
从客户端设备204接收所述入消息的VPN管理器210可以调整每个接收的消息,以将源虚拟地址和目的虚拟地址转换为对应的本地地址。具体地,VPN管理器210可以将源地址从客户端虚拟地址V转换为客户端本地地址A,将目的地址从服务器虚拟地址Y转换为服务器本地地址Z。
然后,网关206可以通过本地网络220将所述调整后(转换后)的入消息转发到网络节点202。
在响应路径上,即在出网络流量路径上,网络节点202可以通过网关206经由所述VPN链路向客户端设备204传输一个或多个出消息来响应客户端设备204。网络节点202可以使用所述本地地址来映射所述出消息,即服务器本地地址Z作为源地址,客户端本地地址A作为目的地址。
VPN管理器210可以调整从网络节点202接收的每个出消息,以根据分配给为客户端设备204创建的所述子网络的所述虚拟地址转换源地址和目的地址。具体地,VPN管理器210可以将源地址从服务器本地地址Z转换为服务器虚拟地址Y,将目的地址从客户端本地地址A转换为客户端虚拟地址V。
然后,网关206可以通过与客户端设备204建立的所述VPN链路向所述客户端设备传输所述调整后(转换后)的出消息。
此外,部署在本地网络220上的服务网络200,具体地是DNS控制器208,还可以应用一种或多种租赁协议来释放分配给客户端设备204中的一个或多个的所述虚拟地址,以防(这些)客户端设备204在预定义的租用时间(例如300秒)内没有访问。例如,假设特定客户端设备204访问了DNS控制器208以请求获取特定目标网络节点202的所述网络地址。如前所述,该请求由所述DNS控制器响应并由所述VPN控制器调整,以向特定客户端设备204提供特定目标网络节点202的所述服务器虚拟地址。
使用从DNS控制器208获取的特定目标网络节点202的所述服务器虚拟地址,特定客户端设备204可以与特定目标网络节点202通信以及访问特定目标网络节点202。然而,在与目标网络节点202通信时,如果客户端设备204未能在所述预定义的租用时间内连续两次访问目标网络节点202,则DNS控制器208可以撤销分配给目标网络节点202以供客户端设备204使用的所述服务器虚拟地址。在这种情况下,为了再次访问目标网络节点202,客户端设备204可以发起与DNS控制器208的另一个循环,以获得目标网络节点202的所述服务器虚拟地址,所述服务器虚拟地址在租用被撤销后可以改变。
此外,如果在服务网络中应用动态地址分配以将网络节点202映射到本地网络220上,当将所述客户端本地地址分配给客户端设备204中的一个或多个时,VPN管理器210可以访问一个或多个动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)控制器来获取所述客户端本地地址。此外,在这样的动态寻址部署中,网络节点202中的一个或多个的所述本地地址也可以改变,例如在重启、断电等情况后。在这种情况下,特别是在VPN管理器210按照顺序300中的描述分配所述服务器虚拟地址的情况下,VPN管理器210可以使用唯一指定网络节点202中的每一个的预定义名称来访问DNS控制器208,以获得作为客户端设备204中的一个或多个的目标的一个或多个网络节点202的所述服务器本地地址。
已出于说明的目的提供本发明的各种实施例的描述,并不旨在穷举或局限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域技术人员而言是显而易见的。选择本文所使用的术语是为了更好地解释实施例的原理、实际应用或优于市场中发现的技术的技术改进,或者是为了使本领域其它技术人员能够理解本文公开的实施例。
预计在从本申请走向成熟的专利的有效期内,将开发许多相关技术,并且术语“虚拟网络”、“VPN”、“虚拟节点”和“虚拟交换机”的范围旨在先验地包括所有此类新技术。
本文所使用的术语“约”是指±10%。
术语“包括”、“具有”以及其变化形式表示“包括但不限于”。该术语包括了术语“由……组成”以及“主要由……组成”。
短语“主要由……组成”表示组成物或方法可以包括附加的成分和/或步骤,但前提是附加的成分和/或步骤不会实质上改变所要求的组成物或方法的基本和新颖特性。
除非上下文另有明确说明,否则本文所使用的单数形式“一个(a/an)”和“所述(the)”包括复数含义。例如,术语“一种复合物”或“至少一种复合物”可以包括多种复合物,包括其混合物。
本文所使用的词语“示例性的”表示“作为一个示例、实例或说明”。任何被描述为“示例性的”实施例不一定解释为比其它实施例更优选或更有利,和/或排除其它实施例的特征的结合。
本文所使用的词语“可选地”表示“在一些实施例中提供且在其它实施例中没有提供”。本发明的任意特定的实施例可以包括多个“可选的”特征,除非这些特征相互冲突。
在整个本申请案中,本发明的各种实施例可以以范围格式呈现。应理解,范围格式的描述仅仅是为了方便和简洁起见,不应被解释为对本发明范围的固定限制。因此,对于范围的描述应被认为已经具体公开所有可能的子范围以及该范围内的单个数值。例如,对于例如从1到6的范围的描述应被视为已具体公开了从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等的子范围以及该范围内的单个数字例如1、2、3、4、5和6。不论范围有多广,这都适用。
当本文指示一个数字范围时,表示包括所指示的范围内的任何所列举的数字(分数或整数)。短语“在第一个所指示的数和第二个所指示的数范围内”以及“从第一个所指示的数到第二个所指示的数范围内”和在这里互换使用,表示包括第一个和第二个所指示的数以及二者之间所有的分数和整数。
应理解,为了清楚起见而在单独实施例的上下文中描述的本发明的一些特征还可以在单个实施例中组合提供。相反,为简洁起见而在单个实施例的上下文中描述的本发明的各个特征也可以单独提供、以任何合适的组合提供,或适合于本发明的任何其它描述的实施例。在各种实施例的上下文中描述的某些特征不应当被认为是这些实施例的基本特征,除非在没有这些元件的情况下实施例是不可操作的。
本说明书中所提及的所有公开、专利和专利申请都在本文中以全文引用的方式并入本说明书中,程度如同每一单独的公开、专利或专利申请被专门并且单独地指示以引用的方式并入本文中一般。此外,本申请中对任何参考文件的引用或鉴别不应理解为承认该参考文件是作为本发明的现有技术可获得的。对于章节标题而言,它们不应当被解释为必然的限制。此外,本申请的任何在先申请文件的内容以引入的方式并入本文。
Claims (14)
1.一种虚拟专用网络(Virtual Private Network,VPN)网关,其特征在于,包括:
电路,用于:
为多个客户端设备创建彼此隔离的多个子网络,其中,所述多个客户端设备请求与包括多个网络节点的服务网络建立多条VPN链路中的相应一条,所述多个隔离子网络中的每一个是通过以下方式为所述多个客户端设备中的相应一个创建的:
根据所述相应客户端设备的访问凭证识别子组,所述子组包括所述多个网络节点中的至少一个;
向所述子组的每个成员分配服务器虚拟地址,并向所述相应客户端设备分配客户端虚拟地址;
与所述多个客户端设备建立所述请求的多条VPN链路,所述VPN链路中的每一条将所述相应客户端设备连接到其相应的隔离子网络。
2.根据权利要求1所述的装置,其特征在于,所述电路用于:通过对每个入消息执行以下操作,控制所述相应客户端设备通过所述相应VPN链路向所述成员网络节点传输的入网络流量:
-将包括所述客户端虚拟地址的所述入消息的源地址调整为所述服务网络的本地地址范围内的客户端本地地址;
-将包括所述服务器虚拟地址的所述入消息的目的地址调整为包括所述本地地址范围内的服务器本地地址;
将所述入消息转发至所述至少一个网络节点。
3.根据权利要求1和2中任一项所述的装置,其特征在于,所述电路用于:通过对每个出消息执行以下操作,控制所述成员网络节点向所述相应客户端设备传输的出网络流量:
-将包括服务器本地地址的所述出消息的源地址调整为包括所述服务器虚拟地址;
-将包括客户端本地地址的所述出消息的目的地址调整为包括所述客户端虚拟地址;
-通过所述相应VPN链路将所述出消息传输到所述相应客户端设备。
4.根据权利要求1所述的装置,其特征在于,所述客户端虚拟地址和所述服务器虚拟地址不在分配给所述服务网络的本地地址的范围内,也不在分配给源网络的本地地址的范围内,其中,所述相应客户端设备连接到所述源网络以建立所述相应VPN链路。
5.根据权利要求4所述的装置,其特征在于,所述客户端虚拟地址和所述服务器虚拟地址是从唯一分配给所述服务网络使用的预定义地址范围中选择的。
6.根据权利要求4所述的装置,其特征在于,所述客户端虚拟地址和所述服务器虚拟地址是从任意选择的地址范围中选择的。
7.根据权利要求4所述的装置,其特征在于,所述客户端虚拟地址和所述服务器虚拟地址是根据与所述客户端设备协商的地址范围选择的。
8.根据上述权利要求中任一项所述的装置,其特征在于,所述客户端虚拟地址、所述服务器虚拟地址、所述客户端本地地址和所述服务器本地地址为互联网协议(InternetProtocol,IP)地址。
9.根据权利要求8所述的装置,其特征在于,所述电路还用于:通过以下方式在IPv6地址范围和IPv4地址范围之间进行转换:所述本地地址范围是IPv4地址时,在IPv6地址范围内分配所述客户端虚拟地址和所述服务器虚拟地址,然后将所述客户端虚拟IPv6地址和所述服务器虚拟IPv6地址转换为相应的客户端本地IPv4地址和服务器本地IPv4地址;所述本地地址范围是IPv6地址范围时反之亦然。
10.根据权利要求8所述的装置,其特征在于,所述电路用于:根据所述客户端本地地址,关联所述成员网络节点响应于所述相应客户端设备传输的相应入消息而传输的至少一个出消息。
11.根据上述权利要求中任一项所述的装置,其特征在于,所述电路用于:通过跟踪所述相应客户端设备到所述服务网络的连接,关联所述成员网络节点响应于所述相应客户端设备传输的相应入消息而传输的至少一个出消息。
12.根据上述权利要求中任一项所述的装置,其特征在于,所述电路还用于:通过向所述服务网络的DNS控制器分配域名系统(Domain Name System,DNS)虚拟地址,将为所述多个客户端设备中的至少一个创建的所述隔离子网络扩展为包括所述DNS控制器;
所述电路用于:通过调整和转发所述客户端设备通过所述相应VPN链路传输到所述DNS控制器的至少一个DNS请求以及通过所述相应VPN链路调整和传输所述DNS控制器传输到所述相应客户端设备的至少一个响应消息来控制入和出网络流量。
13.根据权利要求1所述的装置,其特征在于,所述服务网络由至少一个物理网络和/或至少一个虚拟网络构成,所述多个网络节点中的每一个是物理网络节点或虚拟网络节点。
14.一种为多个虚拟专用网络(Virtual Private Network,VPN)客户端创建专用子网络的计算机实现方法,其特征在于,包括:
为多个客户端设备创建彼此隔离的多个子网络,其中,所述多个客户端设备请求与包括多个网络节点的服务网络建立多条VPN链路中的相应一条,所述多个隔离子网络中的每一个是通过以下方式为所述多个客户端设备中的相应一个创建的:
根据所述相应客户端设备的访问凭证识别子组,所述子组包括所述多个网络节点中的至少一个;
向所述子组的每个成员分配服务器虚拟地址,并向所述相应客户端设备分配客户端虚拟地址;
与所述多个客户端设备建立所述请求的多条VPN链路,所述VPN链路中的每一条将所述相应客户端设备连接到其相应的隔离子网络。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2019/080665 WO2021089169A1 (en) | 2019-11-08 | 2019-11-08 | Private sub-networks for virtual private networks (vpn) clients |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114556868A true CN114556868A (zh) | 2022-05-27 |
CN114556868B CN114556868B (zh) | 2023-11-10 |
Family
ID=68531548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980101417.8A Active CN114556868B (zh) | 2019-11-08 | 2019-11-08 | 虚拟专用网络vpn客户端的专用子网络 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114556868B (zh) |
WO (1) | WO2021089169A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338597A (zh) * | 2021-11-30 | 2022-04-12 | 奇安信科技集团股份有限公司 | 一种网络访问方法及装置 |
CN114257651A (zh) * | 2021-12-09 | 2022-03-29 | 山石网科通信技术股份有限公司 | 请求响应方法、装置、网络设备及计算机可读存储介质 |
CN114189393A (zh) * | 2022-02-15 | 2022-03-15 | 北京指掌易科技有限公司 | 一种数据处理方法、装置、设备和存储介质 |
CN116760652B (zh) * | 2023-08-23 | 2023-11-17 | 保大坊科技有限公司 | 用于同时访问多个系统的方法、装置以及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060251088A1 (en) * | 2005-05-06 | 2006-11-09 | Pascal Thubert | Private network gateways interconnecting private networks via an access network |
CN103607430A (zh) * | 2013-10-30 | 2014-02-26 | 中兴通讯股份有限公司 | 一种网络处理的方法和系统及网络控制中心 |
CN103733574A (zh) * | 2011-08-16 | 2014-04-16 | 微软公司 | 虚拟化与非虚拟化网络之间的虚拟化网关 |
US20140325637A1 (en) * | 2013-04-30 | 2014-10-30 | Futurewei Technologies, Inc | Supporting IP Address Overlapping Among Different Virtual Networks |
CN105391771A (zh) * | 2015-10-16 | 2016-03-09 | 张陵 | 一种面向多租户的云网络架构 |
CN105872128A (zh) * | 2016-05-31 | 2016-08-17 | 浙江宇视科技有限公司 | 虚拟ip地址的分配方法及装置 |
CN106331211A (zh) * | 2016-08-23 | 2017-01-11 | 赛尔网络有限公司 | 一种实现IPv6地址访问IPv4资源的方法和系统 |
US9832118B1 (en) * | 2014-11-14 | 2017-11-28 | Amazon Technologies, Inc. | Linking resource instances to virtual networks in provider network environments |
CN109412924A (zh) * | 2009-11-06 | 2019-03-01 | 微软技术许可有限责任公司 | 采用用于保护跨网络的连接的覆盖 |
US10320644B1 (en) * | 2015-09-14 | 2019-06-11 | Amazon Technologies, Inc. | Traffic analyzer for isolated virtual networks |
CN110191031A (zh) * | 2019-05-10 | 2019-08-30 | 杭州迪普科技股份有限公司 | 网络资源访问方法、装置、电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9942787B1 (en) * | 2016-03-22 | 2018-04-10 | Amazon Technologies, Inc. | Virtual private network connection quality analysis |
-
2019
- 2019-11-08 CN CN201980101417.8A patent/CN114556868B/zh active Active
- 2019-11-08 WO PCT/EP2019/080665 patent/WO2021089169A1/en active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060251088A1 (en) * | 2005-05-06 | 2006-11-09 | Pascal Thubert | Private network gateways interconnecting private networks via an access network |
CN109412924A (zh) * | 2009-11-06 | 2019-03-01 | 微软技术许可有限责任公司 | 采用用于保护跨网络的连接的覆盖 |
CN103733574A (zh) * | 2011-08-16 | 2014-04-16 | 微软公司 | 虚拟化与非虚拟化网络之间的虚拟化网关 |
US20140325637A1 (en) * | 2013-04-30 | 2014-10-30 | Futurewei Technologies, Inc | Supporting IP Address Overlapping Among Different Virtual Networks |
CN103607430A (zh) * | 2013-10-30 | 2014-02-26 | 中兴通讯股份有限公司 | 一种网络处理的方法和系统及网络控制中心 |
US9832118B1 (en) * | 2014-11-14 | 2017-11-28 | Amazon Technologies, Inc. | Linking resource instances to virtual networks in provider network environments |
US10320644B1 (en) * | 2015-09-14 | 2019-06-11 | Amazon Technologies, Inc. | Traffic analyzer for isolated virtual networks |
CN105391771A (zh) * | 2015-10-16 | 2016-03-09 | 张陵 | 一种面向多租户的云网络架构 |
CN105872128A (zh) * | 2016-05-31 | 2016-08-17 | 浙江宇视科技有限公司 | 虚拟ip地址的分配方法及装置 |
CN106331211A (zh) * | 2016-08-23 | 2017-01-11 | 赛尔网络有限公司 | 一种实现IPv6地址访问IPv4资源的方法和系统 |
CN110191031A (zh) * | 2019-05-10 | 2019-08-30 | 杭州迪普科技股份有限公司 | 网络资源访问方法、装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114556868B (zh) | 2023-11-10 |
WO2021089169A1 (en) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114556868B (zh) | 虚拟专用网络vpn客户端的专用子网络 | |
CN109155799B (zh) | 经由层三通信的子网扩展 | |
US11895092B2 (en) | Network access controller operation | |
US8539055B2 (en) | Device abstraction in autonomous wireless local area networks | |
KR101082876B1 (ko) | 가상 네트워크 접속 시스템, 장치, 및 기록 매체 | |
JP4988143B2 (ja) | コンピュータネットワーク | |
US8559448B2 (en) | Method and apparatus for communication of data packets between local networks | |
US20130182651A1 (en) | Virtual Private Network Client Internet Protocol Conflict Detection | |
US20130145000A1 (en) | Method and system for provisioning devices in a user network identity address provisioning server | |
CN107094110B (zh) | 一种dhcp报文转发方法及装置 | |
CN107547351B (zh) | 地址分配方法和装置 | |
US11196703B2 (en) | Connecting radio base stations via a third party network | |
US10873564B2 (en) | Cloud-based device manager based on message queues | |
US20230269139A1 (en) | Software defined access fabric without subnet restriction to a virtual network | |
RU2635216C1 (ru) | Способ маршрутизации IP-пакетов при использовании VPLS совместно с DHCP в сети с коммутацией пакетов | |
US20230038620A1 (en) | Method of setting user-defined virtual network | |
Cui et al. | IPv4 Address Sharing and Allocation for IPv6 Transition | |
JP5461465B2 (ja) | コンピュータネットワーク | |
Wolinsky et al. | Towards a uniform self-configuring virtual private network for workstations and clusters in grid computing | |
CN114128234A (zh) | 用于在多网络环境中防止冲突的虚拟地址分配 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |