一种基于边缘计算网关的IoT网络协议识别方法

未命名 08-15 阅读:122 评论:0

一种基于边缘计算网关的iot网络协议识别方法
技术领域
1.本发明涉及物联网技术领域,具体涉及一种基于边缘计算网关的iot网络协议识别方法。


背景技术:

2.目前,在物联网技术快速发展和工业4.0时代的到来的背景下,工业物联网已进入我们的生产和生活。借助工业物联网技术,现代传感器和控制器具备传感和监控能力,被集成到工业生产过程中,实现实时数据采集、智能分析和移动通信,从而提高了工业制造水平,并实现了传统工业制造向现代化、智能化的转型,实现了质的突破。总的来看,在工业物联网技术应用方面,它有很多优势,例如安全性、实时性、自动化、嵌入式、互操作性和互连性等。
3.我国的战略性新兴产业中,工业物联网已成为一个重要的组成部分。工业物联网在能源、供应链、石油、采矿和交通运输等领域发挥着重要作用。其中,边缘计算网关在智能制造领域中起到收集、存储和转发边缘数据的核心枢纽作用。然而,随着工业物联网规模的不断扩大,越来越多的工业设备和生产机械接入到工业物联网中,其设备接入和数据处理也存在许多问题。比如:接入设备的通信协议种类繁多,以往基于端口识别的维护方式成本高,并且不能满足大量异构协议设备的接入需求。
4.随着人工智能技术的不断发展,工业物联网将有更广阔的发展空间,这也是未来其发展的趋势。在传统的机器学习解决协议识别方案中,需要将每个工厂收集的数据从本地设备迁移到集中式云服务器上进行训练。然而,在将数据从本地设备传输到集中式云上时,仍存在严重问题。例如,每个工厂的机密信息很可能会泄露给竞争对手,并且所有数据的传输都会占用大量带宽资源,以及在数据量很大的情况下,对集中云服务器的压力较大。


技术实现要素:

5.本发明的目的是为了克服现有技术中的不足,提供一种基于边缘计算网关的iot网络协议识别方法。本发明设计了将工控网络协议识别模型集成在边缘网关中,该模型引入了联邦学习框架,使得工业物联网中的异构设备能够协同训练工控网络协议识别模型,其次在每个设备的边缘网关服务器上嵌入卷积神经网络cnn模型自动提取数据的特征并对工控协议数据进行分类,支持数十种工控协议的识别与解析,同时解决每个设备的数据隐私问题。
6.本发明的目的是通过以下技术方案实现的:
7.一种基于边缘计算网关的iot网络协议识别方法,所述方法中工控网络协议识别模型的搭建包括数据采集、数据预处理、卷积神经网络cnn模型搭建、联邦学习框架搭建,步骤如下:
8.步骤1、边缘网关服务器分别与底层设备、客户机建立串口通信和socket通信;
9.步骤2、边缘网关服务器读取串口或tcp缓冲区的数据,由于采集的数据中,每条数
据长度不一致,为了便于卷积神经网络cnn模型处理,要对数据进行预处理:
10.2-1.将每条数据修剪成一个长度为784b的向量x。比784字节的大的保留前784字节,比784字节小的则用0补全;
11.2-2.对向量x中每个分量的数值除以256,将数值归一化到[0,1)区间内。这样处理可以消除各类特征之间的影响,使模型快速收敛,并且使每个设备数据的数量级差异缩小;
[0012]
2-3.将向量x进行图形化处理。将归一化后的向量x转化为灰度图像,按照顺序每28个分量放入矩阵的一行,得到一个28*28的二维矩阵;
[0013]
2-4.idx转化:将生成的灰度图像进行格式转换,即转化为idx格式,idx格式的文件是机器学习常见的一种文件格式,它包含一组图像所有的像素和统计信息;
[0014]
步骤3、卷积神经网络cnn模型的搭建:
[0015]
3-1.首先把预处理得到的数据集划分为训练集、验证集和测试集;
[0016]
3-2.输入层:预处理完成的28*28的二维矩阵数据;
[0017]
3-3.卷积层c1:将二维矩阵用32个3
×
3卷积核去卷积,提取特征,卷积步长为1,使用selu激活函数激活,提高神经网络模型的非线性表达能力,加快收敛速度;
[0018]
3-4.池化层s1;对卷积层c1输出的特征图进行最大值池化,过滤器设置为2
×
2,得到32张14
×
14的特征图像;
[0019]
3-5.卷积层c2:将池化层s1层输出的32张14
×
14特征图像用64个3
×
3卷积核卷积,继续提取特征,卷积步长为1,最后使用selu激活函数激活,得到64个14
×
14的特征图;
[0020]
3-6.池化层s2:对c2输出的特征图进行最大值池化,过滤器尺寸为2
×
2,得到64张7
×
7的特征图像。
[0021]
3-7.全连接层fc1:对池化层s2输出的64张7
×
7特征图像进行flatten操作,将数据压缩成长度为3136的一维向量。fc1层有784个神经元,与压缩后的一维向量进行全连接,再使用selu函数激活;
[0022]
3-8全连接fc2层:fc2有28个神经元,采用dropout策略丢弃50%特征,防止过拟合;
[0023]
3-9输出:用softmax分类器对fc2输出的特征进行分类,输出样本的概率分布,得到识别结果。
[0024]
步骤4、搭建联邦学习模型
[0025]
使用fate框架搭建横向联邦学习模型,具体流程如下:
[0026]
4-1.中央服务器根据配置生成初始化卷积神经网络模型;
[0027]
4-2.将初始化卷积神经网络模型权重w
t
发送到各个设备对应的边缘网关,边缘网关收到全局模型后,通过本地多次迭代计算后将训练的模型参数或者模型参数的梯度通过差分隐私进行加密后上传到中央服务器:其中,是新的权重,η
t
是第t个迭代周期的学习率,是第t次迭代中第k个设备的自身损失;
[0028]
4-3.中央服务器将接收的各个客户端的各个边缘网关的模型参数或模型参数的梯度进行聚合并将聚合后的模型参数作为下一次更新的初始参数w
t+1
下发到各客户端:
[0029]
重复上述过程直至模型迭代到收敛。
[0030]
本发明有益效果如下:
[0031]
本发明构建了一种基于边缘计算网关的iot网络协议识别方法,突破了传统网关中需要根据端口或通过人工配置协议的协议识别方法,使用步骤3中搭建的卷积神经网络cnn模型对物联网中的工控数据协议进行准确识别,再通过步骤4,将cnn模型嵌入在fate联邦学习框架中,解决了传统机器学习需要将数据集中在中央服务器训练的方式,保证了数据隐私,又因为联邦学习中只需要边缘网关上传模型参数或模型参数的梯度,减少了网络带宽的消耗以及集中云服务器存储大量数据的压力。
附图说明
[0032]
图1为本发明的训练流程图。
[0033]
图2为本发明的神经网络算法模型图。
[0034]
图3为本发明的联邦学习架构图。
具体实施方式
[0035]
下面结合附图和具体实施例对本发明做进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0036]
如图1所示,fedidentify主要分为数据采集、数据预处理、cnn模型搭建、联邦学习框架搭建四个部分。
[0037]
步骤1、工业网关分别与底层设备、客户机建立串口通信(如modbus-rtu)和socket通信;
[0038]
步骤2、收到数据后对数据进行预处理,将数据包数据归一化后并转换成28
×
28二维矩阵;
[0039]
步骤3、搭建卷积神经网络模型,如图2所示,工作流程包括以下几个部分:
[0040]
3-1.首先把预处理得到的数据集划分为训练集、验证集和测试集;
[0041]
3-2.输入层:预处理完成的28*28的二维矩阵数据;
[0042]
3-3.卷积层c1:将二维矩阵用32个3
×
3卷积核去卷积,提取特征,卷积步长为1,使用selu激活函数激活,提高神经网络模型的非线性表达能力,加快收敛速度;
[0043]
3-4.池化层s1;对卷积层c1输出的特征图进行最大值池化,过滤器设置为2
×
2,得到32张14
×
14的特征图像;
[0044]
3-5.卷积层c2:将池化层s1层输出的32张14
×
14特征图像用64个3
×
3卷积核卷积,继续提取特征,卷积步长为1,最后使用selu激活函数激活,得到64个14
×
14的特征图;
[0045]
3-6.池化层s2:对c2输出的特征图进行最大值池化,过滤器尺寸为2
×
2,得到64张7
×
7的特征图像。
[0046]
3-7.全连接层fc1:对池化层s2输出的64张7
×
7特征图像进行flatten操作,将数据压缩成长度为3136的一维向量。fc1层有784个神经元,与压缩后的一维向量进行全连接,再使用selu函数激活;
[0047]
3-8全连接fc2层:fc2有28个神经元,采用dropout策略丢弃50%特征,防止过拟合;
[0048]
3-9输出:用softmax分类器对fc2输出的特征进行分类,输出样本的概率分布,得到识别结果。
[0049]
步骤4、使用fate框架搭建联邦学习模型,如图3所示:
[0050]
4-1.中央服务器根据配置生成初始化卷积神经网络模型;
[0051]
4-2.将初始化卷积神经网络模型权重w
t
发送到各个设备对应的边缘网关,边缘网关收到全局模型后,通过本地多次迭代计算后将训练的模型参数或者模型参数的梯度通过差分隐私进行加密后上传到中央服务器:其中,是新的权重,η
t
是第t个迭代周期的学习率,是第t次迭代中第k个设备的自身损失;
[0052]
4-3.中央服务器将接收的各个客户端的各个边缘网关的模型参数或模型参数的梯度进行聚合并将聚合后的模型参数作为下一次更新的初始参数w
t+1
下发到各客户端:
[0053]
4-4.重复上述过程直至模型迭代到收敛。
[0054]
为了评估模型的性能,本发明建立了一个实验平台来模拟物联网边缘网关数据采集系统。本发明了选择了dapra2000公开数据集和kdd-cup99数据集作为输入数据。在实验中,本发明采用3个树莓派开发板作为边缘网关和一个台式机作为中央服务器来模拟步骤4中搭建的联邦学习环境。所有的树莓派都使用arm架构cortex-atm系统的微处理器,台式机运行ubuntu20.04,硬件配置为inter(r)core(tm)i5-1035g1cpu和16gb运行内存。
[0055]
本发明将输入数据按照80%和20%的比例随机划分训练集和测试集,再将训练集随机分给3个边缘网关,模拟了边缘网关本地数据集保持隐私、数据集大小有限的场景。本实验选用数据集中的6种应用层协议进行识别,分别是http、modbus、ssh、telnet、smtp、mqtt,采用识别准确率作为评价标准,和常用的集中式cnn模型训练效果对比情况如下表:
[0056][0057]
实验结果表明本发明搭建的基于边缘计算网关的iot网络协议识别方法,可以准确识别协议,同时由于本发明的实验迭代过程中,边缘网关和中央服务器通信使只传递了模型参数或梯度,没有传递全部数据,所以保证了数据隐私,并且缓解了集中式云服务器的压力。
[0058]
以上所述实施例仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本技术公开的原则范围和精神之内。

技术特征:
1.一种基于边缘计算网关的iot网络协议识别方法,其特征在于所述方法中工控网络协议识别模型的搭建包括数据采集、数据预处理、卷积神经网络cnn模型搭建、联邦学习框架搭建,步骤如下:步骤1、边缘网关服务器分别与底层设备、客户机建立串口通信和socket通信;步骤2、边缘网关服务器读取串口或tcp缓冲区的数据,由于采集的数据中,每条数据长度不一致,为了便于卷积神经网络cnn模型处理,要对数据进行预处理;步骤3、卷积神经网络cnn模型的搭建;步骤4、搭建联邦学习模型;步骤2具体实现如下:步骤2-1.将每条数据修剪成一个长度为784b的向量x,比784字节的大的保留前784字节,比784字节小的则用0补全;步骤2-2.对向量x中每个分量的数值除以256,将数值归一化到[0,1)区间内,消除各类特征之间的影响,使模型快速收敛,并且使每个设备数据的数量级差异缩小;步骤2-3.将向量x进行图形化处理;将归一化后的向量x转化为灰度图像,按照顺序每28个分量放入矩阵的一行,得到一个28*28的二维矩阵;步骤2-4.idx转化:将生成的灰度图像进行格式转换,即转化为idx格式,idx格式的文件是机器学习常见的一种文件格式,它包含一组图像所有的像素和统计信息。2.根据权利要求1所述的一种基于边缘计算网关的iot网络协议识别方法,其特征在于步骤3所述的卷积神经网络cnn模型的搭建,具体实现如下:步骤3-1.首先把预处理得到的数据集划分为训练集、验证集和测试集;步骤3-2.输入层:预处理完成的28*28的二维矩阵数据;步骤3-3.卷积层c1:将二维矩阵用32个3
×
3卷积核去卷积,提取特征,卷积步长为1,使用selu激活函数激活,提高神经网络模型的非线性表达能力,加快收敛速度;步骤3-4.池化层s1;对卷积层c1输出的特征图进行最大值池化,过滤器设置为2
×
2,得到32张14
×
14的特征图像;步骤3-5.卷积层c2:将池化层s1层输出的32张14
×
14特征图像用64个3
×
3卷积核卷积,继续提取特征,卷积步长为1,最后使用selu激活函数激活,得到64个14
×
14的特征图;步骤3-6.池化层s2:对c2输出的特征图进行最大值池化,过滤器尺寸为2
×
2,得到64张7
×
7的特征图像;步骤3-7.全连接层fc1:对池化层s2输出的64张7
×
7特征图像进行flatten操作,将数据压缩成长度为3136的一维向量;fc1层有784个神经元,与压缩后的一维向量进行全连接,再使用selu函数激活;步骤3-8全连接fc2层:fc2有28个神经元,采用dropout策略丢弃50%特征,防止过拟合;步骤3-9输出:用softmax分类器对fc2输出的特征进行分类,输出样本的概率分布,得到识别结果。3.根据权利要求2所述的一种基于边缘计算网关的iot网络协议识别方法,其特征在于步骤4所述的搭建联邦学习模型,具体实现如下:使用fate框架搭建横向联邦学习模型,具体流程如下:
步骤4-1.中央服务器根据配置生成初始化卷积神经网络模型;步骤4-2.将初始化卷积神经网络模型权重w
t
发送到各个设备对应的边缘网关,边缘网关收到全局模型后,通过本地多次迭代计算后将训练的模型参数或者模型参数的梯度通过差分隐私进行加密后上传到中央服务器:其中,是新的权重,η
t
是第t个迭代周期的学习率,是第t次迭代中第k个设备的自身损失;步骤4-3.中央服务器将接收的各个客户端的各个边缘网关的模型参数或模型参数的梯度进行聚合并将聚合后的模型参数作为下一次更新的初始参数w
t+1
下发到各客户端:步骤4-4.重复上述过程直至模型迭代到收敛。

技术总结
本发明公开了一种基于边缘计算网关的IoT网络协议识别方法。本发明步骤:1、边缘网关服务器分别与底层设备、客户机建立串口通信和Socket通信;2、边缘网关服务器读取串口或TCP缓冲区的数据,由于采集的数据中,每条数据长度不一致,为了便于卷积神经网络CNN模型处理,要对数据进行预处理;3、卷积神经网络CNN模型的搭建;4、搭建联邦学习模型。本发明设计了FedIdentify协议识别模型,将卷积神经网络CNN模型集成到边缘网关中,设备上传数据到网关中,每个网关搭建自己的卷积神经网络模型和Softmax分类器对工控网络数据协议进行分类。本发明采用联邦学习框架,搭配卷积神经网络模型,可以在准确识别出各种网络包协议的同时保证了设备数据的隐私性。证了设备数据的隐私性。证了设备数据的隐私性。


技术研发人员:俞武嘉 王旭 张艺芳 哈振州 潘渊博
受保护的技术使用者:杭州电子科技大学
技术研发日:2023.06.20
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐