本发明涉及通信技术领域,特别是涉及一种报文镜像及网络监控方法、装置、软件定义网络sdn中的控制器、深度报文探测。
背景技术
软件定义网络sdn概念自提出以来,在业界引起了巨大的关注,逐渐成为行业关注的焦点,它的软件定义的核心思想极大的影响了信息技术的发展,越来越多的人相信它将带来一次革命性的变革。当前以ip为核心的网络体系架构逐渐暴露了各式各样的问题,如可扩展性、可管控性、安全性、移动性、服务质量以及绿色节能等方面,尤其是以协议为核心的网络技术演进思路以及完全分布式的部署实施策略,使得网络技术的发展速度非常缓慢,甚至在一定程度上陷入了僵化的困局。sdn是近年来未来网络领域诸多方向中坚实且明确的一步。sdn(软件定义网络)主要是实现数据控制分离、软件可编程的体系结构。sdn采用了集中式的控制平面和分布式的转发平面,两个平面相互分离,控制平面利用控制-转发通信接口对转发平面上的网络设备进行集中式的控制,并提供灵活的可编程能力。
镜像(mirroring)功能通过在交换机或路由器上,将一个或多个源端口的数据流量转发到某一个指定端口来实现对网络的监听,指定端口称之为“镜像端口”或“目的端口”,在不严重影响源端口正常吞吐流量的情况下,可以通过镜像端口对网络的流量进行监控分析。在企业中用镜像功能,可以很好地对企业内部的网络数据进行监控管理,在网络出故障的时候,可以快速地定位故障。dpi(深度包检测),其是一种基于数据包的应用层流量检测和控制技术,针对数据包的不同层信息(如ip地址、应用层端口、应用层协议、载荷内容等)进行深度检测和分析,从而得到整个数据流或数据包的关键应用信息,然后按照一定的策略对流量进行后续的处理。
现有网络镜像及监控的主要做法是对交换机或路由器端口进行镜像,将镜像端口的所有报文转发至目的端口,造成大量的无效信息被转发,增加了网络负担。传统的网络镜像处理方式在效率上比较低,表现在需要处理镜像端口的所有报文,网络负担方面比较重,由于大量的报文需要转发至目标设备,给网络带来了较大的负载。
技术实现要素:
发明目的:为了解决现有技术存在的问题,在sdn网络中提高镜像的效率,降低网络负担,提高监控精确度,本发明提供一种基于sdn的报文镜像及网络监控的性能优化方法。
本发明的另一目的是提供一种基于sdn的报文镜像及网络监控的性能优化装置。
技术方案:一种基于sdn的报文镜像及网络监控的性能优化方法,包括以下步骤:
(1)监控器获取用户需要镜像及监控的信息,将用户需要镜像及监控的信息抽取为监控特征信息,将监控特征信息下发给sdn控制器;
(2)sdn控制器将监控特征信息转化为流表下发给sdn交换机,并设置具体的镜像信息,所述镜像信息是将监控特征信息镜像给分析器的镜像信息;
(3)sdn交换机接收所述流表,sdn交换机接收报文后从报文中提取关键信息,并按照流表的内容对关键信息进行过滤,将过滤后的报文转发至相应镜像端口的分析器;
(4)分析器检查报文的有效性,若报文有效,则提取出包含更多匹配信息的精确匹配信息,并将精确匹配信息转交给监控器,监控器接收后,作废原来的监控特征信息,替换为精确匹配信息,重复执行步骤(2)至(4)直到过滤的报文满足分析器的要求;
若报文无效,则向监控器发送该监控特征信息无效的消息,监控器作废原来的监控特征信息,重复执行步骤(1)至(4)直到过滤的报文满足分析器的要求;
(5)分析器将最终过滤的报文上传给监控器,监控器将最终的精确匹配信息发送给sdn控制器,包括报文镜像到接收器的镜像信息;
(6)sdn控制器将最终的精确匹配信息转化为流表,下发至sdn交换机;
(7)sdn交换机将最终过滤的报文转发给相应镜像端口的接收器;
(8)接收器从最终过滤的报文中提取用户关心的可识别的有效信息后转发给相应用户,根据用户的反馈通知监控器向sdn控制器下发命令对特定报文的转发进行处理。
进一步的,步骤(1)中,监控特征信息表示为n维空间向量(
进一步的,步骤(1)中,监控特征信息包括网络传输层以下的信息和/或应用层信息。
进一步的,步骤(4)中,分析器先对报文的有效性由低到高进行分级,设定有效的临界等级,高于或等于临界等级的报文为有效报文,低于临界等级的报文为无效报文。
进一步的,步骤(8)中,对于不再需要监控的报文,接收器将取消监控的信息发送给监控器,监控器取消该报文的镜像,删除该报文的监控规则,并向sdn控制器下发删除过滤规则,sdn控制器删除此过滤规则相关的流表项并下发流表给sdn交换机,对特定报文的转发行为进行干预处理。
进一步的,步骤(8)中,对特定报文的转发进行处理包括丢弃、拒绝、上报及拦截。
进一步的,步骤(8)中,特定报文指满足镜像要求的报文。
进一步的,步骤(3)中的关键信息为源ip地址、源端口。
进一步的,还包括在步骤(4)中计算有效报文比例、报文匹配效率及匹配复杂度;分析器设定对有效报文比例、报文匹配效率及匹配复杂度的要求;将每次计算的有效报文比例、报文匹配效率及匹配复杂度与分析器设定的要求进行对比。
一种基于sdn的报文镜像及网络监控的性能优化装置,其特征在于,包括sdn控制器、监控器、分析器、接收器和sdn交换机,sdn控制器用于接收sdn交换机上传的没有转发规则的报文、确定转发路径、将网络规则转化为流表并下发给sdn交换机;监控器用于抽取需要监控的信息及有效的过滤规则,并将需要监控的信息及有效的过滤规则发送给sdn控制器;分析器用于接收sdn交换机镜像过来的初始报文、提取有效报文信息、分析报文过滤的有效性,并将报文分析结果反馈给监控器;接收器用于接收sdn控制器发送的过滤后的报文并将监控信息转发给最终用户;sdn交换机用于按照sdn控制器下发的流表,对报文进行转发。
有益效果:本发明提供的一种基于sdn的报文镜像及网络监控的性能优化方法及装置,在sdn网络模型下,利用sdn的网络特征,将监控器、sdn控制器、分析器、sdn交换机及接收器组成一个自反馈系统,通过逐次迭代,不断对监控特征信息进行优化,逐步趋向精确匹配,降低了镜像的无效报文比例,提高了交换机的匹配效率,减少了无效转发行为,减少了交换机的运算量,降低了镜像与监控对网络造成的负载,提高了监控精确度。
附图说明
图1是基于sdn的报文镜像及网络监控装置的整体示意图;
图2是监控信息抽取与分析过程图;
图3是报文镜像全面过程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如图1所示,一种基于sdn的报文镜像及网络监控的性能优化装置,包括sdn控制器、监控器、分析器、接收器和sdn交换机,sdn控制器是sdn核心模块,用于接收sdn交换机上传的没有转发规则的报文、确定转发路径、将网络规则转化为流表并下发给sdn交换机;监控器用于抽取需要监控的信息及有效的过滤规则,并将需要监控的信息及有效的过滤规则发送给sdn控制器;分析器用于接收sdn交换机镜像过来的初始报文、提取有效报文信息、分析报文过滤的有效性,逐步精确报文的抽取,对监控器的抽取的过滤规则进行反馈,将报文分析的结果反馈给监控器,逐步去除无效报文,达到精确过滤的目标设定;接收器可以认为是监控信息的实际使用者,也可以是一个中间代理,接收器用于接收sdn控制器发送的过滤后的报文并将监控信息转发给最终用户,同时响应用户的请求,对监控进行管理,如取消监控等。这里的sdn交换机是sdn控制域内的交换机,按照sdn控制器下发的流表项,对报文进行转发。
基于sdn的报文镜像及网络监控的性能优化方法,包括以下步骤:
(1)监控器获取用户需要镜像及监控的信息,监控器可以同时接收很多用户的不同监控信息请求,为描述方便这里将某一监控信息记为
这里把此监控特征信息的匹配组合记为
(2)sdn控制器接收到监控器下发的监控特征信息后,将监控特征信息转化为流表下发给sdn控制器控制的sdn交换机,并设置具体的镜像信息,所述镜像信息是将监控特征信息镜像给分析器的镜像信息,见过程202;
(3)sdn交换机接收sdn控制器下发的流表,sdn交换机接收报文后,按照流表(由
(4)分析器接收到报文后,分析报文是否是有效的监控特征信息,可以通过二三四层的报文匹配直接判断有效性,或者通过分级的方法判断,具体为:分析器先对监控信息的有效性由低到高进行分级,设定有效的临界等级,若报文达到有效的临界等级,则说明报文是有效的监控信息;否则报文为无效的监控信息。
若报文是有效的监控特征信息,则提取出精确匹配信息,这里记为
若报文是无效的监控特征信息,则向监控器发送该监控特征信息无效的消息,监控器调整镜像及监控规则,作废原来的监控特征信息,向sdn控制器下发删除监控特征信息的过滤规则,重复抽取镜像及监控信息的特征信息,这里记为
以上步骤为镜像及监控逐步精确的过程,通过不断迭代,不断删除无效报文,精确匹配监控规则,得到最终过滤的报文及最终的精确匹配信息。
下面看图3,流程301至流程304与上述201至204相同,是监控信息逐步精确的过程。经过流程301至流程304迭代过程,监控匹配信息已经能够满足监控要求,也就是获取到了足够的匹配信息使报文过滤能够精确高效的进行,一般来说应用层的报文匹配信息应当全部被过滤掉。
(5)分析器将最终过滤的报文上传给监控器,监控器将最终的精确匹配信息发送给sdn控制器,包括报文镜像到接收器的信息,如305所示;
(6)流程306,sdn控制器将最终的精确匹配信息转化为流表,下发至sdn交换机,流表中包括镜像目标的信息;
(7)流程307,sdn交换机按照sdn控制器的流表对报文进行转发,将满足匹配要求的数据报文镜像到目标端口,由接收器接收;
(8)接收器接收到镜像及监控报文后,对基于镜像及监控特征信息所拦截的报文进行进一步处理,提取最终用户关心的可识别的有效信息后转发给相应用户。报文的匹配一般在协议的底层(二层三层),用户可识别的信息一般在应用层。有效信息在这里就是指用户可识别的信息。根据用户的反馈通知监控器向sdn控制器下发命令对特定报文的转发进行处理,流程308。其中,特定报文指满足镜像要求的某一类报文,这一类报文按照特定的处理,如何匹配,转发给哪个用户等,如针对某一个犯罪嫌疑人的监控。
若用户反馈某些不再需要监控的报文,接收器将取消监控信息发送给监控器,监控器取消该报文的镜像,删除针对此类报文的监控规则,并向sdn控制器下发删除过滤规则,sdn控制器删除此过滤规则相关的流表项并下发流表给sdn交换机,流程301,对特定报文的转发行为进行干预处理,如丢弃、拒绝、上报及拦截。