建立VPN隧道的方法及服务器.pdf

上传人:小** 文档编号:661982 上传时间:2018-03-02 格式:PDF 页数:16 大小:1.42MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310111430.6

申请日:

2013.04.01

公开号:

CN104104569A

公开日:

2014.10.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/46申请日:20130401|||公开

IPC分类号:

H04L12/46; H04L29/06

主分类号:

H04L12/46

申请人:

华为技术有限公司

发明人:

王超; 杨志民

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京弘权知识产权代理事务所(普通合伙) 11363

代理人:

陈蕾;许伟群

PDF下载: PDF下载
内容摘要

本发明实施例公开了建立VPN隧道的方法、装置及服务器,该方法包括:服务器获取第一VM和第二VM之间传输的协商数据包;根据协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;为所述第一VM和所述第二VM生成VPN隧道公用参数;根据VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成VPN隧道的建立。应用本发明实施例,对于属于同一服务器的两个VM之间建立VPN隧道时,由服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗。

权利要求书

1.  一种建立虚拟专用网络VPN隧道的方法,其特征在于,所述方法包括:
服务器获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;
所述服务器根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;
所述服务器为所述第一VM和所述第二VM生成VPN隧道公用参数;
所述服务器根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立。

2.
  根据权利要求1所述的方法,其特征在于,所述服务器根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM,包括:
所述服务器获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;
当所述服务器管理的VM标识中包括所述第一VM的标识和所述第二VM的标识时,所述服务器确定所述第一VM和所述第二VM为所述服务器承载的VM。

3.
  根据权利要求1或2所述的方法,其特征在于,所述服务器为所述第一VM和所述第二VM生成VPN隧道公用参数,包括:
所述服务器分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;
所述服务器获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;
当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述第SA结构体公用参数;
当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述VPN隧道公用参数。

4.
  根据权利要求1至3任意一项所述的方法,其特征在于,所述服务器根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享SA,包括:
所述服务器在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。

5.
  根据权利要求1至4任意一项所述的方法,其特征在于,所述为所述第一VM和所述第二VM生成VPN隧道公用参数之前,还包括:
所述服务器分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。

6.
  一种服务器,其特征在于,所述服务器包括:
获取单元,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;
确定单元,用于根据所述获取单元获取的所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;
生成单元,用于当所述确定单元确定所述第一VM和所述第二VM属于所述服务器时,为所述第一VM和所述第二VM生成VPN隧道公用参数;
建立单元,用于根据所述生成单元生成的所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立。

7.
  根据权利要求6所述的服务器,其特征在于,所述确定单元包括:
标识获取子单元,用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;
归属确定子单元,用于当服务器管理的VM标识中包括所述标识获取子单元获取的所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。

8.
  根据权利要求6或7所述的服务器,其特征在于,所述生成单元包括:
参数获取子单元,用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;
交集获得子单元,用于获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;
参数确定子单元,用于当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述第一VM和所述第二VM的公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述第一VM和所述第二VM的公用参数。

9.
  根据权利要求6至8任意一项所述的服务器,其特征在于,
所述建立单元,具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。

10.
  根据权利要求6至9任意一项所述的服务器,其特征在于,还包括:
发送单元,用于当所述确定单元确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。

说明书

建立VPN隧道的方法及服务器
技术领域
本发明涉及网络通信技术领域,特别涉及建立虚拟专用网络(Virtual Private Network,简称VPN)隧道的方法及服务器。
背景技术
VPN指在公用网络上建立专用网络的技术,VPN支持通信双方之间建立VPN隧道,以便对传输过程进行加密,提高传输安全性。建立VPN隧道的通信双方可以为虚拟机(Virtual Machine,VM),VM指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,通常可以在一台物理服务器上模拟出多台VM,也可以在多台物理服务器上模拟出多台VM。在应用VPN的现有技术中,可以是同一物理服务器上的VM之间建立VPN隧道,也可以是不同物理服务器上的VM之间建立VPN隧道。在建立VPN隧道的过程中,通信双方VM根据各自配置的参数、密钥和证书等,经过多次协商确定双方的VPN隧道公用参数,其中VPN隧道公用参数包括加解密算法、认证算法、密钥、证书等,在确定VPN隧道公用参数后,通信双方VM各自生成包含VPN隧道公用参数的隧道描述符(Security Association,SA),以此完成通信双方VM之间的隧道建立。
发明人在对现有技术的研究过程中发现,同一物理服务器上的VM之间建立VPN隧道时,需要通信双方VM之间进行多次协商才能确定VPN隧道的公用参数,因此协商过程比较繁琐,建立安全隧道的速度较慢。
发明内容
本发明实施例中提供了建立VPN隧道的方法及服务器,以解决现有技术中的同一物理服务器上的VM之间建立VPN隧道时协商过程繁琐,建立速度较慢的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供一种建立虚拟专用网络VPN隧道的方法,所述方法包括:
服务器获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;
所述服务器根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;
所述服务器为所述第一VM和所述第二VM生成VPN隧道公用参数;
所述服务器根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立
结合第一方面,在第一方面的第一种可能的实现方式中,所述服务器根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM,包括:
所述服务器获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;
当所述服务器管理的VM标识中包括所述第一VM的标识和所述第二VM的标识时,所述服务器确定所述第一VM和所述第二VM为所述服务器承载的VM。
结合第一方面,或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述服务器为所述第一VM和所述第二VM生成VPN隧道公用参数,包括:
所述服务器分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;
所述服务器获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;
当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述VPN隧道公用参数;
当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述VPN隧道公用参数。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述服务器根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享SA,包括:
所述服务器在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式 中,所述为所述第一VM和所述第二VM生成VPN隧道公用参数之前,还包括:
所述服务器分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。
第二方面,提供一种服务器,所述服务器包括:
获取单元,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;
确定单元,用于根据所述获取单元获取的所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;
生成单元,用于当所述确定单元确定所述第一VM和所述第二VM属于所述服务器时,为所述第一VM和所述第二VM生成VPN隧道公用参数;
建立单元,用于根据所述生成单元生成的所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立。
结合第二方面,在第二方面的第一种可能的实现方式中,所述确定单元包括:
标识获取子单元,用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;
归属确定子单元,用于当服务器管理的VM标识中包括所述标识获取子单元获取的所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。
结合第二方面,或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述生成单元包括:
参数获取子单元,用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;
交集获得子单元,用于获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;
参数确定子单元,用于当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述VPN隧道公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述VPN隧道公用参数。
结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述建立单元,具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。
结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,还包括:
发送单元,用于当所述确定单元确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。
第三方面,提供一种服务器,所述服务器包括:总线,以及通过所述总线连接的处理器和存储器,其中,
所述存储器,用于保存所述服务器内VM的配置参数;
所述处理器,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道,当根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM时,为所述第一VM和所述第二VM生成VPN隧道公用参数,并根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立;
所述存储器,还用于保存所述处理器为所述第一VM和所述第二VM生成的共享SA。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器,具体用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识,当所述服务器管理的VM标识中包括所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。
结合第三方面,或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器,具体用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合,获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集,当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述VPN隧道公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述VPN隧道 公用参数。
结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器,具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。
结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述处理器,还用于在确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。
本发明实施例中,服务器获取第一VM和第二VM之间传输的协商数据包,根据协商数据包确定第一VM和第二VM为服务器承载的VM时,为第一VM和第二VM生成VPN隧道公用参数,并根据该VPN隧道公用参数为第一VM和第二VM生成共享SA,以此完成VPN隧道的建立。应用本发明实施例,对于属于同一服务器的两个VM之间建立VPN隧道时,无需这两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为应用本发明实施例的VPN架构示意图;
图2为本发明实施例提供的建立VPN隧道的方法的一个实施例流程图;
图3为本发明实施例提供的建立VPN隧道的方法的另一个实施例流程图;
图4为本发明实施例提供的服务器的一个实施例框图;
图5为本发明实施例提供的服务器的另一个实施例框图;
图6为本发明实施例提供的服务器的又一种实施例框图。
具体实施方式
本发明如下实施例提供了建立VPN隧道的方法、装置及服务器。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1,为应用本发明实施例的VPN架构示意图:
图1中的服务器内可以包括多个VM,如图1中示例性的示出了VM1和VM2,以及对VM进行统一管理的虚拟平台(Hypervisor),虚拟平台是一种虚拟环境中的元操作系统,通过虚拟平台可以访问服务器上包括磁盘和内存在内的所有物理设备,虚拟平台不但可以协调硬件资源的访问,也可以在各个虚拟机之间施加防护,当服务器启动并执行虚拟平台时,它会加载所有VM的操作系统,同时会分配给每一台VM适量的内存,中央处理器(Central Processing Unit,CPU),网络和磁盘等。图1中,虚拟平台内根据功能可以进一步划分为虚拟控制层模块和虚拟交换机模块,本发明实施例中服务器可以通过虚拟平台为由该服务器承载的VM之间建立VPN隧道。下面结合具体实施例对本发明建立VPN隧道的过程进行描述。
参见图2,为本发明建立VPN隧道的方法的一个实施例流程图:
步骤201:服务器获取第一VM和第二VM之间传输的协商数据包,该协商数据包用于请求在第一VM和第二VM之间建立VPN隧道。
其中,所述协商数据包包括第一VM向第二VM发送的隧道协商请求数据包以及第二VM向第一VM本实施例中,当第一VM和第二VM之间需要建立VPN隧道时,第一VM需要向第二VM发送隧道协商请求数据包,第二VM收到该隧道协商请求数据包后,向第一VM返回隧道协商确认数据包。其中,例如第一VM为该服务器内的VM,则第一VM与第二VM之间交互时,该服务器可以获取第一VM和第二VM之间传输的隧道协商请求数据包和隧道协商确认数据包。
步骤202:服务器根据协商数据包确定第一VM和第二VM为该服务器承载的VM。
由于隧道协商请求数据包和隧道协商确认数据包中均会携带第一VM的标识和第二VM的标识,因此服务器获取到隧道协商请求数据包和隧道协商确认数据包后,可以从中获取第一VM的标识和第二VM的标识,由于服务器内保存了该服务器承载的所有VM的标识,因此当服务器管理的VM标识中包括第一VM的标识和第二VM的标识时,服务器确定 第一VM和第二VM为该服务器承载的VM。
本发明实施例中,VM的标识可以包括VM的互联网协议(Internet Protocol,IP)地址、或者VM的虚拟介质访问控制层(Virtual Media Access Control,VMAC)地址等等,在此不做限制,只要能够识别出VM即可。
步骤203:服务器为第一VM和第二VM生成VPN隧道公用参数。
由于VPN隧道公用参数包含多种类型的参数,例如,可以包括加解密算法、认证算法、密钥、证书等,因此服务器可以分别为每个VM生成各种类型的VPN隧道公用参数,所有类型的VPN隧道公用参数组成各个VM的VPN隧道公用参数。
其中,服务器在生成每一种类型的VPN隧道公用参数时:该服务器分别获取第一VM的第一隧道参数集合,以及第二VM的第二隧道参数集合,获得由第一隧道参数集合与第二隧道参数集合的共有参数组成的隧道参数交集,当隧道参数交集中包含一个隧道参数时,将该一个隧道参数确定为第一VM和所述第二的公用参数,当隧道参数交集中包含至少两个隧道参数时,从至少两个隧道参数中选择一个优先级最高的隧道参数作为第一VM和第二VM的公用参数。
步骤204:服务器根据VPN隧道公用参数为第一VM和第二VM生成共享SA,以此完成VPN隧道的建立。
现有技术中,第一VM和第二VM之间协商完所有公用参数后,该第一VM和第二VM需要各自建立SA结构体保存该公用参数。本实施例中,由于由服务器为第一VM和第二VM生成VPN隧道公用参数,因此服务器只需要为第一VM和第二VM生成一个SA结构体,在该SA结构体中添加VPN隧道公用参数,以及第一VM的标识和第二VM的标识,形成一个共享SA,同时映射到第一VM和第二VM。
由上述实施例可见,对于属于同一服务器的两个VM之间建立VPN隧道时,无需这两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗。
参见图3,为本发明建立VPN隧道的方法的另一个实施例流程图,该实施例详细描述了服务器为该服务器内的VM建立VPN隧道的过程:
步骤301:服务器获取第一VM和第二VM之间传输的协商数据包,该协商数据包用 于请求在第一VM和第二VM之间建立VPN隧道。
本实施例中,当第一VM和第二VM之间需要建立VPN隧道时,第一VM需要向第二VM发送隧道协商请求数据包,第二VM收到该隧道协商请求数据包后,向第一VM返回隧道协商确认数据包。其中,例如第一VM为该服务器内的VM,则第一VM与第二VM之间交互时,该服务器可以获取第一VM和第二VM之间传输的隧道协商请求数据包和隧道协商确认数据包。
本实施例中,服务器可能获取到由VM传输的多种类型的数据包,此时服务器可以根据传输数据包的端口号来区别数据包的类型。
步骤302:服务器根据协商数据包判断第一VM和第二VM是否为该服务器承载的VM,若是,则执行步骤303;否则,执行步骤306。
由于隧道协商请求数据包和隧道协商确认数据包中均会携带第一VM的标识和第二VM的标识,因此服务器获取到隧道协商请求数据包和隧道协商确认数据包后,可以从中获取第一VM的标识和第二VM的标识,由于服务器内保存了该服务器承载的所有VM的标识,因此当服务器管理的VM标识中包括第一VM的标识和第二VM的标识时,服务器确定第一VM和第二VM为该服务器承载的VM。本发明实施例中,VM的标识可以为为VM的IP地址、或者VM的VMAC地址等等能够识别VM的其他标识。
服务器上可以通过IP地址列表保存该服务器承载的所有VM的IP地址,当VM的标识为VM的IP地址时,服务器获取到第一VM的IP地址和第二VM的IP地址后,可以在该IP地址列表中分别查找第一VM的IP地址和第二VM的IP地址,当两个IP地址都保存在该IP地址列表中时,则可以确定第一VM和第二VM都是该服务器承载的VM,当只有一个IP地址保存在该IP地址列表中时,则可以确定只有一个VM是该服务器承载的VM。服务器上可以通过VMAC地址列表保存该服务器承载的所有VM的VMAC地址,当VM的标识为VM的VMAC地址时,服务器获取到第一VM的VMAC地址和第二VM的VMAC地址后,可以在该IP地址列表中分别查找第一VM的VMAC地址和第二VM的VMAC地址,当两个VMAC地址都保存在该VMAC地址列表中时,则可以确定第一VM和第二VM都是该服务器承载的VM。
步骤303:服务器分别向第一VM和第二VM发送停止协商消息。
当第一VM和第二VM均属于该服务器时,则该服务器可以分别向第一VM和第二VM发送停止协商消息,该停止协商消息用于通知第一VM和第二VM停止协商VPN隧道公用参数。
步骤304:服务器为第一VM和第二VM生成VPN隧道公用参数。
由于VPN隧道公用参数包含多种类型的参数,例如,可以包括加解密算法、认证算法、认证方式等,其中,加解密算法可以包括对称的数据加密算法(Data Encryption Algorithm,DES)算法、3DES算法、高级加密标准(Advanced Encryption Standard,AES)算法等,认证算法可以包括消息摘要算法第五版(Message Digest Algorithm,MD5)算法、安全哈希算法(Secure Hash Algorithm,SHA1)算法等,认证方式可以包括密钥、证书等。因此服务器可以分别为每个VM生成各种类型的VPN隧道公用参数,所有类型的VPN隧道公用参数组成各个VM的VPN隧道公用参数。
本发明实施例中,服务器为该服务器上承载的每个VM分别分配了存储空间,每个VM的存储空间内保存了为该VM初始配置的各种隧道参数,因此该服务器在生成每一种类型的VPN隧道公用参数时:该服务器分别从第一VM的存储空间获取第一VM的第一隧道参数集合,以及从第二VM的存储空间获取第二VM的第二隧道参数集合,并获得由第一隧道参数集合与第二隧道参数集合的共有参数组成的隧道参数交集,当隧道参数交集中包含一个隧道参数时,将该一个隧道参数确定为第一VM和所述第二的公用参数,当隧道参数交集中包含至少两个隧道参数时,从至少两个隧道参数中选择一个优先级最高的隧道参数作为第一VM和第二VM的公用参数。以隧道参数为加解密算法为例,当服务器从第一VM的存储空间获取配置给第一VM的加解密算法包括DES算法、3DES算法,从第二VM的存储空间获取配置给第二VM的加解密算法包括DES算法、3DES算法、AES算法,则第一VM和第二VM的加解密算法交集为DES算法和3DES算法,当3DES算法的优先级高于DES算法时,服务器可以选择3DES算法作为第一VM和第二VM的公用加解密算法。
步骤305:服务器根据VPN隧道公用参数为第一VM和第二VM生成共享SA,以此完成VPN隧道的建立,结束当前流程。
现有技术中,第一VM和第二VM之间协商完所有公用参数后,该第一VM和第二VM需要各自建立一个SA结构体,并通过该SA结构体保存该公用参数后生成SA。本实施例中,由于由服务器为第一VM和第二VM生成VPN隧道公用参数,因此服务器只需要为第一VM和第二VM生成一个SA结构体,并在该SA结构体中添加VPN隧道公用参数,以及第一VM的标识和第二VM的标识,以此生成共享SA,该共享SA同时映射到第一VM和第二VM。
步骤306:第一VM和第二VM按照现有VPN隧道协商过程协商VPN隧道公用参数,结束当前流程。
当第一VM和第二VM中仅有一个VM属于该服务器时,则该服务器不执行其他流程, 由第一VM和第二VM之极按照现有VPN隧道协商过程协商VPN隧道公用参数,在此不再赘述。
由上述实施例可见,对于属于同一服务器的两个VM之间建立VPN隧道时,无需这两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗;对于属于不同服务器的两个VM,仍然可以兼容现有建立VPN隧道的建立过程,因此VPN隧道建立的灵活性较大。
下面结合图1示出的VPN架构示意图,描述应用该VPN架构建立VPN隧道的过程:
假设VM1和VM2之间要建立VPN隧道,则VM1通过虚拟交换机模块向VM2发送隧道协商请求数据包,以及VM2通过虚拟交换机模块向VM1返回隧道协商确认数据包;虚拟控制层模块可以获取到该服务器内所有类型的数据包,当从这些数据包中识别出包含上述隧道协商请求数据包和隧道协商确认数据包后,可以根据该隧道协商请求数据包和隧道协商确认数据包中包含的VM1和VM2的IP地址确定VM1和VM2均属于该服务器,则虚拟控制层模块可以为该VM1和VM2生成VPN隧道公用参数,并为该VM1和VM2建立共享SA,生成公用参数和建立共享SA的过程可以参见前述图2和图3实施例的具体描述,在此不再赘述。
与本发明建立VPN隧道的方法的实施例相对应,本发明还提供了建立VPN隧道的装置和服务器的实施例。
参见图4,为本发明实施例提供的服务器的一个实施例框图:
该装置包括:获取单元410、确定单元420、生成单元430和建立单元440。
其中,获取单元410,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;
确定单元420,用于根据所述获取单元410获取的所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;
生成单元430,用于当所述确定单元420确定所述第一VM和所述第二VM属于所述服务器时,为所述第一VM和所述第二VM生成VPN隧道公用参数;
建立单元440,用于根据所述生成单元430生成的所述VPN隧道公用参数为所述第 一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立。
可选的,所述获取单元410,可以具体用于获取所述第一VM向所述第二VM发送的隧道协商请求数据包,以及获取所述第二VM根据所述隧道协商请求数据包向所述第一VM返回的隧道协商确认数据包。
可选的,所述确定单元420可以包括(图4中未示出):标识获取子单元,用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;归属确定子单元,用于当服务器管理的VM标识中包括所述标识获取子单元获取的所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。
可选的,所述生成单元430可以(图4中未示出)包括:参数获取子单元,用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;交集获得子单元,用于获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;参数确定子单元,用于当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述第一VM和所述第二VM的公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述第一VM和所述第二VM的公用参数。
本发明实施例提供的服务器,对于属于同一服务器的两个VM之间建立VPN隧道时,无需这两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由该服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗;对于属于不同服务器的两个VM,仍然可以兼容现有建立VPN隧道的建立过程,因此VPN隧道建立的灵活性较大。
可选的,所述建立单元440,可以具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。
参见图5,为本发明实施例提供的服务器的另一个实施例框图:
该装置包括:获取单元510、确定单元520、发送单元530、生成单元540和建立单元550。
其中,获取单元510,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;
确定单元520,用于根据所述获取单元510获取的所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;
发送单元530,用于当所述确定单元520确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数;
生成单元540,用于当所述确定单元520确定所述第一VM和所述第二VM属于所述服务器时,为所述第一VM和所述第二VM生成VPN隧道公用参数;
建立单元550,用于根据所述生成单元540生成的所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,以此完成VPN隧道的建立。
可选的,所述获取单元510,可以具体用于获取所述第一VM向所述第二VM发送的隧道协商请求数据包,以及获取所述第二VM根据所述隧道协商请求数据包向所述第一VM返回的隧道协商确认数据包。
可选的,所述确定单元520可以包括(图5中未示出):标识获取子单元,用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;归属确定子单元,用于当服务器管理的VM标识中包括所述标识获取子单元获取的所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。
可选的,所述生成单元540可以(图5中未示出)包括:参数获取子单元,用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;交集获得子单元,用于获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;参数确定子单元,用于当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述第一VM和所述第二VM的公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述第一VM和所述第二VM的公用参数。
可选的,所述建立单元550,可以具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。
参见图6,为本发明实施例提供的服务器的又一种实施例框图:
该服务器包括:总线610,以及通过所述总线610连接的处理器620和存储器630。
其中,所述存储器630,用于保存所述服务器内VM的配置参数;
所述处理器620,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道,当根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM时,为所述第一VM和所述第二VM生成VPN隧道公用参数,并根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立;
所述存储器630,还用于保存所述处理器620为所述第一VM和所述第二VM建立的共享SA。
可选的,所述处理器620,可以具体用于获取所述第一VM向所述第二VM发送的隧道协商请求数据包,以及获取所述第二VM根据所述隧道协商请求数据包向所述第一VM返回的隧道协商确认数据包。
可选的,所述处理器620,可以具体用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识,当所述服务器管理的VM标识中包括所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。
可选的,所述处理器620,可以具体用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合,获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集,当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述第一VM和所述第二VM的公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述第一VM和所述第二VM的公用参数。
可选的,所述处理器620,可以具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。
可选的,所述处理器620,还可以用于在确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。
由上述实施例可见,服务器获取第一VM和第二VM之间传输的VPN隧道建立协商数据包,当根据VPN隧道建立协商数据包确定第一VM和第二VM属于该服务器时,为第一VM和第二VM生成VPN隧道公用参数,并根据该VPN隧道公用参数为第一VM和第二VM建立共享SA。应用本发明实施例,对于属于同一服务器的两个VM之间建立VPN隧道时, 无需这两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

建立VPN隧道的方法及服务器.pdf_第1页
第1页 / 共16页
建立VPN隧道的方法及服务器.pdf_第2页
第2页 / 共16页
建立VPN隧道的方法及服务器.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《建立VPN隧道的方法及服务器.pdf》由会员分享,可在线阅读,更多相关《建立VPN隧道的方法及服务器.pdf(16页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104104569A43申请公布日20141015CN104104569A21申请号201310111430622申请日20130401H04L12/46200601H04L29/0620060171申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼72发明人王超杨志民74专利代理机构北京弘权知识产权代理事务所普通合伙11363代理人陈蕾许伟群54发明名称建立VPN隧道的方法及服务器57摘要本发明实施例公开了建立VPN隧道的方法、装置及服务器,该方法包括服务器获取第一VM和第二VM之间传输的协商数据包;根据协商数据包确定所述第一VM和所述第二VM为所述。

2、服务器承载的VM;为所述第一VM和所述第二VM生成VPN隧道公用参数;根据VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成VPN隧道的建立。应用本发明实施例,对于属于同一服务器的两个VM之间建立VPN隧道时,由服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗。51INTCL权利要求书2页说明书10页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书10页附图3页10申请公布号CN104104569AC。

3、N104104569A1/2页21一种建立虚拟专用网络VPN隧道的方法,其特征在于,所述方法包括服务器获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;所述服务器根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;所述服务器为所述第一VM和所述第二VM生成VPN隧道公用参数;所述服务器根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立。2根据权利要求1所述的方法,其特征在于,所述服务器根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM。

4、,包括所述服务器获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;当所述服务器管理的VM标识中包括所述第一VM的标识和所述第二VM的标识时,所述服务器确定所述第一VM和所述第二VM为所述服务器承载的VM。3根据权利要求1或2所述的方法,其特征在于,所述服务器为所述第一VM和所述第二VM生成VPN隧道公用参数,包括所述服务器分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;所述服务器获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述第SA结构体公用参数;当所述。

5、隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述VPN隧道公用参数。4根据权利要求1至3任意一项所述的方法,其特征在于,所述服务器根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享SA,包括所述服务器在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。5根据权利要求1至4任意一项所述的方法,其特征在于,所述为所述第一VM和所述第二VM生成VPN隧道公用参数之前,还包括所述服务器分别向所述第一VM和所述第二VM发。

6、送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。6一种服务器,其特征在于,所述服务器包括获取单元,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;确定单元,用于根据所述获取单元获取的所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;生成单元,用于当所述确定单元确定所述第一VM和所述第二VM属于所述服务器时,为所述第一VM和所述第二VM生成VPN隧道公用参数;权利要求书CN104104569A2/2页3建立单元,用于根据所述生成单元生成的所述VPN隧道公。

7、用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立。7根据权利要求6所述的服务器,其特征在于,所述确定单元包括标识获取子单元,用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;归属确定子单元,用于当服务器管理的VM标识中包括所述标识获取子单元获取的所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。8根据权利要求6或7所述的服务器,其特征在于,所述生成单元包括参数获取子单元,用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;交集获得子单元,用于获得由所述第一隧道参数集合。

8、与所述第二隧道参数集合的共有参数组成的隧道参数交集;参数确定子单元,用于当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述第一VM和所述第二VM的公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述第一VM和所述第二VM的公用参数。9根据权利要求6至8任意一项所述的服务器,其特征在于,所述建立单元,具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。10根据权利要求6至9任意一项所述的。

9、服务器,其特征在于,还包括发送单元,用于当所述确定单元确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。权利要求书CN104104569A1/10页4建立VPN隧道的方法及服务器技术领域0001本发明涉及网络通信技术领域,特别涉及建立虚拟专用网络(VIRTUALPRIVATENETWORK,简称VPN隧道的方法及服务器。背景技术0002VPN指在公用网络上建立专用网络的技术,VPN支持通信双方之间建立VPN隧道,以便对传输过程进行加密,提高传输安全性。建立VPN隧道。

10、的通信双方可以为虚拟机(VIRTUALMACHINE,VM),VM指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,通常可以在一台物理服务器上模拟出多台VM,也可以在多台物理服务器上模拟出多台VM。在应用VPN的现有技术中,可以是同一物理服务器上的VM之间建立VPN隧道,也可以是不同物理服务器上的VM之间建立VPN隧道。在建立VPN隧道的过程中,通信双方VM根据各自配置的参数、密钥和证书等,经过多次协商确定双方的VPN隧道公用参数,其中VPN隧道公用参数包括加解密算法、认证算法、密钥、证书等,在确定VPN隧道公用参数后,通信双方VM各自生成包含VPN隧道公用参数。

11、的隧道描述符(SECURITYASSOCIATION,SA),以此完成通信双方VM之间的隧道建立。0003发明人在对现有技术的研究过程中发现,同一物理服务器上的VM之间建立VPN隧道时,需要通信双方VM之间进行多次协商才能确定VPN隧道的公用参数,因此协商过程比较繁琐,建立安全隧道的速度较慢。发明内容0004本发明实施例中提供了建立VPN隧道的方法及服务器,以解决现有技术中的同一物理服务器上的VM之间建立VPN隧道时协商过程繁琐,建立速度较慢的问题。0005为了解决上述技术问题,本发明实施例公开了如下技术方案0006第一方面,提供一种建立虚拟专用网络VPN隧道的方法,所述方法包括0007服务器。

12、获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;0008所述服务器根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;0009所述服务器为所述第一VM和所述第二VM生成VPN隧道公用参数;0010所述服务器根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立0011结合第一方面,在第一方面的第一种可能的实现方式中,所述服务器根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM,包括0012所述服务器获取所述协商数据包中携带的所述第一VM。

13、的标识和所述第二VM的标识;0013当所述服务器管理的VM标识中包括所述第一VM的标识和所述第二VM的标识时,说明书CN104104569A2/10页5所述服务器确定所述第一VM和所述第二VM为所述服务器承载的VM。0014结合第一方面,或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述服务器为所述第一VM和所述第二VM生成VPN隧道公用参数,包括0015所述服务器分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;0016所述服务器获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;0017当所述隧道参数交集中包含一个。

14、隧道参数时,将所述一个隧道参数确定为所述VPN隧道公用参数;0018当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述VPN隧道公用参数。0019结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述服务器根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享SA,包括0020所述服务器在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。002。

15、1结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述为所述第一VM和所述第二VM生成VPN隧道公用参数之前,还包括0022所述服务器分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。0023第二方面,提供一种服务器,所述服务器包括0024获取单元,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;0025确定单元,用于根据所述获取单元获。

16、取的所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;0026生成单元,用于当所述确定单元确定所述第一VM和所述第二VM属于所述服务器时,为所述第一VM和所述第二VM生成VPN隧道公用参数;0027建立单元,用于根据所述生成单元生成的所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立。0028结合第二方面,在第二方面的第一种可能的实现方式中,所述确定单元包括0029标识获取子单元,用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;0030归属确定子单元,用于当服务器管理的VM标识中包括所述标识获取子单元获取的。

17、所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。0031结合第二方面,或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述生成单元包括说明书CN104104569A3/10页60032参数获取子单元,用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;0033交集获得子单元,用于获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;0034参数确定子单元,用于当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述VPN隧道公用参数,当所述隧道参数交集中包含至少。

18、两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述VPN隧道公用参数。0035结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述建立单元,具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。0036结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,还包括0037发送单。

19、元,用于当所述确定单元确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。0038第三方面,提供一种服务器,所述服务器包括总线,以及通过所述总线连接的处理器和存储器,其中,0039所述存储器,用于保存所述服务器内VM的配置参数;0040所述处理器,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道,当根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM时,为所述第一VM和所述第二。

20、VM生成VPN隧道公用参数,并根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立;0041所述存储器,还用于保存所述处理器为所述第一VM和所述第二VM生成的共享SA。0042结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器,具体用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识,当所述服务器管理的VM标识中包括所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。0043结合第三方面,或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器,具体用。

21、于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合,获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集,当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述VPN隧道公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述VPN隧道公用参数。0044结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能说明书CN104104569A4/10页7的实现方式,在第三方面的第三种可能的实现方式中,所述处理器,具体用于在为所述第一VM和所述第二VM生成的一个SA。

22、结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。0045结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述处理器,还用于在确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数。0046本发明实施例中,服务器获取第一VM和第二VM之间传输的协商数据包,根据协商数据包确定第一VM和第二V。

23、M为服务器承载的VM时,为第一VM和第二VM生成VPN隧道公用参数,并根据该VPN隧道公用参数为第一VM和第二VM生成共享SA,以此完成VPN隧道的建立。应用本发明实施例,对于属于同一服务器的两个VM之间建立VPN隧道时,无需这两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗。附图说明0047为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简。

24、单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0048图1为应用本发明实施例的VPN架构示意图;0049图2为本发明实施例提供的建立VPN隧道的方法的一个实施例流程图;0050图3为本发明实施例提供的建立VPN隧道的方法的另一个实施例流程图;0051图4为本发明实施例提供的服务器的一个实施例框图;0052图5为本发明实施例提供的服务器的另一个实施例框图;0053图6为本发明实施例提供的服务器的又一种实施例框图。具体实施方式0054本发明如下实施例提供了建立VPN隧道的方法、装置及服务器。0055为了使本技术领域的人员更好地理解。

25、本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。0056参见图1,为应用本发明实施例的VPN架构示意图0057图1中的服务器内可以包括多个VM,如图1中示例性的示出了VM1和VM2,以及对VM进行统一管理的虚拟平台(HYPERVISOR),虚拟平台是一种虚拟环境中的元操作系统,通过虚拟平台可以访问服务器上包括磁盘和内存在内的所有物理设备,虚拟平台不但可以协调硬件资源的访问,也可以在各个虚拟机之间施加防护,当服务器启动并执行虚拟平台时,它会加载所有VM的操作系统,同时会分配给每一台VM适量的内存,中央处理器。

26、(CENTRALPROCESSINGUNIT,CPU),网络和磁盘等。图1中,虚拟平台内根据功能可以进一步划分为虚说明书CN104104569A5/10页8拟控制层模块和虚拟交换机模块,本发明实施例中服务器可以通过虚拟平台为由该服务器承载的VM之间建立VPN隧道。下面结合具体实施例对本发明建立VPN隧道的过程进行描述。0058参见图2,为本发明建立VPN隧道的方法的一个实施例流程图0059步骤201服务器获取第一VM和第二VM之间传输的协商数据包,该协商数据包用于请求在第一VM和第二VM之间建立VPN隧道。0060其中,所述协商数据包包括第一VM向第二VM发送的隧道协商请求数据包以及第二VM向。

27、第一VM本实施例中,当第一VM和第二VM之间需要建立VPN隧道时,第一VM需要向第二VM发送隧道协商请求数据包,第二VM收到该隧道协商请求数据包后,向第一VM返回隧道协商确认数据包。其中,例如第一VM为该服务器内的VM,则第一VM与第二VM之间交互时,该服务器可以获取第一VM和第二VM之间传输的隧道协商请求数据包和隧道协商确认数据包。0061步骤202服务器根据协商数据包确定第一VM和第二VM为该服务器承载的VM。0062由于隧道协商请求数据包和隧道协商确认数据包中均会携带第一VM的标识和第二VM的标识,因此服务器获取到隧道协商请求数据包和隧道协商确认数据包后,可以从中获取第一VM的标识和第二。

28、VM的标识,由于服务器内保存了该服务器承载的所有VM的标识,因此当服务器管理的VM标识中包括第一VM的标识和第二VM的标识时,服务器确定第一VM和第二VM为该服务器承载的VM。0063本发明实施例中,VM的标识可以包括VM的互联网协议(INTERNETPROTOCOL,IP)地址、或者VM的虚拟介质访问控制层(VIRTUALMEDIAACCESSCONTROL,VMAC)地址等等,在此不做限制,只要能够识别出VM即可。0064步骤203服务器为第一VM和第二VM生成VPN隧道公用参数。0065由于VPN隧道公用参数包含多种类型的参数,例如,可以包括加解密算法、认证算法、密钥、证书等,因此服务器。

29、可以分别为每个VM生成各种类型的VPN隧道公用参数,所有类型的VPN隧道公用参数组成各个VM的VPN隧道公用参数。0066其中,服务器在生成每一种类型的VPN隧道公用参数时该服务器分别获取第一VM的第一隧道参数集合,以及第二VM的第二隧道参数集合,获得由第一隧道参数集合与第二隧道参数集合的共有参数组成的隧道参数交集,当隧道参数交集中包含一个隧道参数时,将该一个隧道参数确定为第一VM和所述第二的公用参数,当隧道参数交集中包含至少两个隧道参数时,从至少两个隧道参数中选择一个优先级最高的隧道参数作为第一VM和第二VM的公用参数。0067步骤204服务器根据VPN隧道公用参数为第一VM和第二VM生成共。

30、享SA,以此完成VPN隧道的建立。0068现有技术中,第一VM和第二VM之间协商完所有公用参数后,该第一VM和第二VM需要各自建立SA结构体保存该公用参数。本实施例中,由于由服务器为第一VM和第二VM生成VPN隧道公用参数,因此服务器只需要为第一VM和第二VM生成一个SA结构体,在该SA结构体中添加VPN隧道公用参数,以及第一VM的标识和第二VM的标识,形成一个共享SA,同时映射到第一VM和第二VM。0069由上述实施例可见,对于属于同一服务器的两个VM之间建立VPN隧道时,无需这说明书CN104104569A6/10页9两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由服务器为两个。

31、VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗。0070参见图3,为本发明建立VPN隧道的方法的另一个实施例流程图,该实施例详细描述了服务器为该服务器内的VM建立VPN隧道的过程0071步骤301服务器获取第一VM和第二VM之间传输的协商数据包,该协商数据包用于请求在第一VM和第二VM之间建立VPN隧道。0072本实施例中,当第一VM和第二VM之间需要建立VPN隧道时,第一VM需要向第二VM发送隧道协商请求数据包,第二VM收到该隧道协商请求数据包后,向第一VM返。

32、回隧道协商确认数据包。其中,例如第一VM为该服务器内的VM,则第一VM与第二VM之间交互时,该服务器可以获取第一VM和第二VM之间传输的隧道协商请求数据包和隧道协商确认数据包。0073本实施例中,服务器可能获取到由VM传输的多种类型的数据包,此时服务器可以根据传输数据包的端口号来区别数据包的类型。0074步骤302服务器根据协商数据包判断第一VM和第二VM是否为该服务器承载的VM,若是,则执行步骤303;否则,执行步骤306。0075由于隧道协商请求数据包和隧道协商确认数据包中均会携带第一VM的标识和第二VM的标识,因此服务器获取到隧道协商请求数据包和隧道协商确认数据包后,可以从中获取第一VM。

33、的标识和第二VM的标识,由于服务器内保存了该服务器承载的所有VM的标识,因此当服务器管理的VM标识中包括第一VM的标识和第二VM的标识时,服务器确定第一VM和第二VM为该服务器承载的VM。本发明实施例中,VM的标识可以为为VM的IP地址、或者VM的VMAC地址等等能够识别VM的其他标识。0076服务器上可以通过IP地址列表保存该服务器承载的所有VM的IP地址,当VM的标识为VM的IP地址时,服务器获取到第一VM的IP地址和第二VM的IP地址后,可以在该IP地址列表中分别查找第一VM的IP地址和第二VM的IP地址,当两个IP地址都保存在该IP地址列表中时,则可以确定第一VM和第二VM都是该服务器。

34、承载的VM,当只有一个IP地址保存在该IP地址列表中时,则可以确定只有一个VM是该服务器承载的VM。服务器上可以通过VMAC地址列表保存该服务器承载的所有VM的VMAC地址,当VM的标识为VM的VMAC地址时,服务器获取到第一VM的VMAC地址和第二VM的VMAC地址后,可以在该IP地址列表中分别查找第一VM的VMAC地址和第二VM的VMAC地址,当两个VMAC地址都保存在该VMAC地址列表中时,则可以确定第一VM和第二VM都是该服务器承载的VM。0077步骤303服务器分别向第一VM和第二VM发送停止协商消息。0078当第一VM和第二VM均属于该服务器时,则该服务器可以分别向第一VM和第二V。

35、M发送停止协商消息,该停止协商消息用于通知第一VM和第二VM停止协商VPN隧道公用参数。0079步骤304服务器为第一VM和第二VM生成VPN隧道公用参数。0080由于VPN隧道公用参数包含多种类型的参数,例如,可以包括加解密算法、认证算法、认证方式等,其中,加解密算法可以包括对称的数据加密算法(DATAENCRYPTIONALGORITHM,DES)算法、3DES算法、高级加密标准(ADVANCEDENCRYPTIONSTANDARD,AES)算说明书CN104104569A7/10页10法等,认证算法可以包括消息摘要算法第五版(MESSAGEDIGESTALGORITHM,MD5)算法、安。

36、全哈希算法(SECUREHASHALGORITHM,SHA1)算法等,认证方式可以包括密钥、证书等。因此服务器可以分别为每个VM生成各种类型的VPN隧道公用参数,所有类型的VPN隧道公用参数组成各个VM的VPN隧道公用参数。0081本发明实施例中,服务器为该服务器上承载的每个VM分别分配了存储空间,每个VM的存储空间内保存了为该VM初始配置的各种隧道参数,因此该服务器在生成每一种类型的VPN隧道公用参数时该服务器分别从第一VM的存储空间获取第一VM的第一隧道参数集合,以及从第二VM的存储空间获取第二VM的第二隧道参数集合,并获得由第一隧道参数集合与第二隧道参数集合的共有参数组成的隧道参数交集,。

37、当隧道参数交集中包含一个隧道参数时,将该一个隧道参数确定为第一VM和所述第二的公用参数,当隧道参数交集中包含至少两个隧道参数时,从至少两个隧道参数中选择一个优先级最高的隧道参数作为第一VM和第二VM的公用参数。以隧道参数为加解密算法为例,当服务器从第一VM的存储空间获取配置给第一VM的加解密算法包括DES算法、3DES算法,从第二VM的存储空间获取配置给第二VM的加解密算法包括DES算法、3DES算法、AES算法,则第一VM和第二VM的加解密算法交集为DES算法和3DES算法,当3DES算法的优先级高于DES算法时,服务器可以选择3DES算法作为第一VM和第二VM的公用加解密算法。0082步骤。

38、305服务器根据VPN隧道公用参数为第一VM和第二VM生成共享SA,以此完成VPN隧道的建立,结束当前流程。0083现有技术中,第一VM和第二VM之间协商完所有公用参数后,该第一VM和第二VM需要各自建立一个SA结构体,并通过该SA结构体保存该公用参数后生成SA。本实施例中,由于由服务器为第一VM和第二VM生成VPN隧道公用参数,因此服务器只需要为第一VM和第二VM生成一个SA结构体,并在该SA结构体中添加VPN隧道公用参数,以及第一VM的标识和第二VM的标识,以此生成共享SA,该共享SA同时映射到第一VM和第二VM。0084步骤306第一VM和第二VM按照现有VPN隧道协商过程协商VPN隧道。

39、公用参数,结束当前流程。0085当第一VM和第二VM中仅有一个VM属于该服务器时,则该服务器不执行其他流程,由第一VM和第二VM之极按照现有VPN隧道协商过程协商VPN隧道公用参数,在此不再赘述。0086由上述实施例可见,对于属于同一服务器的两个VM之间建立VPN隧道时,无需这两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗;对于属于不同服务器的两个VM,仍然可以兼容现有建立VPN隧道的建立过。

40、程,因此VPN隧道建立的灵活性较大。0087下面结合图1示出的VPN架构示意图,描述应用该VPN架构建立VPN隧道的过程0088假设VM1和VM2之间要建立VPN隧道,则VM1通过虚拟交换机模块向VM2发送隧道协商请求数据包,以及VM2通过虚拟交换机模块向VM1返回隧道协商确认数据包;虚拟控制层模块可以获取到该服务器内所有类型的数据包,当从这些数据包中识别出包含上述隧道协商请求数据包和隧道协商确认数据包后,可以根据该隧道协商请求数据包和隧道协商说明书CN104104569A108/10页11确认数据包中包含的VM1和VM2的IP地址确定VM1和VM2均属于该服务器,则虚拟控制层模块可以为该VM。

41、1和VM2生成VPN隧道公用参数,并为该VM1和VM2建立共享SA,生成公用参数和建立共享SA的过程可以参见前述图2和图3实施例的具体描述,在此不再赘述。0089与本发明建立VPN隧道的方法的实施例相对应,本发明还提供了建立VPN隧道的装置和服务器的实施例。0090参见图4,为本发明实施例提供的服务器的一个实施例框图0091该装置包括获取单元410、确定单元420、生成单元430和建立单元440。0092其中,获取单元410,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道;0093确定单元420,用于根据所述获取单元4。

42、10获取的所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;0094生成单元430,用于当所述确定单元420确定所述第一VM和所述第二VM属于所述服务器时,为所述第一VM和所述第二VM生成VPN隧道公用参数;0095建立单元440,用于根据所述生成单元430生成的所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立。0096可选的,所述获取单元410,可以具体用于获取所述第一VM向所述第二VM发送的隧道协商请求数据包,以及获取所述第二VM根据所述隧道协商请求数据包向所述第一VM返回的隧道协商确认数据包。0097可选的,所述确定单元。

43、420可以包括(图4中未示出)标识获取子单元,用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;归属确定子单元,用于当服务器管理的VM标识中包括所述标识获取子单元获取的所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。0098可选的,所述生成单元430可以(图4中未示出)包括参数获取子单元,用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;交集获得子单元,用于获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;参数确定子单元,用于当所述隧道参数交集中包含一个隧道参数时,将所。

44、述一个隧道参数确定为所述第一VM和所述第二VM的公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述第一VM和所述第二VM的公用参数。0099本发明实施例提供的服务器,对于属于同一服务器的两个VM之间建立VPN隧道时,无需这两个VM之间进行多次协商交互确定VPN隧道的公用参数,而是由该服务器为两个VM生成VPN隧道公用参数,因此减少了VPN隧道建立的繁琐性,提高了VPN隧道建立速度;并且,由于无需为两个VM分别建立SA,而是为两个VM建立共享SA,由此降低了服务器的内存消耗;对于属于不同服务器的两个VM,仍然可以兼容现有建立VPN隧。

45、道的建立过程,因此VPN隧道建立的灵活性较大。0100可选的,所述建立单元440,可以具体用于在为所述第一VM和所述第二VM生成的一个SA结构体中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。0101参见图5,为本发明实施例提供的服务器的另一个实施例框图说明书CN104104569A119/10页120102该装置包括获取单元510、确定单元520、发送单元530、生成单元540和建立单元550。0103其中,获取单元510,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和。

46、所述第二VM之间建立VPN隧道;0104确定单元520,用于根据所述获取单元510获取的所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM;0105发送单元530,用于当所述确定单元520确定所述第一VM和所述第二VM属于所述服务器时,分别向所述第一VM和所述第二VM发送停止协商消息,所述停止协商消息用于通知所述第一VM和所述第二VM停止协商所述VPN隧道公用参数;0106生成单元540,用于当所述确定单元520确定所述第一VM和所述第二VM属于所述服务器时,为所述第一VM和所述第二VM生成VPN隧道公用参数;0107建立单元550,用于根据所述生成单元540生成的所述VPN隧。

47、道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,以此完成VPN隧道的建立。0108可选的,所述获取单元510,可以具体用于获取所述第一VM向所述第二VM发送的隧道协商请求数据包,以及获取所述第二VM根据所述隧道协商请求数据包向所述第一VM返回的隧道协商确认数据包。0109可选的,所述确定单元520可以包括(图5中未示出)标识获取子单元,用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识;归属确定子单元,用于当服务器管理的VM标识中包括所述标识获取子单元获取的所述第一VM的标识和所述第二VM的标识时,确定所述第一VM和所述第二VM为所述服务器承载的VM。0110可。

48、选的,所述生成单元540可以(图5中未示出)包括参数获取子单元,用于分别获取所述第一VM的第一隧道参数集合,以及所述第二VM的第二隧道参数集合;交集获得子单元,用于获得由所述第一隧道参数集合与所述第二隧道参数集合的共有参数组成的隧道参数交集;参数确定子单元,用于当所述隧道参数交集中包含一个隧道参数时,将所述一个隧道参数确定为所述第一VM和所述第二VM的公用参数,当所述隧道参数交集中包含至少两个隧道参数时,从所述至少两个隧道参数中选择一个优先级最高的隧道参数作为所述第一VM和所述第二VM的公用参数。0111可选的,所述建立单元550,可以具体用于在为所述第一VM和所述第二VM生成的一个SA结构体。

49、中添加所述VPN隧道公用参数,以及所述第一VM的标识和所述第二VM的标识,生成同时映射到所述第一VM和所述第二VM的共享SA。0112参见图6,为本发明实施例提供的服务器的又一种实施例框图0113该服务器包括总线610,以及通过所述总线610连接的处理器620和存储器630。0114其中,所述存储器630,用于保存所述服务器内VM的配置参数;0115所述处理器620,用于获取第一虚拟机VM和第二VM之间传输的协商数据包,所述协商数据包用于请求在所述第一VM和所述第二VM之间建立VPN隧道,当根据所述协商数据包确定所述第一VM和所述第二VM为所述服务器承载的VM时,为所述第一VM和所述第二VM生。

50、成VPN隧道公用参数,并根据所述VPN隧道公用参数为所述第一VM和所述第二VM生成共享隧道描述符SA,完成所述VPN隧道的建立;0116所述存储器630,还用于保存所述处理器620为所述第一VM和所述第二VM建立的说明书CN104104569A1210/10页13共享SA。0117可选的,所述处理器620,可以具体用于获取所述第一VM向所述第二VM发送的隧道协商请求数据包,以及获取所述第二VM根据所述隧道协商请求数据包向所述第一VM返回的隧道协商确认数据包。0118可选的,所述处理器620,可以具体用于获取所述协商数据包中携带的所述第一VM的标识和所述第二VM的标识,当所述服务器管理的VM标识。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1