一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种流量识别方法及装置、设备、存储介质与流程

2021-12-17 18:29:00 来源:中国专利 TAG:


1.本技术涉及互联网领域,涉及但不限定于一种流量识别方法及装置、设备、存储介质。


背景技术:

2.随着云计算的普及和应用,越来越多的企业将自身业务迁移到云端,伴随而来的云安全问题(如黑客入侵)变得尤为重要。因此,需要对整个云平台的数据流量进行监控,然后甄别其中的异常流量,保障云环境安全。
3.现有的流量识别技术,一般是交换机或者物理机端口上通过流量镜像或者端口镜像的方式将流量导入到第三方的监控平台,然后进行人工过滤等。现有的这种技术方案,需要投入大量的运维人员对网络流量进行监控,对于一些“异常流量”容易造成误判,同时效率也很低下。


技术实现要素:

4.有鉴于此,本技术为解决现有技术中存在的至少一个问题而提供一种流量识别方法及装置、设备、存储介质,至少解决了传统的流量识别方法不能自动处理异常流量,并且处理异常流量效率低的问题。
5.本技术的技术方案是这样实现的:
6.第一方面,本技术提供一种流量识别方法,应用于流量监控平台;所述方法包括:
7.接收流量采样数据包,其中,所述流量采样数据包中包含m条数据流,m大于等于1;确定每一所述数据流对应的特征点;确定每一所述特征点与聚类中心点集合中每一初始中心点之间的距离;所述聚类中心点集合中包括至少n个初始中心点,每一所述初始中心点属于k个流量类别之一;其中,所述n大于所述k;将所述距离满足条件的初始中心点作为目标中心点;将所述目标中心点所属的流量类别,确定为所述特征点对应的数据流的流量类别。
8.第二方面,本技术提供一种流量识别方法,所述方法包括:
9.设置在宿主机上的虚拟交换机按照流采样规则,对经过所述虚拟交换机的流量进行采样,得到流量采样数据包;所述宿主机上还设置有用于通过所述虚拟交换机进行数据分配的至少一个虚拟机;所述虚拟交换机通过遵循ipsec协议的ipsec隧道将所述流量采样数据包发送给流量监控平台,以对所述虚拟交换机上的流量进行识别。
10.第三方面,本技术提供一种流量识别装置,应用于流量监控平台;所述装置包括接收模块、第一确定模块、第二确定模块、作为模块、第三确定模块,其中:
11.所述接收模块,用于接收流量采样数据包,其中,所述流量采样数据包中包含m条数据流,m大于等于1;所述第一确定模块,用于确定每一所述数据流对应的特征点;所述第二确定模块,用于确定每一所述特征点与聚类中心点集合中每一初始中心点之间的距离;所述聚类中心点集合中包括至少n个初始中心点,每一所述初始中心点属于k个流量类别之一;其中,所述n大于所述k;所述作为模块,用于将所述距离满足条件的初始中心点作为目
标中心点;所述第三确定模块,用于将所述目标中心点所属的流量类别,确定为所述特征点对应的数据流的流量类别。
12.第四方面,本技术提供一种流量识别装置,所述装置包括采样模块和发送模块,其中:
13.所述采样模块,用于设置在宿主机上的虚拟交换机按照流采样规则,对经过所述虚拟交换机的流量进行采样,得到流量采样数据包;所述宿主机上还设置有用于通过所述虚拟交换机进行数据分配的至少一个虚拟机;所述发送模块,用于所述虚拟交换机通过遵循ipsec协议的ipsec隧道将所述流量采样数据包发送给流量监控平台,以对所述虚拟交换机上的流量进行识别。
14.第五方面,本技术提供一种流量识别设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述流量识别方法中的步骤。
15.第六方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述流量识别方法中的步骤。
16.本技术首先接收流量采样数据包,然后确定每一数据流对应的特征点,根据每一特征点与聚类中心点集合中每一初始中心点之间的距离确定特征点所属的中心点,最后根据中心点所属的流量类别确定特征点对应的数据流的流量类别。这样,采用了无监督学习算法—k-means聚类算法,将机器学习引入到云平台流量识别应用中;如此,在云平台中借助机器学习中的无监督学习算法来对云平台中的网络异常流量进行检测,使网络异常流量的检测具有高效,智能的特点,减少人工的参与程度。
17.在一些实施例中,描述了如何根据采集到的数据流确定对应特征点的方法和智能流量识别系统完成聚类分析后,对异常流量加入黑名单集合,正常流量加入白名单的处理方式,这样建立数据流的黑白名单,可以在之后的智能流量识别中起到判据和借鉴的作用,提高智能流量识别的效率和准确性。
18.在一些实施例中,描述在使用智能流量识别系统之前,训练智能流量识别的方法,可以先将训练样本集合按照每一样本所属的类别分为两个流量样本集合s1和s2,然后进行使用k-means聚类算法确定两个流量样本集合的n个初始中心点,并标记每个初始中心点所属的流量类别。这样,采用了无监督学习算法—k-means聚类算法,并且为了适配该技术方案,提高类内聚合度和类间分离度,使模型能够更好地甄别异常流量,提高流量识别的效果,在常规的k-means算法的基础上设计出了改进的k-means聚类算法,将机器学习引入到智能流量识别系统中,使网络异常流量的检测具有高效,智能的特点,减少人工的参与程度。
19.在一些实施例中,描述宿主机上的虚拟交换机按照流采样规则,对经过所述虚拟交换机的流量进行采样,得到流量采样数据包以及通过遵循ipsec协议的ipsec隧道将所述流量采样数据包发送给流量监控平台,以对所述虚拟交换机上的流量进行识别。这样,在将流量导出到监控平台过程中,采用了基于ovs的sflow模块和ipsec隧道技术的方式,使流量导出传输过程中更安全。
20.在一些实施例中,在openstack云平台流量识别过程中,采用了无监督学习算法—k-means聚类算法,并且为了适配该技术方案,提高类内聚合度和类间分离度,使模型能够
更好地甄别异常流量,提高流量识别的效果。在常规的k-means算法的基础上设计出了改进的k-means聚类算法,将机器学习引入到openstack云平台中。聚类算法是无监督学习中的代表,可以直接从未打标签的数据中发掘出数据间一些隐藏的结构规律,从而建立检测模型。本技术在openstack云平台中借助机器学习中的无监督学习算法来对云平台中的网络异常流量进行检测,使网络异常流量的检测具有高效,智能的特点,减少人工的参与程度,应该是今后的一个技术发展趋势。
附图说明
21.为了更清楚地说明本技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
22.图1a为本技术实施例提供的ovs进行流采样逻辑拓扑示意图;
23.图1b为本技术实施例提供的一种智能云平台流量识别系统拓扑结构示意图;
24.图1c为本技术实施例提供的一种流量识别方法的流程示意图
25.图2为本技术实施例提供的另一种流量识别方法的流程示意图;
26.图3a为本技术实施例提供的常规k-means聚类算法示意图;
27.图3b为本技术实施例提供的改进的k-means聚类算法示意图;
28.图3c为本技术实施例提供的再一种流量识别方法的流程示意图;
29.图3d为本技术实施例提供的又一种流量识别方法的流程示意图;
30.图4为本技术实施例提供的又一种流量识别方法示意图;
31.图5为本技术实施例提供的又一种流量识别方法示意图;
32.图6a为本技术实施例提供的一种流量识别装置的组成结构示意图;
33.图6b为本技术实施例提供的另一种流量识别装置的组成结构示意图
34.图7为本技术实施例提供的一种流量识别设备的硬件实体示意图。
具体实施方式
35.现有的云平台流量识别方式,需要将流量导入到第三方流量识别平台,然后由运维人员实时监控网络流量,甄别其中的异常流量,整个过程不仅浪费资源,同时效率也比较低。因此,为了提高流量识别的效率和有效性,保障云环境安全,迫切需要一种能够对云平台的网络流量进行智能监控的系统,通过这种智能流量识别系统,可以自主学习网络流量,当网络中出现异常流量时,系统可以自动识别并反馈到软件定义网络(software defined network,sdn)控制器,并通过sdn控制器下发相关的流表完成有效拦截。
36.图1a为本技术实施例提供的虚拟交换技术(openvswitch,ovs)进行流采样(sampled flow,sflow)逻辑拓扑示意图,如图1a所示,该拓扑结构包括宿主机101、流量监控平台(智能监控系统)102、业务网络103和管理网络104,其中宿主机101包括虚拟机、ovs网桥和网口,监控端102包括监控系统和网口。
37.ovs自带sflow模块,ovs上运行sflow的逻辑拓扑如图1a所示:sflow采样规则下发在网桥br0上,采样数据包通过管理口(eth1)发往sflow监控端,sflow监控端运行监控端程
序可以对采样数据包进行分析。
38.其中,ovs是一种虚机交换机,灵活并且功能强大,大量应用于云计算多租户场景以及容器场景。基于ovs的流量采集需要使用到sflow协议,sflow是一种用于监控数据包在网络交换机或者路由器上进行转发情况的技术。sflow系统包括若干sflow agent(内嵌于交换机或者路由器等转发设备)以及一个核心的流采样收集器(sflow collector)。收集器代理(sflow agent)通过特定的采样技术获取网络设备上的流量转发统计并实时地通过sflow数据报文发送到收集器(collector)以供collector进行分析。
39.图1b为本技术实施例提供的一种智能云平台流量识别系统拓扑结构示意图。如图1b所示,包括openstack云平台111,sdn网关112,sdn控制器113,接入交换机(tor swich)114,n个宿主机115,流量监控平台116。
40.本技术实施例提供一种流量识别方法,应用于流量监控平台;图1c为本技术实施例提供的一种流量识别方法的流程示意图,如图1c所示,所述方法包括:
41.步骤s101,接收流量采样数据包,其中,所述流量采样数据包中包含m条数据流,m大于等于1;
42.如图1b所示在宿主机115上配置sflow和互联网安全协议(ipsec),借助ovs的sflow模块,为了确保流量导出过程的安全,使用了ipsec隧道。在宿主机上完成配置sflow和ipsec后,sflow采样规则会下发到ovs网桥br0上。宿主机根据采样规则获得采样数据包,采样数据包通过ipasec发往流量监控平台,流量监控平台接收流量采样数据包。
43.步骤s102,确定每一所述数据流对应的特征点;
44.流量采样数据包中包含m条数据流,每一条数据流经过算法处理对应唯一标识的特征点。
45.步骤s103,确定每一所述特征点与聚类中心点集合中每一初始中心点之间的距离;所述聚类中心点集合中包括至少n个初始中心点,每一所述初始中心点属于k个流量类别之一;其中,所述n大于所述k;
46.流量监控平台获得数据流对应的特征点后,确定每一个特征点与已经经过训练的聚类中心点集合每一初始中心点之间的距离。
47.步骤s104,将所述距离满足条件的初始中心点作为目标中心点;
48.确定距离满足条件的初始中心点。例如:确定距离最近的初始中心点作为目标中心点。
49.步骤s105,将所述目标中心点所属的流量类别,确定为所述特征点对应的数据流的流量类别。
50.经过训练的目标中心点都具有流量属性,即,目标中心点属于哪一类流量。特征点所属的目标中心点流量类别即为特征点对应的数据流的流量类别。
51.本技术实施例首先接收流量采样数据包,然后确定每一数据流对应的特征点,根据每一特征点与聚类中心点集合中每一初始中心点之间的距离确定特征点所属的中心点,最后根据中心点所属的流量类别确定特征点对应的数据流的流量类别。这样,采用了无监督学习算法—k-means聚类算法,将机器学习引入到云平台流量识别应用中。本技术在云平台中借助机器学习中的无监督学习算法来对云平台中的网络异常流量进行检测,使网络异常流量的检测具有高效,智能的特点,减少人工的参与程度。
52.本技术实施例提供一种流量识别方法,应用于流量监控平台;图2为本技术实施例提供的另一种流量识别方法的流程示意图,如图2所示,所述方法包括:
53.步骤s201,接收流量采样数据包,其中,所述流量采样数据包中包含m条数据流,m大于等于1;
54.步骤s202,解析每一条所述数据流,得到每一条所述数据流的组信息;
55.智能流量识别系统对监控系统采集到的每一条数据流进行解析,可以提取例如七元组信息的组信息,其中,七元组信息包括源ip地址、目的ip地址、源端口、目的端口、协议、服务类型和接口索引。
56.步骤s203,对每一所述组信息进行向量化和归一化处理,得到所述每一所述数据流对应的特征点;
57.步骤s204,确定每一所述特征点与聚类中心点集合中每一初始中心点之间的距离;所述聚类中心点集合中包括至少n个初始中心点,每一所述初始中心点属于k个流量类别之一;其中,所述n大于所述k;
58.步骤s205,将所述距离满足条件的初始中心点作为目标中心点;
59.步骤s206,将所述目标中心点所属的流量类别,确定为所述特征点对应的数据流的流量类别;
60.步骤s207,如果所述数据流的流量类别为异常流量时,将所述异常流量上报云平台,将所述数据流的组信息加入黑名单;
61.智能流量识别系统完成聚类分析后,对异常流量将上报云平台,加入黑名单集合。此过程中也可以由管理员先进行手动甄别,如果确认是异常流量则加入黑名单集合。
62.步骤s208,当数据流的流量类别为正常流量时,将所述数据流的组信息加入白名单。
63.本技术实施例,基于以上实施例描述了如何根据采集到的数据流确定对应特征点的方法和智能流量识别系统完成聚类分析后,对异常流量加入黑名单集合,正常流量加入白名单的处理方式,这样建立数据流的黑白名单,可以在之后的智能流量识别中起到判据和借鉴的作用,提高智能流量识别的效率和准确性。
64.图3a为本技术实施例提供的常规k-means聚类算法示意图,如图3a所示,301、302和303分别为经过聚类算法后,聚类中心不再移动的3组聚类。
65.k-means算法是解决聚类问题的一种经典算法,该算法可以接受一个未标记的数据集,然后将数据聚类成不同的组,具有简单、快速的优点,对处理一些大数据集,具有较强的可伸缩性和高效率。该算法的时间复杂度为o(nkt),其中,n是所有对象的数目,k是簇的数目,t是迭代次数,通常k<<n且t<<n。k-means算法的基本思想如下:
66.选定某种距离作为数据样本件的相似性度量;由于k-means聚类算法在计算样本距离时,可以根据实际需要选择欧氏距离、曼哈顿距离或者明可夫斯基距离中,来作为算法的相似性度量。k-means聚类算法使用误差平方和准则函数来评价聚类性能。相似度的计算根据一个簇中对象的平均值来进行;轮廓系数是评判聚类好坏的标准,结合类内聚合度以及类间分离度两种指标来计算得到。
67.k-means聚类算法属于一种迭代算法,其方法为:
68.1)首先选择k个随机的点,即聚类中心(cluster centroids);
69.2)簇分配(cluster assignment)对于数据集中的每一个样本,按照距离k个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一类;
70.3)移动聚类中心(move centroids)计算每一个簇的平均值,将该簇所关联的中心点移动到平均值的位置;
71.4)重复步骤2)至4)直至中心点不再变化,如图3a所示。
72.图3b为本技术实施例提供的改进的k-means聚类算法示意图,如图3b所示,311和312为聚类中心不再移动后的2组聚类s1和s2。
73.改进的k-means聚类算法在常规k-means算法基础上进行了一些改进,主要是为了适配该技术方案,改进后的k-means在该应用场景下能够提高类内聚合度和类间分离度,可以使模型更好地甄别异常流量,提高流量识别的效果。
74.算法的基本思想如下:
75.1)将数据集分为两个集合s1和s2;
76.2)集合s1选择k1个聚类中心,然后按照距离k1个聚类中心的距离,将s1中每一个样本与距离最近的聚类中心(k1个中心的某一个)关联起来,与同一个聚类中心关联的所有点聚成一类,记录该聚类中样本距离中心点最远的距离dm(1=<m<=k1);
77.3)集合s2选择k2个聚类中心,按照距离k2个聚类中心的距离,将s2中每一个样本与距离最近的聚类中心(k2个中心的某一个)关联起来,与同一个聚类中心关联的所有点聚成一类,记录该聚类中样本中心点最远的距离dn(1=<n<=k1);
78.4)保证s1中每一个聚类中心距离s2中样本点的距离均不小于dm(1=<m<=k1),同理,保证s2中每一个聚类中心距离s1中的样本点的距离均不小于dn(1=<n<=k1),提高类内聚合度以及类间分离度;
79.5)移动聚类中心计算每一个簇的平均值,将该簇所关联的中心点移动到平均值的位置;
80.重复步骤2-5直至中心点不再变化,算法收敛为止,如图3b所示。
81.算法收敛后,s1和s2集合内的子集合分别达到最优的类间聚合度和类间分离度,同时s1和s2两个大的集合也达到最优的类间分离度。
82.本技术实施例提供一种流量识别方法,应用于流量监控平台;图3c为本技术实施例提供的再一种流量识别方法的流程示意图,如图3c所示,所述方法包括:
83.步骤s301,将训练样本集合按照每一样本所属的类别分为2个流量样本集合s1和s2;
84.在使用智能识别流量系统之前,需要先对识别系统进行训练,如图3b所示,将训练样本集合按照每一样本所属的类别分为2个流量样本集合s1和s2,例如s1可以为正常流量集合,s2可以为异常流量集合。
85.步骤s302,获取每一所述流量样本集合中所有虚拟机的虚拟ip地址和子网掩码;
86.智能流量监控系统每间隔一定的时间从云平台动态获取当前系统的所有虚机的虚拟ip地址和子网掩码。
87.步骤s303,根据所述所有虚拟机的虚拟机ip地址和子网掩码,确定所述所有虚拟机对应的网段;
88.步骤s304,根据所述所有虚拟机对应的网段的数量,确定对应所述流量样本集合
的网段的数量;
89.步骤s305,将每一所述流量样本集合中网段的数量确定为对应流量样本集合中的初始中心点的数量;
90.步骤s306,假设每一流量样本集合的初始中心点数量为ki,按照特定的k-means算法的收敛条件,在每一流量样本集合中按照对应的中心点数量进行聚类,得到每一流量样本集合的中心点;
91.如图3b所示,分别为每一所述流量样本集合s1和s2选择k1和k2个初始中心;
92.按照距离k1个初始中心的距离,将对应流量样本集合中每一个样本与距离最近的一个初始中心关联起来,与同一个初始中心关联的所有点聚成一类,记录所述聚类中样本距离初始中心点最远的距离dm(1=<m<=k1);
93.按照距离k2个初始中心的距离,将对应流量样本集合中每一个样本与距离最近的一个初始中心关联起来,与同一个初始中心关联的所有点聚成一类,记录所述聚类中样本距离初始中心点最远的距离dn(1=<m<=k2);
94.保证流量样本集合s1中每一个初始中心距离流量样本集合s2中样本点的距离均不小于dm,同理,保证流量样本集合s2中每一个初始中心距离流量样本集合s1中的样本点的距离均不小于dn;
95.移动每一所述流量样本集合中初始中心计算每一个簇的平均值,将该簇所关联的初始中心点移动到平均值的位置,完成聚类;
96.步骤s307,将两个流量样本集合的所有n个初始中心点作为所述聚类中心集合中初始中心点,并标记每一初始中心点所属的流量类别;
97.步骤s308,训练完成后按照图1c所示流程进行智能流量识别。
98.本技术实施例,主要描述在使用智能流量识别系统之前,训练智能流量识别的方法,可以先将训练样本集合按照每一样本所属的类别分为两个流量样本集合s1和s2,然后进行使用k-means聚类算法确定两个流量样本集合的n个初始中心点,并标记每个初始中心点所属的流量类别。这样,采用了无监督学习算法—k-means聚类算法,并且为了适配该技术方案,提高类内聚合度和类间分离度,使模型能够更好地甄别异常流量,提高流量识别的效果,在常规的k-means算法的基础上设计出了改进的k-means聚类算法,将机器学习引入到智能流量识别系统中,使网络异常流量的检测具有高效,智能的特点,减少人工的参与程度。
99.本技术实施例提供一种流量识别方法,应用于流量监控平台;图3d为本技术实施例提供的又一种流量识别方法的流程示意图,如图3d所示,所述方法包括:
100.步骤s311,将训练样本集合按照每一样本所属的类别分为2个流量样本集合s1和s2;
101.步骤s312,获取每一所述流量样本集合中所有虚拟机的虚拟ip地址和子网掩码;。
102.步骤s313,根据所述所有虚拟机的虚拟机ip地址和子网掩码,确定所述所有虚拟机对应的网段;
103.步骤s314,根据所述所有虚拟机对应的网段的数量,确定对应所述流量样本集合的网段的数量;
104.步骤s315,将每一所述流量样本集合中网段的数量确定为对应流量样本集合中的
初始中心点的数量;
105.步骤s316,假设每一流量样本集合的初始中心点数量为ki,按照特定的k-means算法的收敛条件,在每一流量样本集合中按照对应的中心点数量进行聚类,得到每一流量样本集合的中心点;
106.分别为每一所述流量样本集合s1和s2选择k1和k2个初始中心;
107.按照距离k1个初始中心的距离,将对应流量样本集合中每一个样本与距离最近的一个初始中心关联起来,与同一个初始中心关联的所有点聚成一类,记录所述聚类中样本距离初始中心点最远的距离dm(1=<m<=k1);
108.按照距离k2个初始中心的距离,将对应流量样本集合中每一个样本与距离最近的一个初始中心关联起来,与同一个初始中心关联的所有点聚成一类,记录所述聚类中样本距离初始中心点最远的距离dn(1=<m<=k2);
109.保证流量样本集合s1中每一个初始中心距离流量样本集合s2中样本点的距离均不小于dm,同理,保证流量样本集合s2中每一个初始中心距离流量样本集合s1中的样本点的距离均不小于dn;
110.移动每一所述流量样本集合中初始中心计算每一个簇的平均值,将该簇所关联的初始中心点移动到平均值的位置,完成聚类;
111.步骤s317,在所述流量样本集合s1中,所有k1个簇的初始中心点进行再次聚类,得到所述流量样本集合s1的聚类中心点c1;在所述流量样本集合s2中,所有k2个簇的初始中心点进行再次聚类,得到所述流量样本集合s2的聚类中心点c2;对应地,分别确定每一所述特征点与聚类中心点c1和c2之间的距离;将所述距离满足条件的聚类中心点作为目标中心点;
112.步骤s318,训练完成后按照图1c所示流程进行智能流量识别。
113.本技术实施例,主要描述在使用智能流量识别系统之前,训练智能流量识别的方法,可以先将训练样本集合按照每一样本所属的类别分为2个流量样本集合s1和s2,然后进行两次聚类找到s1的中心c1和s2的中心c2,通过分别确定每一所述特征点与聚类中心点c1和c2之间的距离,确定特征点对应的流量所属类别。这样,采用了无监督学习算法—k-means聚类算法,并且为了适配该技术方案,提高类内聚合度和类间分离度,使模型能够更好地甄别异常流量,提高流量识别的效果。在常规的k-means算法的基础上设计出了改进的k-means聚类算法,将机器学习引入到智能流量识别系统中,使网络异常流量的检测具有高效、智能的特点,从而减少人工的参与程度。
114.本技术实施例提供一种流量识别方法,图4为本技术实施例提供的又一种流量识别方法的流程示意图,如图4所示,所述方法包括:
115.步骤s401、设置在宿主机上的虚拟交换机按照流采样规则,对经过所述虚拟交换机的流量进行采样,得到流量采样数据包;所述宿主机上还设置有用于通过所述虚拟交换机进行数据分配的至少一个虚拟机;
116.如图1b所示在宿主机115上首先需要配置至少一个虚拟机,然后配置用于对虚拟机进行数据分配的虚拟交换机。
117.ovs自带流采样sflow模块,并不需要进行额外配置。sflow是一种用于监控数据包在网络交换机或者路由器上进行转发情况的技术。sflow系统包括若干sflow agent(内嵌
于交换机或者路由器等转发设备)以及一个核心的sflow collector。sflow agent通过特定的采样技术获取网络设备上的流量转发统计并实时地通过sflow数据报文发送到collector以供collector进行分析。
118.如图1b所示在宿主机115的ovs网桥桥上上配置流采样模块sflow的采样规则,配置完成后采样规则就可以生效,采样模块sflow按照流采样规则,对经过所述虚拟交换机的流量进行采样,得到流量采样数据包。
119.步骤s402、所述虚拟交换机通过遵循ipsec协议的ipsec隧道将所述流量采样数据包发送给流量监控平台,以对所述虚拟交换机上的流量进行识别。
120.ipsec协议产生于ipv6的制定之中,用于提供ip层的安全性。由于所有支持tcp/ip协议的主机进行通信时,都要经过ip层的处理,所以提供了ip层的安全性就相当于为整个网络提供了安全通信的基础。首先需要为所述虚拟交换机配置的ipsec协议,在所述虚拟交换机与所述流量监控平台之间建立ipsec隧道,然后虚拟交换机通过遵循ipsec协议的ipsec隧道将所述流量采样数据包发送给流量监控平台,以对所述虚拟交换机上的流量进行识别。
121.本技术实施例,主要描述宿主机上的虚拟交换机按照流采样规则,对经过所述虚拟交换机的流量进行采样,得到流量采样数据包以及通过遵循ipsec协议的ipsec隧道将所述流量采样数据包发送给流量监控平台,以对所述虚拟交换机上的流量进行识别。这样,在将流量导出到监控平台过程中,采用了基于ovs的sflow模块和ipsec隧道技术的方式,使流量导出传输过程中更安全。
122.本技术实施例可以解决openstack云平台出现异常流量时,人工进行流量识别导致的效率低下问题,提高流量识别效率,保障云环境安全,其中openstack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。为了实现这种方法,本技术实施例提供了一种适用于openstack云平台,同时接入sdn控制器的场景。基于虚拟交换技术(openvswitch,ovs)和改进的k均值聚类算法(k-means clustering algorithm,k-means)的智能云平台流量识别系统,用于实现openstack云平台数据流量的智能监控和处理。
123.图5为本技术实施例提供的又一种流量识别方法示意图,主要应用于图1b的智能云平台流量识别系统,该方法主要包括以下几个步骤:
124.步骤s501、宿主机上配置流采样(sampled flow,sflow)和互联网安全协议(internet protocol security,ipsec);
125.如图1b所示在宿主机115上配置sflow采样规则和ipsec,其中sflow是一种用于监控数据包在网络交换机或者路由器上进行转发情况的技术。sflow系统包括若干sflow agent(内嵌于交换机或者路由器等转发设备)以及一个核心的sflow collector。sflow agent通过特定的采样技术获取网络设备上的流量转发统计并实时地通过sflow数据报文发送到collector以供collector进行分析。ovs自带sflow模块,并不需要进行额外配置。
126.步骤s502、sflow采样规则下发到ovs网桥br0上;
127.用户手动在ovs网桥桥上配置sflow,配置sflow也就是配置一些采样规则,配置完成后采样规则可以生效并实现流量采集。
128.步骤s503、根据采样规则获得采样数据包;
129.流采样模块根据采样规则获得采样数据包。
130.步骤s504、采样数据包通过ipsec发往流量监控平台;
131.ovs将采样数据包通过ipsec发往流量监控平台。
132.步骤s505、智能流量识别系统获取虚拟机对应的网段;
133.采样数据包里包括所有虚机ip地址信息和子网掩码信息获取虚拟机对应的网段,智能流量识别系统每间隔一定的时间从云平台动态获取当前系统的所有虚机ip地址信息和子网掩码信息,根据获取到的所有虚机ip地址信息和子网掩码信息获取虚拟机对应的网段。
134.步骤s506、根据网段数量,确定白名单集合的聚类中心数量(对应图3b改进k-means算法的集合k1);黑名单集合的聚类中心数量(对应图3b改进k-means算法的集合k2)为1;
135.每个网段对应一个白名单集合的聚类中心,黑名单集合的聚类中心数量固定为1。
136.步骤s507、对监控系统采集到的每一条流进行解析,提取七元组信息;
137.每个采样数据包对应一条流,智能流量识别系统对监控系统采集到的每一条流进行解析,提取七元组信息,其中,七元组信息包括源ip地址、目的ip地址、源端口、目的端口、协议、服务类型和接口索引。
138.步骤s508、根据提取出的七元组信息进行向量化和归一化处理,最后进行聚类分析;
139.智能流量识别系统根据提取出的七元组信息进行向量化和归一化处理,获得每条流对应的一个特征点,对获得的特征点进行聚类分析。
140.步骤s509、聚类分析之后,对异常流量将上报云平台,加入黑名单集合;
141.智能流量识别系统完成聚类分析后,对异常流量将上报云平台,加入黑名单集合。此过程中也可以由管理员先进行手动甄别,如果确认是异常流量则加入黑名单集合。
142.步骤s510、加入黑名单集合的流量,监控系统会通过云平台管理的sdn控制器下发相应的drop流表规则到对应服务器的openvswitch网桥,以阻断该异常流量。
143.本技术实施例,在openstack云平台流量识别过程中,采用了无监督学习算法—k-means聚类算法,并且为了适配该技术方案,提高类内聚合度和类间分离度,使模型能够更好地甄别异常流量,提高流量识别的效果。在常规的k-means算法的基础上设计出了改进的k-means聚类算法,将机器学习引入到openstack云平台中。聚类算法是无监督学习中的代表,可以直接从未打标签的数据中发掘出数据间一些隐藏的结构规律,从而建立检测模型。本技术在openstack云平台中借助机器学习中的无监督学习算法来对云平台中的网络异常流量进行检测,使网络异常流量的检测具有高效,智能的特点,减少人工的参与程度,应该是今后的一个技术发展趋势。
144.在将openstack云平台流量导出到监控平台过程中,采用了基于openvswitch的sflow模块和ipsec隧道技术的方式,使流量导出传输过程中更安全。由于openvswitch是应用非常广泛的一款虚拟交换机,同时openvswitch对sflow和ipsec支持的也比较好,通过这两种方式进行监控流量的导出在稳定性和安全性上也很有保障,而且使用上非常方便,配置相比较而言也比较简单,因此这种监控流量导出方式实用性很广泛。
145.同过对原有技术实现细节进行调整,使这两种技术方案进行有机结合,能够大大提高网络异常流量识别的自主性和自动化,可以大大节省人力成本,提高生产率,具有很大
的推广价值。
146.基于前述的实施例,本技术实施例提供一种流量识别装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
147.图6a为本技术实施例提供的一种流量识别装置的组成结构示意图,如图6a所示,所述流量识别装置600包括:接收模块601、第一确定模块602、第二确定模块603、第三确定模块604和第四确定模块605,其中:
148.所述接收模块601,用于接收流量采样数据包;
149.所述第一确定模块602,用于确定每一所述数据流对应的特征点;
150.所述第二确定模块603,用于确定每一所述特征点与聚类中心点集合中每一初始中心点之间的距离;
151.所述第三确定模块604,用于将所述距离满足条件的初始中心点确定为目标中心点;
152.所述第四确定模块605,用于将所述目标中心点所属的流量类别,确定为所述特征点对应的数据流的流量类别。
153.在一些实施例中,所述第一确定模块还包括解析单元和处理单元,其中所述解析单元,用于解析每一条所述数据流,得到每一条所述数据流的组信息;所述处理单元,用于对每一所述组信息进行向量化和归一化处理,得到所述每一所述数据流对应的特征点。
154.在一些实施例中,所述识别装置还包括:分类模块、第五确定模块、聚类模块、标记模块,其中所述分类模块,用于在所述接收流量采样数据包之前,k=2时,将所述训练样本集合按照每一样本所属的类别分为2个流量样本集合s1和s2;所述第五确定模块,用于将每一所述流量样本集合中网段的数量确定为对应流量样本集合中的初始中心点的数量;所述聚类模块,用于按照特定的k-means算法的收敛条件,在每一流量样本集合中按照对应的初始中心点的数量进行初始聚类,得到每一流量样本集合的初始中心点;所述标记模块,用于将两个流量样本集合的所有n个初始中心点作为所述聚类中心集合中初始中心点,并标记每一初始中心点所属的流量类别。
155.在一些实施例中,所述识别装置还包括获取模块、第六确定模块、第七确定模块,其中所述获取模块,用于获取每一所述流量样本集合中所有虚拟机的虚拟ip地址和子网掩码;所述第六确定模块,用于根据所述所有虚拟机的虚拟机ip地址和子网掩码,确定所述所有虚拟机对应的网段;所述第七确定模块,用于根据所述所有虚拟机对应的网段的数量,确定对应所述流量样本集合的网段的数量。
156.在一些实施例中,所述聚类模块包括选择单元、第一处理单元、第二处理单元、保证单元和移动单元,其中:
157.所述选择单元,用于分别为每一所述流量样本集合s1和s2选择k1和k2个初始中心;所述第一处理单元,用于按照距离k1个初始中心的距离,将对应流量样本集合中每一个样本与距离最近的一个初始中心关联起来,与同一个初始中心关联的所有点聚成一类,记录所述聚类中样本距离初始中心点最远的距离dm(1=<m<=k1);所述第二处理单元,用于按照距离k2个初始中心的距离,将对应流量样本集合中每一个样本与距离最近的一个初始
中心关联起来,与同一个初始中心关联的所有点聚成一类,记录所述聚类中样本距离初始中心点最远的距离dn(1=<m<=k2);所述保证单元,用于保证流量样本集合s1中每一个初始中心距离流量样本集合s2中样本点的距离均不小于dm,同理,保证流量样本集合s2中每一个初始中心距离流量样本集合s1中的样本点的距离均不小于dn;所述移动单元,用于移动每一所述流量样本集合中初始中心计算每一个簇的平均值,将该簇所关联的初始中心点移动到平均值的位置,完成聚类。
158.在一些实施例中,所述聚类模块还包括第一聚类单元、第二聚类单元、第一确定单元、第二确定单元,其中:
159.所述第一聚类单元,用于在所述流量样本集合s1中,所有k1个簇的初始中心点进行再次聚类,得到所述流量样本集合s1的聚类中心点c1;所述第二聚类单元,用于在所述流量样本集合s2中,所有k2个簇的初始中心点进行再次聚类,得到所述流量样本集合s2的聚类中心点c2;第一确定单元,用于分别确定每一所述特征点与聚类中心点c1和c2之间的距离;第二确定单元,用于将所述距离满足条件的聚类中心点确定为目标中心点。
160.在一些实施例中,所述识别装置还包括第一加入模块和第二加入模块,其中:所述第一加入模块,用于如果所述数据流的流量类别为异常流量时,将所述异常流量上报云平台,将所述数据流的组信息加入黑名单;所述第二加入模块,用于当数据流的流量类别为正常流量时,将所述数据流的组信息加入白名单。
161.图6b为本技术实施例提供的另一种流量识别装置的组成结构示意图,如图6b所示,所述流量识别装置610包括:采样模块611和发送模块612,其中:
162.所述采样模块611,用于设置在宿主机上的虚拟交换机按照流采样规则,对经过所述虚拟交换机的流量进行采样,得到流量采样数据包;所述宿主机上还设置有用于通过所述虚拟交换机进行数据分配的至少一个虚拟机;
163.所述发送模块612,用于所述虚拟交换机通过遵循ipsec协议的ipsec隧道将所述流量采样数据包发送给流量监控平台,以对所述虚拟交换机上的流量进行识别。
164.这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
165.需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的流量识别方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得包含该存储介质的设备自动测试线执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
166.对应地,本技术实施例提供一种流量识别设备,图7为本技术实施例提供的一种流量识别设备的硬件实体示意图,如图7所示,该流量识别设备700的硬件实体包括:处理器701、通信接口702和存储器703,其中
167.处理器701通常控制设备700的总体操作。
168.通信接口702可以使设备700通过网络与其他终端或服务器通信。
169.存储器703配置为存储由处理器701可执行的指令和应用,还可以缓存待处理器701以及设备700中各模块待处理或已经处理的数据,可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
170.对应地,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的流量识别方法中的步骤。
171.这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
172.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
173.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
174.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
175.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本技术实施例方案的目的。
176.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
177.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得设备自动测试线执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
178.本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组
合,得到新的方法实施例。
179.本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
180.以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献