一种提高SSL数据传输性能的系统及方法与流程

文档序号:14197200阅读:407来源:国知局
一种提高SSL数据传输性能的系统及方法与流程

本发明涉及网络安全通信领域,特别涉及一种提高ssl数据传输性能的系统及方法。



背景技术:

ssl协议为securesocketlayer的缩写,即安全套接层协议,是由网景通信公司(netscapecommunicationscorporation)所研发。ssl协议位于tcp/ip协议与各种应用层协议之间,利用数据加密(encryption)技术,确保数据在网络上之传输过程中不会被截取及窃听,为在internet上的数据通讯提供安全支持。ssl协议可分为两层:一层为ssl记录协议(sslrecordprotocol):它建立在可靠的传输协议(如tcp)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。另一层为ssl握手协议(sslhandshakeprotocol):它建立在ssl记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

ssl协议具有保护网络上数据传输安全的特点,但是,由于其采用数据加密的技术使得对于较大数据传输时会出现比较大的时延,造成了用户体验效果不佳的情况。因此,需要通过特定的优化方法改善其在传输较大数据时因加密而带来的时延。在发明名称为一种提高ssl数据处理速度的装置及其方法(申请号:2013107016097)的公布文件中,提出了一种提高ssl协议的数据处理速度方法和相应的装置。然而该发明所提供的方法是针对安装有ssl加速卡的服务器的情况。这种应用场景在普通生活中并不多见,主要因为ssl加速卡的价格比较高,一般普通用户不会购买,多为大型企业有这种需求的必要性。



技术实现要素:

本发明的目的在于,为解决现有技术中使用ssl协议在传输较大数据时因数据加密所带来的较大时延问题,提供了一种提高ssl数据传输性能的系统及方法,本发明的系统利用cavium多核处理器网络设备的多核及相应协处理器资源来提高ssl数据传输的性能,不需要附加ssl加速卡,具有更广泛的应用意义。

为实现上述目的,本发明提供的一种提高ssl数据传输性能的系统,对需要传输的数据可利用cavium多核处理器的zip协处理器进行压缩,然后根据网络状况和压缩的时间进行动态多核加密协处理器并行加密处理,所述的系统具体包括:

数据压缩模块、数据动态加密模块和网络状况监测预测模块;所述的数据压缩模块对需要传输的ssl数据进行压缩,并记录ssl数据的压缩时间;所述的网络状况监测预测模块对ssl数据传输过程中的网络状况进行预测;所述的数据动态加密模块根据网络状况监测预测模块预测获得的网络状况和数据压缩模块记录的压缩时间,动态调整ssl数据加密的并行度,并将加密后的ssl数据传输至网络。

作为上述技术方案的进一步改进,所述ssl数据加密的并行度数值n计算公式表示为:

n=α·rtt网络状况+β·t压缩

其中,rtt网络状况表示以当前传输的ssl数据监测获得的rtt值与下一次传输的ssl数据预测获得的rtt值之间的均值,作为下一次传输的ssl数据的网络状况,t压缩表示下一次传输的ssl数据的压缩时间,

作为上述技术方案的进一步改进,所述的网络状况监测预测模块采用平滑系数自适应的一次指数平滑模型预测获得下一次传输的ssl数据的rtt值,所述的平滑系数自适应的一次指数平滑模型表示为:

ft+1=αxt+(1-α)ft

其中,ft+1为t+1时刻的指数平滑趋势预测值,ft为t时刻的指数平滑趋势预测值,α表示指数平滑系数,et表示指数平滑预测误差,et=|xt-yt|,xt和yt分别表示t时刻rtt值的真实值和rtt值的预测值,et表示一系列指数平滑预测误差et,et-1,et-2,...,e2,e1取加权平均得到综合误差,

基于上述提高ssl数据传输性能的系统,本发明还提供一种提高ssl数据传输性能的方法,包括:

步骤1)将当前需要传输的ssl数据输入至数据压缩模块,对ssl数据进行压缩,同时记录数据压缩的时间t压缩;

步骤2)将压缩后的ssl数据输入至数据动态加密模块,根据网络状况监测预测模块预测获得的ssl数据传输过程中的网络状况rtt网络状况和数据压缩模块记录的ssl数据的压缩时间t压缩,利用公式n=α·rtt网络状况+β·t压缩计算得出ssl数据加密的并行度数值n后,将该ssl数据均分到cavium多核处理器中的n个核上进行加密处理,并将加密后的ssl数据传输至网络;

步骤3)利用网络状况监测预测模块统计步骤2)中ssl数据发送后的rtt值,同时预测获得下一次传输的ssl数据传送后的rtt值,并以两个rtt值的均值作为下一次传输的ssl数据的网络状况。

本发明提供的上述提高ssl数据传输性能的方法中,展示了一种利用cavium多核处理器作为反向代理传输数据的使用场景:客户端设备可通过http协议向cavium多核处理器反向代理发起ssl会话连接,cavium多核处理器反向代理通过http协议与后端服务器建立连接,转发客户端下载资源的请求。完成会话后,传统方法是利用cavium多核处理器的反向代理将后端服务器上资源下载下来后,再通过ssl协议发送给客户端,此时因数据加密会造成一定的时间延迟。而本发明的方法是利用cavium多核处理器的zip协处理器压缩数据,可以减少数据在网络上的传输时延,同时,根据网络传输状况的反馈及数据压缩的时间动态调整加密协处理的并行度,既能够合理的利用cavium多核处理器的资源,也减少了加密和压缩带来的时延,在整体上提高了数据传输的性能。

本发明的一种提高ssl数据传输性能的系统及方法优点在于:

本发明涉及的系统及方法应用于使用ssl协议进行较大数据安全传输的情形下,对需要传输的数据进行压缩,并将压缩后的数据传送到数据动态加密模块,根据网络的状况和数据压缩的时间进行动态并行加密处理,最终由ssl协议进行数据的安全传输,从而提高了ssl数据传输的性能。

附图说明

图1为本发明实施例中的一种提高ssl数据传输性能的系统结构示意图。

图2为利用本发明实施例中的系统在一种应用场景下的数据交互示意图。

具体实施方式

下面结合附图和实施例对本发明所述的一种提高ssl数据传输性能的系统及方法进行详细说明。

如图1所示,为本发明提供的一种提高ssl数据传输性能的系统结构示意图。该系统对需要传输的数据进行压缩,然后根据网络预测的状况和数据压缩的时间进行动态并行度数据加密处理,所述的系统具体包括:

数据压缩模块:对需要传输的ssl数据进行压缩,可以利用cavium多核处理器中的zip协处理器单元对需要传输的数据进行压缩,同时记录数据压缩的时间。

数据动态加密模块:根据网络状况监测预测模块预测获得的网络状况和数据压缩模块记录的压缩时间,动态调整ssl数据加密的并行度,并将加密后的ssl数据传输至网络。由于cavium多核处理器每个核都含有一个加密协处理器,可将压缩后的数据根据上述预测的网络状况和数据压缩的时间分配到一定个数的核的加密协处理器上进行加密处理。由于网络状况的动态变化及每次传输数据大小所造成的数据压缩时间的变化,这里需要自适应动态调整数据加密的并行度(即分配的加密协处理器个数),达到更合理的利用cavium多核处理器的资源,同时满足较好的数据传输性能。所述的自适应动态调整可使用一种比较简单的模型,即ssl数据加密的并行度数值n可由公式n=α·rtt网络状况+β·t压缩计算得到。其中,rtt网络状况表示以当前传输的ssl数据监测获得的rtt值与下一次传输的ssl数据预测获得的rtt值之间的均值,作为下一次传输的ssl数据的网络状况,t压缩表示下一次传输的ssl数据的压缩时间。

网络状况监测预测模块:对当前传输ssl数据过程中的网络状况进行监测和对下一次ssl数据传输过程中的网络状况进行预测,预测的结果用于动态调节数据加密的并行度。由于网络状况的好坏与多种因素都相关,为了简化模型,本发明主要使用计算网络中的性能指标rtt(往返时间)来衡量网络状况。用每次发送ssl数据前后所获得的rtt的均值来衡量此次ssl数据发送过程中的网络状况。在linux操作系统中,rtt的获取可通过内核函数getsockopt(),设置函数的参数选项tcp_info,调用tcp_getsocketopt()函数返回rtt值。当前ssl数据发送完后获得的rtt值相当于下一次ssl数据发送前的rtt值,要预测下一次ssl数据发送过程中的网络状况,必须知道下一次ssl数据发送完后得到的rtt值,这里只能通过以往监测到的rtt值来预测下一次ssl数据发送完的rtt值,然后,与当前ssl数据发送完后获得的rtt值取均值,作为下一次ssl数据发送过程中的网络状况的预测。所述的网络状况监测预测模块可使用平滑系数自适应的一次指数平滑模型预测获得下一次传输的ssl数据的rtt值。

指数平滑法最早是由c.cholt于1958年提出的,后来经统计学家深入研究使得指数平滑法非常丰富,应用也相当广泛。指数平滑法是一种特殊的加权平均法,对本期观察值和本期预测值赋予不同的权重,求得下一期预测值的方法。一次指数平滑法公式表示为:ft+1=αxt+(1-α)ft。其中,ft+1为t+1时刻的指数平滑趋势预测值,ft为t时刻的指数平滑趋势预测值,xt为t时刻实际观察值,α为权重系数,也称为指数平滑系数。在传统型的指数平滑模型中,α的取值在整个的预测过程中都保持不变,这样一个很明显的缺点就是会造成预测的累积性误差增大。为了提高预测的精度,这里我们对传统的指数平滑模型进行改进,考虑到α的取值对预测结果的影响比重较大,我们将α的取值动态化,让其根据以前预测值的综合误差做自适应调整,即平滑系数自适应的一次指数平滑模型。α计算的具体过程为:假设t时刻的真实值和预测值分别为xt,yt,那么,该时刻的指数平滑预测误差et可计算为et=|xt-yt|。那么对一系列的指数平滑预测误差et,et-1,et-2,...,e2,e1取加权平均得到综合误差,记为et,且et=et-1+βtet,其中,最后,可得到t时刻的α取值为

基于上述结构的系统,本发明还提供了一种提高ssl数据传输性能的方法,该方法利用上述系统进行操作的具体步骤为:

步骤1)将当前需要传输的ssl数据输入至数据压缩模块,对ssl数据进行压缩,同时记录数据压缩耗费的时间t压缩;

步骤2)将压缩后的ssl数据输入至数据动态加密模块,根据网络状况监测预测模块预测获得的ssl数据传输过程中的网络状况rtt网络状况和数据压缩模块记录的ssl数据压缩的时间t压缩,利用公式n=α·rtt网络状况+β·t压缩计算得出ssl数据加密的并行度数值n后,将该ssl数据均分到cavium多核处理器中的n个核上进行加密处理,并将加密后的ssl数据传输至网络;

步骤3)加密完的ssl数据通过ssl协议在网络上进行传输,此时,利用网络状况监测预测模块统计步骤2)中ssl数据发送后的rtt值,同时预测获得下一次传输的ssl数据传送后的rtt值,并以两个rtt值的均值作为下一次传输的ssl数据传输过程中的网络状况。

此外,数据压缩过程中运用的算法可为zip压缩算法,数据加密过程中运用的算法可为aes对称加密算法,所述rtt值的获取是通过linux内核函数getsockopt(),设置函数的参数选项tcp_info,调用tcp_getsocketopt()函数返回的rtt值。

为了便于理解,下面通过一个具体的实施例,结合图2所示的应用场景,对本发明的系统及方法做详细的说明。

如图2所示,客户端和服务器端之间设有一个cavium多核处理器的反向代理设备。客户端设备通过http协议向cavium多核处理器反向代理设备发起ssl会话连接,此时cavium多核处理器反向代理设备通过http协议与后端服务器建立连接,转发客户端下载资源的请求。完成会话后,cavium多核处理器的反向代理设备会将服务器端的资源下载下来后,通过ssl协议加密发送给客户端。

在cavium多核处理器的反向代理设备处对传输的数据进行处理,将数据进行压缩,然后根据网络预测的状况和数据压缩的时间进行动态并行度数据加密处理,达到提高ssl数据传输性能的目的,数据处理的方法具体包括:

步骤1)从后端服务器下载下来的资源数据进入到数据压缩模块,在cavium多核处理器内设有一个zip压缩引擎单元,利用该zip压缩引擎单元对ssl数据进行压缩处理,同时记录该ssl数据的压缩时间t压缩;

步骤2)将压缩后的ssl数据输入至数据动态加密模块,根据网络状况监测预测模块预测获得的ssl数据传输过程中的网络状况rtt网络状况和数据压缩模块记录的ssl数据压缩的时间t压缩,利用公式n=α·rtt网络状况+β·t压缩计算出ssl数据加密的并行度数值n,根据计算的并行度数值n将ssl数据均分到不同的核上进行加密处理,cavium多核处理器中的每个核都设有一个加密协处理器单元,利用该加密协处理单元进行数据加密处理;

步骤3)加密完的ssl数据通过ssl协议在网络上进行传输,此时,利用网络状况监测预测模块统计步骤2)中ssl数据发送后的rtt值,通过linux内核函数getsockopt(),设置函数的参数选项tcp_info,调用tcp_getsocketopt()函数返回rtt值。同时,利用平滑系数自适应的一次指数平滑模型预测下一次传输的ssl数据传送后的rtt值,并以两个rtt值的均值作为下一次传输的ssl数据传输过程中的网络状况。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1