一种基于SDN网络的流量捕获方法与系统技术方案

技术编号:21612282 阅读:33 留言:0更新日期:2019-07-13 20:41
本发明专利技术提供一种基于SDN网络的流量捕获方法和系统,通过修改虚拟机和物理机网卡所接入的SDN交换机的流表规则,利用SDN网络建立流量隧道,同时使用消息队列发送与接收任务消息,实现对SDN网络中虚拟机和物理机流量的捕获。该系统包括对任务进行控制管理的任务控制子系统和实际执行流量捕获任务的任务执行子系统:以虚拟机和物理机的网卡ID或MAC作为输入,对虚拟机和物理机网卡的流入和流出流量进行捕获,最终将被捕获的流量迁移到远程流量接收设备。本发明专利技术可用于对SDN环境下的虚拟机和物理机进行流量的捕获和监控。

A Traffic Capture Method and System Based on SDN Network

【技术实现步骤摘要】
一种基于SDN网络的流量捕获方法与系统
本专利技术属于数据通信
,涉及SDN技术,特别涉及一种基于SDN网络的流量捕获方法与系统。
技术介绍
随着SDN技术的不断扩张,云、数据中心和企业网中的东西向流量呈快速增长趋势。对东西向网络流量的采集和分析,可以帮助用户实现诸多价值。目前,市面上的SDN流量捕获方法主要有以下几种:策略捕获:由控制子系统接收用户指令后,对SDN交换机下发采集策略,将流量通过隧道或其他形式转发至分析子系统,完成流量采集。网元捕获:由SDN交换机直接提供流量镜像能力。用户可通过调用对应的API实现流量的采集能力。一般多见于成熟的商用整体网络解决方案。和策略采集不同,网元采集的粒度及灵活度多受限于网元接口API开放出来的能力。受限于接口API的粒度,无法自行实现细粒度控制。代理捕获:在hypervisor上运行agent代理,同时启动专用的流量分析主机。Agent接收控制子系统的指令,完成网络配置,将流量导入流量分析主机,完成流量采集。SDN网络技术多种多样,一般采用TRILL、VxLan、GRE、NVGRE等隧道技术。TRILL(TransparentInterconnecTIonofLotsofLinks)技术是电信设备厂商主推的新型环网技术;NVGRE(NetworkVirtualizaTIonusingGenericRouTIngEncapsulaTIon)STT(StatelessTransportTunnelingProtocol)是IT厂商主推的SDN技术;以及大家非常熟悉的VXLAN(VirtualeXtensibleLAN)等基于隧道的封装技术。但是,上述现有技术中的的策略采集存在下发策略数目大,管理难度高的缺陷,并且往往需要开发专门的SDN控制器,对每一台SDN交换机的转发规则基于被捕获设备的网络信息进行配置,造成了管理与维护的困难。
技术实现思路
为了克服上述现有技术的缺点,本专利技术提供一种基于SDN网络的流量捕获方法与系统,通过简单的洪泛-反射机制,在被捕获设备与接收设备所接入的SDN交换机之间自主地建立被捕获设备和接收设备的流量隧道,并在后台管理与监控该流量隧道。为了实现上述目的,本专利技术采用的技术方案是:一种基于SDN网络的流量捕获方法,包括如下步骤:配置SDN交换机的隧道端口(VXLAN、GRE端口等),建立被捕获设备-接收设备之间的流量隧道,其中被捕获设备指需要被捕获流量的设备,接收设备指负责接收该捕获流量的设备;对被捕获设备所接入的SDN交换机上的隧道端口与接收设备所接入的SDN交换机上的隧道端口进行监控;将被捕获设备上的流量进行捕获并通过流量隧道迁移到接收设备。所述配置SDN交换机的隧道端口的方法为:为每一个接收设备分配一个SDN-Overlay网络隧道编号;配置被捕获设备所接入的SDN交换机的流表规则,设置为将被捕获设备的流量进行复制并在包头添加所迁移到的接收设备的SDN-Overlay网络隧道编号后,洪泛到所在SDN网络内部其他接收设备所接入的SDN交换机的隧道端口上。所述建立被捕获设备-接收设备之间的流量隧道的方法为:配置接收设备所接入的SDN交换机的流表规则,使该SDN交换机接收到具有接收设备对应SDN-Overlay网络隧道编号的流量之后,发出洪泛响应报文;配置被捕获设备所接入的SDN交换机的流表规则,设置为在所接入的SDN交换机的某个隧道端口接收到洪泛响应报文之后,将被捕获设备和该隧道端口进行绑定。所述对被捕获设备所接入的SDN交换机上的隧道端口与接收设备所接入的SDN交换机上的隧道端口进行监控的方法为:将隧道端口监控分为被捕获设备监控和接收设备监控两个部分:对于被捕获设备所接入的SDN交换机上的隧道端口的监控,在被捕获设备上启动Tcpdump流量捕获进程,监控接入SDN交换机的网卡的流量,实现对被捕获设备所接入的SDN交换机上的隧道端口流量的监控;对于接收设备所接入的SDN交换机上的隧道端口的的监控,在接收设备上启动Tcpdump流量捕获进程,监控接入SDN交换机网卡的流量,实现对被捕获设备所接入的SDN交换机上的隧道端口流量的监控。所述将被捕获设备上的流量进行捕获并通过流量隧道迁移到接收设备的方法为:配置被捕获设备所接入的SDN交换机的流表规则,设置为进出该被捕获设备的所有流量经过复制后通过绑定的接收设备对应的隧道端口向外发送;配置接收设备所接入的SDN交换机的流表规则,使得该SDN交换机接收到具有接收设备对应隧道编号的流量后,直接转发到接收设备。本专利技术可利用流量监控进程将捕获到的流量存储为对应格式的流量文件,并且采用多进程模型处理批量捕获任务以提高效率。本专利技术可利用消息队列,独立出任务控制子系统和任务执行子系统,任务控制子系统下发的任务将通过消息队列分发到对应的任务执行子系统上,一个任务控制子系统能够将任务下发到多个任务执行子系统上。本专利技术还提供了一种基于SDN网络的流量捕获方法的流量捕获系统,包括:任务控制子系统,用于控制捕获任务的运行和终止,并为流量捕获任务维持一个数据库;任务执行子系统,用于接收任务控制子系统的下发的流量捕获任务控制命令以开始和终止流量捕获任务,并将捕获到的流量转发到远程流量接收设备。所述任务控制子系统由数据库模块、RPC(RemoteProcessCall,远程过程调用)模块、任务管理模块组成,三个模块组合完成对流量捕获任务的控制功能,其中:任务管理模块,接收用户输入的物理机或虚拟机的网卡ID或MAC作为输入,将具体的任务信息提交给数据库模块并从数据库模块中找到被捕获设备的具体信息,并将任务通过RPC模块提交到任务执行子系统;RPC模块,在内存中维持一个消息队列,负责转发任务控制子系统发送的流量捕获任务的RPC消息到对应的任务执行子系统;数据库模块,维护已完成、运行中、待运行的所有任务相关信息以及SDN网络所有虚拟机和物理机网卡信息的数据库。所述任务执行子系统由SDN交换机配置模块,RPC模块,流量存储模块组成,三个模块组合完成对当前子系统上虚拟机和物理机的流量的捕获任务,其中:RPC模块,接收任务控制子系统的RPC模块发来的开始和终止流量捕获任务的RPC消息,根据被捕获设备的MAC或ID,通知SDN交换机配置模块;SDN交换机配置模块,接收RPC模块的通知信息,向SDN控制器发送相应请求,建立被捕获设备和接收设备之间的流量隧道;流量存储模块,位于被捕获设备所在主机与接收设备所在主机上,将被捕获设备和接收设备上的流量进行多进程捕获并按照要求存储为相应格式的流量文件。与现有技术相比,本专利技术的有益效果是:基于洪泛-反射机制,实现SDN交换机之间自主地建立流量隧道,避免了对每一台SDN交换机基于被捕获设备的网络信息的进行详细配置的过程,显著地减少了SDN控制器下发的策略的数量,降低了策略采集的管理难度。附图说明图1为本专利技术的一种实际部署图。图2为本专利技术的系统整体结构图。图3为本专利技术任务控制子系统流程图。图4为本专利技术任务执行子系统流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面结合附图和实施例详细说明本专利技术的实施方式。如图1所示,本专利技术一种基于SDN网络的流量捕获方法,该方法应用于SD本文档来自技高网
...

【技术保护点】
1.一种基于SDN网络的流量捕获方法,其特征在于,包括如下步骤:配置SDN交换机的隧道端口,建立被捕获设备‑接收设备之间的流量隧道,其中被捕获设备指需要被捕获流量的网卡设备,接收设备指负责接收该捕获流量的网卡设备;对被捕获设备所接入的SDN交换机上的隧道端口与接收设备所接入的SDN交换机上的隧道端口进行监控;将被捕获设备上的流量进行捕获并通过流量隧道迁移到接收设备。

【技术特征摘要】
1.一种基于SDN网络的流量捕获方法,其特征在于,包括如下步骤:配置SDN交换机的隧道端口,建立被捕获设备-接收设备之间的流量隧道,其中被捕获设备指需要被捕获流量的网卡设备,接收设备指负责接收该捕获流量的网卡设备;对被捕获设备所接入的SDN交换机上的隧道端口与接收设备所接入的SDN交换机上的隧道端口进行监控;将被捕获设备上的流量进行捕获并通过流量隧道迁移到接收设备。2.根据权利要求1所述基于SDN网络的流量捕获方法,其特征在于,所述配置SDN交换机的隧道端口的方法为:为每一个接收设备分配一个SDN-Overlay网络隧道编号;配置被捕获设备所接入的SDN交换机的流表规则,设置为将被捕获设备的流量进行复制并在包头添加所迁移到的接收设备的SDN-Overlay网络隧道编号后,洪泛到所在SDN网络内部其他接收设备所接入的SDN交换机的隧道端口上。3.根据权利要求1所述基于SDN网络的流量捕获方法,其特征在于,所述建立被捕获设备-接收设备之间的流量隧道的方法为:配置接收设备所接入的SDN交换机的流表规则,使该SDN交换机接收到具有接收设备对应SDN-Overlay网络隧道编号的流量之后,发出洪泛响应报文。配置被捕获设备所接入的SDN交换机的流表规则,设置为所接入的SDN交换机的某个隧道端口接收到洪泛响应报文之后,将被捕获设备和该隧道端口进行绑定。4.根据权利要求1所述基于SDN网络的流量捕获方法,其特征在于,所述对被捕获设备所接入的SDN交换机上的隧道端口与接收设备所接入的SDN交换机上的隧道端口进行监控的方法为:将隧道端口监控分为被捕获设备监控和接收设备监控两个部分:对于被捕获设备所接入的SDN交换机上的隧道端口的监控,在被捕获设备所在主机上启动Tcpdump流量捕获进程,监控接入SDN交换机的网卡的流量,实现对被捕获设备所接入的SDN交换机上的隧道端口流量的监控;对于接收设备所接入的SDN交换机上的隧道端口的的监控,在接收设备所在主机上启动Tcpdump流量捕获进程,监控接入SDN交换机网卡的流量,实现对被捕获设备所接入的SDN交换机上的隧道端口流量的监控。5.根据权利要求1所述基于SDN网络的流量捕获方法,其特征在于,所述将被捕获设备上的流量进行捕获并通过流量隧道迁移到接收设备的方法为:配置被捕获设备所接入的SDN交换机的流表规则,设置为进出该被捕获设备的所有流量经过复制后通过绑定的接收设备对应的隧道端口向外发送;配置接收设备所接入的SDN交换机的流表规则...

【专利技术属性】
技术研发人员:陶敬潜禹桥刘凯韩婷
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1