VPN数据传输方法、装置及服务器转让专利

申请号 : CN202110246920.1

文献号 : CN112953808B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李强达

申请人 : 网宿科技股份有限公司

摘要 :

本发明实施方式涉及通信技术领域,公开了一种VPN数据传输方法,包括:将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,以使网络节点建立客户端的VPN隧道;接收网络节点发送的客户端的内层IP,并将内层IP与网络节点相绑定;根据内层IP识别是否接收到客户端的VPN内网流量;在接收到VPN内网流量时,将VPN内网流量转发至网络节点,以供网络节点将VPN内网流量加密封装为VPN外层流量后转发至客户端。本发明实施方式还公开了一种VPN数据传输装置及服务器。本发明实施方式提供的VPN数据传输方法、装置及服务器,可以保证VPN的内层和外层VPN流量均负载至同一个网络节点,保证报文的有效传输。

权利要求 :

1.一种VPN数据传输方法,其特征在于,应用于负载均衡节点,包括:将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,以使所述网络节点收到所述VPN外层流量后建立所述客户端的VPN隧道;

接收所述网络节点发送的所述客户端的内层IP信息,并将所述内层IP信息与所述网络节点相绑定,其中,所述内层IP信息包括用户信息和所述客户端的内层IP的信息;

根据所述内层IP信息识别是否接收到所述客户端的VPN内网流量;

在接收到所述VPN内网流量时,将所述VPN内网流量转发至所述网络节点,以供所述网络节点将所述VPN内网流量加密封装为VPN外层流量后转发至所述客户端。

2.根据权利要求1所述的VPN数据传输方法,其特征在于,还包括:在接收到所述网络节点发出的内层IP的分配请求时,从所述负载均衡节点的IP池中取出一个未分配的内层IP,分配至所述网络节点作为所述客户端的内层IP,所述分配请求由所述网络节点在建立所述VPN隧道时发出。

3.根据权利要求2所述的VPN数据传输方法,其特征在于,还包括:在接收到所述网络节点发出的内层IP的释放请求时,将所述客户端的内层IP释放至所述IP池,所述释放请求由所述网络节点在断开所述VPN隧道时发出。

4.根据权利要求1‑3任一项所述的VPN数据传输方法,其特征在于,所述接收所述网络节点发送的所述客户端的内层IP信息,包括:建立所述负载均衡节点与所述网络节点的通信通道;

利用所述通信通道接收所述网络节点发送的所述客户端的内层IP信息。

5.根据权利要求1‑3任一项所述的VPN数据传输方法,其特征在于,所述将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,包括:根据所述客户端的外层协商流量识别所述客户端的VPN外层流量;

将所述VPN外层流量负载至一个基于水平扩展模式部署的网络节点。

6.根据权利要求1所述的VPN数据传输方法,其特征在于,不同用户在所述负载均衡节点和基于水平扩展模式部署的各个网络节点中具有不同的网络命名空间,相同用户在所述负载均衡节点和基于水平扩展模式部署的各个网络节点中具有相同的网络命名空间。

7.根据权利要求1所述的VPN数据传输方法,其特征在于,还包括:所述负载均衡节点和基于水平扩展模式部署的各个网络节点之间通过心跳互相通知各自的存活情况。

8.一种VPN数据传输装置,其特征在于,包括:

均衡模块,用于将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,以使所述网络节点收到所述VPN外层流量后建立所述客户端的VPN隧道;

接收模块,用于接收所述网络节点发送的所述客户端的内层IP信息,并将所述内层IP信息与所述网络节点相绑定,其中,所述内层IP信息包括用户信息和所述客户端的内层IP的信息;

识别模块,用于根据所述内层IP信息识别是否接收到所述客户端的VPN内网流量;

转发模块,用于在接收到所述VPN内网流量时,将所述VPN内网流量转发至所述网络节点,以供所述网络节点将所述VPN内网流量加密封装为VPN外层流量后转发至所述客户端。

9.根据权利要求8所述的VPN数据传输装置,其特征在于,所述VPN数据传输装置还包括资源分配模块,所述资源分配模块用于:在接收到所述网络节点发出的内层IP的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP,分配给所述网络节点作为所述客户端的内层IP,所述分配请求由所述网络节点在建立所述VPN隧道时发出。

10.一种服务器,其特征在于,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的VPN数据传输方法。

说明书 :

VPN数据传输方法、装置及服务器

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种VPN数据传输方法、装置及服务器。

背景技术

[0002] 目前,云平台网络节点往往是按照主备的关系部署,在按照主备关系部署时,由于只有一个网络节点工作,因此容易造成资源浪费;同时,由于工作的网络节点会承载所有用户的流量,因此该网络节点容易成为网络性能瓶颈。为解决上述问题,可以引入网络节点的水平扩展模式,在水平扩展模式中,网络节点之间为平等关系,而非主备关系,由负载均衡节点将用户流量均衡至网络节点中,从而达到扩展网络节点性能的目的。
[0003] 然而,在水平扩展模式中,由于负载均衡节点使用IP4元组来负载用户流量,因此无法保证用户VPN隧道的内层和外层VPN流量负载到同一个网络节点,可能被分发到不同网络节点。例如,用户建立VPN隧道的流量被分发至网络节点A,而需要经VPN隧道传输的流量被分发至网络节点B,由于网络节点B不存在用户的VPN隧道信息,分发至网络节点B的报文无法传输给用户,导致报文传输的失败。

发明内容

[0004] 本发明实施方式的目的在于提供一种VPN数据传输方法、装置及服务器,可以保证VPN的内层和外层VPN流量均负载至同一个网络节点,从而保证报文的有效传输。
[0005] 为解决上述技术问题,本发明的实施方式提供了一种VPN数据传输方法,应用于负载均衡节点,包括:将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,以使网络节点收到所述VPN外层流量后建立客户端的VPN隧道;接收网络节点发送的客户端的内层IP信息,并将内层IP信息与网络节点相绑定,其中,内层IP信息包括用户信息和所述客户端的内层IP的信息;根据内层IP信息识别是否接收到客户端的VPN内网流量;在接收到VPN内网流量时,将VPN内网流量转发至网络节点,以供网络节点将VPN内网流量加密封装为VPN外层流量后转发至客户端。
[0006] 本发明的实施方式还提供了一种VPN数据传输装置,包括:均衡模块,用于将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,以使网络节点收到所述VPN外层流量后建立客户端的VPN隧道;接收模块,用于接收网络节点发送的客户端的内层IP信息,并将内层IP信息与网络节点相绑定,其中,内层IP信息包括用户信息和所述客户端的内层IP的信息;识别模块,用于根据内层IP信息识别是否接收到客户端的VPN内网流量;转发模块,用于在接收到VPN内网流量时,将VPN内网流量转发至网络节点,以供网络节点将VPN内网流量加密封装为VPN外层流量后转发至客户端。
[0007] 本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的VPN数据传输方法。
[0008] 本发明实施方式相对于相关技术而言,通过在客户端建立VPN隧道后,接收建立VPN隧道的网络节点发送的客户端的内层IP信息,并将该网络节点与客户端的内层IP信息相绑定,可以根据客户端的内层IP信息识别是否接收到该客户端的VPN内网流量,并在接收到该客户端的VPN内网流量时,将客户端的VPN内网流量负载至该网络节点,由该网络节点将客户端的VPN内网流量加密封装后转发给该客户端,从而保证客户端的VPN内层流量和VPN外层流量均负载至同一个网络节点,实现报文的有效传输。
[0009] 另外,VPN数据传输方法还包括:在接收到网络节点发出的内层IP的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP,分配至网络节点作为客户端的内层IP,分配请求由网络节点在建立VPN隧道时发出。通过负载均衡节点在接收到网络节点发现的IP资源的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP作为客户端的内层IP,可以通过负载均衡节点实现对IP地址资源的集中管理,避免网络节点不清楚IP地址的分配情况而造成的IP地址的重复分配的问题。
[0010] 另外,VPN数据传输方法还包括:在接收到网络节点发出的内层IP的释放请求时,将客户端的内层IP释放至IP池,释放请求由网络节点在断开VPN隧道时发出。通过在断开VPN隧道时将客户端的内层IP释放至IP池,可以使内层IP被回收利用,实现IP资源的集中和有效管理。
[0011] 另外,接收网络节点发送的客户端的内层IP信息,包括:建立负载均衡节点与网络节点的通信通道;利用通信通道接收网络节点发送的客户端的内层IP信息。通过建立通信通道接收网络节点发送的客户端的内层IP信息,从而可以根据内层IP信息识别是否接收到该客户端的内网流量,进而将该客户端的内网流量转发至与该客户端的VPN外层流量相同的网络节点,有效保证报文的有效传输。
[0012] 另外,将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,包括:根据客户端的外层协商流量识别客户端的VPN外层流量;将VPN外层流量负载至一个基于水平扩展模式部署的网络节点。
[0013] 另外,不同用户在负载均衡节点和基于水平扩展模式部署的各个网络节点中具有不同的网络命名空间,相同用户在负载均衡节点和基于水平扩展模式部署的各个网络节点中具有相同的网络命名空间。由于不同用户在负载均衡节点和各个网络节点中具有不同的网络命名空间,而相同用户在负载均衡节点和各个网络节点中具有相同的网络命名空间,因此可以使各个用户互相隔离,不会互相干扰。
[0014] 另外,VPN数据传输方法还包括:负载均衡节点和基于水平扩展模式部署的各个网络节点之间通过心跳互相通知各自的存活情况。负载均衡节点和各个网络节点通过心跳互相通知各自的存活情况,可以使负载均衡节点和各个网络节点获知对方的存活情况,从而实现有效的通信。
[0015] 另外,VPN数据传输装置还包括资源分配模块,资源分配模块用于:在接收到网络节点发出的内层IP的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP,分配给网络节点作为客户端的内层IP,分配请求由网络节点在建立VPN隧道时发出。通过资源分配模块在接收到网络节点发现的IP资源的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP作为客户端的内层IP,可以通过资源分配模块实现对IP地址资源的集中管理,避免网络节点不清楚IP地址的分配情况而造成的IP地址的重复分配的问题。

附图说明

[0016] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
[0017] 图1是本发明第一实施方式提供的VPN数据传输方法的流程示意图;
[0018] 图2是本发明第一实施方式提供的VPN数据传输方法对于单个客户端协商流量的分发路径示意图;
[0019] 图3是本发明第一实施方式提供的VPN数据传输方法对于两个客户端协商流量的分发路径示意图;
[0020] 图4是本发明第一实施方式提供的VPN数据传输方法对于VPN内层流量和VPN外层流量的分发路径示意图;
[0021] 图5是本发明第二实施方式提供的VPN数据传输方法的流程示意图;
[0022] 图6是本发明第三实施方式提供的VPN数据传输装置的模块结构示意图;
[0023] 图7是本发明第四实施方式提供的服务器的结构示意图。

具体实施方式

[0024] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0025] 本发明的第一实施方式涉及一种VPN数据传输方法,通过在客户端建立VPN隧道后,接收建立VPN隧道的网络节点发送的客户端的内层IP信息,并将该网络节点与客户端的内层IP信息相绑定,可以根据客户端的内层IP信息识别是否接收到客户端的VPN内网流量,并在接收到客户端的VPN内网流量时,将客户端的VPN内网流量负载至该网络节点,从而保证客户端的VPN内层流量和VPN外层流量均负载至同一个网络节点,实现报文的有效传输。
[0026] 本发明实施方式提供的VPN数据传输方法的具体流程如图1所示,包括以下步骤:
[0027] S101:将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,以使网络节点收到所述VPN外层流量后建立客户端的VPN隧道。
[0028] 其中,水平扩展模式部署的网络节点是指多个网络节点之间的关系为平等关系,而非一般的主备关系部署,可以同时对外提供服务,由负载均衡节点将所有用户的流量分流至多个网络节点。在基于水平扩展模式部署的网络节点中,由于每个网络节点都可以对外提供服务,因此可以避免网络节点因主备关系部署造成的资源上的浪费,网络节点的性能得到的扩展;另外,由于用户的流量被分流至多个网络节点,因此即使某个网络节点发生网络故障,影响的也只是该网络节点上的流量,从而减轻了网络故障带来的影响。可选地,在水平扩展模式中,一个用户的IP在负载均衡节点以及多台网络节点上均有配置,由负载均衡节点完成ARP代理等功能,该用户的多个客户端访问该用户IP的流量先到达负载均衡节点后,再由负载均衡节点将该用户的不同客户端的数据流负载至不同网络节点上服务。应当说明的是,负载均衡节点可以将同一用户的不同客户端的数据流负载至同一网络节点上服务,但若该网络节点发生故障,则该用户的数据流都会受到影响,安全性不足,且用户的数据流的服务也会受制于该网络节点的性能;而负载均衡节点将同一用户不同客户端的数据流负载至不同网络节点上服务,可以保证用户的数据流的安全性,同时也可以使用户的数据流的服务不会受制于单个网络节点的性能。
[0029] 可选地,将客户端的VPN外层流量负载至一个基于水平扩展模块部署的网络节点,可以是:根据客户端的外层协商流量识别客户端的VPN外层流量,将VPN外层流量负载至一个基于水平扩展模式部署的网络节点。具体地,当客户端的VPN外层协商流量到达负载均衡节点之后,负载均衡节点根据VPN外层协商流量可以识别为客户端的VPN外层流量,再将VPN外层流量负载至一个网络节点上,由该网络节点建立客户端对应的VPN隧道。在将VPN外层流量负载至一个网络节点时,不同VPN类型可能采用不同的负载方式,例如,openVPN隧道采用IP4元组负载,ipsec/pptp隧道则采用IP2元组负载等。应当说明的是,若用户流量不是VPN流量(包括VPN外层流量或VPN内层流量),则走原负载均衡节点的流量负载均衡模块。
[0030] S102:接收网络节点发送的客户端的内层IP信息,并将内层IP信息与所述网络节点相绑定,其中,内层IP信息包括用户信息和所述客户端的内层IP的信息。
[0031] 应当理解的是,由于不同的用户可以分配相同的内层IP,因此负载均衡节点若只接收到客户端的内层IP信息,则仍不能准确地区分不同用户的客户端;而内层IP信息包括用户信息和客户端的内层IP的信息,因此负载均衡节点可以准确地区分不同用户的客户端,从而实现流量的准确转发。可选地,用户信息可以包括用户编号、公网IP和/或端口等信息。
[0032] 可选地,接收网络节点发送的客户端的内层IP信息,可以包括:建立负载均衡节点与网络节点的通信通道,利用该通信通道接收网络节点发送的客户端的内层IP信息。在建立负载均衡节点与网络节点的通信通道时,可以根据两者的ID(例如是内部IP地址)建立。可以理解的是,负载均衡节点是接收网络节点发送的客户端的内层IP信息,而非主动从该网络节点获取客户端的内层IP信息,原因是客户端的VPN隧道是由网络节点建立的,负载均衡节点并不清楚客户端的VPN隧道何时建立完成,因此,通过网络节点发送客户端的内层IP信息,可以由网络节点把握时机,在建立VPN隧道后及时将客户端的内层IP信息发送给负载均衡节点。通过建立通信通道接收网络节点发送的客户端的内层IP信息,从而可以根据内层IP信息识别是否接收到该客户端的内网流量,进而将该客户端的内网流量转发至与该客户端的VPN外层流量相同的网络节点,有效保证报文的有效传输。
[0033] 在接收到网络节点发送的客户端的内层IP信息之后,负载均衡节点可以将客户端的内层IP信息存储于指定位置,并将内层IP信息与该网络节点相绑定,以便后续将客户端的VPN内层流量负载至该网络节点而不是其它的网络节点。
[0034] S103:根据内层IP信息识别是否接收到客户端的VPN内网流量。
[0035] 可选地,在根据内层IP信息识别是否接收到客户端的VPN内网流量时,负载均衡节点可以先通过内层IP信息的用户信息判断接收到哪个用户的VPN内网流量,再根据流量的目的IP或目的网段是否与客户端的内层IP相匹配来识别,即:在判定接收到客户端对应用户的VPN内网流量基础上,若流量的目的IP或目的网段与客户端的内层IP信息中的内层IP相匹配,则判定接收到客户端的VPN内网流量;若流量的目的IP或目的网段与客户端的内层IP信息的内层IP不相匹配,则判定未接收到该客户端的VPN内网流量。
[0036] S104:在接收到VPN内网流量时,将VPN内网流量转发至所述网络节点,以供所述网络节点将VPN内网流量加密封装为VPN外层流量后转发至客户端。
[0037] 在接收到客户端的VPN内网流量时,由于已将VPN内层IP与该网络节点相绑定,因此,负载均衡节点可以根据绑定的信息将客户端的VPN内网流量转发至该网络节点,再由该网络节点将该VPN内网流量加密封装为VPN外层流量后转发至该客户端。具体地,网络节点将该VPN内网流量进行加密,并将加密后的VPN内网流量封装为VPN外层流量,再将封装后的VPN外层流量转发至客户端;客户端在接收到VPN外层流量后,对VPN外层流量进行解封装和解密后,即可获取到相应的报文。
[0038] 在一个具体的例子中,本发明实施方式提供的VPN数据传输方法中,不同用户在所述负载均衡节点和基于水平扩展模式部署的各个网络节点中具有不同的网络命名空间,相同用户在所述负载均衡节点和基于水平扩展模式部署的各个网络节点中具有相同的网络命名空间。由于不同用户在负载均衡节点和各个网络节点中具有不同的网络命名空间,而相同用户在负载均衡节点和各个网络节点中具有相同的网络命名空间,因此可以使各个用户互相隔离,不会互相干扰。
[0039] 可选地,所述负载均衡节点和基于水平扩展模式部署的各个网络节点之间通过心跳互相通知各自的存活情况。可以理解的是,负载均衡节点和各个网络节点通过心跳互相通知各自的存活情况,可以使负载均衡节点和各个网络节点及时获知对方的存活情况,从而实现有效的通信。
[0040] 请参考图2,其为本发明实施方式提供的VPN数据传输方法对于单个客户端协商流量的分发路径示意图。其中,客户端的VPN外层协商流量(即图中的用户VPN隧道协商流量)到达负载均衡节点后,负载均衡节点(通过图中的VPN流量识别分发模块)识别为客户端的VPN外层流量,负载均衡节点通过IP4元组负载均衡的方式将客户端的VPN外层流量负载至基于水平扩展部署的一个网络节点(图中为网络节点2),具体可以是负载至网络节点2的VPN服务模块。
[0041] 请参考图3,其为本发明实施方式提供的VPN数据传输方法对于两个客户端协商流量的分发路径示意图。客户端1的VPN外层协商流量到达负载均衡节点后,负载均衡节点(通过图中的VPN流量识别分发模块)识别为客户端1的VPN外层流量,负载均衡节点通过IP4元组负载均衡的方式将客户端1的VPN外层流量负载至网络节点1;而客户端2的VPN外层协商流量到达负载均衡节点后,负载均衡节点(通过图中的VPN流量识别分发模块)识别为客户端2的VPN外层流量,负载均衡节点通过IP4元组负载均衡的方式将客户端2的VPN外层流量负载至网络节点2。
[0042] 请参考图4,其为本发明实施方式提供的VPN数据传输方法对于VPN内层流量和VPN外层流量的分发路径示意图。具体地,客户端的VPN外层协商流量(即图中的用户VPN隧道协商流量)到达负载均衡节点后,负载均衡节点(通过图中的VPN流量识别分发模块)识别为客户端的VPN外层流量,负载均衡节点通过IP4元组负载均衡的方式将客户端的VPN外层流量负载至基于水平扩展部署的网络节点1;网络节点1与负载均衡模块(图中的网络节点VPN通信模块)建立通信通道,将内层IP信息发送至负载均衡节点,负载均衡节点将内层IP信息发送至图中的VPN流量识别分发模块;当接收到需要经过隧道传输的内网流量(例如图中的192.168.100.100至10.10.10.2),负载均衡节点通过VPN流量识别分发模块中客户端的内层IP信息识别到该内网流量为客户端的内网流量,则将该内网流量转发至网络节点1,由网络节点1通过建立的隧道转发给客户端。
[0043] 假设客户端1对应的用户A的VPN配置为:1.VPN类型:openvpn;2.VPN外网IP和端口:192.192.192.192:1194;3.VPN客户端IP池:10.10.10.0/24;4.VPN内网IP:192.168.100.0/24,客户端1的IP为100.100.100.100,在隧道协商完成后,客户端1分配的内层IP为:10.10.10.2,则客户端1在发送VPN外层协商流量的过程为:100.100.100.100:
xxx→192.192.192.192:1194(即先到达负载均衡节点再到网络节点1);而网络节点1的响应则为:192.192.192.192:1194→100.100.100.100:xxx。客户端1的VPN外层流量(外层加密流量)的过程与VPN外层协商流量相同,这里不再赘述;而客户端的VPN内网流量的过程为:192.168.100.0/24→10.10.10.2(则先到达负载均衡节点,再到达网络节点1),经过网络节点1的封装后变为:192.192.192.192:1194→100.100.100.100:xxx。
[0044] 本发明实施方式提供的VPN数据传输方法,通过在客户端建立VPN隧道后,接收建立VPN隧道的网络节点发送的客户端的内层IP信息,并将该网络节点与客户端的内层IP信息相绑定,可以根据客户端的内层IP信息识别是否接收到该客户端的VPN内网流量,并在接收到该客户端的VPN内网流量时,将客户端的VPN内网流量负载至该网络节点,由该网络节点将客户端的VPN内网流量加密封装后转发给该客户端,从而保证客户端的VPN内层流量和VPN外层流量均负载至同一个网络节点,实现报文的有效传输。
[0045] 本发明的第二实施方式涉及一种VPN数据传输方法,在本发明实施方式中,在接收到网络节点在建立VPN隧道时发出的内层IP的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP,分配至网络节点作为客户端的内层IP。
[0046] 本发明实施方式提供的VPN数据传输方法的具体流程如图5所示,包括以下步骤:
[0047] S201:将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,以使网络节点收到所述VPN外层流量后建立客户端与网络节点的VPN隧道。
[0048] S202:在接收到网络节点发出的内层IP的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP,分配至网络节点作为客户端的内层IP,分配请求由网络节点在建立VPN隧道时发出。
[0049] S203:接收网络节点发送的客户端的内层IP信息,并将内层IP信息与网络节点相绑定,其中,内层IP信息包括用户信息和所述客户端的内层IP的信息。
[0050] S204:根据内层IP信息识别是否接收到客户端的VPN内网流量。
[0051] S205:在接收到VPN内网流量时,将VPN内网流量转发至网络节点,以供网络节点将内网VPN流量加密封装为VPN外层流量后转发至客户端。
[0052] 其中,S201与第一实施方式中的S101相同,S203‑S205与第一实施方式中的S102‑S104相同,具体可以参见第一实施方式中的相关描述,为了避免重复,这里不再重复。
[0053] 对于S202,由于在水平扩展模式中,多个网络节点上的VPN服务是同时对外服务的,因此对于客户端的IP池是多个网络节点之间共享的。若由网络节点自身申请分配,则各个网络节点由于无法知道其余网络节点已经申请了哪些IP地址,就可能造成IP地址重复分配。例如,网络节点A申请了IP地址a,网络节点B在申请时并不清楚IP地址a已被分配,也申请了IP地址a,就会造成IP地址a的重复分配。而在接收到网络节点发出的内层IP的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP,分配至网络节点作为客户端的内层IP,可以使负载均衡节点集中对IP池进行管理,从而保证不会造成IP地址的重复分配。可选地,在内层IP被分配至客户端之后,负载均衡节点在该IP池中将该分配的内层IP的状态标注为已分配,以防止重复分配。
[0054] 请参考图3,客户端1在负载至网络节点1后,由网络节点1向负载均衡节点的VPN资源池模块(即IP池)申请客户端1的IP资源;而客户端2在负载至网络节点2后,由网络节点2向负载均衡节点的VPN资源池模块申请客户端2的IP资源。
[0055] 可选地,本发明实施方式提供的VPN数据传输方法还可以包括:在接收到网络节点发出的内层IP的释放请求时,将客户端的内层IP释放至负载均衡节点的IP池,释放请求由该网络节点在断开VPN隧道时发出。即当客户端的VPN隧道断开后,客户端被分配的内层IP重新放入负载均衡节点的IP池作为未分配的内层IP。通过在断开VPN隧道时将客户端的内层IP释放至IP池,可以使内层IP被回收利用,实现IP资源的集中和有效管理。
[0056] 本发明实施方式提供的VPN数据传输方法,在接收到网络节点在建立VPN隧道时发出的内层IP的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP,分配至网络节点作为客户端的内层IP。通过负载均衡节点在接收到网络节点发现的IP资源的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP作为客户端的内层IP,可以通过负载均衡节点实现对IP地址资源的集中管理,避免网络节点不清楚IP地址的分配情况而造成的IP地址的重复分配的问题。
[0057] 上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0058] 本发明第三实施方式涉及一种VPN数据传输装置300,如图6所示,包括均衡模块301、接收模块302、识别模块303和转发模块304,各模块功能详细说明如下:
[0059] 均衡模块301,用于将客户端的VPN外层流量负载至一个基于水平扩展模式部署的网络节点,以使所述网络节点收到所述VPN外层流量后建立客户端的VPN隧道;
[0060] 接收模块302,用于接收所述网络节点发送的客户端的内层IP信息,并将内层IP信息与所述网络节点相绑定,其中,内层IP信息包括用户信息和所述客户端的内层IP的信息;
[0061] 识别模块303,用于根据内层IP信息识别是否接收到客户端的VPN内网流量;
[0062] 转发模块304,用于在接收到VPN内网流量时,将VPN内网流量转发至所述网络节点,以供所述网络节点将VPN内网流量加密封装为VPN外层流量后转发至客户端。
[0063] 进一步地,本发明实施方式提供的VPN数据传输装置还包括资源分配模块,资源分配模块用于:
[0064] 在接收到网络节点发出的内层IP的分配请求时,从负载均衡节点的IP池中取出一个未分配的内层IP,分配给网络节点作为客户端的内层IP,分配请求由网络节点在建立VPN隧道时发出。
[0065] 进一步地,资源分配模块还用于:
[0066] 在接收到网络节点发出的内层IP资源的释放请求时,将客户端的内层IP释放至IP池,释放请求由网络节点在断开VPN隧道时发出。
[0067] 进一步地,接收模块302还用于:
[0068] 建立负载均衡节点与网络节点的通信通道;
[0069] 利用通信通道接收网络节点发送的客户端的内层IP信息。
[0070] 进一步地,均衡模块301还用于:
[0071] 根据客户端的外层协商流量识别客户端的VPN外层流量;
[0072] 将VPN外层流量负载至一个基于水平扩展模式部署的网络节点。
[0073] 进一步地,不同用户在所述负载均衡节点和基于水平扩展模式部署的各个网络节点中具有不同的网络命名空间,相同用户在所述负载均衡节点和基于水平扩展模式部署的各个网络节点中具有相同的网络命名空间。
[0074] 进一步地,本发明实施方式提供的VPN数据传输装置还包括心跳通信模块,其中,心跳通信模块用于负载均衡节点和基于水平扩展模式部署的各个网络节点之间通过心跳互相通知各自的存活情况。
[0075] 不难发现,本实施方式为与前述实施方式相对应的装置实施例,本实施方式可与前述实施方式互相配合实施。前述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在前述实施方式中。
[0076] 值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
[0077] 本发明第四实施方式涉及一种服务器,如图7所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述的VPN数据传输方法。
[0078] 其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
[0079] 处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
[0080] 本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。