APP下载

基于多网闸的安全数据交换系统设计与实现

2018-09-14连礼泉吴鹏胡罡

电脑知识与技术 2018年16期
关键词:网闸负载均衡算法

连礼泉 吴鹏 胡罡

摘要:为提高基于多网闸的安全数据交换系统的可靠性和效率,设计了一套安全数据交换系统,实现对网闸集群多个数据通道的统一调度管理,提供数据分片传输、负载均衡和运行状态监控等功能,提出了改进的通道调度算法,提出了系统运行状态层次化量化评估模型,分析了该系统的应用效果。

关键词:网闸;集群系统;集群调度系统;负载均衡;算法

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)16-0034-03

随着信息化建设的快速发展,各类信息化系统不断涌现,为避免信息化系统的重复建设以及实现多系统的数据共享,不同系统间进行信息数据的交换是常见的解决方案。

网闸因其具有安全的信息交换、可靠的信息传输等优点被广泛应用于涉密网和非涉密网之间的信息交换[1]。

随着业务的增长,通过网闸进行数据交换的业务数据量不断增长,相应的数据类型更加复杂。不同业务对数据交换的要求差别很大,数据文件大小往往从几十字节至几百兆字节不等,而对数据交换的实时性要求从秒级至几个小时不等。

由于网闸网络隔断技术、策略配置等因素的影响,单个网闸在进行单向传输时仍可能存在传输失败等情况。在实际应用系统中,为满足不同业务系统的差异化数据交换需求,往往由多个网闸组成集群,提高整体带宽,以满足不同系统对带宽和延迟的不同要求,但由于各网闸参数不一致,难以发挥网闸集群的最佳性能。

本文基于网闸集群设计了一个安全数据交换系统,通过统一调度和运行状态评估等算法实现负载均衡和故障监测,提高网闸集群整体性能,降低系统延迟,将该系统应用于实际场景中,提高了系统的可用性,对工程应用具有较高的参考价值。

1 基本原理

1.1 網闸技术原理

网闸是在保证两个网络安全隔离的基础上实现安全信息交换和资源共享的。如图1所示,网闸主要由内网处理单元、外网处理单元和专用隔离硬件交换单元等三部分组成,隔离硬件交换单元具有文件存储能力,在由于硬件成本的限制,存储容量有限,无法作为大容量临时存储使用。

1.2 数据交换平台

网闸是不同网络进行数据交换的核心设备,在此基础上,还需增加前后置FTP服务和前后置应用服务以及安全防护等硬件设备,从而组成网间安全数据交换的硬件平台。数据从外网侧先后经前置应用服务器、前置FTP服务器、向内单向网闸、后置FTP服务器和后置应用服务器向内网侧传输,与之类似,反馈信息经向外单向网闸和其他设备向外网侧反馈数据传输结果,从而形成闭环的传输系统,保证数据的可靠交换。

2 设计与实现

2.1 总体架构

在基于网闸集群的硬件平台基础上,本文搭建一套安全数据交换系统,通过对集群内各设备特性及负载情况进行综合分析,动态调整数据路由,实现对业务数据的跨网安全、可靠传输,如图2所示。

本文在网闸集群的基础上,建立了多个FTP传输通道,每个FTP传输通道由前置FTP和相应的后置FTP组成,各传输通道的网闸相互独立,当某一通道因网闸故障导致通道失效时,其他通道仍可以正常使用。

在本系统中,通过在前后置应用服务器部署业务会话系统,实现数据加解密、文件分片传输、数据完整性校验、故障监测及流量控制等功能,从而建立安全可靠的高可用数据交换平台。

业务数据收发模块接收业务数据,业务数据经数据分片处理后发送至任务队列,数据分片发送至前置FTP的过程通过任务队列模块统一调度。故障监测模块对各通道进行心跳监测,当监测到任一通道出现异常时,通知流量控制模块对任务队列及时变更路由,及时将任务队列切换至其他通道或者停止传输数据,防止系统拥塞。

2.2 数据分片传输(高效IP分片重组的设计与实现)

系统使用单个传输通道传输文件时,前置FTP和后置FTP通过网闸一对一传输。网闸通过定期扫描前置FTP获得待传输的文件信息,由于摆渡文件的固有特点,文件通过网闸进行传输所需时间t(μ)满足以下关系:

[tμ=Ck,μ≤Cμk,μ>C]

其中,μ为数据文件大小,k为网闸的文件传输速率,C为网闸传输的最佳文件大小,根据网闸性能和参数配置的差异有所变化。

在进行小文件传输时,传输时间为固定值,但在进行大文件传输时效率较低,不利于发挥网闸集群的整体性能优势。为提高文件传输速率,可以将较长的文件分片后通过多传输通道并行传输,各分片数据传输完成后再将分片数据重组。

如图3所示,原始文件被切分成多个分片文件,每个分片文件由分片标识、完整性校验和分片数据组成,其中,分片标识由UUID和分片偏移数据组成。UUID标识了分片数据的唯一性,数据重组模块根据偏移数据重新组装数据文件。完整性校验数据为分片数据的MD5摘要信息,数据重组模块根据其MD5值检验分片数据的完整性,如果分片数据有问题,则通过UUID请求重新发送分片数据文件。

2.3 负载均衡(Web集群服务器的负载均衡和性能优化)

为了改善系统性能,本文采用加权轮叫调度算法[2]并加以改进,根据各通道传输能力和健康状况合理地分配负载,使各通道的负载基本均衡。

系统传输通道为集合T={T1,T2,…,Tn},其中,n为通道数。各传输通道被调用的概率与其权值相关,其权值wi可以表示为:

[wi=τi?hi]

其中,τi为传输通道的传输能力,主要取决于网闸的带宽,hi为传输通道的健康指数,根据系统故障监测结果周期更新。

对传输通道T的具体调度算法如下:

i = -1;

while (true) {

i = (i+1) mod n;

if (i==0) {

v = wi – gcd(T);

if (v<=0) {

v = max(T);

if (v==0)

return NULL;

}

}

if (W(Si)>=v)

return Si;

}

其中,i为上一次选择的传输通道,max(T)为传输通道集合T中所有传输通道的最大权值,gcd(S)为传输通道集合T中所有通道权值的最大公约数。当系统满足以下条件时,系统将无法提供传输服务:

[i=0n-11-wi=1]

此时,系统所有通道均处于不可用状态,所有的传输请求均被拒绝,系统不会记录当前查询的通道。

由以上调度程序可知,当传输通道的传输能力较强且健康状况较好时,该通道被调度的概率较大;反之,传输通道的传输能力较弱或健康状况较差时,该通道被调度的概率较小。以上调度算法资源消耗低,通过故障监测及时更新各通道的健康状态信息,可以动态调整各通道的权重,达到负载均衡的目的。

2.4 运行状态监控(基于网闸的双机热备系统的设计与实现)

2.4.1 异常指数

为了及时发现传输通道的问题,可以通过生产心跳数据包,通过检测心跳数据实现对系统运行状态的实时监控。考虑到系统的可维护性,可以将系统级故障诊断模块部署于外网侧。如图4所示,故障监测模块控制心跳数据生产模块定期产生心跳数据文件,该心跳数据包包含发送时的时间戳。

内网侧定期检测外网侧发送的心跳數据包,同时也向外网侧定期发送心跳数据包,该心跳数据包包含所有向内传输通道的状态信息,通过多传输通道冗余传输,保证系统及时检测出通道异常信息,如图5所示。

系统向内的传输通道为T={T1,T2,…,Tn},其中,n为向内的传输通道数;系统向外的传输通道为T={T1,T2,…,Tm},其中,m为向外的传输通道数。

心跳数据通过传输通道向内传输的时间为[t=t1,t2,…,tn],其中,[t1=?t1,1,?t1,2,…,?t1,k],即心跳时间戳和心跳数据接收时间的时间差,k为心跳数据检测次数。同样地,心跳数据通过传输通道向外传输的时间为[t'=t'1,t'2,…,t'm]。

对于指定的传输通道,可以根据拉依达准则检测异常。例如,当第1个传输通道存在异常时,满足以下关系:

[t1,1-t≥3st=1ki=1k?t1,is=1k-1i=1k?t1,i-t2]

其中,心跳检测次数k可以根据实际情况进行配置,一般应满足k≥50。

为方便计算,本文对异常检测结果进行量化,异常指数ei量化方法如表1所示。

2.4.2 负载指数(格拉布斯准则)

负载指数用于表示指定传输通道的负载状态,可以较好地表示系统的运行状态。为方便计算,本文将负载状态量化为负载指数vi,量化方法如表2所示。

2.4.3 健康指数

为精准地掌握网闸集群各通道的特性及负载情况,了解系统的实时运行状态,需要综合考虑传输延迟、负载大小等因素,建立与系统运行状态相符的评估模型,以真实有效地反映系统的运行状态。

本文设计了层次化的量化评估模型,综合考虑了通道异常、负载大小等因素,计算系统健康指数hi,以真实有效地评估系统运行状态。将健康指数hi作为输入参数,结合负载均衡调度算法,可以实现对各传输通道的动态调度。通道Ti的健康指数hi计算方法如下:

[hi=1-vi2+1-ei22]

其中vi为通道Ti的负载指数,ei为通道Ti的异常指数。

3结论

本文主要研究了以多网闸为核心组成的数据交换平台的数据传输技术,在网闸集群的基础上搭建了安全数据交换平台,实现了负载均衡和运行状态监控,在进行大文件传输时显著提高系统性能,防止系统拥塞,显著提高了系统的可用性。

在实际系统建设中,由于成本的限制,网闸往往是数据交换系统的瓶颈,通过增加网闸数量可以提高系统性能,但却带来了多网闸协调运转及故障监测的难题,本文的系统可以较好地解决上述问题。随着网闸设备的推广使用,本文设计的系统具有广泛的应用前景。

参考文献:

[1] 李旋,吴其聪.一种数据加密与完整性保护的网闸实现方法[J].南通大学学报,2014,13(1):18-23.

[2] 胡利军.Web集群服务器的负载均衡和性能优化[D].北京邮电大学,2010.

[3] 程斌.负载均衡调度系统的设计与实现[D].华中科技大学,2011.

[4] 王永,张新家.高效IP分片重组的设计与实现[J].微处理机,2008,5(5):172-177.

[5] 白燕.基于网闸的双机热备系统的设计与实现[D].北京理工大学,2015.

[6] 吴缇.基于物理隔离网闸的银行文件安全传输系统的设计与实现[D].电子科技大学,2013.

[7] 沙定国,王中宇,王金波,等.误差分析与测量不确定度评定[M].北京:中国计量出版社, 2003:68-74.

[8] 郭亚军.综合评价理论与方法[M].北京:科学出版社,2002.

猜你喜欢

网闸负载均衡算法
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
浅谈网闸在内外网隔离中的应用
异构环境下改进的LATE调度算法
基于网闸的高速公路收费监控多网络互通解决方案
一种改进的整周模糊度去相关算法