工业互联网云网关架构及实现

2022-02-19 10:23:32史运涛董广亮雷振伍
计算机应用与软件 2022年2期
关键词:网关加密架构

史运涛 董广亮 雷振伍

(北方工业大学电气与控制工程学院 北京 100144) (现场总线技术与自动化北京市重点实验室 北京 100144)

0 引 言

近年来工业互联网发展日趋成熟,它融合了先进制造技术以及互联网、云计算、物联网、大数据等信息技术,实现制造需求和社会化资源的高质高效对接, 是一种新型的网络化制造服务模式,是工业互联的信息中枢,是制造业与互联网融合的新型基础设施[1-2]。因此,以底层工业设备为基础,与云平台对接融合,打造自动化运营技术(Operation Technology,OT)层与信息技术(Information Technology, IT)层融合的“云+端”架构将成为工业互联网发展的方向,而云网关是实现上述融合的关键。但是,工业生产数据具有协议复杂、实时可靠性要求高、安全加密难等特点[3],目前还没有一个通用的云网关架构来解决OT与IT数据融合问题。

首先,在工业生产数据方面,传统的工业传感器系统具有协议复杂、互相兼容性差等问题,难以实现工业数据向云端的统一上传。近年来,国内外学者在工业物联网数据解析及协议转换方面进行了大量的研究,其中以Zigbee为代表的无线传感网络的数据采集及协议转换,实现了传感网络数据的采集、解析、传输到物联网平台的问题[4-6]。文献[7]提出一种基于开源架构的多协议物联网平台,但是这一研究方向还局限在解决传统物联网环境下的数据解析与传输问题,难以解决于工业总线、工业以太网环境下的数据采集、协议转换和数据上云问题;另一类研究方向是针对特定的工业通信协议间的协议转换与数据解析问题[8-10],但是这类研究还停留在传统工业自动化的层面,没有考虑不同的工业协议与云平台的互通问题。

在网关的实时可靠性方面,文献[11]提出了一种基于μC/OS-II实时操作系统的数据采集方案,但是μC/OSII系统面向的是可靠性要求低且数据量有限的小型数据传输设备[12],因此难以满足高并发状态的多协议工业互联网云网关需求。文献[13]提出一种融入缓存机制的任务卸载策略,它只适用于下行控制场景,并不适用于数据实时采集传输。文献[14]利用FPGA技术实现下位机数据的快速采集,并将采集的部分数据传输至ARM处理器对数据进行进一步处理,但是该技术不能解决多种协议设备接入时的数据并发问题,处理性能也不满足实时协议转换的需求,也没有考虑通信故障时可能发生的数据丢失问题。

在网关安全性方面,相关的研究成果尚处于初步研究阶段,大部分研究成果较少考虑云网关的安全性问题[15]。由于工业物联网平台和云端的开放性,工业数据一旦在与云平台交互过程中被破坏或者篡改,将会带来严重的安全风险。因此,云网关架构的数据安全性问题是研究重点与难点。文献[16-17]通过区块链技术的数据库来保证数据存储的安全性,但数据采集传输过程的安全性没有考虑。文献[18]提出一种针对局域异构网络的数据安全模型,可以增强数据保密性及完整性,但是该模型没有涉及数据上云过程的安全传输问题。有一些研究利用SM4加密算法提高数据传输的安全性[19-22], 但是SM4密钥扩展算法与加密算法具有结构相似性,轮密钥生成算法参数具有固定性, 这些特性都会导致网关安全性的降低[23]。文献[24]提出一种改进的SM4加密算法,提高了数据传输过程中的安全性,但是该算法需要GPU提供并行计算能力支持,并不适合应用在工业互联网云网关的相关场景中。

综上所述,研究集多协议数据解析、实时可靠性、安全性于一体的工业互联网云网关架构是当前学术研究的前沿问题。本文提出一种工业互联网云网关架构。首先,针对传输协议复杂多样的异构性,特别是针对缺乏规范的工业设备和云平台之间通信协议标准问题,提出一种数据采集及协议转换方法,该方法一方面通过工业以太网、工业总线、工业无线接入不同现场设备,通过协议解析兼容不同的工业通信协议实现底层设备数据的接入;另一方面将上述数据转化为具有物联网标准的消息队列遥测传输协议的数据格式(MQTT协议),利用Wi-Fi、NB-IoT、以太网等通信技术将数据传送到云平台。同时,该方法能够实现不同协议设备的数据交换。其次,针对协议转换中的实时可靠问题,提出一种具有断点续传能力的快速处理并发任务的异步处理机制,通过断点续传机制来保证数据的完整性,异步处理机制保证数据传输的实时性。最后,在保证实时可靠的基础上,提出一种三层加密方式实现了数据的高安全性传输,这种加密机制分别从网络层、传输层、应用层三个层面设计了相应的算法解决数据安全性问题。同时,本文在软硬件上实现了上述云网关架构并进行了相关的实验。

1 基于云网关的工业互联网

工业互联网是指具有感知、传输计算等功能的云端一体化智能系统,是工业数据、硬件、软件相互融合的基础设施。底层的工业设备具有异构性强、耦合度高、通信协议纷杂、可扩展性差等问题,导致云端的应用难以快速整合协议纷杂的物理设备数据。而云网关是实现底层设备数据传输、云端数据处理分析的核心设备,是解决上述问题的关键。基于云网关的工业互联网架构如图1所示。

图1 基于云网关的工业互联网架构

本文提出的工业互联网云网关架构在OT层通过多协议采集解析设备的各种通信协议,为IT层面的数据分析与场景应用提供数据源;IT层面通过MQTT实现多协议数据的协议统一;利用Wi-Fi、NB-IoT、以太网等通信技术将数据传送到云平台。

2 云网关架构

本文提出的工业互联网云网关架构如图2所示。在协议转换层,将OT网络层复杂的设备协议解析并转换成统一的上云接口;在实时可靠性方面,提供了数据缓存能力保证数据不丢失,同时利用非阻塞通信和断点续传方法保证数据的可靠性;在安全加密方面,分别实现了网络层、传输层、应用层的加密机制。

图2 云网关架构

2.1 多协议转换

本文所述的工业互联网云网关架构提出一种多协议转换模型如图3所示。该多协议转换模型可以解析数据类型各异、通信标准不统一的工业协议,并且能够将解析的工业数据转换成统一上云的数据格式。同时,通过MQTT可以实现不同协议设备的数据交换。

图3 多协议转换模型

具体来说,该多协议转换模型通过数据接口接入不同工业设备,通过协议解析单元解析并读取不同的工业通信协议,实现底层设备数据的接入并将多协议数据放入异步缓存区等待协议转换。其次,需要将上述缓存区多协议数据转化为具有物联网标准的消息队列遥测传输协议的数据格式(MQTT协议),并统一成标准数据格式,利用Wi-Fi、NB-IoT、以太网等通信技术将数据传送到云平台。

2.2 实时可靠性

针对多协议数据解析与传输的实时性问题,本云网关架构提出能快速处理并发任务的异步任务处理机制,该机制可支持实时任务处理和任务调度,可用来处理分布式任务队列,以保证数据处理的实时性。数据转换原理如下:利用内存数据库读写数据的高效率特性,把内存数据库作为任务队列即协议转换任务的中间件,把网关要处理的多协议工业数据协议转换任务的数据缓存到异步任务队列;通过异步任务调度机制将多个协议转换任务分发给多个Worker并行处理,完成协议转换任务。Worker协议转换任务执行完成后,将处理好的数据存储在任务结果缓存单元,等待数据传输到云端。云网关架构的实时传输机制如图4所示。

图4 实时性传输机制

在可靠性方面,为了解决数据上云传输过程中可能会出现的网关与云端通信异常问题,通过设计数据传输故障检测机制来实现数据断点续传功能,从而保证数据传输的可靠性和数据的连续性。云网关系统断点续传流程如图5所示。

图5 断点续传流程

在数据传输过程中,为防止出现假连接,网关定时向云端发送心跳数据包并监测连接的状态,一旦连接断开则重新建立连接。在网关数据传输异常断开故障(如网络异常断开)时,即网关检测到该节点数据上云通道已经意外离线后,立即采取断点续传,将数据包存储在网关本地数据库中,待连接恢复之后,将数据存储单元中的数据包上传给云端数据中心。这样当网关与云端数据中心通信有异常时,不会造成重要数据的丢失,当通信恢复正常时即可将这段缓存的数据补传到上方设备,保证数据的完整性。

2.3 安全性

在数据的安全性方面,综合考虑网络层、传输层、应用层三个层面的安全保障机制,在考虑安全性的同时兼顾数据传输的实时性不受影响,解决了数据传输的安全性问题,加密方法如图6所示。

图6 三层加密机制

网络层。MQTT协议数据发送给云平台的过程中,通过加密隧道技术实现智能云网关与所述云平台数据传输的安全性。

传输层。采用非对称加密握手机制来交换对称加密密钥,进行客户端到服务器的身份认证,在身份认证通过后,使用对称算法生成对称密钥,并利用对称密钥加密所述MQTT协议数据,用非对称公钥对所述对称密钥进行非对称加密;将加密后的MQTT协议数据和对称密钥传送至云平台,以供所述云平台利用非对称私钥解密得到所述对称密钥,并利用所述对称密钥对所述MQTT协议数据进行解密。

应用层。在传输层建立连接后,通过用户名和密码, MQTT服务端能够对所有MQTT客户端进行鉴权,采用通用唯一识别码实现网关设备身份认证,两者配合实现所述云平台对所述工业互联网云网关的权限校验;同时在应用层对消息体进行加密,避免数据在MQTT broker被破解,消息体加密机制如图7所示。

图7 消息体加密机制

在网络层、应用层、传输层分别采用轻量级的加密或者认证方式,避免了高复杂加密算法对GPU计算资源的依赖,这种加密架构不仅保证了数据传输的安全性,还兼顾数据实时性不受影响。

3 云网关软硬件的实现

本节根据所提出的工业互联网云网关架构实现了云网关实例。该网关负责适配不同的工业设备、不同工业协议接入云平台,实现了物理设备和云平台的桥接;并具备相应的管理和安全功能,在指定访问权限下能够配置、更新网关接入的设备信息。

3.1 硬件设计

本文由树莓派和网关扩展板实现网关硬件系统。树莓派基于Linux操作系统,提供Wi-Fi、以太网等通信接口;网关扩展板设计有NB-IoT通信模块、时钟保持单元和供电模块,分别实现通信、时钟和供电功能。NB-IoT通信模块选用高新兴物联网科技的ME3136模组,通过串口与树莓派实现通信功能。时钟保持单元选择DS1302模块,使能引脚(CE)、数据引脚(I/O)、时钟引脚(SCLK)分别与树莓派对应引脚连接,实现网关时钟功能。供电模块为网关各部分提供所需电压。云网关硬件结构和实物分别如图8、图9所示。

图8 云网关硬件结构

图9 云网关实物图

云网关与工业设备之间通过Wi-Fi、以太网模式连接到不同工业设备,实现设备数据的汇聚、协议解析、协议转换。网关处理好的数据通过Wi-Fi、以太网、NB-IoT等多种模式将数据传输到云平台,实现工业设备与云平台的通信。

3.2 软件设计

软件方面采用Python和Flask搭建网关架构,开发网关功能软件,实现工业设备多协议数据解析、数据加密、数据上云传输及断点续传。本网关采用Tornado Web服务器与Flask Web服务器相结合的B/S架构开发,结合Tornado服务器的并发处理能力与异步特性和Flask微架构的可扩展性为一体实现非阻塞性能;同时采用Celery和内存数据库Redis管理分布式任务队列,对多协议数据的协议转换进行实时调度,所有的复杂业务逻辑处理、数据库操作、IO等各种耗时的同步任务由Celery Worker处理,待这个任务队列异步处理完后,再返回给Tornado。因此只要保证Tornado和Celery的交互是异步的,网关的整个多协议数据采集与协议转换任务便实现了完全异步。基于以上软件技术架构开发的云网关软件系统功能如图10所示。

图10 云网关功能结构

在网关软件系统中,包括MQTT Client、工业协议驱动程序(OPC UA协议、Modbus协议、西门子S7协议)和其他功能,主要任务是完成工业数据与MQTT数据之间的双向传输和根据相关协议进行数据格式转换。实现数据通过MQTT协议与云平台进行交互。协议参数配置模块负责工业协议数据的接入参数配置,数据解析模块负责对上行和下行的数据进行标准和格式的转换,网关日志模块负责对云网关运行过程中的动作进行记录,数据同步模块负责数据的本地备份存储。开发完成的网关软件运行界面如图11所示。

图11 云网关软件运行界面

4 实验验证

本文以过程控制平台工业实验场景为例,基于所提出的云网关架构和软硬件原型设计了相应实验,验证了云网关架构的有效性。实验环境如图12所示,在OT层采用了模拟实际工业现场设备的过程控制实验平台,IT层选用百度天工平台,通过云网关连接OT网络和IT网络层搭建通信实验场景。整个场景由工业局域网、运营商通信网和工业云平台网络组成,工业局域网与工业云平台网络通过云网关实现互联互通。

图12 工业互联网云网关架构验证实验环境

4.1 OT层工业数据产生

工业过程控制平台的数据由控制器、执行器、WirelessHART工业无线传感仪表产生。该平台可采集系统温度、压力、液位、流量等真实物理量数据,并通过OPC UA、西门子S7等通信协议与网关进行信息交互。系统运行如图13所示。

图13 OT层工业设备运行数据

4.2 云网关实验结果

云平台以百度云平台为例,所提出的云网关能够实现多协议设备的云端接入。数据接入到云平台后,可以利用云端强大的计算能力和存储能力,根据特定行业需求进行数据的处理分析与应用。云平台接收数据结果如图14所示。可以看到压力(FT_1)、流量(FT_2)、温度(TT_1)等数据成功上传到了百度云平台上。

图14 IT层云平台接收数据

4.3 网络通信性能测试

在实验室条件下,分别测试不同网络通信方式与云端成功连接后的数据传输性能。测试的方法是云网关每隔5 s向云平台通信1次,每次发送一条不大于1 KB字节的消息,连续测试12 h,查看云端接收数据的情况。表1是不同网络方式通信测试的实验数据。由于Wi-Fi网络连接不稳定,导致数据丢失,其他两种网络方式通信丢包为零。

表1 丢包率测试

5 结 语

工业互联网云网关是工业互联网应用系统中重要的组成部分,不仅实现了不同设备、不同工业协议的解耦,还起到了传统工业网络与工业互联网云平台之间的桥接作用,是实现工控系统、信息系统和信息化系统数据智能化融合的核心。本文提出一种新的工业互联网云网关架构及实现方法,从数据的多协议解析转换、数据传输的实时可靠性、安全性三个角度给出了工业互联网云网关的解决方案。并且根据所提出的云网关架构设计了网关实例对该架构进行验证。该网关实例向下兼容工业领域应用较为广泛的OPC UA协议、Modbus协议、西门子S7协议;向上支持MQTT协议。所提出的云网关实现了传统工业网络与云平台的数据转发、协议转换和数据加密功能,解决了协议复杂的OT网络与IT网络融合的问题,能够广泛应用于工业监控、智慧社区、智能电网等物联网应用领域。

猜你喜欢
网关加密架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
汽车工程(2021年12期)2021-03-08 02:34:30
基于改进RPS技术的IPSEC VPN网关设计
一种基于熵的混沌加密小波变换水印算法
LSN DCI EVPN VxLAN组网架构研究及实现
电信科学(2017年6期)2017-07-01 15:45:17
认证加密的研究进展
LTE Small Cell网关及虚拟网关技术研究
移动通信(2015年18期)2015-08-24 07:45:08
应对气候变化需要打通“网关”
太阳能(2015年7期)2015-04-12 06:49:50
一种基于FPGA+ARM架构的μPMU实现
基于ECC加密的电子商务系统