首页> 中国专利> 一种虚拟网络环境中镜像网络流量的管理系统和控制方法

一种虚拟网络环境中镜像网络流量的管理系统和控制方法

摘要

一种虚拟化网络环境中对镜像网络流量的管理系统和基于软件定义的镜像流量管理和控制方法,本发明的镜像网络流量管理和监控系统包括镜像网络流量中心控制节点,虚拟化镜像流量管理节点,虚拟化镜像流量分发节点。利用镜像网络流量中心控制节点进行全局管控、利用靠近业务虚拟机部署的虚拟化镜像流量管理节点实现数据包捕获和按流表动作转发、利用靠近安全设备部署的虚拟化镜像流量分发节点实现数据包的按安全业务复制和分发。本发明具有全局视角的最优化镜像流量导出策略,镜像流量调度敏捷、完整,且镜像流量管理节点只占用很少的计算资源。

著录项

  • 公开/公告号CN106375384A

    专利类型发明专利

  • 公开/公告日2017-02-01

    原文格式PDF

  • 申请/专利权人 北京瑞和云图科技有限公司;

    申请/专利号CN201610744510.9

  • 发明设计人 不公告发明人;

    申请日2016-08-28

  • 分类号H04L29/08(20060101);H04L29/06(20060101);H04L12/741(20130101);H04L12/851(20130101);H04L12/931(20130101);

  • 代理机构北京红福盈知识产权代理事务所(普通合伙);

  • 代理人陈月福

  • 地址 100041 北京市石景山区实兴大街30号院7号楼12层1211室

  • 入库时间 2023-06-19 01:25:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-18

    授权

    授权

  • 2017-03-01

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20160828

    实质审查的生效

  • 2017-02-01

    公开

    公开

说明书

技术领域

本发明涉及信息安全技术领域,尤其涉及虚拟化网络环境中对镜像网络流量的管理和基于镜像网络流量的网络安全监控方案。

背景技术

在虚拟化网络环境中,用户的业务系统被部署在虚拟机上,为了保障这些系统的安全以及符合相关的安全合规性,仍然需要像在传统物理网络环境中一样对这些虚拟机进行网络安全监控。但是传统的硬件物理安全产品无法准确捕获所需要监控的业务虚拟机的网络流量。

软件定义网络(Software Defined Networks,SDN)是近年来提出的一种利用解耦网络硬件的控制层、转发层和数据层来实现对网络流量高灵活性转发控制的新的网络控制架构。Openflow是最具有代表性的SDN的具体实现技术之一。而整个SDN的方案也由支持Openflow的虚拟或物理交换机和Openflow的控制器组成。在执行转发时,控制器通过策略下发,将流表下发到相应支持Openflow协议的虚拟或物理交换机中,OpenFlow交换机将依照这个流表对所有进入其中的流量进行处理。如果流表中没有关于某特定流的条目与之对应,数据包信息则会被发往控制器,由控制器做出处理。控制器决定如何处理之后,就在OpenFlow交换机中通过相应的操作措施来对流进行处理。任何进入交换机的数据包都需要与数据头12个元组中的某一特定值进行匹配。根据对Openflow规范标准版本支持的不同,以及各个SDN交换机厂商实现的不同,流表所支持的配置项会有细节上的差别。

虚拟导流技术是一种通过特殊的安全虚拟机捕获同一台物理机中其他业务虚拟机流量,并将其导出给带外的硬件安全设备的虚拟化环境中的镜像流量捕获的解决方案。安全虚拟机通过镜像连接在同一台虚拟交换机上的业务虚拟机的流量,捕获到所需要监控的网络流量,并根据预先设置物理安全设备的目的地址,将其所捕获的网络流量直接转发到安全设备上。在此方案中,导流用的安全虚拟机通常只能无条件的或者基于简单IP规则进行过滤需要导出给物理安全设备的流量,因为安全虚拟机并不具备全局的拓扑视野,也不能进行复杂的判断,那样会导致其消耗过多的物理硬件资源,而影响其他业务虚拟机的正常工作。

在云计算和虚拟化环境中旁路监控业务虚拟机间的流量的方案目前主要有两种主要的技术路线:第一种方案是像传统网络环境一样,直接在物理交换机上配置镜像端口抓包。这个方案存在的问题在于虚拟化环境中业务虚拟机没有固定的物理拓扑,因此通过物理口镜像捕获到的网络流量是混杂了多个不同安全域(或虚拟局域网)的网络流量,但是有可能每个安全域的流量都不完整,这会很大的影响旁路安全检测的性能。第二种方案是通过在每台物理服务器上部署安全虚拟机进行流量捕获,再导流到目的安全设备。这种方案存在的问题是每台物理机上部署的安全虚拟机无法实时感知整个物理拓扑的变化情况,受性能所限,也无法对所捕获数据包的转发进行复杂的策略判断,如进行按协议过滤按、按安全域边界策略过滤等。另外安全虚拟机抓包导流的方案还存在有流量重复的问题,包括一种情况是两台部署在不同物理主机上的安全虚拟机都会抓到各自所在物理机上的业务虚拟机通信的同一个数据包,而无法准确判断其是否重复;另一种情况是安全虚拟机需要同时向如入侵检测系统、网络审计系统和应用性能监控系统等旁路安全设备导出其所捕获的流量时,若在安全虚拟机内将数据包复制多份后分别转发出去,会造成对其所在的物理主机的计算和网络资源极大的占用,从而严重影响与其共享资源的业务虚拟机的正常工作。

发明内容

本发明的目的是为了实现一种利用软件定义的概念实现镜像网络流量转发管理和控制的新的技术架构和系统,用于解决:1)安全监控过程中,安全设备对网络流量的捕获问题;2)由于性能限制导致的网络流量捕获终端无法实现细粒度的旁路网络流量转发策略的问题;3)由于不具备全局视野导致的网络流量捕获终端捕获流量重复的问题;4)向多个安全设备同时转发流量的多目的流量转发导致的业务主机带宽占用过大的问题。

一种基于软件定义的镜像网络流量管理和监控系统,提供了一种基于SDN设计思想的控制和转发解耦的新型技术架构,利用镜像网络流量中心控制节点进行全局管控、利用靠近业务虚拟机部署的虚拟化镜像流量管理节点实现数据包捕获和按流表动作转发、利用靠近安全设备部署的虚拟化镜像流量分发节点实现数据包的按安全业务复制和分发。如图1所示,本发明所实现的镜像网络流量管理和监控系统由三个主要部件组成,其中镜像网络流量中心控制节点可以是物理机或虚拟机的形态,部署在网络中可达的任何位置;虚拟化镜像流量管理节点是虚拟机的形态,部署在每台物理机中;虚拟化镜像流量分发节点是虚拟机的形态,部署在三层物理交换机中的旁路安全资源池中;虚拟机形态的旁路安全设备,如虚拟化入侵检测系统、虚拟化网络安全审计系统等部署在旁路安全资源池中,而物理形态的旁路安全设备连接在三层物理交换机上。

镜像网络流量管理和监控系统从业务逻辑上可以按照如图2所示的模块结构进行划分。整个系统分成三个逻辑层,分别是流量策略管理控制层、流量策略执行层和流量数据转发层。其中分别是流量策略管理控制层负责从全局上控制镜像流量的捕获、统计和转发的策略,该部分功能位于镜像网络流量中心控制节点中;流量策略执行层负责执行由流量策略管理控制层所下发的流量策略,包括对流量的复制、统计、过滤和封装,该部分功能分别位于镜像流量管理节点和镜像流量分发节点上。流量数据转发层负责对捕获到的实际业务系统的流量数据进行接收和发生,由于旁路安全资源池和业务资源池结构在实际应用环境中往往是异构的结构,安全产品往往不能对业务资源池进行过多兼容性的要求,因此该部分的功能中,“虚拟机系统内零拷贝数据包收发模块”位于流量管理节点和流量分发节点内、“虚拟化系统流量镜像模块”位于旁路网络流量中心控制节点内、“虚拟化系统零拷贝数据包发送模块”位于旁路安全资源池和镜像流量分发节点内。

本发明解决其技术问题所采用的技术方案是:一种镜像网络流量的管理系统,其特征在于,包括镜像流量中心控制节点,其用于进行全局管控;镜像流量管理节点,其用于实现数据包捕获和按流表动作转发;镜像流量分发节点,其用于实现数据包的按安全业务复制和分发;在所述镜像流量中心控制节点中包括镜像流量策略可视化配置模块、镜像流量管理节点管理模块、流量策略管理模块、流量负载统计监控模块、网络拓扑监控模块、流量策略决策模块、流量策略通信模块;在所述镜像流量管理节点和所述镜像流量分发节点中包括镜像流量策略控制代理模块、本地流表管理模块、流表执行模块、流量复制模块、流量统计模块、流量过滤模块、流量封装模块、虚拟机系统内零拷贝数据包收发模块、虚拟化系统流量镜像模块。

所述镜像流量管理节点管理模块,用于管理整个系统中所有的镜像流量管理节点和镜像流量分发节点,提供包括节点的注册、监控、部署、销毁操作,所述镜像流量策略管理模块,用于提供对用户所设定流量策略的查看、检索、新增、修改、复制和删除的功能,主要对接数据库的操作,所述流量负载统计监控模块,用于监控每个镜像流量管理节点所转发出去的流量,若发现某节点所在环境流量达到阈值,则下发流量策略停止流量的转发,以保证业务系统的资源使用,所述网络拓扑监控模块,用于监控业务网络中业务虚拟机和旁路安全设备的拓扑变化情况,当发现业务虚拟机的拓扑发生变化时,通知下发流量策略,更新相关的镜像流量管理节点中的流表项,当发现旁路安全设备的拓扑发生变化时,下发流量策略,更新相关的镜像流量管理节点和镜像流分发节点中的流表项,所述流量策略决策模块,用于在收到镜像流量管理节点或镜像流量分发节点所发出的流量策略请求后,根据已经配置的流量策略信息生成流量转发策略;在生成流量策略时会综合考虑流量统计的负载情况、源端和目的端的去重、需要过滤的IP或协议的白名单、是否需要进行流量分发多重因素,所述流量策略通信模块,用于接收镜像流量管理节点的流量策略请求,并将生成的流量策略下发到镜像流量管理节点,所述镜像流量策略控制代理模块,用于向流量中心控制节点发送流量策略请求,并接受流量中心控制节点下发的流量策略,所述本地流表管理模块,用于将接收流量策略存储到流转发表中,并执行流表项老化更新,所述流表执行模块,用于根据所接收到的数据包查找到相应的流表项,并根据流表项指定的行为调用具体的执行模块,或在无法找到相应的流表项时向流量策略控制代理模块提交流量策略请求,所述流量复制模块,用于执行对数据包的复制,提供对流表执行模块的调用接口,所述流量统计模块,用于执行对所捕获和所转发的数据包的流量统计,并定期向镜像网络流量中心控制节点进行上报,所述流量过滤模块,用于执行对数据包的过滤判断,提供对流表执行模块的调用接口,所述流量封装模块,用于提供对数据包的修改目的MAC地址和VLAN封装,提供对流表执行模块的调用接口,所述虚拟机系统内零拷贝数据包收发模块,用于在镜像流量管理节点和镜像流量分发节点内提供从虚拟网卡缓冲区到用户态的数据包零拷贝读写,所述虚拟化系统流量镜像模块,用于通过虚拟化和虚拟网络管理系统提供的API接口,把虚拟交换机上需要监控的业务虚拟机的流量镜像到镜像流量管理节点的抓包端口上,所述虚拟化系统零拷贝数据包发送模块,用于镜像流量分发节点的虚拟网卡缓冲区到安全资源池的物理网卡缓冲区之间提供数据包的零拷贝写操作。

整个系统通过如下的流程来实现利用对整个云计算和虚拟化环境镜像网络流量的管理和监控:

部署在业务资源池上的镜像流量管理节点通过虚拟网卡抓取用户业务系统(业务虚拟机)在虚拟交换机上的数据包

镜像流量管理节点对数据包的源IP、目的IP、VLANID、端口号作为检索条件查询旁路网络流转发表,若查找到相应的流表项,则按照流表项所定义的行为(Action)进行转发,并对转发的流量数进行统计,将统计结果上报到中心控制节点;若无法找到相应的流表项则直接应用默认的流表规则,并向中心控制节点发起请求,请求对该流的转发策略。

镜像网络流量中心控制节点提供用户界面进行对端到端粒度的镜像流量监控的白名单配置,指定哪些类型的流量可以不需要被导出给旁路安全设备,这个配置将作为流转发策略下发到镜像流量管理节点。同时中心控制节点实时监测整个网络中的拓扑变化情况(基于虚拟化管理平台的推送同时,进行实时同步),并将变化情况实时通过下发流转发策略的方式下发至镜像流量管理节点。

镜像网络流量中心控制节点在接收到镜像流量管理节点的流的转发策略请求后,通过分析请求内容,综合考虑包括:对转发流量统计信息的负载判断,对数据包所代表流量类型的分析结果和对该流量所对应的旁路安全设备的配置情况,计算出适合的转发策略,并以流表项的方式下发到镜像流量管理节点(在配置了多个旁路安全设备的情况下,也可能包括流量分发节点)。

镜像流量管理节点在接收到流转发策略后,更新流表项,并按照流表项对所捕获的网络流进行转发。

当一个流对应多个旁路安全设备时,流转发策略将把镜像流量管理节点的流转发目的指向靠近安全设备部署位置的镜像流量分发节点。

镜像流量分发节点在接收到数据包后,查看其流表项,并根据流表项进行流的复制或转发等操作。

本发明还公开了一种基于软件定义的镜像流量管理和控制方法,如图3所示,方法流程如下:

1)在镜像流量管理节点捕获数据包

2)镜像流量管理节点根据数据包中的IP地址、端口号和VLANID查找本地流表

3)未找到匹配的流表项时,执行默认的转发规则(不转发或转发到所指定的安全设备而不进行流量过滤)

4)镜像流量管理节点向镜像流量中心控制节点发送请求流量策略的报文

5)镜像流量中心控制节点收到流量策略请求,根据对数据包的协议解析结合用户所配置的协议过滤白名单判断该流量是否需要被导出;根据数据包的源端和目的端的拓扑位置判断是否属于重复捕获的流量;在属于重复捕获的流量时,根据对镜像流量管理节点上报的导出流量的统计情况判断指定源端所在镜像流量管理节点导出流量还是目的端所在镜像流量管理节点导出流量;根据流量来源的安全域所配置的旁路安全设备判断是否需要将流量导入镜像流量分发节点

6)构造基于步骤5中策略决策的流量策略(即流表项),下发至镜像流量管理节点和镜像流量分发节点(如果需要),并下发相应的openflow流表项到旁路安全资源池中的虚拟交换机上

7)镜像流量管理节点捕获到数据包后,找到匹配的流表项时,将执行流表项所指定的动作,包括对数据包直接丢弃或封装并导出

8)镜像流量管理节点定期将导出流量进行统计后上报给镜像流量中心控制节点

9)若数据包被转发到镜像流量分发节点中,根据数据包中的IP地址、端口号和VLANID查找本地流表,并执行流表项所指定的动作,包括对数据包复制或导出

10)步骤7中的镜像流量管理节点的数据包导出和步骤9中的镜像流量分发节点的数据包导出都将会使得数据包能够被导出到最终的旁路安全设备上。

这种实现方法具有以下的先进性:1)对镜像流量进行全局的统一管理,利用镜像流量中心控制节点的全局视角制定最优化的镜像流量导出策略;2)细粒度的灵活控制镜像流量的导出策略,能够过滤视频流、大文件传输等既占用带宽和计算资源又影响安全设备检测效率的流量;3)通过软件定义结合智能决策来构建镜像流量的导出策略,实现对镜像流量的敏捷调度;4)自动优化镜像流量导出时对虚拟化物理服务器网络的带宽使用,并通过镜像流量分发节点解决了多旁路安全设备的流量获取问题;5)保证镜像流量的完整性;6)控制决策与转发导流解耦合的架构使得部署在用户虚拟化环境中的镜像流量管理节点只占用很少的计算资源。

附图说明

图1为镜像网络流量管理和监控系统部署拓扑图;

图2为镜像网络流量管理和监控系统业务逻辑

图3为基于软件定义的镜像流量管理和控制方法

图4为网络流量管理和监控系统业务示意图

具体实施方式

下面结合附图对本发明作进一步详细说明。

在以虚拟化技术为核心的数据中心或云计算中心中,由于SDN技术还并未被大范围应用,因此系统的实施方案中不应该要求用户业务环境中必须使用支持Openflow的虚拟交换机和物理交换机,因此在本实施例将描述一种仅在三层物理交换机上使用openflow协议的应用场景(在不使用openflow协议时,三层交换机也可以使用策略路由来实现对镜像流量的转发或者通过在镜像流量管理节点修改目的MAC地址以实现基于MAC地址学习的转发),考虑到安全设备一般可以由安全厂商进行提供,因此本实施例中使用基于虚拟化技术的旁路安全资源池,并将入侵检测虚拟化等安全设备以虚拟机的形式部署在旁路安全资源池中,同时在旁路安全资源池中使用支持openflow的虚拟交换机(这里与用户业务网络完全不耦合)。

该装置至少包括了镜像流量中心控制节点、镜像流量管理节点和镜像流量分发节点三个主要的组件(旁路安全资源池和虚拟化的旁路安全设备可使用独立的第三方提供的系统)。三个主要组件所包括的主要模块至少包括,在镜像流量中心控制节点中:镜像流量策略可视化配置模块、镜像流量管理节点管理模块、流量策略管理模块、流量负载负载统计监控模块、网络拓扑监控模块、流量策略决策模块、流量策略通信模块、虚拟化系统流量镜像模块;在镜像流量管理节点和镜像流量分发节点中:镜像流量策略控制代理模块、本地流表管理模块、流表执行模块、流量复制模块、流量统计模块、流量过滤模块、流量封装模块、虚拟机系统内零拷贝数据包收发模块。前文所述的虚拟化系统零拷贝数据包收发模块在第三方旁路安全资源池中可以不用支持(会有一定性能的影响)。

如图4所示,物理主机A和物理主机B是用户业务环境的虚拟化服务器,上面分别运行了虚拟机A(镜像流量管理节点)、虚拟机B(用户业务系统)以及虚拟机C(镜像流量管理节点)、虚拟机D(用户业务系统)。在物理主机A和物理主机B中的虚拟交换机都不支持openflow协议,它们所连接的接入层二层物理交换机也不支持openflow协议,为了管理方便在三层的汇聚层交换机上开启了openflow协议的支持。物理主机C是旁路安全资源池,其中的虚拟交换机开启了openflow协议的支持。旁路安全资源池上部署了虚拟机E(镜像流量分发节点)、虚拟机F(入侵检测系统)和虚拟机G(网络审计系统)。镜像流量中心控制节点与其所管理的所有镜像流量管理节点和镜像流量分发节点在同一网段且IP可达。本实施例的应用场景为虚拟机B向虚拟机C发送数据报文,流量包括有视频文件和数据访问两种,在安全解决方案下,该数据库访问的流量需要被入侵检测系统和网络审计系统同时进行监测而视频流需要被过滤掉。下面结合实施例的具体步骤介绍各个模块的功能和整个系统的工作过程。

步骤1,用户通过镜像流量中心控制节点向物理主机A和物理主机B上部署镜像流量管理节点,虚拟机A和虚拟机C,下发默认规则到虚拟机A和虚拟机C中,默认规则为直接丢弃,不导出所捕获的镜像流量。

步骤2,用户通过镜像流量中心控制节点配置流量策略,虚拟机B与虚拟机D之间的流量配置为需要被监控,并且配置监控的安全设备为虚拟机F和虚拟机G,同时设置视频流协议的类型加入到白名单中。

步骤3,用户根据安全防护策略通过镜像流量中心控制节点配置需要镜像到镜像流量管理节点上的流量,并将该配置下发到业务资源池,使得虚拟交换机的镜像功能生效。

步骤4,虚拟机A捕获到虚拟机B与虚拟机D之间通信的数据包的镜像流量,查找虚拟机B到虚拟机D之间的规则,无法找到,按照默认规则执行,并上报镜像流量中心控制节点请求流量策略。同时虚拟机C也将捕获到同一个数据包,并同样上报镜像流量中心控制节点请求流量策略。

步骤5,镜像流量中心控制节点收到流量策略的请求后,根据拓扑判断出该流量存在重复捕获的情况,再根据此时虚拟机A和虚拟机C所捕获的总流量的大小(假设虚拟机A所在物理主机A的总流量较小),判断出由虚拟机A导出该流量更合适,再通过对数据包的解析发现该数据包不是视频流,最后根据虚拟机B到虚拟机D之间的流量的安全设备配置为虚拟机F和虚拟机G做出决策,由虚拟机A将流量导出给虚拟机E,并由虚拟机将流量复制后分别导出给虚拟机F和虚拟机G。

步骤6,镜像流量中心控制节点向虚拟机A、虚拟机C和虚拟机E分别下发流表项。

步骤7,虚拟机A接收到流表项后,更新本地流表项,并对后续属于该流的数据包按照新的流表项进行导流,即转发到虚拟机E;虚拟机C更新流表项后对于属于该流的后续数据包直接丢弃;虚拟机E在更新流表项后,对于虚拟机A转发来的数据包进行复制,并将复制后的数据包分别转发到虚拟机F和虚拟机G进行安全检测和审计。

上述实施例仅例示性说明本发明的原理及其功效,以及部分运用的实施例,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号