一种跨网闸数据传输系统的设计与实现*

2016-11-07 05:41傅雷扬
计算机与数字工程 2016年10期
关键词:网闸内网处理单元

傅雷扬 朱 军 饶 元

(安徽农业大学 合肥 230036)



一种跨网闸数据传输系统的设计与实现*

傅雷扬朱军饶元

(安徽农业大学合肥230036)

电力系统生产环境下,不同安全区域间的数据传输有着严格的要求,一方面保障了生产环境的安全,另一方面又给数据传输和共享带来制约。设计并实现了一个基于网闸的数据传输系统,可以将结构化数据序列化后传输,在UDP传输协议的基础上自定义了通信协议,保障了通信的实时性和数据的完整性,整个过程中不产生任何磁盘文件。对于各种不同结构的数据传输需求,只需要改变序列化和反序列化模块,系统具备通用性。该系统已经部署到某发电企业的数据采集现场,实际运行结果验证了该系统的稳定性和可靠性,替代了原先的文件搬运方式,解决了频繁读写磁盘导致的系统故障。

网闸; 物理隔离装置; 数据传输系统; 序列化; UDP传输

Class NumberTP311.5

1 引言

2015年12月23日,乌克兰至少三个区域的电力系统遭到网络攻击,伊万诺-弗兰科夫斯克地区部分变电站的控制系统遭到破坏,造成大面积停电,电力中断3~6小时,约140万人受到影响。曾几何时,黑客还只是潜伏在网络世界窃取信息的影子。而步入“互联网+”时代,技术与产业融合激发创新活力的同时,也给信息安全带来更大挑战[1]。

根据电力二次系统的特点,为了防范黑客及恶意代码等对电力二次系统的攻击侵害及由此引发电力系统事故,建立了电力二次系统安全防护体系,以保障电力系统的安全稳定运行。将电力安全区划分为生产控制大区和管理信息大区,生产控制大区又分为控制区(Ⅰ安全区)和非控制区(Ⅱ安全区),信息管理大区分为生产管理区(Ⅲ安全区)和管理信息区(Ⅳ安全区)[2]。各种防护与隔离措施也被广泛使用,如防火墙技术、多重安全网关、网闸、交换网络等[3~4]。这些防护措施在保护了电力系统的同时,又给数据传输和共享带来了阻碍。本文在电力系统常用的网闸设备基础上,设计并实现了一个基于网闸的数据传输系统,采用UDP传输协议,可以将任意结构性数据进行序列化传输,整个过程中不产生任何磁盘文件。从网闸与传统的文件搬运、跨网闸数据传输系统设计、测试等几个方面来分别进行阐述。

2 网闸与传统的文件搬运

网闸又叫安全隔离与信息交换系统[5],是位于内部网络与外部网络之间的一个安全防护装置,它可以识别非法请求并阻止超越权限的数据访问和操作,从而有效地抵御病毒、黑客等的恶意破坏和攻击活动,保护网络的安全。网闸技术在物理隔离技术基础上,实现了网络间物理层和网络协议断开的同时进行数据交换。

网闸是由软件和硬件组成,其硬件设备由三部分组成:外部处理单元、内部处理单元、专用隔离与交换控制单元,如图1所示[6]。内网和外网通过网闸连接起来,其中,内部处理单元连接内网,外部处理单元连接外网。专用隔离与交换控制单元由硬件开关和数据交换区组成,硬件开关从硬件层面上实现了数据交换区在任一时刻只与内部处理单元或外部处理单元相连,这样便能保证在任一时刻内网与外网没有物理上的直接连通,从而实现了物理隔离。

图1 网闸内部原理

当有数据需要从内网传输到外网时,硬件开关S首先与内部处理单元的A点连接,进行第一次数据摆渡。此时,专用隔离交换单元的数据交换区与内网连通,与外网断开,内网中需要交换的数据被通过命令写入到数据交换区。之后,硬件开关S断开与A点的连接,转而与外部处理单元的B点连接,外部就可以从数据交换区中读取数据,从而实现由内网向外网的数据传输。反之,由外网向内网的数据传输,过程刚好相反。内外网之间所有的 TCP/IP 连接在经过网闸时都要进行协议剥离,即在网闸的一端将数据剥离至原始数据,然后根据用户制订的规则对原始数据进行强制检查,再以格式化数据块的形式摆渡至网闸的另一端,另一端的主机系统在发送前需完成逆向的数据封装工作,即实现“协议落地、内容检查”,这样能够实现最高级别的安全。

网闸传输数据的常用形式是文件搬运,即将数据保存在文件中,传输到网闸一侧,由网闸搬运到另一侧,如图2所示。

图2 网闸文件搬运

文件搬运的优点是文件具有通用性,任何应用系统产生的数据文件,都可以通过网闸搬运,无须针对性地定制开发,只要有网闸设备和通用的搬运程序,配置后就可以实现跨网闸数据传输。但文件搬运也存在较多不足:如果有大量文件需要搬运(例如实时采集系统,7*24小时不间断产生数据文件),则存在频繁读写内外网主机磁盘的问题,时间久了容易导致磁盘损坏。另外,文件搬运通常是在成功搬运后才删除源文件,一旦网闸或网络出现故障,则可能导致内网主机磁盘被写满而影响正常运行。因此,有必要改进传统的文件搬运方式,采用内存缓存数据(无文件)、收发双方直接通信的方式(经网闸隔离)跨网闸传输数据。

3 跨网闸数据传输系统设计

3.1总体设计

本文设计开发的跨网闸数据传输系统是汽轮发电机组振动在线监测系统[7]的数据采集部分,如图3所示。支持振动量数据、过程量数据(PI,eDNA)跨网闸,实现网闸两端的镜像服务器与前端服务器数据实时同步。设计上借鉴了国内外网闸数据传输研究领域里的一些先进技术方案[8~12]。

3.2跨网闸设计与处理流程

图4给出了振动量跨网闸的设计结构图,过程量跨网闸结构相似,区别仅在于数据结构不同,数据来源不同(过程量直接读实时数据库PI和eDNA)。网闸两端的服务器上分别运行了跨网闸传输客户端程序(图4中的saPro Client)和服务端程序(图4中的saPro Server)。客户端程序将要传输的数据通过UDP协议直接发送到网闸内网端口,网闸摆渡数据到外网,由服务端程序接收并写入MySQL数据库。

图3 振动在线监测系统数据流图

图4 振动量跨网闸设计结构图

客户端程序处理流程:

1) 从交换缓冲区(与信号分析线程共享的)中读一组数据,无数据可读则阻塞;

2) 序列化,将结构数据转换为一维数组;

3) 构造开始报文,发送;

4) 循环构造若干数据报文(根据具体的数据量),发送;

5) 构造结束报文,发送;

6) 转1)。

服务端程序处理流程:

1) 监听指定的若干个端口,每个端口对应一个客户端(saPro Client);

2) 收到开始报文,暂存,无数据则阻塞;

3) 循环收到若干个数据报文,暂存;

4) 收到结束报文,触发解析,重组数据报文,保存到一维数组中;

5) 反序列化,将一维数组转换为结构数据,并保存到交换缓冲区中(供数据库线程来读取);

6) 转2)。

3.3主要数据结构

// 振动量数据结构

typedef struct {

long long timestamp; // 时间戳

int millisecond; // 毫秒

float speed; // 转速

// PARAM 段

float gap; // 间隙电压

float direct; // 通频值

float amplitude_1X; // 1倍频幅值

float phase_1X; // 1倍频相位

float amplitude_2X; // 可选倍频幅值

float phase_2X; // 可选倍频相位

float amplitude_3X; // 可选倍频幅值

float phase_3X; // 可选倍频相位

// WAVE段

int waveLength; // 压缩后的波形长度

byte* pWave; // 压缩后的波形动态值

// SPECTRUM段

int spectLength; // 压缩后的频谱长度

byte* pSpect; // 压缩后的频谱动态值

// 采集参数

int sampleRateOrder; // 阶比数

float deltaOrder; // 阶比分辨率

} VibraData;

3.4自定义通信协议

为保障通信的实时性,传输协议选择了UDP,在专用设备上运行(无其它任务干扰),UDP的丢包问题基本可以忽略不计。在UDP通信的基础上,数据传输采用了自定义的通信协议,包括:开始报文、数据报文、终止报文,其收发流程即3.2节的客户端和服务端处理流程。服务端接收到报文时,将对报文头、发送序号、MD5校验码进行检查,确保报文的完整性和数据的正确性,即便小概率的UDP丢包导致的报文丢失,也将会被识别出来。

表1 开始报文

表2 数据报文

表3 终止报文

4 系统测试

网闸设备采用了南瑞信息的SysKeeper-2000网络安全隔离设备,网络拓扑结构如图5所示。三台采集器分别运行saPro Client程序,镜像服务器运行saPro Server程序。采集器的数据写入前端服务器,同时将数据发送到网闸内网端口,网闸转发数据到外网,写入镜像服务器。

图5 系统测试网络拓扑结构图

网闸配置如图6所示。客户端与服务端的通信,是通过虚拟IP地址来进行的。图6的配置中,客户端网卡的IP地址是10.144.1.1,目标(镜像)服务器的地址是10.144.1.4(虚拟IP地址),镜像服务器网卡的真实IP地址是202.102.1.4。端口设置为0,表示允许所有端口数据通过,协议类型为UDP。

图6 网闸配置

图7同时给出了网闸客户端和服务端程序的运行状态。

图7 网闸客户端和服务端运行状态

5 结语

系统测试表明,本文设计的网闸传输系统可以实时地跨网闸传输数据,无须存盘和文件交换,最大程度地减少了磁盘的读写,也无须担心磁盘被写满,从而解决了传统的文件搬运存在的弊端。同时,对于各种不同的待传输数据,只需要改变序列化和反序列化模块,因而具备一定的通用性。本文系统已经部署在电厂的数据采集现场,实践表明,系统运行稳定、可靠,取代了原先的文件搬运方式。

本文系统目前解决的是正向数据传输,即数据都是从内网发往外网,客户端只发送数据而不接收服务端的反馈,因此无法判断服务端是否在运行中。可以考虑增加心跳数据包,如图8所示,收发双方都可以感知对方的状态。

图8 网闸心跳设计

[1] 中国电力网.乌克兰电网遭遇黑客攻击有何警示意义?[EB/OL]. http://www.chinapower.com.cn/information&jzqb/2016022215629.html,2016-02-22.

[2] 李树斌,王函弘,曹祥飞,等. 2种实时数据库跨不同安全区的数据迁移工具实现与应用[J]. 浙江电力,2014(6):32-35.LI Shubin,WANG Hanhong,CAO Xiangfei,et al. Implementation and Application of Data Migration Tool Crossing Diffident Security Regions of Two Real-time Databases[J]. Zhejiang Electric Power,2014(6):32-35.

[3] 孟卫东.电力系统常用的网络隔离技术比较[J].云南水力发电,2008,24(3):104-106.

MENG Weidong. Comparison of Network Isolation Techniques Used in Power System[J]. Yunnan Water Power,2008,24(3):104-106.

[4] 于华楠,武云瑞,胡绪超.正向隔离网闸在电力系统中的应用[J].计算机与数字工程,2014,42(10):1817-1818,1874.YU Huanan,WU Yunrui,HU Xuchao. Application of Positive-isolation Gap in Electricity System[J]. Computer & Digital Engineering,2014,42(10):1817-1818,1874.

[5] 王博.基于物理隔离技术的网闸系统的设计与实现[D].西安:西安电子科技大学,2014.

WANG Bo. Design and Implementation of Gateway System Based on Physical Isolation[D]. Xi’an:Xi’an Electronic and Science University,2014.

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

BAI Yan. The Design and Implementation of Hot-standby System Based on the Netgap[D]. Beijing:Beijing Institute of Technology,2015.

[7] 傅雷扬,汪江,朱军,等.汽轮发电机组振动在线监测系统的设计与实现[J].中国电力,2013,46(4):1-5.FU Leiyang,WANG Jiang,ZHU Jun,et al. Design and Implementation of Online Vibration Monitoring System for Turbine-Generator Sets[J]. Electric Power,2013,46(4):1-5.

[8] S. Yu,Y. Zhan,Q. L. Cai,et al. A Reflective NetGAP Logic Framework Design[J]. Power Electronics and Intelligent Transportation System,2008(1):565-568.

[9] Y. Songsen,P. Yun,Z. Yiju. A Design of Message Transferring Based on Mailbox in NetGAP[J]. Computational Intelligence and Industrial Application,2008(1):571-574.

[10] S. Yu,Y. Peng,Y. Zhan,et al. Session Mechanism Research Based on Agent in NetGAP[J]. Intelligent Information Technology Application Workshops,2008(1):395-398.

[11] 周亮,刘开培,李俊娥.基于PowerPC的嵌入式协议隔离设备在电力系统中的实现[J].电力自动化设备,2008,28(9):82-88.

ZHOU Liang,LIU Kaipei,LI Jun’e. Implementation of Embedded Protocol Isolation Equipment Based on PowerPC[J]. Electric Power Automation Equipment,2008,28(9):82-88.

[12] 楼平,史英杰,陈军,等.一种适用于电力系统的实时数据迁移方法[J].华东电力,2014,42(3):496-499.

LOU Ping,SHI Yingjie,CHEN Jun,et al. Real-Time Data Transferring Method for Electric Power System[J]. East China Electric Power,2014,42(3):496-499.

Design and Implementation of An Across Netgap Data Transmission System

FU LeiyangZHU JunRAO Yuan

(Anhui Agriculture University, Hefei230036)

Under the environment of power system production,there are strict requirements on the data transmission between different safety areas. On the one hand,it ensures the safety of the production environment,on the other hand,it also brings the restriction of data transmission and sharing. Design and implementation of a netgap data transmission system,which can serialize structured data is conducted. By designing a custom communication protocol based on the UDP transport protocol,real-time communication and data integrity can be guaranteed. Also,the whole process does not produce any disk files. For the data transmission requirement of different structure,it only needs to change the serialization and deserialization modules,so the system has the versatility. The system has been deployed to a power plant on the data collection spot,instead of the original file handling way. It proves that the system has the stability and reliability,and system failure caused by frequently reading and writing disk has been solved.

netgap, physical isolation device, data transmission system, serialization, UDP transmission

2016年4月7日,

2016年5月19日

傅雷扬,男,讲师,研究方向:旋转机械状态监测和基于网络的软件技术。朱军,男,副教授,研究方向:网络安全、自组网路由。饶元,男,副教授,研究方向:网络安全、物联网技术。

TP311.5

10.3969/j.issn.1672-9722.2016.10.028

猜你喜欢
网闸内网处理单元
不同生物链组合对黄河下游地区引黄水库富营养化及藻类控制
城市污水处理厂设备能耗及影响因素分析研究
长填龄渗滤液MBR+NF组合工艺各处理单元的DOM化学多样性
一种高可用负载均衡网络数据采集处理的方法及系统
浅谈网闸在内外网隔离中的应用
企业内网中的数据隔离与交换技术探索
内外网隔离条件下如何实现邮件转发
基于网闸的高速公路收费监控多网络互通解决方案
工商管理移动电子政务信息系统的设计与实现