云流量下的数据采集监控分析的方法及系统转让专利

申请号 : CN202110626536.4

文献号 : CN113347258B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡倩倩涂志宇蔡晓华

申请人 : 上海天旦网络科技发展有限公司

摘要 :

本发明提供了一种云流量下的数据采集监控分析的方法,包括如下步骤:步骤1:云内环境中的流量进行镜像处理;步骤2:云内环境中对所述步骤1得到的流量进行采集、封装标识、发送;步骤3:云外环境中对所述步骤2得到的流量进行采集;步骤4:云外环境中对所述步骤3得到的流量进行网络协议分析。本发明有效的适应各种云环境下的数据流量采集转换,有效的解决了云环境中容器创建销毁时IP动态变化导致的网络流量解析困难的问题,能够准确快速的识别处理复杂网络环境下的数据包。

权利要求 :

1.一种云流量下的数据采集监控分析的方法,其特征在于,包括如下步骤:步骤1:云内环境中的流量进行镜像处理;

步骤2:云内环境中对所述步骤1得到的流量进行采集、封装标识、发送;

步骤3:云外环境中对所述步骤2得到的流量进行采集;

步骤4:云外环境中对所述步骤3得到的流量进行网络协议分析;

步骤1包括如下步骤:

Vmware流量镜像步骤:当云内为Vmware虚拟机环境时,通过配置虚拟交换机和虚拟网卡,设置端口镜像,来实现流量镜像到指定的目的端口;

Docker流量镜像步骤:当云内为Docker环境时,流量通过宿主机上的docker0网桥转发到目的端口;

K8S流量镜像步骤:当云内为K8S环境时,通过创建镜像容器,同时配置calico网络,将流量从宿主机的业务容器内转发到目标地址;

采用网络流量镜像方案将被监控节点的数据导出;

所述步骤2包括如下步骤:

云内流量采集步骤:云内环境中对所述步骤1得到的流量进行采集,针对采集得到的数据包根据用户的需求设定各种过滤条件;

封装标识步骤:云内环境中按配置对所述云内流量采集步骤得到的流量进行封装和标识按配置进行流量封装和标识,标识包括所属应用和流量方向,流量标识方案不改变原有业务结构,根据当时被监控的云环境所能接受的方案做标识;

云内流量发送步骤:云内环境中将所述封装标识步骤得到的流量发送到云外环境,流量转发给多个目标地址,同时给不同目标地址设置不同的输出带宽限制;

所述步骤3包括如下步骤:

云外流量采集步骤:云外环境中对所述步骤2得到的流量进行采集,云外目标地址收到标签过的流量后进行校验,确定为云内采集程序发送的包后进行采集,采集的流量包括根据不同封装协议处理的混合的流量;

标准化步骤:云外环境中对所述云外流量采集步骤得到的流量进行标准化处理,根据不同协议结构,将采集到的数据包重新标准化为当前监控系统的优选方案,对于采集到的任何一种结构的数据包都映射成统一的标准化结构,映射指将ServiceTag和PacketDir从原来的封装方案修改到被选择的标准化封装方案中,包括封装标识步骤的方案作为标准化方案,使用MPLS封装;

步骤4包括如下步骤:

步骤4.1:标识提取和读写,在监控系统中进行服务标识配置的提取和读写,服务标识为0‑4095的单个整数型数据,同时实现了实时的提取和读写,用于后续步骤的流量解析;

步骤4.2:应用标识和方向,读取服务标识和方向后,和从标准化处理过的流量中剥离出的服务标识和方向进行匹配解码,识别出不同的数据来源,然后将得到的数据继续传递给监控系统业务处理模块;

步骤4.3:后续处理,该部分为业务数据的统计存储展示,支持对接其他各种能够处理业务数据的监控系统,监控系统根据统一的方式对标识做提取和应用。

2.根据权利要求1所述的一种云流量下的数据采集监控分析的方法,其特征在于,所述步骤1中的云内环境中的流量包括Vmware流量、Docker流量和K8S流量。

3.根据权利要求1所述的一种云流量下的数据采集监控分析的方法,其特征在于,所述封装标识步骤中通过封装协议对采集的流量进行封装和标识,封装协议包括GRE、VLAN、IPX、VXLAN和MPLS。

4.一种云流量下的数据采集监控分析的系统,其特征在于,应用权利要求1‑3所述的一种云留恋下的数据采集监控分析的方法,包括如下模块:模块M1:云内环境中的流量进行镜像处理;

模块M2:云内环境中对所述模块M1得到的流量进行采集、封装标识、发送;

模块M3:云外环境中对所述模块M2得到的流量进行采集;

模块M4:云外环境中对所述模块M3得到的流量进行网络协议分析;

所述模块M1实现:

Vmware流量镜像步骤:当云内为Vmware虚拟机环境时,通过配置虚拟交换机和虚拟网卡,设置端口镜像,来实现流量镜像到指定的目的端口;

Docker流量镜像步骤:当云内为Docker环境时,流量通过宿主机上的docker0网桥转发到目的端口;

K8S流量镜像步骤:当云内为K8S环境时,通过创建镜像容器,同时配置calico网络,将流量从宿主机的业务容器内转发到目标地址;

采用网络流量镜像方案将被监控节点的数据导出;

所述模块M2实现:

云内流量采集步骤:云内环境中对所述模块M1得到的流量进行采集,针对采集得到的数据包根据用户的需求设定各种过滤条件;

封装标识步骤:云内环境中按配置对所述云内流量采集步骤得到的流量进行封装和标识按配置进行流量封装和标识,标识包括所属应用和流量方向,流量标识方案不改变原有业务结构,根据当时被监控的云环境所能接受的方案做标识;

云内流量发送步骤:云内环境中将所述封装标识步骤得到的流量发送到云外环境,流量转发给多个目标地址,同时给不同目标地址设置不同的输出带宽限制;

所述模块M3实现:

云外流量采集步骤:云外环境中对所述模块M2得到的流量进行采集,云外目标地址收到标签过的流量后进行校验,确定为云内采集程序发送的包后进行采集,采集的流量包括根据不同封装协议处理的混合的流量;

标准化步骤:云外环境中对所述云外流量采集步骤得到的流量进行标准化处理,根据不同协议结构,将采集到的数据包重新标准化为当前监控系统的优选方案,对于采集到的任何一种结构的数据包都映射成统一的标准化结构,映射指将ServiceTag和PacketDir从原来的封装方案修改到被选择的标准化封装方案中,包括封装标识步骤的方案作为标准化方案,使用MPLS封装;

所述模块M4实现:

步骤4.1:标识提取和读写,在监控系统中进行服务标识配置的提取和读写,服务标识为0‑4095的单个整数型数据,同时实现了实时的提取和读写,用于后续步骤的流量解析;

步骤4.2:应用标识和方向,读取服务标识和方向后,和从标准化处理过的流量中剥离出的服务标识和方向进行匹配解码,识别出不同的数据来源,然后将得到的数据继续传递给监控系统业务处理模块;

步骤4.3:后续处理,该部分为业务数据的统计存储展示,支持对接其他各种能够处理业务数据的监控系统,监控系统根据统一的方式对标识做提取和应用。

5.根据权利要求4所述的一种云流量下的数据采集监控分析的系统,其特征在于,所述模块M1中的云内环境中的流量包括Vmware流量、Docker流量和K8S流量。

6.根据权利要求5所述的一种云流量下的数据采集监控分析的系统,其特征在于,所述封装标识模块中通过封装协议对采集的流量进行封装和标识,封装协议包括GRE、VLAN、IPX、VXLAN和MPLS。

说明书 :

云流量下的数据采集监控分析的方法及系统

技术领域

[0001] 本发明涉及数据采集监控分析的技术领域,具体地,涉及一种云流量下的数据采集监控分析的方法及系统。

背景技术

[0002] 在现如今的银行、券商、网络运营商业中,数据流量的采集和监控分析,是保障业务稳定良好运行的一个重要运维手段。图1是一个典型的网络数据传输拓扑图。数据在被监控环境中采集,通过诸如交换机类的网络交换装置被传输到监控系统做后续的处理。
[0003] 传统的数据采集处理方案如图2所示。通过交换机或路由器,将端口的数据流量镜像至某个特定端口,端口使用网线连接,设置混杂模式后进行抓包,采集该特定端口的流量,采集的流量包可以进行后续的协议分析和监控分析,生成相应的业务数据。
[0004] 公开号为CN101188531A的中国发明专利文件公开了一种监测网络流量异常的方法及系统,解决现有采用交换机镜像技术监测流量异常,带来交换机性能损耗、数据包丢失等问题。该方法包括:先通过粗粒度监测方法定位交换机中流量异常的端口,然后自动调整交换机的镜像端口,将异常端口流量复制到所述镜像端口,最后再采用细粒度监测方法对镜像端口流量进行分析,得出流量异常原因。该方法是对传统交换机镜像技术的改进,只有在流量异常的时候才会触发交换机镜像,大部分时间内不会使用交换机的镜像功能,所以不会增加负载而影响交换机的性能;而且,通过动态而有针对性的方式调整镜像端口,避免了将多个端口镜像到一个端口带来的丢包情况。
[0005] 针对上述中的现有技术,发明人认为随着云时代的到来,云技术不断发展,传统的数据采集方案面临着以下两个问题:一是监控系统一般位于云外,云内的被监控环境无法再用网线连接的方式采集数据,而是需要业务网络的采集传输方案;二是云内环境中,容器的创建和销毁,会使得数据包的IP在每一次创建时发生变化,传统的通过IP+PORT的配置方式识别和解析网络流量已经无法满足现场的动态化场景。

发明内容

[0006] 针对现有技术中的缺陷,本发明的目的是提供一种云流量下的数据采集监控分析的方法及系统。
[0007] 根据本发明提供的一种云流量下的数据采集监控分析的方法,包括如下步骤:
[0008] 步骤1:云内环境中的流量进行镜像处理;
[0009] 步骤2:云内环境中对所述步骤1得到的流量进行采集、封装标识、发送;
[0010] 步骤3:云外环境中对所述步骤2得到的流量进行采集;
[0011] 步骤4:云外环境中对所述步骤3得到的流量进行网络协议分析。
[0012] 优选的,所述步骤1中的云内环境中的流量包括Vmware流量、Docker流量和K8S流量。
[0013] 优选的,所述步骤2包括如下步骤:
[0014] 云内流量采集步骤:云内环境中对所述步骤1得到的流量进行采集;
[0015] 封装标识步骤:云内环境中按配置对所述云内流量采集步骤得到的流量进行封装和标识;
[0016] 云内流量发送步骤:云内环境中将所述封装标识步骤得到的流量发送到云外环境。
[0017] 优选的,所述封装标识步骤中通过封装协议对采集的流量进行封装和标识,封装协议包括GRE、VLAN、IPX、VXLAN和MPLS。
[0018] 优选的,所述步骤3包括如下步骤:
[0019] 云外流量采集步骤:云外环境中对所述步骤2得到的流量进行采集,采集的流量包括根据不同封装协议处理的混合的流量;
[0020] 标准化步骤:云外环境中对所述云外流量采集步骤得到的流量进行标准化处理。
[0021] 根据本发明提供的一种云流量下的数据采集监控分析的系统,包括如下模块:
[0022] 模块M1:云内环境中的流量进行镜像处理;
[0023] 模块M2:云内环境中对所述模块M1得到的流量进行采集、封装标识、发送;
[0024] 模块M3:云外环境中对所述模块M2得到的流量进行采集;
[0025] 模块M4:云外环境中对所述模块M3得到的流量进行网络协议分析。
[0026] 优选的,所述模块M1中的云内环境中的流量包括Vmware流量、Docker流量和K8S流量。
[0027] 优选的,所述模块M2包括如下模块:
[0028] 云内流量采集模块:云内环境中对所述模块M1得到的流量进行采集;
[0029] 封装标识模块:云内环境中按配置对所述云内流量采集模块得到的流量进行封装和标识;
[0030] 云内流量发送模块:云内环境中将所述封装标识模块得到的流量发送到云外环境。
[0031] 优选的,所述封装标识模块中通过封装协议对采集的流量进行封装和标识,封装协议包括GRE、VLAN、IPX、VXLAN和MPLS。
[0032] 优选的,所述模块M3包括如下模块:
[0033] 云外流量采集模块:云外环境中对所述模块M2得到的流量进行采集,采集的流量包括根据不同封装协议处理的混合的流量;
[0034] 标准化模块:云外环境中对所述云外流量采集模块得到的流量进行标准化处理。
[0035] 与现有技术相比,本发明具有如下的有益效果:
[0036] 1、本发明有效的适应各种云环境下的数据流量采集转换,包括但不限于Vmware、Docker、K8S,只需将传统方案下的监控系统简单设置即可扩展部署到云环境;
[0037] 2、本发明有效的解决了云环境中容器创建销毁时IP动态变化导致的网络流量解析困难的问题,能够准确快速的识别处理复杂网络环境下的数据包;
[0038] 3、本发明支持多种封包方案,包括但不限于GRE、VLAN、IPX、VXLAN、MPLS,兼容性强;
[0039] 4、本发明做了统一优化之后和标识的提取,简化了后续处理,大大提高了数据处理效率。

附图说明

[0040] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0041] 图1为网络数据传输拓扑图;
[0042] 图2为传统数据采集监控方案图;
[0043] 图3为本发明步骤流程图;
[0044] 图4为GRE封装数据包结构;
[0045] 图5为VLAN封装数据包结构图;
[0046] 图6为IPX封装数据包结构图;
[0047] 图7为VXLAN封装数据包结构图;
[0048] 图8为MPLS封装数据包结构图;
[0049] 图9为混合流量采集和标准化示意图;
[0050] 图10为本发明举例示意图。

具体实施方式

[0051] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0052] 本发明实施例公开了一种云流量下的数据采集监控分析的方法及系统,如图3所示,包括如下步骤:
[0053] 步骤1:云内环境中的流量镜像,云内环境中的流量进行镜像处理。云内环境中的流量包括Vmware流量、Docker流量和K8S流量。云内环境中的网络流量镜像。步骤1包括如下步骤:Vmware流量镜像步骤:当云内为Vmware虚拟机环境时,可以通过配置虚拟交换机和虚拟网卡,设置端口镜像,来实现流量镜像到指定的目的端口。Docker流量镜像步骤:当云内为Docker环境时,流量通过宿主机上的docker0网桥转发到目的端口。K8S流量镜像步骤:当云内为K8S(kubernetes)环境时,可以通过创建镜像容器,同时配置calico网络,将流量从宿主机的业务容器内转发到目标地址。
[0054] 采用网络流量镜像方案将被监控节点的数据导出,云内环境包括但不限于Vmware云镜像、Docker云镜像、K8S云镜像。
[0055] 步骤2:云内环境中对步骤1得到的流量进行采集、封装标识、发送,云内环境中的流量采集标签和传输。步骤2包括如下步骤:云内流量采集步骤:云内环境中对步骤1得到的流量进行采集,云内流量采集。在云内对流量进行采集,采集的流量可以是针对单网卡的流量也可以是多网卡的流量。于此同时,针对采集得到的数据包可以根据用户的需求来设定各种过滤条件(过滤条件如发送端/接收端IP地址,端口号,协议等等)以及这些过滤条件的“与”、“或”和“非”的复杂组合。
[0056] 封装标识步骤:云内环境中按配置对云内流量采集步骤得到的流量进行封装和标识,按配置进行流量封装和标识;封装标识步骤中通过封装协议对采集的流量进行封装和标识,封装协议包括GRE、VLAN、IPX、VXLAN和MPLS。目前有很多通用的封装协议,在这些协议的数据包头中可以设置ServiceTag(服务标识)以及PacketDir(数据包方向,接送/发送)。封装协议包括GRE、VLAN、IPX、VXLAN和MPLS,以下分别介绍:
[0057] GRE(Generic Routing Encapsulation)是通用路由封装协议,可以对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在网络中传输。采用该协议封装的时候,需要在原来数据包外层另外添加ethernet层和ip层,ServiceTag和PacketDir在key字段设置,如图4所示。
[0058] VLAN(Virtual Local Area Network)虚拟网络协议,是在ethernet层和ip层之间加入vlan层,ServiceTag和PacketDir在tci字段设置,其数据包结构如图5所示。
[0059] IPX(Internetwork Packet Exchange protocol)互联网分组交换协议,提供分组寻址和选择路由的功能,保证可靠到达,相当于数据报的功能。SAP收听方通过组播范围区域通知协议(或其它协议)知道通知所在的组播范围,并收听那些范围内的SAP地址和端口上的通知。如此,收听方最终会知道所有会话通知,并允许那些会话加入组播范围。IPX和SAP在协议栈中的位置如图6所示。ServiceTag和PacketDir可以设置在SAP包头中,具体位置如图6所示。
[0060] VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)技术很好地解决了VLAN技术无法满足大二层网络需求的问题。在封装vxlan层的时候需要在原来数据包外另外添加ethernet层,ip层以及udp层,ServiceTag和PacketDir在vni字段设置,其数据包封装的结构如图7所示。
[0061] MPLS(Multi‑Protocol Label Switching)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。多协议的含义是指MPLS不但可以支持多种网络层层面上的协议,还可以兼容第二层的多种数据链路层技术。可以在ethernet层和ip层之间插入mpls包头,ServiceTag和PacketDir设置在相应的字段中,如图8所示。
[0062] 云内采集方案,采集后能够对流量打上相应标识,标识包括所属应用和流量方向。流量标识方案不改变原有业务结构,能根据当时被监控的云环境所能接受的方案做标识,使用包括但不限于GRE、VLAN、IPX、VXLAN、MPLS封装技术将数据包传输到云外。
[0063] 云内流量发送步骤:云内环境中将封装标识步骤得到的流量发送到云外环境,云内流量发送。在将数据包用其他协议封装标识以后,就可以将其发送给目标地址进行处理。这里需要说明的是,该流量可以转发给多个目标地址,同时可以给不同目标地址设置不同的输出带宽限制。
[0064] 步骤3:云外环境中对步骤2得到的流量进行采集,云外监控流量采集和标准化。步骤3包括如下步骤:云外流量采集步骤:云外环境中对步骤2得到的流量进行采集,采集的流量包括根据不同封装协议处理的混合的流量,云外流量采集。云外目标地址收到标签过的流量后进行校验,确定为云内采集程序发送的包后进行采集,采集的流量为经过步骤2处理的根据不同协议识别的混合流量。
[0065] 标准化步骤:标准化,云外环境中对云外流量采集步骤得到的流量进行标准化处理。根据不同协议结构,将采集到的数据包重新标准化为当前监控系统的优选方案,简化后续处理,即对于采集到的任何一种结构的数据包都映射成统一的标准化结构。这里的映射指将ServiceTag和PacketDir,从原来的封装方案修改到被选择的标准化封装方案中。本方案包括但不限于封装标识步骤的方案作为标准化方案。同时优选MPLS封装,MPLS尤其适用于大型网络系统架构,并能被交换机等硬件广泛支持。云外为了简化后续的处理,做统一的标准化封装。
[0066] 步骤4:网络协议分析,云外环境中对步骤3得到的流量进行网络协议分析。步骤4包括如下步骤:步骤4.1:标识提取和读写。在监控系统中进行服务标识配置的提取和读写,该步骤替换了传统方案中读取配置表中IP+PORT配置的方式。传统方案中,通过配置客户端IP/PORT和服务端IP/PORT的IP四元组存储到配置文件或数据库,当服务器上采集到数据包后,需要再次读取文件或数据库中IP四元组的配置进行匹配。本发明中,服务标识为0‑4095的单个整数型数据,同时实现了实时的提取和读写,用于后续步骤的流量解析;
[0067] 步骤4.2:应用标识和方向。读取服务标识和方向后,和从标准化处理过的流量中剥离出的服务标识和方向进行匹配解码,识别出不同的数据来源,然后将得到的数据继续传递给监控系统业务处理模块。
[0068] 步骤4.3:后续处理。该部分为业务数据的统计存储展示,不做赘述。本发明的方法支持对接其他各种能够处理业务数据的监控系统,监控系统根据统一的方式对标识做提取和应用。
[0069] 如图10所示的举例,第一步在k8s云环境内采集原始流量镜像。第二步将第一步采集到的数据包使用GRE封装,发送到云环境外。第三步在云环境外采集处理过的流量后,使用MPLS封装数据包,并使用标准化的格式包含数据标识和流量方向。第四步监控系统通过读取配置的标识处理传送过来标准化的数据,并进行后续的业务数据处理和分析。
[0070] 本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0071] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。