一种混合云环境下的资源关系挖掘方法及装置与流程
未命名
08-29
阅读:104
评论:0

1.本发明涉及信息处理领域,特别涉及一种混合云环境下的资源关系挖掘方法及装置。
背景技术:
2.随着新兴技术的崛起,企业开发的业务和应用越来越多样,处于成本控制和最大化使用物力资源的目的,企业往往会搭建自己的私有云平台,伴随着企业业务的复杂化,对资源的要求也更高,企业都会选择公有云,这就使得私有云和公有云的混合云环境成为了一种常见的云环境。多云环境会使得企业内部的多云环境之间的网络拓扑变得庞大和复杂。传统的路由器、交换机、防火墙等网络设备提供了底层的物理网络,而虚拟化网络(如,vpc)为私有云、公有云环境提供了逻辑隔离的网络空间。由于网络的流向由原本的南北流向(即跨数据中心的服务访问),混合成了南北流向和东西流向(即统一数据中心或不同数据中心的互相访问),导致了资源间的调用关系、依赖关系变得难以定位、分析。
3.为了解决上述问题,目前通常使用基础设施运维平台中的资产管理(cmdb)模块来记录基础设施信息,也称为应用cmbd。并且需要依赖自动发现模块、资产管理模块的联动。这种方式的弊端在于目前大部分平台资产数据都停留在手账式输入的阶段,导致资产数据过时、缺失、不准确。另外,部署主机监控工具(open-falcon、snmp)的方式对资产数据信息进行实时采集、上报,需要对所有的监控对象都下发相应的agent,这种方式需要维护大量的脚本。尤其是在混合云环境下,监控对象的数量级往往非常大,面对巨量的监控对象,运维维护也会很混乱。
技术实现要素:
4.鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种混合云环境下的资源关系挖掘方法及装置。
5.具体技术方案如下:
6.一种混合云环境下的资源关系挖掘方法,包括:
7.分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包;
8.对所述采集流量包进行识别,确定所述采集流量包的数据模式,所述数据模式包括加密网络流量数据和非加密网络流量数据;
9.若所述采集流量包为非加密网络流量数据,基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议;
10.若所述采集流量包为加密网络流量数据,基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议;
11.对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系。
12.可选地,所述分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包,包括:
13.对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量;
14.对目标混合云环境的公有云侧网络流量进行采集,得到公有云侧网络流量;
15.其中,所述对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量,包括:
16.对所述私有云侧的物理网络区域的流量通过端口镜像和/或分光方式进行采集,获得私有云侧的物理网络区域网络流量;
17.对所述私有云侧的资源池区域通过虚拟交换机上配置镜像模式进行采集,获得私有云侧的资源池区域网络流量。
18.可选地,所述对目标混合云环境的公有云侧网络流量进行采集,得到公有云侧网络流量,包括:
19.基于公有云特征,配置流量镜像策略;
20.基于所述流量镜像策略,封装获得虚拟机采集探针;
21.基于所述虚拟机采集探针获取共有云侧网络流量。
22.可选地,所述对所述采集流量包进行识别,确定所述采集流量包的数据模式,包括:
23.计算所述采集流量包的有效载荷的信息熵,得到计算结果;
24.基于所述计算结果,确定所述采集流量包的数据模式。
25.可选地,所述方法还包括:
26.对所述非加密网络流量数据和所述加密网络流量数据进行预处理,得到预处理后的采集流量包,其中,所述预处理包括过滤、去重、压缩、标记和格式化中的一种或多种。
27.可选地,所述基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议,包括:
28.将所述非加密网络流量数据输入至所述目标分类器,以使得所述目标分类器输出协议标签,其中,所述目标分类器是基于训练训练数据训练得到的决策树分类器,所述训练数据为标注有协议标签的非加密流量数据包;
29.基于所述协议标签,确定与所述非加密网络流量数据相匹配的网络协议。
30.可选地,所述基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议,包括:
31.对所述加密网络流量数据进行预处理,获得二维矩阵;
32.通过目标神经网络模型对所述二维矩阵进行处理,得到与所述加密网络流量数据相匹配的网络协议,其中,所述目标神经网络模型为基于训练集训练得到的神经网络,所述训练集为提取待识别网络流量样本的特征数组,并对所述特征数据标注有网络协议标签的数据。
33.可选地,所述对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系,包括:
34.对所述采集流量包进行特征提取,获得特征信息,所述特征信息至少包括源ip、源端口、目的ip和目的端口;
35.基于所述网络协议,确定所述目标混合云环境对应的资源间的依赖关系;
36.基于所述特征信息,确定资源的拓扑关系;
37.根据所述依赖关系和所述拓扑关系,获得所述目标混合云环境的目标资源关系。
38.一种混合云环境下的资源关系挖掘装置,包括:
39.数据采集单元,用于分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包;
40.模式确定单元,用于对所述采集流量包进行识别,确定所述采集流量包的数据模式,所述数据模式包括加密网络流量数据和非加密网络流量数据;
41.第一识别单元,用于若所述采集流量包为非加密网络流量数据,基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议;
42.第二识别单元,用于若所述采集流量包为加密网络流量数据,基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议;
43.关系确定单元,用于对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系。
44.一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述任意一项所述的混合云环境下的资源关系挖掘方法。
45.一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的混合云环境下的资源关系挖掘方法。
46.一种电子设备,所述电子设备包括至少一个处理器以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所处存储器通过所述总线完成相互间的通信,所述处理器用于调用所述存储器中的程序指令,以执行上述的混合云环境下的资源关系挖掘方法。
47.借由上述技术方案,本发明提供的一种混合云环境下的资源关系挖掘方法及装置,通过分别采集私有云侧网络流量和公有云侧网络流量,获得采集流量包,将采集的流量包基于其对应的数据模式采用相匹配的机器学习方式进行智能分析,包括基于目标分类器对所述非加密网络流量数据进行识别,以及基于目标神经网络模型对所述加密网络流量数据进行识别,通过识别获得网络协议并通过流量包的特征信息,确定目标资源关系,实现了自动挖掘混合云环境的资源关系,能够实时对数据进行分析保证了数据的准确性,并且可以快速排除故障提升业务处理流程,实现了运维的便捷性。
48.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
49.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
50.图1示出了本发明实施例提供的一种混合云环境下的资源关系挖掘方法的流程示
意图;
51.图2示出了本发明实施例提供的一种私有云网络拓扑示意图;
52.图3示出了本发明实施例提供的一种多云网络拓扑图;
53.图4示出了本发明实施例提供的一种混合云环境下的资源关系挖掘装置的结构示意图;
54.图5示出了本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
55.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
56.在本技术实施例提供了一种混合云环境下的资源关系挖掘方法,参见图1,该方法可以包括以下步骤:
57.s101、分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包。
58.目标混合云环境是指需要识别资源关系的混合云环境,该混合云环境是指相关企业搭建的私有云和公有云混合的云环境。对私有云侧网络流量和公有云侧网络流量分别进行采集,得到采集流量包。通常会在云环境中获取到虚拟机、容器等虚拟化设备中的访问关系来获取网络流量,例如,在虚拟机中安装采集探针从而获取各网络接口的流量;在虚拟交换机上配置镜像,将流量引至专门的设备进行处理。需要根据具体的云环境情况进行搭配使用,本技术将在后面的实施例中对云环境中的网络流量的采集过程进行具体说明。
59.s102、对所述采集流量包进行识别,确定所述采集流量包的数据模式。
60.其中,所述数据模式包括加密网络流量数据和非加密网络流量数据;
61.s103、若所述采集流量包为非加密网络流量数据,基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议。
62.s104、若所述采集流量包为加密网络流量数据,基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议。
63.在获得了采集流量包后需要对采集的网络流量数据进行识别,以获得对应的数据模式,即获得采集得到的网络流量是否加密。由于私有云、公有云相互之间的调用,需要跨互联网、跨多个逻辑网络才能互通,为了安全,网络流量往往需要进行加密。于是很多流量都会使用安全套接字(ssl)、虚拟专用网(vpn)或匿名通信等技术进行加密,因此需要针对加密流量和非加密流量分别进行处理。
64.加密流量要做的是对加密的数据包进行截断处理。而对加密流量而言,需要取出源ip、源端口、目的ip、目的端口,待识别网络流量样本入库,加密流量将利用卷积神经网络模型进行协议识别,即目标神经网络模型是基于加密流量样本训练得到的卷积神经网络模型。
65.对于非加密流量需要提取源ip、目的ip、源端口、目的端口、协议的关键字(如传输层协议部分控制信息)以及部分payload(即包含有应用层数据的部分)内容做特征。消费层
将采取多项式分布的朴素贝叶斯分类器对流量进行协议识别。协议的关键字及部分payload内容,需要依据针对特定协议抓包出来的数据做离线分析,找出能区分出来的部分,用于训练朴素贝叶斯分类器,直到识别率能满足要求。
66.在本技术实施例中将采集的流量包利用机器学习等方式进行智能分析,识别流量包所属的应用协议。进一步地可以基于流量包是否加密利用不同的方式进行应用协议的识别,保证了识别得到的网络协议更加准确。
67.s105、对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系。
68.资源关系的建立依赖于关键节点部署采集上来的数据,针对上述流量协议识别流程,结合tcp/ip传输协议的规定,可以得出同样的数据包在传输过程中,有效负载部分(传输层以上的数据部分)是不会变化的(对于加密流量来说是待识别网络流量样本,非加密流量来说是应用层协议的payload部分)。变化的只有以太网内传输时mac地址,需要做地址映射、正向代理或反向代理部分的关键链路上的ip地址,以及因特网传输过程中的运营商协议部分。
69.因此,可以根据识别得到的网络协议确定资源间的依赖关系,然后在通过提取到的特征信息中的源ip和目的ip等信息来确定对应的拓扑关系,从而得到了目标混合云环境的目标资源关系。
70.本技术实施例提供了一种混合云环境下的资源关系挖掘方法,通过分别采集私有云侧网络流量和公有云侧网络流量,获得采集流量包,将采集的流量包基于其对应的数据模式采用相匹配的机器学习方式进行智能分析,包括基于目标分类器对所述非加密网络流量数据进行识别,以及基于目标神经网络模型对所述加密网络流量数据进行识别,通过识别获得网络协议并通过流量包的特征信息,确定目标资源关系,实现了自动挖掘混合云环境的资源关系,能够实时对数据进行分析保证了数据的准确性,并且可以快速排除故障提升业务处理流程,实现了运维的便捷性。
71.在本技术实施例的一种实施方式中,所述分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包,包括:
72.对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量;
73.对目标混合云环境的公有云侧网络流量进行采集,得到公有云侧网络流量。
74.具体的,所述对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量,包括:对所述私有云侧的物理网络区域的流量通过端口镜像和/或分光方式进行采集,获得私有云侧的物理网络区域网络流量;对所述私有云侧的资源池区域通过虚拟交换机上配置镜像模式进行采集,获得私有云侧的资源池区域网络流量。
75.对私有云侧网络流量进行采集的时候,需要针对物理网络区域和资源池区域分别采集。物理网络区域的流量获取主要通过端口镜像、分光等方式,采集关键点在互联网的接入链路上,如防火墙、负载均衡、交换机等关键设备,主要捕获南北向流量。资源池区域,可采用虚拟交换机上配置镜像,将流量引至专门的设备进行处理的方式,进行流量采集。针对不同的虚拟化机制,需要采用不同的流量采集技术。
76.以图2为例,图2为本技术实施例提供的一种私有云网络拓扑示意图。在hyper-v资源池内,关键采集点是每台宿主机上,这里可以捕获到所有进出该宿主内虚拟机的流量。针
对hyper-v虚拟化技术而言,需要新建一个虚拟交换机,该交换机需要连接到待捕获流量的网卡(当前宿主正在使用的虚拟交换机所连接的网卡),拓展属性启用’mircrosoftndis捕获’,接着需要创建一台虚拟机(数据采集专用设备)并添加一个网络适配器连接到刚创建好的虚拟交换机上,在高级功能中需要开启端口镜像,镜像模式选择目标。这样,该宿主流量就能镜像到数据采集专有设备中了。
77.在openstack资源池内,关键采集点也是在每台宿主机上面,这里可以捕获到所有进出该宿主内虚拟机的流量。openstack宿主机采取的是kvm+qemu虚拟化技术,虚拟化网络一般借助linuxbridge,所以只需要在虚拟网桥上做镜像端口。目前有一种办法,将linuxbridge的虚拟交换机的setageingtime标识设为0,将其退化为一个集线器,这样数据采集专用设备就可以收到所有的虚拟机流量了。但这种容易引起泛洪问题,所以也有一种方案是通过修改brctl源码包的br_handle_frrame_finish函数来实现专有的镜像端口。
78.在物理网络区域,主要是在isp线路的关键节点,如核心交换机、路由器、负载均衡器等设备上,将关键流量通过端口镜像的方式导入数据采集专用设备
79.数据采集专有设备,可以是虚拟机、物理机,具体需要根据业务的报文流量级别来定,只要能接收到流量并转发到汇聚设备上就可以。linux的采集设备,可以借用libpcap库来将报文数据保存为pcap文件,windows系统则可以借助winpcap库来处理。
80.对应的,对公有云侧网络流量进行采集主要包括:基于公有云特征,配置流量镜像策略;基于所述流量镜像策略,封装获得虚拟机采集探针;基于所述虚拟机采集探针获取共有云侧网络流量。
81.公有云测由于underlay网络由运营商维护,所以不能直接通过在物理交换机上做镜像端口的方式引流。同样的,也无法像私有云一样,在宿主机的虚拟交换机上做相关操作。
82.因此,可以采用在虚拟机里面安装采集探针获取流量的方式。如:
83.基于web服务器做镜像端口,比如nginx的ngx_http_mirror_module插件基于应用层的流量复制工具,如tcpcopy。
84.需要说明的是,现有的大型公有云运营商,都有考虑到vpc(专有网络)流量镜像的需求,因此有开放相应的流量镜像业务。
85.例如,以某个公有云为例,可以通过该公有云的专有网络管理控制台,配置好流量镜像策略,并选择好镜像目的(数据采集专有设备),那么所有符合策略的流量都会镜像到镜像目的,就要可以完成公有云侧vpc网络流量的复制。
86.需要说明的是,当对流量进行采集时,避免在用了虚拟专用网(vpn)或伪装技术的节点部分采集流量,这些协议会对原始数据包部分加密,导致和起始发出来的数据包不同,无法互相联系起来。采集点应该部署在,私有云侧的宿主机内、公有云侧的虚拟机内、私有云侧的入网口核心交换机上以及公有云侧配置镜像策略要具体到含有公网ip节点部分。
87.在获得了采集流量后,也可以是在识别到非加密网络流量数据和加密网络流量数据之后,均对采集到的流量数据进行预处理,以便于后续网络协议的识别。其中,所述预处理包括过滤、去重、压缩、标记和格式化中的一种或多种。
88.即可以通过处理平台中的汇聚层集中处理各关键节点部署的采集器汇报上来的海量流量,对流量进行清洗、去重、压缩、格式化、标记,入库,以供消费层对流量进行智能分
析,从而根据流量的流向、协议定位资源间的关系。由于私有云、公有云相互之间的调用,需要跨互联网、跨多个逻辑网络才能互通,出于安全考虑,网络流量往往需要进行加密。于是很多流量都会使用安全套接字(ssl)、虚拟专用网(vpn)或匿名通信等技术进行加密,因此需要针对加密流量和非加密流量分别进行处理。
89.要识别是否为加密流量,那么就需要了解常用加密协议的数据封装格式和交互过程,找出可用于区分不同加密协议的特征和规律,才能正确区分出加密流量。可以通过计算计算所述采集流量包的有效载荷的信息熵,得到计算结果;基于所述计算结果,确定所述采集流量包的数据模式。
90.在识别到采集流量包为非加密网络流量数据时,将所述非加密网络流量数据输入至所述目标分类器,以使得所述目标分类器输出协议标签,其中,所述目标分类器是基于训练训练数据训练得到的决策树分类器,所述训练数据为标注有协议标签的非加密流量数据包;基于所述协议标签,确定与所述非加密网络流量数据相匹配的网络协议。
91.具体的,针对非加密流量协议识别,可以采用如下处理流程:
92.(1)通过特定的端口,识别对应的协议。如http的80端口,telnet的23端口,一旦非加密流量出现这种约定成俗的端口,可以非常高效的认定该流量所属的协议。
93.(2)根据目的端口、协议的关键字及部分payload内容做特征,采取多项式分布的朴素贝叶斯分类器对流量进行识别。
94.其中,朴素贝叶斯分类器是一种可以包含多种特征的分类器,即使在数据较少的时候也可以正确识别,但是对数据的输入格式比较敏感,所以要求前面的非加密流量需要按照特定的格式来录入。朴素贝叶斯有三种模型分别是高斯分布、伯努利分布和多项式分布,其中多项式分布表示的是多个特征是相互独立的,特征内容往往是多个。因此针对协议识别来说,采用多项式分布是最合适的。训练朴素贝叶斯分类器,首先需要训练数据,训练数据来自相关协议的抓包数据,需要找出能区分协议的关键字及部分payload内容。由于朴素贝叶斯分类器是标称型分类器,所以所有的特征需要转换成对应的数值,因此需要维持一个特征对应数值的字典。随后针对采集的数据,依据特征字段翻译成对应的数字序列(矩阵)。之后便可以引用相关的数据分析库(如python库的scikit-learn)对数据进行协议识别。
95.若采集流量包为加密流量数据,对所述加密网络流量数据进行预处理,获得二维矩阵;通过目标神经网络模型对所述二维矩阵进行处理,得到与所述加密网络流量数据相匹配的网络协议,其中,所述目标神经网络模型为基于训练集训练得到的神经网络,所述训练集为提取待识别网络流量样本的特征数组,并对所述特征数据标注有网络协议标签的数据。
96.由于加密流量无法提取协议特征和有辨识度的payload内容,所以业界当前对加密流量的协议识别普遍采取基于卷积神经网络的应用层协议识别方法。基于各关键节点采取上来的数据流,将数据预处理为二维矩阵,通过卷积神经网络的分析处理,进行应用层协议识别。卷积神经网络可以利用训练样本集合训练模型,自动化提取网络协议特征,因此,只需要采集点将网络数据流采集,利用训练好的卷积神经网络模型实现协议识别即可。
97.在一种可能的实施方式中,所述对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系,包括:对
所述采集流量包进行特征提取,获得特征信息,所述特征信息至少包括源ip、源端口、目的ip和目的端口;基于所述网络协议,确定所述目标混合云环境对应的资源间的依赖关系;基于所述特征信息,确定资源的拓扑关系;根据所述依赖关系和所述拓扑关系,获得所述目标混合云环境的目标资源关系。
98.具体的,资源关系的建立依赖于关键节点部署采集上来的数据,针对上述流量协议识别流程,结合tcp/ip传输协议的规定,可以得出同样的数据包在传输过程中,有效负载部分(传输层以上的数据部分)是不会变化的(对于加密流量来说是待识别网络流量样本,非加密流量来说是应用层协议的payload部分)。变化的只有以太网内传输时mac地址,需要做地址映射、正向代理或反向代理部分的关键链路上的ip地址,以及因特网传输过程中的运营商协议部分。
99.假设一个时间阈值内(比如1000ms内),各采集点采集上来的流量包中,有效负荷内容相同的,那么就可以把该组数据包认为是对同一个服务发起的相同请求。即使不是同一个请求,但有效负荷内容相同,必然是多个下游服务(或单个发起多次)对同一个上游服务的同一url地址发起请求。
100.假设现在全网链路上,某一个时刻仅有一个下游服务对上游服务发起请求,从上游服务到下游服务的请求链路上部署着n个采集点。采集点的部署请按照上述所说的关键地方部署,不要部署在虚拟专用网(vpn)、用了伪装技术的节点后面,避免采集的数据在不同阶段因为数据包加密问题导致无法从应用层协议的有效负荷部分识别同一访问下的不同阶段的数据包。那么在网络正常的情况下,汇聚层应该总共收到n个关于这次访问请求的流量包。
101.假设这个请求跨了多个逻辑网络、物理网络,比如从私有云到公有云。这n个流量包中必然有如下的情况:
102.(1)n个流量包中必然有两个流量包,s-ip(源ip)和d-ip(目的ip)部分是相同的,那么属于地址转换后含有公网地址的流量包。
103.(2)剩余的包中,s-ip和d-ip部分是不会出现重复的,也就是说是单独存在的包。
104.(3)单独存在的包中,如果d-ip部分和含有公网地址的d-ip部分一样,那么也就说这个包是从下游服务发起的,这个包的s-ip部分是调用者,设这个包为p1。
105.(4)则另外一个包(按照前面建议的采集点部署方案,关键点只会在宿主机的交换机内,公有云则是虚拟机内。而物理网络区域,应该部署在入网口的核心交换机上,那实际上应该只会有四个采集点)中d-ip部分必然是上游服务,假设这个包为p2。
106.(5)那么可以得出p1的s-ip资源依赖于p2的d-ip,使用了p2的d-ip资源中的某类服务(依赖数据包识别出来的应用层协议)。
107.基于前述说明,假设该请求链路是在同一个逻辑网络内,有如下情况:
108.(1)若采集的流量包仅有两个(比如vxlan,跨主机),可根据采集点打的标签确定来自不同的宿主机,那么采集上来的数据包,s-ip和d-ip必然是相同的(不用出外网,未经过地址转换),很自然的可以确定资源间的调用关系。
109.(2)若采集的流量包仅有一个,该流量包是来自同一宿主机同一逻辑网络的两个资源间的调用,依然可以从s-ip和d-ip部分确立联系。
110.假设现在在全网链路上,某一个时刻有多个下游服务对上游服务发起请求,那么
分为以下情况:
111.(1)会收到n个流量包,流量包中,d-ip和s-ip组合一致的为偶数的包必然为跨公网部分的包(如同一请求进行了ip分组,或者多个资源发起了同一个请求)。
112.(2)另外的包中,d-ip&s-ip单独存在的且d-ip部分与公网部分包的d-ip一致的,该包的s-ip部分皆为调用者,设该包为p1。
113.(3)剩余的包中,理论上都是d-ip和s-ip部分应该是一样的,那么d-ip所指向的资源则是提供服务的,设该包为p2。
114.(4)可以分析出p1中的s-ip资源依赖与p2中的d-ip资源的某某服务。
115.不需要出公网的情况如下:
116.(1)若采集的流量包是以偶数出现的(比如vxlan,跨主机),可根据采集点打的标签确定来自不同的宿主机,那么采集上来的数据包,s-ip和d-ip必然是相同的(不用出外网,未经过地址转换),可以确定资源间的调用关系,所有流量包中的s-ip资源依赖d-ip资源。
117.(2)若采集的流量包以奇数出现的,该流量包是来自同一宿主机同一逻辑网络的两个资源间的调用,依然可以从s-ip和d-ip部分确立联系,所有流量包中的s-ip资源依赖d-ip资源。
118.相较于传统方式中需要进行大量配置来明确建立各资源间的依赖关系,本发明通过在混合云环境中关键节点部署采集器,对采集到的网络数据进行智能分析处理,自动分析出资源间的依赖调用关系,从而建立动态拓扑图,这样的关系拓扑图可以准确的反映出混合云环境中各类复杂的资源依赖关系、调用关系。只要资源间的关系确立,便可深入挖掘各物理元素和逻辑元素之间的关系,以便更快的排除故障、提示业务流程、应用和基础设施的完整可见性。
119.下面以实际的应用场景对本技术的混合云环境下的资源关系挖掘方法进行说明。参见图3,为本发明实施例提供的一种多云网络拓扑图。在图3中,hyper-v资源池的vm1位于server1上,通过虚拟交换机1与宿主网络联通,要访问外网的时候需要进行源地址转换。openstack资源池的vm2位于server2上,vm2通过虚拟机交换机2与server2通信,代理防火墙2为vm2的http服务开启了反向代理(或者添加了目的地址转换规则),使得vm2的http服务可以给外网的机器访问。
120.现有vm1访问vm2的http服务。采用前面提到的私有云测流量采集点的部署方案,应该在server1和server2上开启了镜像功能,同时也在物理资源池的核心交换机上开启了镜像功能。那么就分别采集了图中标识的四个数据包(假设仅统计单方向的、数据包未分组、未加密)。
121.根据捕获到的四个流量包来分析,按照以太网和ip寻址的规则,可以知道传输过程中tcp包的内容是没有变化的,变化的只有ip地址和mac地址。因此,根据tcp包的内容,将采集上来的数据包中tcp内容一致的流量包,按照一个组来对待。接下来,就需要找出哪两个包是可以确定调用者和被调用者的。可以知道若存在两个包,其源ip和目的ip是一样的(不考虑mac地址,下面说的数据包一致指的是tcp、http数据包一致),则说明该包是含有公网ip地址的,必定是代理。而源ip和目的ip的包不存在重复的,那么必然一个是源头,一个是目的。
122.最后需要根据含有公网ip地址的包,解析出d-ip(假设是d-ip1),那么单独存在的数据包中谁的d-ip是d-ip1,那这个包的s-ip所指向的地址就是调用者,另一个包的d-ip所指向的地址就是被调用者,由此,便可以确立资源间的调用、依赖关系。
123.假设ip数据包发生了分组情况,根据上述规则,每个ip分组的tcp内容并不一致,那么同样的,每个ip分组都能按照四个数据包(tcp内容一致)一组,划分成一个组,然后代入前面的调用者和被调用者分析逻辑,理应得出一样的资源依赖关系。
124.假设同一时间,有多个虚拟机向vm2发起了相同的http请求(请求的url和method一致)。此时,会收到很多tcp内容一致的数据包,这时只要将(s-ip&d-ip)出现次数为偶数次(如果来自同一个代理防火墙,那么就会出现大量s-ip&d-ip一样的包)的包过滤,取出其中的d-ip。在剩余的包中,只要d-ip是一样的,则其中的s-ip都是调用者,d-ip不一样的包中,那么d-ip本身就是被调用者。这样也能够分辨出资源间的依赖关系。
125.假设资源间的调用并不需要跨多云网络,而是处于同一个逻辑网络,那么采集上来的数据包中,可以直接通过s-ip和p-ip并结合采集点标签(必然属于同一个采集点)区分出资源间的依赖关系。
126.假设server2的http服务,同时被同一逻辑网络的服务和需要跨逻辑网络的服务调用发起相同的请求。这情况下,按照前面的分析逻辑,同一逻辑网络是仅包含两个一样(s-ip&d-ip)的数据包(不需要出外网),而需要跨逻辑网络的服务,必然会包含四个数据包。按照(s-ip&d-ip)为偶数来过滤的办法,会把同一逻辑网络的数据包间的资源调用关系忽略掉。为此,可以在采集器上报数据的时候打上标签,标识数据包从哪里采集上来,如果同属于一个虚拟交换机的,那说明是同一逻辑网络之间的资源调用,则可以直接通过s-ip和d-ip判断资源间的关系。否则按照前述的方法区分跨逻辑网络资源间的调用关系。
127.在本发明实施例中还提供了一种混合云环境下的资源关系挖掘装置,参见图4,该装置可以包括:
128.数据采集单元401,用于分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包;
129.模式确定单元402,用于对所述采集流量包进行识别,确定所述采集流量包的数据模式,所述数据模式包括加密网络流量数据和非加密网络流量数据;
130.第一识别单元403,用于若所述采集流量包为非加密网络流量数据,基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议;
131.第二识别单元404,用于若所述采集流量包为加密网络流量数据,基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议;
132.关系确定单元405,用于对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系。
133.进一步地,数据采集单元包括:
134.第一采集子单元,用于对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量;
135.第二采集子单元,用于对目标混合云环境的公有云侧网络流量进行采集,得到公
有云侧网络流量;
136.其中,第一采集子单元具体用于:
137.对所述私有云侧的物理网络区域的流量通过端口镜像和/或分光方式进行采集,获得私有云侧的物理网络区域网络流量;
138.对所述私有云侧的资源池区域通过虚拟交换机上配置镜像模式进行采集,获得私有云侧的资源池区域网络流量。
139.第二采集子单元具体用于:
140.基于公有云特征,配置流量镜像策略;
141.基于所述流量镜像策略,封装获得虚拟机采集探针;
142.基于所述虚拟机采集探针获取共有云侧网络流量。
143.进一步地,模式确定单元包括:
144.计算子单元,用于计算所述采集流量包的有效载荷的信息熵,得到计算结果;
145.第一确定子单元,用于基于所述计算结果,确定所述采集流量包的数据模式。
146.可选地,所述装置还包括:
147.预处理单元对所述非加密网络流量数据和所述加密网络流量数据进行预处理,得到预处理后的采集流量包,其中,所述预处理包括过滤、去重、压缩、标记和格式化中的一种或多种。
148.进一步地,第一识别单元具体用于:
149.将所述非加密网络流量数据输入至所述目标分类器,以使得所述目标分类器输出协议标签,其中,所述目标分类器是基于训练训练数据训练得到的决策树分类器,所述训练数据为标注有协议标签的非加密流量数据包;
150.基于所述协议标签,确定与所述非加密网络流量数据相匹配的网络协议。
151.对应的,第二识别单元具体用于:
152.对所述加密网络流量数据进行预处理,获得二维矩阵;
153.通过目标神经网络模型对所述二维矩阵进行处理,得到与所述加密网络流量数据相匹配的网络协议,其中,所述目标神经网络模型为基于训练集训练得到的神经网络,所述训练集为提取待识别网络流量样本的特征数组,并对所述特征数据标注有网络协议标签的数据。
154.可选地,关系确定单元具体用于:
155.对所述采集流量包进行特征提取,获得特征信息,所述特征信息至少包括源ip、源端口、目的ip和目的端口;
156.基于所述网络协议,确定所述目标混合云环境对应的资源间的依赖关系;
157.基于所述特征信息,确定资源的拓扑关系;
158.根据所述依赖关系和所述拓扑关系,获得所述目标混合云环境的目标资源关系。
159.所述混合云环境下的资源关系挖掘装置包括处理器和存储器,上述数据采集单元、模式确定单元、第一识别单元、第二识别单元和关系确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
160.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来保证了数据的准确性,并且可以快速排除故障提升业务处理
流程,实现了运维的便捷性。
161.本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述混合云环境下的资源关系挖掘方法。
162.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述混合云环境下的资源关系挖掘方法。
163.参见图5,本发明实施例提供了一种电子设备,电子设备包括至少一个处理器501、以及与处理器501连接的至少一个存储器502、总线;其中,处理器501、存储器502通过总线503完成相互间的通信;处理器501用于调用存储器502中的程序指令,以执行上述的混合云环境下的资源关系挖掘方法。本文中的电子设备可以是服务器、pc、pad、手机等。
164.本技术还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有如下方法步骤的程序:
165.分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包;
166.对所述采集流量包进行识别,确定所述采集流量包的数据模式,所述数据模式包括加密网络流量数据和非加密网络流量数据;
167.若所述采集流量包为非加密网络流量数据,基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议;
168.若所述采集流量包为加密网络流量数据,基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议;
169.对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系。
170.可选地,所述分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包,包括:
171.对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量;
172.对目标混合云环境的公有云侧网络流量进行采集,得到公有云侧网络流量;
173.其中,所述对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量,包括:
174.对所述私有云侧的物理网络区域的流量通过端口镜像和/或分光方式进行采集,获得私有云侧的物理网络区域网络流量;
175.对所述私有云侧的资源池区域通过虚拟交换机上配置镜像模式进行采集,获得私有云侧的资源池区域网络流量。
176.可选地,所述对目标混合云环境的公有云侧网络流量进行采集,得到公有云侧网络流量,包括:
177.基于公有云特征,配置流量镜像策略;
178.基于所述流量镜像策略,封装获得虚拟机采集探针;
179.基于所述虚拟机采集探针获取共有云侧网络流量。
180.可选地,所述对所述采集流量包进行识别,确定所述采集流量包的数据模式,包括:
181.计算所述采集流量包的有效载荷的信息熵,得到计算结果;
182.基于所述计算结果,确定所述采集流量包的数据模式。
183.可选地,所述方法还包括:
184.对所述非加密网络流量数据和所述加密网络流量数据进行预处理,得到预处理后的采集流量包,其中,所述预处理包括过滤、去重、压缩、标记和格式化中的一种或多种。
185.可选地,所述基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议,包括:
186.将所述非加密网络流量数据输入至所述目标分类器,以使得所述目标分类器输出协议标签,其中,所述目标分类器是基于训练训练数据训练得到的决策树分类器,所述训练数据为标注有协议标签的非加密流量数据包;
187.基于所述协议标签,确定与所述非加密网络流量数据相匹配的网络协议。
188.可选地,所述基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议,包括:
189.对所述加密网络流量数据进行预处理,获得二维矩阵;
190.通过目标神经网络模型对所述二维矩阵进行处理,得到与所述加密网络流量数据相匹配的网络协议,其中,所述目标神经网络模型为基于训练集训练得到的神经网络,所述训练集为提取待识别网络流量样本的特征数组,并对所述特征数据标注有网络协议标签的数据。
191.可选地,所述对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系,包括:
192.对所述采集流量包进行特征提取,获得特征信息,所述特征信息至少包括源ip、源端口、目的ip和目的端口;
193.基于所述网络协议,确定所述目标混合云环境对应的资源间的依赖关系;
194.基于所述特征信息,确定资源的拓扑关系;
195.根据所述依赖关系和所述拓扑关系,获得所述目标混合云环境的目标资源关系。
196.本技术是参照根据本技术实施例的方法、装置、电子设备、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
197.在一个典型的配置中,电子设备包括一个或多个处理器(cpu)、存储器和总线。电子设备还可以包括输入/输出接口、网络接口等。
198.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
199.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除
可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
200.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
201.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
202.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种混合云环境下的资源关系挖掘方法,其特征在于,包括:分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包;对所述采集流量包进行识别,确定所述采集流量包的数据模式,所述数据模式包括加密网络流量数据和非加密网络流量数据;若所述采集流量包为非加密网络流量数据,基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议;若所述采集流量包为加密网络流量数据,基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议;对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系。2.根据权利要求1所述的方法,其特征在于,所述分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包,包括:对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量;对目标混合云环境的公有云侧网络流量进行采集,得到公有云侧网络流量;其中,所述对目标混合云环境的私有云侧网络流量进行采集,得到私有云侧网络流量,包括:对所述私有云侧的物理网络区域的流量通过端口镜像和/或分光方式进行采集,获得私有云侧的物理网络区域网络流量;对所述私有云侧的资源池区域通过虚拟交换机上配置镜像模式进行采集,获得私有云侧的资源池区域网络流量。3.根据权利要求2所述的方法,其特征在于,所述对目标混合云环境的公有云侧网络流量进行采集,得到公有云侧网络流量,包括:基于公有云特征,配置流量镜像策略;基于所述流量镜像策略,封装获得虚拟机采集探针;基于所述虚拟机采集探针获取共有云侧网络流量。4.根据权利要求1所述的方法,其特征在于,所述对所述采集流量包进行识别,确定所述采集流量包的数据模式,包括:计算所述采集流量包的有效载荷的信息熵,得到计算结果;基于所述计算结果,确定所述采集流量包的数据模式。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述非加密网络流量数据和所述加密网络流量数据进行预处理,得到预处理后的采集流量包,其中,所述预处理包括过滤、去重、压缩、标记和格式化中的一种或多种。6.根据权利要求1所述的方法,其特征在于,所述基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议,包括:将所述非加密网络流量数据输入至所述目标分类器,以使得所述目标分类器输出协议标签,其中,所述目标分类器是基于训练训练数据训练得到的决策树分类器,所述训练数据为标注有协议标签的非加密流量数据包;基于所述协议标签,确定与所述非加密网络流量数据相匹配的网络协议。
7.根据权利要求1所述的方法,其特征在于,所述基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议,包括:对所述加密网络流量数据进行预处理,获得二维矩阵;通过目标神经网络模型对所述二维矩阵进行处理,得到与所述加密网络流量数据相匹配的网络协议,其中,所述目标神经网络模型为基于训练集训练得到的神经网络,所述训练集为提取待识别网络流量样本的特征数组,并对所述特征数据标注有网络协议标签的数据。8.根据权利要求1所述的方法,其特征在于,所述对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系,包括:对所述采集流量包进行特征提取,获得特征信息,所述特征信息至少包括源ip、源端口、目的ip和目的端口;基于所述网络协议,确定所述目标混合云环境对应的资源间的依赖关系;基于所述特征信息,确定资源的拓扑关系;根据所述依赖关系和所述拓扑关系,获得所述目标混合云环境的目标资源关系。9.一种混合云环境下的资源关系挖掘装置,其特征在于,包括:数据采集单元,用于分别对目标混合云环境的私有云侧网络流量和公有云侧网络流量进行采集,得到采集流量包;模式确定单元,用于对所述采集流量包进行识别,确定所述采集流量包的数据模式,所述数据模式包括加密网络流量数据和非加密网络流量数据;第一识别单元,用于若所述采集流量包为非加密网络流量数据,基于目标分类器对所述非加密网络流量数据进行识别,得到与所述非加密网络流量数据相匹配的网络协议;第二识别单元,用于若所述采集流量包为加密网络流量数据,基于目标神经网络模型对所述加密网络流量数据进行识别,得到与所述加密网络流量数据相匹配的网络协议;关系确定单元,用于对所述采集流量包进行特征提取,获得特征信息,并基于所述网络协议和所述特征信息,确定所述目标混合云环境的目标资源关系。10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至8中任意一项所述的混合云环境下的资源关系挖掘方法。
技术总结
本发明公开了一种混合云环境下的资源关系挖掘方法及装置,通过分别采集私有云侧网络流量和公有云侧网络流量,获得采集流量包,将采集的流量包基于其对应的数据模式采用相匹配的机器学习方式进行智能分析,包括基于目标分类器对所述非加密网络流量数据进行识别,以及基于目标神经网络模型对所述加密网络流量数据进行识别,通过识别获得网络协议并通过流量包的特征信息,确定目标资源关系,实现了自动挖掘混合云环境的资源关系,能够实时对数据进行分析保证了数据的准确性,并且可以快速排除故障提升业务处理流程,实现了运维的便捷性。性。性。
技术研发人员:黄艺 纪朕
受保护的技术使用者:北京国双科技有限公司
技术研发日:2022.02.15
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/