本发明涉及一种云计算技术领域,特别是涉及一种软硬件结合的vpn网关实现系统及方法。
背景技术:
随着云计算技术的发展,云环境中云主机对高性能vpn网关的需求也在不断上升,vpn网关是通过vpn技术可以实现不同的网络互联,是总部与分支机构网络互通的最好形式。目前大部分云环境中使用基于libreswan、openswan的软件vpn网关方案,或者使用华为,华三等厂商的硬件vpn网管方案。软件方案一般价格较低,但是性能和稳定性得不到保证,而硬件方案则能保证高性能和稳定性,但价格普遍比贵,而且通常需要做大量的适配开发,需要花费大量的人力和时间。
因此,在现有技术中无论是软件方案还是硬件方案都无法很好地满足使用要求。
技术实现要素:
鉴于以上所述现有技术中存在的问题,本发明的目的在于提供一种无需大量适配开发工作,性能和稳定性能够得到保证,且价格适中的软硬件结合的vpn网关实现系统的装置;还提供了一种软硬件结合的vpn网关实现方法。
为实现上述目的,本发明提供了一种软硬件结合的vpn网关实现系统,所述系统包括控制节点以及vpn网关节点,所述控制节点发送命令至vpn网关节点,所述vpn网关节点实现vpn网关的运行和管理;所述vpn网关实现系统还包括智能网卡,所述智能网卡支持vpn卸载功能,且设于vpn网关节点。
进一步地,所述控制节点包括api服务器以及vpn服务器。
优选地,所述api服务器提供rest接口以输入命令,所述命令包括创建、删除,更新等。
进一步地,所述vpn服务器接收api服务器的命令,并转发给vpn网关节点。
进一步地,所述vpn网关节点还包括用户空间以及内核空间,且用户空间和内核空间彼此隔离。
优选地,所述用户空间包括支持vpn卸载功能的vpn功能软件,还包括vpn代理,所述vpn代理响应vpn服务器的命令对vpn网关进行管理。
优选地,所述内核空间包括外网端口、报文操作、安全信息,封装规则以及内网端口,所述报文操作包括封装以及解封装。
本发明还提供了一种软硬件结合的vpn网关实现方法,包括如下步骤:
s1.安装vpn功能软件和智能网卡,并启动所述智能网卡的vpn卸载功能;
s2.命令须通过api服务器发送给vpn服务器;
s3.所述vpn服务器挑选vpn网关节点并调用其vpn代理以启动vpn功能软件;
s4.所述vpn功能软件下发数据信息;
s5.系统检测所述智能网卡的vpn卸载功能是否开启,若检测结果为“是”,则执行步骤s6,若检测结果为“否”,则执行步骤s7;
s6.所述数据信息下载至智能网卡;
s7.方法结束。
进一步地,所述命令为创建vpn网关,所述vpn功能软件支持vpn卸载功能。
优选地,所述数据信息包括外网端口信息、内网端口信息、安全信息与封装规则。
本发明的优点和有益效果在于:
本发明提供了一种软硬件结合的vpn网关实现系统及方法,本发明采用vpn功能软件与智能网卡结合的方式,性能和稳定性能够得到保证,克服了现有技术中在仅使用vpn功能软件的情况下,系统的性能和稳定性得不到保证的问题;智能网卡的价格成本较低且只需少量的适配开发工作即能投入使用,克服了现有技术中仅使用华为,三星等厂商的硬件的情况下,价格贵并且需要做大量适配开发,需要花费大量人力和时间的缺点;此外本发明还支持在云环境上的大规模部署。
附图说明
图1为本发明中软硬件结合的vpn网关实现系统的系统框图;
图2为本发明中软硬件结合的vpn网关实现方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
vpn是一种虚拟专用网络,功能是在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛的应用。vpn网关是通过vpn技术可以实现不同的网络互联。是总部与分支机构网络互通的最好形式,vpn网关通过对数据的加密和数据目标地址的转换实现远程访问。vpn属于远程访问技术,简单地说就是利用公用网络架设专用网络。
现有技术中通常通过两种方案实现vpn网关,一种方法为仅采用libreswan、openswan的vpn功能软件的方案,但性能与稳定性得不到保证;另一种为采用华为,华三等厂商的硬件的方案,硬件方案价格普遍比较贵,而且通常需要做大量的适配开发,需要花费大量的人力和时间。因此现有技术中无论是软件方案还是硬件方案都无法很好地满足使用要求。
本发明提供一种软硬件结合的vpn网关实现系统,通过vpn功能软件与智能网卡结合的方式解决现有技术中存在的问题。
vpn网关实现系统主要包括控制节点以及vpn网关节点,控制节点主要作用在于为命令的下发创造条件,命令通过控制节点下发给vpn网关节点进而控制vpn网关节点,vpn网关节点的主要作用在于将外端网口信息、内端网口信息,安全信息以及封装规则下载至智能网卡,智能网卡能够首先对外部的网络报文做出处理,无法处理的网络报文才会转发至内核空间进行处理。
如图1所示,控制节点主要包括api服务器和vpn服务器。api服务器是指应用程序的接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的在于提供应用程序与开发人员基于一些工具得意访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节;vpn服务器是指虚拟专用网络服务。
api服务器提供rest接口来操作vpn网关,rest接口指的是的一种表述性状态传递,也是一种软件架构风格,rest模式相比于其他模式更加地简洁,在本发明中,操作包括创建,删除以及更新等命令;vpn服务器的作用在于接收api服务器的命令以在云环境上实现vpn网关。
vpn网关节点主要包括用户程序的运行空间以及内核的应用空间,为了系统的安全性考虑,用户程序的运行空间以及内核的应用空间是彼此隔离的,即使用的应用程序出现问题,内核的应用空间也不会受到影响,提高了系统的安全性。
用户程序的运行空间主要包括vpn代理以及vpn功能转件。vpn代理通过vpn服务器对vpn网关节点上的vpn网关进行管理;vpn功能软件主要包括libreswan、openswan等软件,这些vpn功能软件能够支持vpn卸载功能,能够被vpn代理调用。
智能网卡设于内核运行空间,内核中设有内核vpn数据通道,智能网卡中设有卸载vpn数据通道,内核中内核vpn数据通道中的数据能够下载到vpn数据通道。具体为,内核vpn数据通道中含有vpn功能软件下发的将外端网口信息、内端网口信息,安全信息以及封装规则。
交换机的计算节点包括虚拟机监视器,虚拟机监视器能够用来建立与执行虚拟机器的软件、固件或硬件。
也就是说,控制节点与vpn网关节点相联接。控制节点包括api服务器以及vpn服务器。vpn网关节点包括用户空间,内核空间以及智能网卡;用户空间包括vpn代理以及vpn功能软件;智能网卡空间包括内核vpn数据通道,内核vpn数据通道内包含有vpn功能软件下发的数据信息;智能网卡内包括卸载vpn数据通道,卸载vpn数据通道内包含有从内核vpn数据通道下载的数据信息。
本发明软硬件结合的vpn网关实现系统的创建流程顺序如下:
发出一个创建vpn网关的操作的命令,该命令通过api服务器提供的rest接口输入命令,vpn服务器接收api服务器提供的命令,vpn代理响应vpn服务器并对本节点上的vpn功能软件进行管理,vpn功能软件被vpn代理调用向内核空间的内核vpn数据通道下发数据信息,之后数据信息会下载到智能网卡的卸载vpn数据通道,数据信息为外端网口信息、内端网口信息,安全信息以及封装规则。
除了创建的命令外,上述流程顺序同样适用于更新的命令以及删除的命令,仅需对相应的命令内容以及数据信息做出调整。
智能网卡的作用在于,其能够让网络报文优先匹配网卡上卸载下来的vpn网关信息。如果网卡上的vpn网关信息能完全匹配该网络报文,就能够直接在网卡上进行vpn的加密封装或者解密解封装,封装是指内网vpn流量通过vpn网关访问外网的报文操作,解封装是指外网vpn流量通过vpn网关访问内网的报文操作,最后直接流出vpn网关节点,不再进入内核;如果智能网卡不能完全匹配网络报文,网络报文会进入内核网络协议栈,进入内核中的内核vpn通道,网络报文在内核里完成vpn的加密封装或者解密解封装,然后再进入智能网卡,之后流出vpn网关节点。
通过智能网卡与vpn功能软件结合的方案就能够显著减少了vpn网关服务的网络报文的转发路径;智能网卡与vpn功能软件结合的方案与仅采用vpn功能软件的方案相比,前者的vpn网关的吞吐量以及稳定性等网络性能都能够得到显著的提升,同时网络延时得到显著的减少;智能网卡与vpn功能软件结合的方案与采用华为,华三等厂商的硬件的方案相比,前者与后者的性能几乎相当,且智能网卡的价格成本远低于华为,华三等厂商的硬件,在适配方面,办发明只需在现有成熟的vpn功能软件上添加卸载网卡的功能即可,适配开发的工作量较小,节省了大量的人力物力;另外,智能网卡与vpn功能软件结合的方案支持在云环境上的大规模部署。
本发明克服了现有技术中在仅使用vpn功能软件的情况下,系统的性能和稳定性得不到保证的问题;还克服了现有技术中使用华为,华三等厂商的硬件的情况下,价格贵并且需要做大量适配开发,需要花费大量人力和时间的缺点。
本发明还提供了一种软硬件结合的vpn网关实现方法。
首先需要启动智能网卡的vpn卸载功能,智能网卡自行处理网络报文的匹配工作,只有在智能网卡无法自行处理网络报文的匹配工作的情况下,才会将无法处理的网络报文发送给内核空间中的vpn数据通道,网络报文在内核里完成加密封装或者解密封装,再次进入智能网卡,之后流出vpn网关节点。
还需要vpn代理根据操作的命令内容,启动vpn功能软件,vpn功能软件下发与操作的命令内容相关的数据信息。当操作命令为创建时,数据信息为外网端口信息、内网端口信息,安全信息以及封装规则,当操作命令为更新或删除时,数据信息能够根据操作命令的改变而发生改变。
当系统检测到智能网卡的vpn卸载功能已经开启,数据信息会传送给智能网卡的钩子函数,进而下载到智能网卡,智能网卡根据下载的数据信息即能够对卸载的网络报文进行处理和匹配。
本发明一种软硬件结合的vpn网关实现方法,如图1所示,主要包括以下步骤:
步骤s1.在vpn网关节点上安装支持vpn卸载功能的vpn功能软件和智能网卡,vpn功能软件可以为市面上通常采用的libreswan或openswan两种软件的其中一种,也可以是其他的一种具有vpn卸载功能的vpn功能软件,能够根据实际工作情况自行选用,以成本低,性能强,稳定性强,操作简单为优选,所有本发明中的vpn功能软件均已经做好相应的适配工作;
步骤s2.发出命令,api服务器提供rest接口来操作vpn网关实现系统,命令可以包括创建,更新以及删除,命令还可以包括其他,命令需要通过api服务器发送给vpn服务器;
步骤s3.vpn服务器接受命令挑选出一台vpn网关节点,并调用该vpn网关节点上的vpn代理创建vpn网关,相应的,还能够命令vpn网关的更新以及vpn网关的删除,除此之外够根据命令实现其他的功能;
步骤s4.vpn代理软件接收到vpn服务器的远程调用后,启动本节点的支持vpn卸载功能的vpn功能软件,如libreswan软件,libreswan软件向内核空间中的内核vpn数据通道下发与创建的命令相关的数据信息,数据信息可以包括外网端口信息、内网端口信息,安全信息以及封装规则,也可以包括其他的信息,除此之外libreswan软件也能够根据删除或者更新或者其他的类型的命令,发送包括带有与创建命令相同或不同类型信息的数据信息以及不同的数据内容;
步骤s5.系统自行检测智能网卡的卸载功能是否开启,若检测结果为“是”,即已经开启智能网卡的卸载功能,智能网卡能够对网络报文进行加密封装或者解密解封装,则执行步骤s6,若检测结果为“否”,则执行步骤s7;
步骤s6.内核空间的内核vpn数据通道中的数据信息,如外网端口信息,内网端口信息,安全信息以及封装规则,或根据删除,更新或其他的类型的命令,即包括有与创建命令相同或不同类型信息的数据信息以及不同的数据内容,传送给网卡的钩子函数,进而下载到智能网卡的内部;
步骤s7.方法结束。
需要提到的是,适配工作主要是指在vpn功能软件上进行改进,以支持网卡vpn卸载功能;该方法中主要以创建的命令为实施例,数据信息为外网端口信息、内网端口信息,安全信息以及封装规则,如上述步骤中所述,命令也可以是删除、更新或其他,数据信息根据不同的命令类型包括相同或不同类型的信息和内容。
本发明的系统和方法皆在云环境下实现,本发明在适配过程中无需修改云管理软件,原因在于云管理软件的上层界面适用于本发明可以不用改变,能够实现无缝适配,适配工作主要体现在vpn功能软件上做的改进,使其支持网卡vpn卸载功能,总体上来说适配工作明显少于采用华为,华三等厂商硬件的方案,并且能够支持在云环境上的大规模部署。
除了上述本发明的有益效果外,智能网卡能够完成大多数处理和匹配工作,明显分担了内核空间的工作量,提高了性能,并保证了稳定性,另外智能网卡的成本远低于华为,华三等厂商硬件的成本。
克服了现有技术中,仅采用vpn功能软件的方案性能和稳定性得不到保证的问题,以及仅采用华为,华三等厂商硬件的方案价格贵,而且通常需要做大量的适配开发,需要花费大量的人力和时间的问题。
本发明在克服了现有技术中存在的问题之外,还能够支持在云环境上的大规模部署。
本发明能够很好地满足用户的使用要求。
综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
对所公开的实施例的上述说明,以便本技术领域的专业技术人员能够实现或使用本申请。针对这些实施例的多种修改,对本技术领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种软硬件结合的vpn网关实现系统,所述系统包括控制节点以及vpn网关节点,所述控制节点发送命令至vpn网关节点,所述vpn网关节点实现vpn网关的运行和管理;
其特征在于,所述vpn网关实现系统还包括智能网卡,所述智能网卡支持vpn卸载功能,且设于vpn网关节点。
2.根据权利要求1所述的软硬件结合的vpn网关实现系统,其特征在于,所述控制节点包括api服务器以及vpn服务器。
3.根据权利要求2所述的软硬件结合的vpn网关实现系统,其特征在于,所述api服务器提供rest接口以输入命令,所述命令包括创建、删除以及更新。
4.根据权利要求2所述的软硬件结合的vpn网关实现系统,其特征在于,所述vpn服务器接收api服务器的命令,并转发给vpn网关节点。
5.根据权利要求1所述的软硬件结合的vpn网关实现系统,其特征在于,所述vpn网关节点还包括用户空间以及内核空间,且用户空间和内核空间彼此隔离。
6.根据权利要求5所述的软硬件结合的vpn网关实现系统,其特征在于,所述用户空间包括支持vpn卸载功能的vpn功能软件,还包括vpn代理,所述vpn代理响应vpn服务器的命令对vpn网关进行管理。
7.根据权利要求5所述的软硬件结合的vpn网关实现系统,其特征在于,所述内核空间包括外网端口、报文操作、安全信息,封装规则以及内网端口,所述报文操作包括封装以及解封装。
8.一种软硬件结合的vpn网关实现方法,其特征在于包括如下步骤:
s1.安装vpn功能软件和智能网卡,并启动所述智能网卡的vpn卸载功能;
s2.命令须通过api服务器发送给vpn服务器;
s3.所述vpn服务器挑选vpn网关节点并调用其vpn代理以启动vpn功能软件;
s4.所述vpn功能软件下发数据信息;
s5.系统检测所述智能网卡的vpn卸载功能是否开启,若检测结果为“是”,则执行步骤s6,若检测结果为“否”,则执行步骤s7;
s6.所述数据信息下载至智能网卡;
s7.方法结束。
9.根据权利要求8所述的软硬件结合的vpn网关实现方法,其特征在于,所述命令为创建vpn网关,所述vpn功能软件支持vpn卸载功能。
10.根据权利要求9所述的软硬件结合的vpn网关实现方法,其特征在于,所述数据信息包括外网端口信息、内网端口信息、安全信息与封装规则。
技术总结