首页> 中国专利> 一种基于SDN采用DPI技术实现业务识别和流量调度的系统和方法

一种基于SDN采用DPI技术实现业务识别和流量调度的系统和方法

摘要

本发明涉及一种基于SDN采用DPI技术实现业务识别和流量调度的系统和方法,系统包括SDN控制器、WEB服务器、OpenFlow交换机和DPI模块,其中SDN控制器和DPI模块共同完成业务识别和流量调度,SDN控制器包括:Controller Base模块、Controller Mirror模块、Controller Policy Config模块、Controller Flow Statis模块;通过本发明,提升吞吐量,提高DPI处理速度。

著录项

  • 公开/公告号CN105897611A

    专利类型发明专利

  • 公开/公告日2016-08-24

    原文格式PDF

  • 申请/专利号CN201610478379.6

  • 发明设计人 余平;向稳;姚晶;邓超;

    申请日2016-06-24

  • 分类号H04L12/851(20130101);H04L12/927(20130101);

  • 代理机构北京和信华成知识产权代理事务所(普通合伙);

  • 代理人胡剑辉

  • 地址 430073 湖北省武汉市东湖新技术开发区软件园东路1号软件产业4.1期B3栋10层01号

  • 入库时间 2023-06-19 00:23:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-29

    授权

    授权

  • 2016-09-21

    实质审查的生效 IPC(主分类):H04L12/851 申请日:20160624

    实质审查的生效

  • 2016-08-24

    公开

    公开

说明书

技术领域

本发明具体涉及一种流量调度的系统和方法。

背景技术

软件定义网络正在成为整个行业关注的焦点,越来越多的相关专业都相信它将给传统网络架构带来一次革命性的变革。如《软件定义网络-核心原理与应用实践》书籍中说到的,面对互联网规模与流量的爆发式增长,当前以IP为核心的网络体系架构逐渐暴露了各式各样的问题,如可扩展性、可管控性、安全性、移动性、服务质量以及绿色节能等方面,尤其是以协议为核心的网络技术演进思路以及完全分布式的部署实施策略,使得网络技术的发展速度非常缓慢,甚至在一定程度上陷入了僵化的困局。SDN是近年来未来网络领域诸多方向中坚实且明确的一步。

SDN(软件定义网络)主要是实现数据控制分离、软件可编程的体系结构,其基本架构如图1所示。SDN采用了集中式的控制平面和分布式的转发平面,两个平面相互分离,控制平面利用控制-转发通信接口对转发平面上的网络设备进行集中式的控制,并提供灵活的可编程能力。

DPI(深度包检测),其是一种基于数据包的应用层流量检测和控制技术,针对数据包的不同层信息(如IP地址、应用层端口、应用层协议、净荷内容等)进行深度检测和分析,从而得到整个数据流或数据包的应用层信息,然后按照系统定义的策略对流量进行统计分析和控制。

发明内容

本发明为了解决现有技术中的上述问题,提出一种流量调度的系统和方法,具体提供一种基于SDN采用DPI技术实现业务识别和流量调度的系统,其包括SDN控制器、WEB服务器、OpenFlow交换机和DPI模块,其中SDN控制器和DPI模块共同完成业务识别和流量调度,其中,SDN控制器包括:Controller Base模块、Controller Mirror模块、Controller Policy Config模块、ControllerFlow Statis模块;

Controller Base模块:利用其提供的相关接口,实现转发、拓扑发现、流量镜像和下发用于用户流量统计的流表提供给流量统计模块使用;

Controller Mirror模块:用于处理来自WEB服务器的配置请求,配置镜像端口,将镜像端口的配置提供给Controller Base模块使用,使流量可以从镜像端口镜像一份流量到达DPI模块以供分析;

Controller Policy Config模块:利用其提供的相关接口,实现用户策略的处理,包括WEB的策略配置请求,接收来自DPI的协议分析结果并处理;

Controller Flow Statis模块:用于定时遍历用户的IP,给OpenFlow交换机发送流量统计请求,处理OpenFlow交换机回复的流量统计,更新用户流量统计记录文件,定时给WEB服务器上传,以实现用户流量的统计;

DPI模块包括:DPI Config API模块、DPI协议分析模块;

DPI Config API模块:用于处理来自WEB服务器的配置请求,更新协议分析库文件和端口镜像的OpenFlow交换机以及获取需要分析的协议,还用于从SDN控制器接收需要分析的协议;

DPI协议分析模块:用于收包并分析协议,查询应用协议组,把结果保存在协议分析结果队列,并把结果通知SDN控制器。

优选的,Controller Base模块具体用于:更新mac用户表,下发基本流量和Packet_Out,支持基本转发,获取端口镜像配置,给下发流表和Packet_Out的接口增加Write Action,通过镜像端口转发数据包给DPI,在正常转发的同时给DPI转发数据包,实现端口镜像,处理lldp消息,对新的IP给OpenFlow交换机配置QoS和默认的Queue,下发Flow_Mod绑定默认的Queue,用于用户流量统计。

优选的,Controller Policy Config模块具体用于:接收来自DPI的流量5元组和appid;查询协议控制策略,为阻断时,给OpenFlow交换机下发drop流表,为限速时,给OpenFlow交换机下发queue流表,控制记录文件更新,并且定时给WEB服务器上传控制记录;

Controller Policy Config模块还用于:应用协议的控制策略、用户的限速策略;限速策略需要给OpenFlow交换机配置QoS和Queue,用户的限速策略需要给OpenFlow交换机下发Flow_Mod,通知DPI需要分析的应用协议。

优选的,DPI协议分析模块具体用于:查询WEB服务器下发的协议识别库,然后把DPI作为Rest Client,利用Rest API模块配置的SDN控制器IP和SDN控制器Rest Server通信。

优选的,DPI协议分析模块还用于收包并分析协议,进而得到流量5元组和appid,

还提供一种基于SDN采用DPI技术实现业务识别和流量调度的方法,其应用于基于SDN采用DPI技术实现业务识别和流量调度的系统,所述系统包括SDN控制器、WEB服务器、OpenFlow交换机和DPI模块,其中SDN控制器和DPI模块共同完成业务识别和流量调度,用户通过WEB界面配置需要管理的控制器IP,对控制器配置DPI IP,配置控制器IP时,通知控制器WEB服务器的IP,FTP服务器的用户名和密码;

控制器给交换机配置QoS和默认Queue,用于用户流量统计;

用户通过WEB界面给DPI下发协议识别库,上传协议识别相关的数据文件;

用户通过WEB界面获取控制器控制的交换机;

用户通过WEB界面配置接收镜像流量的交换机;

用户通过WEB界面配置应用协议控制规则,控制器接收并保存应用协议控制规则,控制器通知DPI需要分析的协议;

用户通过WEB界面配置镜像端口,控制器接收并保存端口镜像配置;

应用初次发数据包给交换机,交换机找不到匹配的流表,发Packet_In消息给控制器;

控制器判断发送Packet_In消息的是不是新用户,如果是,给交换机发送Flow_Mod,Action为Set_Queue,Queue ID为默认Queue的ID,这样的流表是用来统计用户流量的;

控制器查询交换机的镜像端口,给交换机发送Packet_Out和Flow_Mod,增加Write Action;交换机执行Packet_Out,正常转发的同时,从镜像端口转发数据包给DPI,后续的数据包执行Flow_Mod,正常转发的同时,从镜像端口转发数据包给DPI;

DPI对接收到的数据包分析,识别appid,查询应用协议组,通知控制器流量5元组和appid;

控制器接收到5元组和appid,查询应用协议控制策略,给交换机发送Flow_Mod消息,Action为Set_Queue或者Drop,同时保存控制记录,根据WEB服务器信息,定时上传控制记录;用户通过WEB界面可以查看到统计控制记录。

优选的,所述方法还包括:特征应用发送数据包,交换机执行流表,包括Set_Queue限速、Drop阻断;

控制器定时遍历用户,获取流量数据,保存用户流量统计文件,上传该文件;

用户通过WEB界面可以查看到用户流量统计;

用户通过WEB配置用户的限速策略,控制器保存用户的限速策略,通过OVSDB给交换机配置QoS和Queue,同时下发Flow_Mod,Action为Set_Queue;

特征用户数据包发给交换机,执行流表Set_Queue,达到限速目的;

用户通过WEB界面获取DPI需要分析的协议。

本发明可以应用于基于DPI的用户行为分析,识别不同的流量特征,对在用户未知情况下发生的流量也予以分析和识别,并能够反馈给网管系统。网络管理员对相关应用控制流量(限速),阻断或者通过;对用户流量限速。

本发明具有以下明显优点:

1、提升吞吐量

本发明采用SDN控制器和DPI分离模式,通过WEB配置方式,一个控制器下可以控制多台DPI,一个OpenFlow交换机下的用户流量可以被多台DPI同时处理,提升吞吐量。

2、提高DPI处理速度

本发明中Controller Mirror模块通过配置镜像端口实现OpenFlow交换机数据包直接通过镜像端口转发给DPI,DPI根据应用层的协议库按照控制器下发的识别策略,识别相关的数据包并把结果上报给控制器。本发明不像现有基于DPI的SDN控制器(现有通过修改OpenFlow协议,获取识别数据包),可以大大的提高DPI处理速度。

3、扩展性强

本发明中DPI Config API模块可以更新协议分析库文件,WEB采用ftp的方式更新协议库文件,DPI不需要做处理。

附图说明

图1是实现业务识别和流量调度的系统图。

图2是本发明模块关系图。

图3是本发明实现业务识别和流量调度的方法流程图。

具体实施方式

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

参见图1,图2,系统包括SDN控制器、WEB服务器、OpenFlow交换机和DPI模块,其中SDN控制器和DPI模块共同完成业务识别和流量调度,

SDN控制器包括:Controller Base模块、Controller Mirror模块、Controller Policy Config模块、Controller Flow Statis模块;

Controller Base模块:利用其提供的相关接口,实现基本转发,lldp拓扑发现,流量镜像和下发用于用户流量统计的流表提供给流量统计模块使用。主要功能有更新mac用户表,下发基本流量和Packet_Out,支持基本转发,获取端口镜像配置,给下发流表和Packet_Out的接口增加Write Action,通过镜像端口转发数据包给DPI。在正常转发的同时给DPI转发数据包,实现端口镜像。处理lldp消息。对新的IP给交换机配置QoS和默认的Queue。下发Flow_Mod绑定默认的Queue,用于用户流量统计。

Controller Mirror模块:处理来自WEB的配置请求,配置镜像端口,镜像端口的配置提供给Controller Base模块使用。

Controller Policy Config模块:利用其提供相关接口,实现用户策略的处理,包括WEB的策略配置请求,接收来自DPI的协议分析结果并处理。主要功能有,应用协议的控制策略;用户的限速策略。限速策略需要给交换机配置QoS和Queue。用户的限速策略需要给OpenFlow交换机下发Flow_Mod,Action为Set_Queue。通知DPI需要分析的应用协议。接收来自DPI的流量5元组和appid,查询协议控制策略,为阻断时,给OpenFlow交换机下发流表;为限速时,给OpenFlow交换机下发流表,把特征流量和限速的Queue关联。控制记录文件更新。定时给WEB上传控制记录。

Controller Flow Statis模块:本模块是实现用户流量的统计。主要功能是,定时遍历用户的IP,给OpenFlow交换机发送流量统计请求。处理交换机回复的流量统计,更新用户流量统计记录文件。定时给WEB上传。

DPI部分分为两个子模块:

DPI Config API模块:主要功能是处理来自WEB的配置请求,更新协议分析库文件和端口镜像的交换机以及获取需要分析的协议。第二个是从控制器接收需要分析的协议。

DPI协议分析模块:收包并分析协议,得到流量5元组和appid,查询应用协议组,把结果保存在协议分析结果队列,把结果通知控制器。

参见图3,具体实施过程中OpenFlow交换机以OVS交换机为例。

主要流程为:

用户通过WEB界面配置需要管理的控制器IP,对控制器配置DPI IP。配置控制器IP时,通知控制器WEB服务器的IP,FTP服务器的用户名和密码。

控制器通过OVSDB给交换机配置QoS和默认Queue,用于用户流量统计。

用户通过WEB界面给DPI下发协议识别库:上传协议识别相关的数据文件。

用户通过WEB界面获取控制器控制的交换机。

用户通过WEB界面配置接收镜像流量的交换机。

用户通过WEB界面配置应用协议控制规则,控制器接收并保存应用协议控制规则(对限速策略,通过OVSDB给交换机配置QoS和Queue)。控制器通知DPI需要分析的协议。

用户通过WEB界面配置镜像端口,控制器接收并保存端口镜像配置。

特征应用初次发数据包给交换机,交换机找不到匹配的流表,发Packet_In消息给控制器。

控制器判断发送Packet_In消息的是不是新用户,如果是,给交换机发送Flow_Mod,Action为Set_Queue,Queue ID为默认Queue的ID。这样的流表是用来统计用户流量的。

控制器查询交换机的镜像端口,给交换机发送Packet_Out和Flow_Mod,增加Write Action。交换机执行Packet_Out,正常转发的同时,从镜像端口转发数据包给DPI。后续的数据包执行Flow_Mod,正常转发的同时,从镜像端口转发数据包给DPI。

DPI对接收到的数据包分析,识别appid。查询应用协议组,通知控制器流量5元组和appid。

控制器接收到5元组和appid,查询应用协议控制策略。给交换机发送Flow_Mod消息,Action为Set_Queue或者Drop。同时保存控制记录,根据WEB服务器信息(IP,FTP服务器用户名和密码),定时上传控制记录。

用户通过WEB界面可以查看到统计控制记录。

特征应用发送数据包,交换机执行流表,Set_Queue限速,Drop阻断。

控制器定时遍历用户,获取流量数据,保存用户流量统计文件,上传该文件。

用户通过WEB界面可以查看到用户流量统计。

用户通过WEB配置用户的限速策略。控制器保存用户的限速策略。通过OVSDB给交换机配置QoS和Queue。同时下发Flow_Mod,Action为Set_Queue。

特征用户数据包发给交换机,执行流表Set_Queue,达到限速目的。

用户通过WEB界面获取DPI需要分析的协议。

以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号