一种基于机器学习的5G流量识别方法及装置

文档序号:30507313发布日期:2022-06-25 00:44阅读:305来源:国知局
一种基于机器学习的5G流量识别方法及装置
一种基于机器学习的5g流量识别方法及装置
技术领域
1.本发明属于通信技术领域,尤其涉及一种基于机器学习的5g流量识别方法及装置。


背景技术:

2.第五代(5g)无线网络旨在支持以下多种服务:增强型移动宽带(embb),超可靠和低延迟通信(urllc)和大规模机器型通信(mmtc)。为此,5g提供了一个完整的无线通信系统,能够支持各种应用程序和技术,例如物联网(iot),异构网络(hetnets),无线传感器网络(wsn),万物互联(ioe),虚拟现实服务等。应用程序、网络服务和技术的这种融合带来了有关延迟、可靠性、容量、连接密度、系统频谱效率、能耗效率和最高性能的新要求,而这些都是5g技术必须解决的问题。
3.为了支持这些要求,有一些技术如软件定义网络(software defined network,sdn),网络切片和网络功能虚拟化(network functions virtualization,nfv)。sdn提供的软件基于控制平面与数据平面的分离,从而可以对网络设备进行集中式可视化和控制。网络切片可虚拟化基础架构,并在网段中的服务之间提供隔离(切片),从而允许构建多个虚拟独立的逻辑网络,以在单个网络内提供特定功能,nfv由软件实现组成网络功能。
4.sdn模型架构分为3层,其中基础设施层主要由支持openflow协议的sdn交换机组成。控制层主要包含openflow控制器及网络操作系统(network operation system,nos)。控制器是一个平台,该平台向下可以直接与使用openflow协议的交换机进行会话;向上,为应用层软件提供开放接口,用于应用程序检测网络状态、下发控制策略。位于顶层的应用层由众多应用软件构成,这些软件能够根据控制器提供的网络信息执行特定控制算法,并将结果通过控制器转化为流量控制命令,下发到基础设施层的实际设备中。
5.集中式网络控制提供了一种灵活的体系结构,可以更有效地管理网络流量,由于设备的庞大而异构的连接。但是,软件带给5g网络的这种灵活性不能保证流量增加时网络性能不会降低。因此,在5g网络环境中生成网络流量控制机制(例如资源分配,动态路由,流识别等)的重要性仍然是优先事项。
6.流量的分类与识别一直是网络管理领域的重要研究内容,是异常流量检测、资源调度等的基础。传统流量分类技术包括以下几种:基于有效载荷基于端口匹配和流特征统计。
7.(1)基于有效载荷的方法
8.基于有效载荷的分析方法是通过对网络流量数据的大量的分析,从诸多应用流量中找出能代表特定应用流量的特征数据段。其分析内容除了传输层的ip地址、端口号等内容外,还包括网络层、传输层以及应用层的数据。为了防止应用对其特征码做出变动,需要不断对各应用的特征码进行维护。这种方法应用的有一个前提,流量数据是可见的,除了需要有人对特征进行维护外,分类也是通过正则匹配的方式实现的。当加密流量出现后,流量的有效载荷不再是明文,特征码得不到维护的同时,其内容也不可能被匹配。因此这种方法
也逐渐失效。
9.(2)基于端口匹配的方法
10.作为一种最为简单的流量分类方法,端口匹配的主要思想是通过数据包头信息中的端口号对流量进行分类。这种方法在早期应用服务数量有限的情况下,可以实现对流量的分类。在互联网刚出现的时期,应用与端口之间总是遵循一定规则,甚至一些应用至今都默认使用同一个端口,如文本传输协议ftp使用20、21作为默认端口号,安全shell协议采用22作为默认端口号,文本传输协议http默认端口为80等。然而随着网络中应用数量的不断增加以及vpn隧道技术的出现,越来越多的协议开始不遵守这种规则。基于端口匹配的流量分类方法也失去了作用。
11.(3)基于流特征的方法
12.为了解决加密流量的识别问题,研究人员开始尝试将机器学习算法结合流统计特征、时序特征或净荷特征来进行流量识别和分类。这类方法以分组间的时间间隔、分组大小等统计特征为研究对象,结合决策树、支持向量机、朴素贝叶斯、随机森林等机器学习方法对上述特征进行提取,经过训练后得到分类模型,最终实现对加密流量的分类与识别。但这种方法有一定缺陷:
13.1)容易受到样本量限制,陷入局部最优解,泛化能力较差;
14.2)分类效果受特征设计影响较大,给分类效果带来不确定性;
15.3)缺乏自动学习流量特征的能力,需要人工设计特征,导致训练出来模型容易过时。
16.(4)基于深度学习的方法
17.在深度学习中,不需要人工对训练样本进行特征设计。深度学习通过多个非线性网络的叠加,使其能够自动发现并刻画样本内部的复杂特征,使训练出来的模型具有较好的泛化能力。因此相关研究人员在深度学习出现后尝试使用各种深度学习方法进行加密流量识别的相关研究。根据模型训练方式的不同,可以分为有监督和半监督训练方式。
18.有监督学习模型如多层感知机mlp、卷积神经网络cnn等,以多层神经网络为基础,通过对流量样本数据特征的提取,结合样本标签实现了对加密流量的分类和识别。
19.基于半监督学习模型的流量识别方法,其基本思想在于首先通过无监督学习的方式对大量无标记数据进行分类,提取其隐层特征。再结合少量有标记数据训练分类模型,从而实现通过少量标记样本对大量无标记样本的分类。
20.综上所述,现急需一种5g流量识别方法以解决上述问题。


技术实现要素:

21.根据网络软件为5g提供的功能,以及在网络管理领域做出贡献的需要,本发明中公开一种基于机器学习的5g流量识别方法及装置,包括:一是数据采集模块主要负责网络流量抓取与收集;二是数据处理模块负责对存储完成的网络数据进行处理,方便后续模块使用,具体为模块为:分割流量、流量地址随机化、灰度图像生成和数据格式转换模块;三是机器学习模块主要负责将处理好的数据进行根据特征进行分类,模块主要分为两部分一部分是监督学习模块,另一部分是表征学习模块;四是控制模块负责向sdn控制器发送控制指令。本发明利用机器学习的方法来改善网络管理服务,提升了5g网络背景下的通信效率。
22.为达到上述目的,本发明采用具体技术方案是:
23.一种基于机器学习的5g流量识别方法,其步骤包括:
24.1)将获取的流量数据转化为pcap格式数据,并标记各pcap格式数据的流量类型;
25.2)将各pcap格式数据转化为idx格式数据;
26.3)利用两种机器学习算法及各pcap格式数据的流量类型标记,分别对idx格式数据与pcap格式数据进行机器学习训练,生成监督学习模型与表征学习模型;
27.4)获取待测流量数据的待测pcap格式数据及待测idx格式数据,并将待测idx格式数据与待测pcap格式数据分别输入监督学习模型与表征学习模型,得到监督学习识别结果与表征学习识别结果;
28.5)根据监督学习识别结果与表征学习识别结果,获取流量识别结果。
29.进一步地,将流量数据转化为pcap格式数据的方法包括:使用flowrecorder工具。
30.进一步地,标记流量类型的方法包括:使用nfstream软件。
31.进一步地,通过以下步骤将各pcap格式数据转化为idx格式数据:
32.1)对pcap格式数据进行分割,得到数据流+所有层的pcap格式数据;
33.2)对数据流+所有层的pcap格式数据中数据链路层的mac地址与ip层的ip地址进行随机化;
34.3)将随机化的pcap格式数据进行等长处理后,生成灰度图像;
35.4)将灰度图像转化为idx格式数据。
36.进一步地,生成监督学习模型采用的机器学习算法包括:logistic回归算法、线性判别分析算法、k最近邻算法、朴素贝叶斯算法或决策树算法。
37.进一步地,生成表征学习模型采用的机器学习算法包括:卷积神经网络。
38.进一步地,通过以下策略获取流量识别结果:
39.1)若监督学习识别结果与表征学习识别结果一致,则获取流量识别结果;
40.2)若监督学习识别结果与表征学习识别结果不一致,则利用开源库进行分析或采用人工分析判断正误,得到流量识别结果。
41.进一步地,根据流量识别结果,按预定的规则向软件定义网络控制器发送控制指令。
42.进一步地,所述控制指令包括:停止相关节点对待测流量数据的转发或对待测流量数据转发速率做出限制。
43.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述所述的方法。
44.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机以执行上述所述的方法。
45.与现有技术相比,本发明的积极效果:
46.1)设计了基于流量分组的流量图像转换方法,通过对pcap文件的解析,在不解析流量具体内容的情况下将其转换为灰度图像,从而可以应用图像识别领域成熟的深度学习模型来对网络流量进行分类和识别。
47.2)与以特征工程为主的传统机器学习方法不同,表征学习不需要人工提取和选择网络流量的特征集,而是直接将原始流量作为深层神经网络的输入数据,流量数据表征学
习的整体过程都由深层神经网络完成,可节省大量的特征工程工作量,降低了任务的复杂度。
48.3)传统的流量识别模式多为单类机器学习模块,我们的5g流量识别框架将传统监督学习与无监督的表征学习结合,综合两种机器学习方式的优点,调高识别准确性。
49.4)sdn作为5g网络中基础架构的一环,其控制器在网络中负担严重,我们的5g流量识别框架将流量分类任务独立出来,减轻sdn控制器的负担,从而提高网络性能。
附图说明
50.图1为5g流量识别流程图。
51.图2为数据处理流程图。
具体实施方式
52.为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术核心作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
53.本发明的5g流量识别方法,如图1所示,其识别流程包括:
54.步骤一:
55.数据采集模块主要负责两项任务:网络流量抓取与收集。
56.首先,我们在关键的网络节点部署网络抓包工具。可以为使用flowrecorder等工具,该工具允许系统将网络数据以pcap(packet capture)文件的形式进行存储或通过网络接口实时分析ip数据包。flowrecorder支持单向和双向模式下的流量特性测量。根据观察到的(传入)网络数据包的属性,创建新的流记录或更新现有流的特性。同时,我们使用另一个名为nfstream的软件验证flowrecorder获得的数据,该软件与flowrecorder工具功能相似,但具有使用ndpi(用于深度数据包检查的开源源库)的优点,该功能允许从流的第7层中提取信息,利用开源库中的已有流量指纹与现有抓取到的指纹进行对比,标记出所有已知流量的流量类型。而后我们分别将获取到的原始pcap数据与nfstream标记后的数据存储在数据库中。
57.步骤二:
58.数据处理模块主要负责对存储完成的网络数据进行处理,方便后续模块使用,如图2所示。
59.(1)将流量进行分割:输入数据为pcap格式的数据,输出形式为会话+所有层和流+所有层,输出同样为pcap格式。
60.(2)流量地址随机化:该模块将步骤(1)中数据流的数据链路层mac地址和ip层的ip地址进行随机化。
61.(3)灰度图像生成:该模块将随机化的数据流按照等长进行处理。当长度大于阈值是对数据进行截取,当数据小于阈值时,在其后补充0x00。
62.(4)数据格式转换模块:该模块将生成的灰度图片转化为idx格式,方便后续机器学习模块进行处理。
63.步骤三:
64.机器学习模块主要负责将处理好的数据进行根据特征进行分类。模块主要分为两部分一部分是监督学习模块,另一部分是表征学习模块。
65.(1)监督学习模块我们可以采用多种算法进行分类,logistic回归(lor),线性判别分析(adl),k最近邻(k-nn),朴素贝叶斯(nb)和决策树(cart)。通过上述算法对网络流量进行自动分类,为检验分类效果,我们可以使用开源网络数据对机器学习分类结果进行交叉验证。
66.(2)表征学习模块使用卷积神经网络技术,不用手动提取流量特征,而是直接将原始pcap数据可视化为图片,然后将原本用于图片分类任务的卷积神经网络用于执行分类,最终达到流量识别的作用。
67.根据上述两个模块的结果进行对比,进一步确认网络流量分类结果,当二者分类结果出现严重分歧时,可通过nfstream根据开源库的分析结果佐证判断正误或是针对特定流量进行人工分析。
68.步骤四:
69.控制模块负责向sdn控制器发送控制指令。
70.当机器学习模块完成流量分类后,控制模块根据预定的规则向sdn控制器发送控制指令。例如当发现某类网络流量增速异常时,便会向sdn服务器发送指令,停止相关节点对该类流量的转发或对数据转发速率做出相应限制。
71.实验数据
72.本发明实验数据来源为ustc-2016数据集,使用工具对数据集进行处理后,共有75万条数据。其中数据中会话+所有流量分别有7.1万和7.17万条数据,实验采用会话+所有流量作为数据,来验证这两种场景中两种类型的分类器(10分类器和20分类器)的总体准确性,具体数据如下表所示。
73.针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况。
74.(1)若一个实例是正类并且被预测为正类,即为真正类(true postive tp)
75.(2)若一个实例是正类,但是被预测成为负类,即为假负类(falsenegative fn)
76.(3)若一个实例是负类,但是被预测成为正类,即为假正类(falsepostive fp)
77.(4)若一个实例是负类,但是被预测成为负类,即为真负类(truenegative tn)
78.文中使用了三个指标进行评价其性能,分别为:精确率(precision)、召回率(recall)、f1值(精确率和召回率的调和均值)。精确率p=tp/(tp+fp);召回率r=tp/(tp+fn);f1=f1=2pr/(p+r)(p代表精确率,r代表召回率)。f1取自于β=1。
[0079][0080]
表1:20分类器十种流量的精确率、召回率和f1值
[0081]
[0082][0083]
表2:10分类器十种流量的精确率、召回率和f1值
[0084]
流量类型精确率(%)召回率(%)f1值(%)weibo100100100ftp100100100gmail99.999.699.8htbot99.910099.8geodo10010099.9virut89.196.692.8shifu99.999.899.9bittrt100100100skype99.810099.8smb100100100
[0085]
通过表1可以看出20分类器中,除virut的各指标较低(90%以上)一些,其他种类的流量各项指标均在98%以上,表2可以看出10分类器中,除virut的各指标较低(89%以上)一些,其他种类的流量各项指标均在99.6%以上。整体上通过实验可以看出,本发明提出的方法具备有效性。相比于传统的入侵检测的系统snort,传统机器学习中svm分类器,及传统的表征学习方法,本方法能够有效避免较高误警率,具有自动抽取数据特征和避免数据二次加工的优势。
[0086]
以上所述实施例仅表达了本发明的实施方式,其描述较为具体,但并不能因此理解为对本发明范围的限制。应当指出,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应当以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1