一种基于自动机器学习的路由器流量识别系统及方法

未命名 08-02 阅读:128 评论:0


1.本发明涉及网络流量识别技术领域,特别是涉及一种基于自动机器学习的路由器流量识别系统及方法。


背景技术:

2.随着家庭路由器和智能设备的普及,家庭中接入网络的设备越来越多,可能会出现低优先级设备抢占高优先级设备带宽资源的情况,未来路由器需要针对此情况优化网络资源,并有着控制各种设备应用带宽的需求。然而目前传统路由器无法有效识别加密流量,从而难以有效对各设备应用带宽进行调度,给未来家庭路由器优化网络资源带来巨大挑战。
3.人工智能技术的发展为加密流量分类领域打开了新思路,目前,主流的加密流量分类技术主要包括基于机器学习的加密流量分类方法和基于深度学习的加密流量分类方法两类。
4.基于机器学习的加密流量分类方法通常需要从原始加密流量中提取各项特 征,用机器学习模型做分类。研究所使用的特征主要有两类:第一类为流特征,例如流持续时间、每秒流比特数等;第二类为包特征,例如包大小、包方向等。然而,传统机器学习存在以下问题:一是需要人工选择算法、模型并调参;二是其分类性能依赖于人工选择的流量特征。
5.基于深度学习的加密流量分类方法通过构建一个分类模型,直接从原始加密流量中学习特征,避免了人工选择特征的问题。但由此带来的问题是:神经网络模型设计的好坏取决于人们对分类任务的理解及模型设计上的想象力,需要相关研究人员对人工智能领域以及流量分类领域均有着充分的认知,与此同时,在训练过程中,通过人工不断地对模型结构及参数进行调整与优化也非常耗费时间。
6.综上所述,本专利以自动机器学习、流量识别的相关理论为基础,结合卷积神经网络的核心思想,设计出一种基于自动机器学习的路由器流量识别系统及方法,其主要目的是检测出路由器中各种流量类别,为未来路由器调度各设备带宽提供支持。


技术实现要素:

7.为了解决以上技术问题,本发明提供一种基于自动机器学习的路由器流量识别系统,包括基础环境层和云平台层,基础环境层包括计算资源和网络资源,用于采集和存储训练数据,基础环境层设置为路由器;云平台层包括路由器管理平台和自动机器学习平台;路由器管理平台包括资源管理模块、数据采集模块、特征工程模块、数据预处理模块以及模型记录模块;资源管理模块用于对路由器资源调度进行控制管理;数据采集模块用于实时采集流量数据;特征工程模块用于对所采集到的流量数据进行特征提取;数据预处理模块用于对特征提取后的数据集进行数据预处理,生成训练数据集;模型记录模块用于对生成模型
的参数及准确率进行记录;自动机器学习管理平台包括卷积神经网络模块、autogluon模块、超参数优化模块以及流量识别模块,卷积神经网络模块和autogluon模块都用于生成路由器流量识别模型;超参数优化模块用于辅助卷积神经网络模块和autogluon模块的参数优化;流量识别模块用于选择更好的路由器流量识别模型并负责后续分析和使用任务。
8.本发明还提供了一种基于自动机器学习的路由器流量识别方法,包括以下步骤s1、通过特征工程模块对原始加密流量包进行采集;s2、通过特征工程模块对采集到的原始加密流量包进行流量特征提取;s3、通过数据预处理模块对特征提取后的数据集进行数据预处理,生成训练数据集;s4、在云平台层管理下,路由器基于自动机器学习管理平台提供的自动机器学习方法利用训练数据集生成路由器流量识别模型;s5、流量识别模块输出分类结果,自动机器学习管理平台保存训练好的模型与参数供后续分析与识别任务使用。
9.本发明进一步限定的技术方案是:进一步的,步骤s1中,采集pcap格式的原始加密流量包,原始加密流量包包括17个流特征向量,分别为发送端包数量、接收端包数量、总包数量、发送端包长期望、接收端包长期望、发送端平均包个数/秒、接收端平均包个数/秒、发送端包长方差、接收端包长方差、发送端总字节数、接收端总字节数、下载上传比率、会话时长、会话时间的最大期望、会话时间的最小期望、会话时间的最大方差、会话时间的最小方差。
10.前所述的一种基于自动机器学习的路由器流量识别方法,步骤s3包括以下分步骤s3.1、删除异常流量数据和缺失数据;s3.2、提取并保存加密流量的时间戳信息;s3.3、根据时间戳信息将加密流量按照会话的粒度进行切分,使得同一个会话具有相同的五元组信息,将单个会话中的数据包按照其到达的时间先后顺序组合为一个流量样本;s3.4、对各流量样本做归一化,生成训练数据集。
11.前所述的一种基于自动机器学习的路由器流量识别方法,步骤s4中,将步骤s3中生成的训练数据集分别送入autogluon模块和卷积神经网络模块中,autogluon模块采用自动机器学习方法框架,融合多个无需超参数搜索的模型,生成autogluon分类模型;卷积神经网络模块自动进行特征选择,自动构建卷积神经网络分类模型并自动优化超参数。
12.前所述的一种基于自动机器学习的路由器流量识别方法,autogluon模块以csv格式的训练数据集作为模型的输入,autogluon模块内置的多个无需超参数搜索的模型使用两层stacking,且每个无需超参数搜索的模型使用三则交叉bagging。
13.前所述的一种基于自动机器学习的路由器流量识别方法,卷积神经网络模块的工作流程包括以下步骤a1、输入csv格式的训练数据集;a2、将csv格式的训练数据集进行数据再处理为32
×
32的灰度图片,且以该格式输入到初始卷积层中进行卷积计算;
a3、通过最大池化层进行pooling缩小维度;a4、通过卷积层进行卷积计算;a5、通过平均池化层进行pooling缩小维度;a6、通过全连接层将特征矩阵集合向量化并进行分类;a7、最后通过softmax函数进行加权平均,输出预测准确率。
14.前所述的一种基于自动机器学习的路由器流量识别方法,步骤a2中,初始卷积层包括卷积层、批量归一化以及relu激活函数,卷积层包括64个大小为3
×
3且步长为1的卷积核,最大池化层内核大小为2
×
2,步长为2。
15.前所述的一种基于自动机器学习的路由器流量识别方法,步骤s5中,比较autogluon模块生成模型和卷积神经网络模块生成模型的预测准确率,选择预测准确率更大的模型作为最终的路由器流量识别模型。
16.本发明的有益效果是:(1)本发明中,基于自动机器学习的路由器流量识别系统及方法可以有效识别加密流量,从而对家庭环境各设备应用带宽进行调度并优化网络资源,比如在带宽资源有限的情况下,家用摄像头之类的高优先级设备和智能马桶之类的低优先级设备之间抢占带宽资源,路由器优先给高优先级设备调度资源;(2)本发明中,在路由器上的流量识别方案运用自动机器学习的方法,避免了人工选择特征、算法、模型、调参等问题,大大减少了相关人员在这几项上所耗费的时间,从而大大降低时间成本;(3)本发明中,通过流量识别模块从autogluon模块生成模型和卷积神经网络模块生成模型两者中择优选择最终的流量识别模型,从而提高了流量识别任务整体的准确率。
附图说明
17.图1为本发明基于自动机器学习的路由器流量识别系统的整体框图;图2为本发明基于自动机器学习的路由器流量识别方法的流程示意图;图3为本发明中autogluon模块的工作流程示意图;图4为本发明中卷积神经网络模块的工作流程示意图。
具体实施方式
18.本实施例提供的一种基于自动机器学习的路由器流量识别系统,如图1所示,包括基础环境层和云平台层,基础环境层即路由器,基础环境层包括计算资源和网络资源,用于采集和存储训练数据,网络资源即为千兆以上的以太网网络环境;云平台层包括路由器管理平台和自动机器学习平台;路由器管理平台包括资源管理模块、数据采集模块、特征工程模块、数据预处理模块以及模型记录模块;资源管理模块用于对路由器资源调度进行控制管理;数据采集模块用于实时采集流量数据;特征工程模块用于对所采集到的流量数据进行特征提取;数据预处理模块用于对特征提取后的数据集进行数据预处理,生成训练数据集;模型记录模块用于对生成模型的参数及准确率进行记录;
自动机器学习管理平台包括卷积神经网络模块、自动神经架构搜索工具(autogluon)模块、超参数优化模块以及流量识别模块,卷积神经网络模块和autogluon模块都用于生成路由器流量识别模型;超参数优化模块用于辅助卷积神经网络模块和autogluon模块的参数优化;流量识别模块用于选择更好的路由器流量识别模型并负责后续分析和使用任务。
19.本实施例还提供一种于自动机器学习的路由器流量识别方法,如图2所示,包括以下步骤s1、路由器管理平台利用特征工程模块对pcap格式的原始加密流量包进行采集;原始加密流量包包括17个流特征向量,分别为发送端包数量、接收端包数量、总包数量、发送端包长期望、接收端包长期望、发送端平均包个数/秒、接收端平均包个数/秒、发送端包长方差、接收端包长方差、发送端总字节数、接收端总字节数、下载上传比率、会话时长、会话时间的最大期望、会话时间的最小期望、会话时间的最大方差、会话时间的最小方差。
20.s2、路由器管理平台利用特征工程模块对采集到的原始加密流量包进行流量特征提取。
21.s3、通过数据预处理模块对特征提取后的数据集进行数据预处理,生成训练数据集,包括以下分步骤s3.1、删除异常流量数据和缺失数据;s3.2、提取并保存加密流量的时间戳信息;s3.3、根据时间戳信息将加密流量按照会话的粒度进行切分,使得同一个会话具有相同的五元组(源ip、目的ip、源端口、目的端口、传输层协议)信息,将单个会话中的数据包按照其到达的时间先后顺序组合为一个流量样本;s3.4、对各流量样本做归一化,生成训练数据集。
22.s4、在云平台层管理下,路由器基于自动机器学习管理平台提供的自动机器学习方法(automl)利用训练数据集生成路由器流量识别模型;将步骤s3中生成的训练数据集分别送入autogluon模块和卷积神经网络模块中作为输入,autogluon模块采用automl框架,不同于传统的automl框架基于超参数搜索技术,autogluon依赖融合多个无需超参数搜索的模型,生成优于或与人工设计的网络性能相当的分类模型;卷积神经网络模块可以自动进行特征选择,自动构建卷积神经网络分类模型并自动优化超参数,生成优于或与人工设计的网络性能相当的分类模型。
23.如图3所示,autogluon模块以csv格式的训练数据集作为模型的输入,为了提高生成模型的准确率,autogluon模块内置的多个无需超参数搜索的模型使用两层stacking,且每个无需超参数搜索的模型使用三则交叉bagging。
24.如图4所示,卷积神经网络模块的工作流程包括以下步骤a1、输入csv格式的训练数据集;a2、将csv格式的训练数据集进行数据再处理为32
×
32的灰度图片,且以该格式输入到初始卷积层中进行卷积计算;初始卷积层包括卷积层、批量归一化以及relu激活函数,卷积层包括64个大小为3
×
3且步长为1的卷积核;a3、通过最大池化层进行pooling缩小维度,最大池化层内核大小为2
×
2,步长为
2;a4、通过卷积层进行卷积计算;a5、通过平均池化层进行pooling缩小维度;a6、全连接层接收上述数据将特征矩阵集合向量化并进行分类;a7、最后通过softmax函数进行加权平均,输出预测准确率。
25.s5、流量识别模块输出分类结果,自动机器学习管理平台保存训练好的模型与参数供后续分析与识别任务使用;由于路由器计算能力很弱,只需提供简单的数据处理和信息分发,并负责将训练数据集上传到自动机器学习管理平台,由该平台负责模型的训练和后续的流量识别,通过流量识别模块比较autogluon模块生成模型和卷积神经网络模块生成模型的预测准确率,选择预测准确率更大的模型作为最终的路由器流量识别模型。
26.综上所述,本发明首先通过路由器采集pcap格式的原始加密流量包。其次对采集到的pcap格式的原始加密流量包进行流量特征提取,然后路由器管理平台对特征提取后的数据集进行数据预处理,生成训练数据集;紧接着基于自动机器学习方法,经过超参数自动优化训练出流量识别模型;本发明将自动机器学习的方法运用在路由器上的流量识别方案上,用于解决路由器上流量识别的问题。
27.除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

技术特征:
1.一种基于自动机器学习的路由器流量识别系统,其特征在于:包括基础环境层和云平台层,基础环境层包括计算资源和网络资源,用于采集和存储训练数据,基础环境层设置为路由器;云平台层包括路由器管理平台和自动机器学习平台;路由器管理平台包括资源管理模块、数据采集模块、特征工程模块、数据预处理模块以及模型记录模块;资源管理模块用于对路由器资源调度进行控制管理;数据采集模块用于实时采集流量数据;特征工程模块用于对所采集到的流量数据进行特征提取;数据预处理模块用于对特征提取后的数据集进行数据预处理,生成训练数据集;模型记录模块用于对生成模型的参数及准确率进行记录;自动机器学习管理平台包括卷积神经网络模块、autogluon模块、超参数优化模块以及流量识别模块,卷积神经网络模块和autogluon模块都用于生成路由器流量识别模型;超参数优化模块用于辅助卷积神经网络模块和autogluon模块的参数优化;流量识别模块用于选择更好的路由器流量识别模型并负责后续分析和使用任务。2.根据权利要求1所述的一种基于自动机器学习的路由器流量识别方法,其特征在于:包括以下步骤s1、通过特征工程模块对原始加密流量包进行采集;s2、通过特征工程模块对采集到的原始加密流量包进行流量特征提取;s3、通过数据预处理模块对特征提取后的数据集进行数据预处理,生成训练数据集;s4、在云平台层管理下,路由器基于自动机器学习管理平台提供的自动机器学习方法利用训练数据集生成路由器流量识别模型;s5、流量识别模块输出分类结果,自动机器学习管理平台保存训练好的模型与参数供后续分析与识别任务使用。3.根据权利要求2所述的一种基于自动机器学习的路由器流量识别方法,其特征在于:所述步骤s1中,采集pcap格式的原始加密流量包,原始加密流量包包括17个流特征向量,分别为发送端包数量、接收端包数量、总包数量、发送端包长期望、接收端包长期望、发送端平均包个数/秒、接收端平均包个数/秒、发送端包长方差、接收端包长方差、发送端总字节数、接收端总字节数、下载上传比率、会话时长、会话时间的最大期望、会话时间的最小期望、会话时间的最大方差、会话时间的最小方差。4.根据权利要求2所述的一种基于自动机器学习的路由器流量识别方法,其特征在于:所述步骤s3包括以下分步骤s3.1、删除异常流量数据和缺失数据;s3.2、提取并保存加密流量的时间戳信息;s3.3、根据时间戳信息将加密流量按照会话的粒度进行切分,使得同一个会话具有相同的五元组信息,将单个会话中的数据包按照其到达的时间先后顺序组合为一个流量样本;s3.4、对各流量样本做归一化,生成训练数据集。5.根据权利要求2所述的一种基于自动机器学习的路由器流量识别方法,其特征在于:所述步骤s4中,将步骤s3中生成的训练数据集分别送入autogluon模块和卷积神经网络模块中,autogluon模块采用自动机器学习方法框架,融合多个无需超参数搜索的模型,生成
autogluon分类模型;卷积神经网络模块自动进行特征选择,自动构建卷积神经网络分类模型并自动优化超参数。6.根据权利要求5所述的一种基于自动机器学习的路由器流量识别方法,其特征在于:所述autogluon模块以csv格式的训练数据集作为模型的输入,autogluon模块内置的多个无需超参数搜索的模型使用两层stacking,且每个无需超参数搜索的模型使用三则交叉bagging。7.根据权利要求5所述的一种基于自动机器学习的路由器流量识别方法,其特征在于:所述卷积神经网络模块的工作流程包括以下步骤a1、输入csv格式的训练数据集;a2、将csv格式的训练数据集进行数据再处理为32
×
32的灰度图片,且以该格式输入到初始卷积层中进行卷积计算;a3、通过最大池化层进行pooling缩小维度;a4、通过卷积层进行卷积计算;a5、通过平均池化层进行pooling缩小维度;a6、通过全连接层将特征矩阵集合向量化并进行分类;a7、最后通过softmax函数进行加权平均,输出预测准确率。8.根据权利要求7所述的一种基于自动机器学习的路由器流量识别方法,其特征在于:所述步骤a2中,初始卷积层包括卷积层、批量归一化以及relu激活函数,其中卷积层包括64个大小为3
×
3且步长为1的卷积核,最大池化层内核大小为2
×
2,步长为2。9.根据权利要求2所述的一种基于自动机器学习的路由器流量识别方法,其特征在于:所述步骤s5中,比较autogluon模块生成模型和卷积神经网络模块生成模型的预测准确率,选择预测准确率更大的模型作为最终的路由器流量识别模型。

技术总结
本发明公开了一种基于自动机器学习的路由器流量识别系统及方法,涉及网络流量识别技术领域,首先通过路由器管理平台采集PCAP格式的原始加密流量包;其次对采集到的PCAP格式的原始加密流量包进行流量特征提取,然后数据处理模块对特征提取后的数据集进行数据预处理,生成训练数据集;紧接着基于自动机器学习方法,通过两个模型训练子模块,经过超参数自动优化训练出流量识别模型;本发明将自动机器学习的方法运用在路由器上的流量识别方案上,用于解决路由器上流量识别的问题。于解决路由器上流量识别的问题。于解决路由器上流量识别的问题。


技术研发人员:王攀 金凯威
受保护的技术使用者:南京邮电大学
技术研发日:2023.04.25
技术公布日:2023/8/1
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐