CN107210969A - 一种基于软件定义网络的数据处理方法及相关设备 - Google Patents

一种基于软件定义网络的数据处理方法及相关设备 Download PDF

Info

Publication number
CN107210969A
CN107210969A CN201580031739.1A CN201580031739A CN107210969A CN 107210969 A CN107210969 A CN 107210969A CN 201580031739 A CN201580031739 A CN 201580031739A CN 107210969 A CN107210969 A CN 107210969A
Authority
CN
China
Prior art keywords
data
safety equipment
flow
table information
data flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580031739.1A
Other languages
English (en)
Other versions
CN107210969B (zh
Inventor
徐通
董平
郑涛
孙嘉楠
陈璟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baoding Shengmo Information Technology Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107210969A publication Critical patent/CN107210969A/zh
Application granted granted Critical
Publication of CN107210969B publication Critical patent/CN107210969B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于软件定义网络的数据处理方法及相关设备,属于通信技术领域。其中,所述方法包括:获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息;解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则;向所述目标交换机下发所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。采用本发明实施例,能够降低系统成本,减轻对系统中的安全设备的管理压力,且可扩展性强。

Description

一种基于软件定义网络的数据处理方法及相关设备 技术领域
本发明涉及通信技术领域,尤其涉及一种基于软件定义网络的数据处理方法及相关设备。
背景技术
软件定义网络(Software Defined Network,简称“SDN”)是一种通过将网络设备控制面与数据面分离开来,从而实现网络数据流量的灵活控制的新型网络架构,其为核心网络及应用的创新提供了良好的平台。为了保证网络和信息的安全,网络中往往部署有大量的安全设备,这些大量的安全设备既包括简单的包过滤防火墙,也包括复杂的具有深度报解析功能的流清洗设备等等。网络中的安全设备中设置有非常多的过滤规则,其一般是按照过滤规则对每个数据包进行过滤来实现安全防护,具体是按照该过滤规则执行顺序查表来决定该数据包是否通过。而随着网络带宽的不断增加,其带来的高速数据流对网络安全设备的性能要求也越来越高,而目前安全设备往往无法应对该高速数据流,比如安全设备在面临大业务量或网络攻击时常常会因过滤规则繁多查表时间过长而导致数据拥塞问题。由此,如何提高网络安全设备性能以应对高速数据流成为亟需解决的难题。
目前的解决方式是通过简单的增加网络中安全设备的数量,部署各种功能的安全设备来构建平行或层次式的安全系统,各安全设备具有各自防护的强项和固有缺点,包括如通常位于网络边界的防火墙、负责迷惑攻击者的“蜜罐”、实时执行防病毒功能的病毒扫描设备以及入侵检测防护系统等等,从而通过各安全设备协同工作来提升网络安全性能。然而,该方式下安全设备数量的增加则导致增加了系统成本,且加重了系统对各安全设备的管理压力,而且要求各安全设备具有互相通信的软件接口,实现难度大且可扩展性差。
发明内容
本发明实施例提供了一种基于软件定义网络的数据处理方法及相关设备,能够基于软件定义网络提升网络安全设备性能,并降低系统成本,减轻对系统中的安全设备的管理压力,且可扩展性强。
第一方面,本发明实施例提供了一种基于软件定义网络的数据处理方法,包括:
获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息;
解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则;
向所述目标交换机下发所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息之前,所述方法还包括:
检测所述第一安全设备的当前业务压力值;
判断所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值;
若高于所述压力阈值,则执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息的步骤。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述检测所述第一安全设备的当前业务压力值,包括:
获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;
根据所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量,并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述目标交换机包括通过第一端口与所述第一安全设备连接的第一交换机和通过第二端口与所述第一安全设备连接的第二交换机;所述获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量,包括:
分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;
将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,包括:
向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;
接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则,包括:
对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流;
将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;
将所述第四数据流标记为丢弃;
生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一数据处理规则作为所述第一安全设备对应的第一数据处理规则。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述将所述第三数据流标记为预设处理方式,包括:
将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;
将所述第五数据流标记为封装或绕行;
将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求时,增加对该数据流的流表匹配域项目。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式,或者第一方面的第五种可能的实现方式,或者第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述软件定义网络中还包括第二安全设备和与所述第二安全设备相连接的第三交换机;所述方法还包括:
获取所述第三交换机对应的数据流流表信息;
解析所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;
向所述目标交换机下发所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,在所述获取所述第三交换机对应的数据流流表信息之前,所述方法还包括:
按照预设时间间隔重新检测所述第一安全设备的当前业务压力值;
判断重新检测到的所述第一安全设备的当前业务压力值是否高于预置的 与所述第一安全设备对应的压力阈值;
若判断结果为高于所述第一安全设备对应的压力阈值,则执行所述获取所述第三交换机对应的数据流流表信息的步骤。
第二方面,本发明实施例还提供了一种数据处理装置,包括:
获取模块,用于获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息;
生成模块,用于解析所述获取模块获取的所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则;
发送模块,用于向所述目标交换机下发所述生成模块生成的所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括:
压力检测模块,用于检测所述第一安全设备的当前业务压力值;
判断模块,用于判断所述压力检测模块检测到的所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值,并在判断结果为高于所述压力阈值时,通知所述获取模块获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述压力检测模块包括:
信息获取单元,用于获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;
计算单元,用于根据所述信息获取单元获取的所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量,并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述目标交换机包括通过第一端口与所述第一安全设备连接的第一交 换机和通过第二端口与所述第一安全设备连接的第二交换机;所述信息获取单元具体用于:
分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;
将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述获取模块包括:
指令发送单元,用于向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;
信息接收单元,用于接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述生成模块包括:
解析单元,用于对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流;
标记单元,用于将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;
所述标记单元,还用于将所述第四数据流标记为丢弃;
规则生成单元,用于生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一数据处理规则作为所述第一安全设备对应的第一数据处理规则。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,
所述标记单元,还用于将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;将所述第五数据流标记为封装或绕行;将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求时,增加对该数据流的流表匹配域项目。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,或者第二方面的第四种可能的实现方式,或者第二方面的第五种可能的实现方式,或者第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述软件定义网络中还包括第二安全设备和与所述第二安全设备相连接的第三交换机;
所述获取模块,还用于获取所述第三交换机对应的数据流流表信息;
所述生成模块,还用于解析所述获取模块获取的所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;
所述发送模块,还用于向所述目标交换机下发所述生成模块生成的所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,
所述压力检测模块,还用于按照预设时间间隔重新检测所述第一安全设备的当前业务压力值;
所述判断模块,还用于判断所述压力检测模块重新检测到的所述第一安全设备的当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值,并在判断结果为高于所述第一安全设备对应的压力阈值时,通知所述获取模块 获取当前软件定义网络中与第二安全设备连接的第三交换机的数据流流表信息。
第三方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括上述第一方面的基于软件定义网络的数据处理方法的部分或全部的步骤。
第四方面,本发明实施例还提供了一种网络设备,包括:通信接口、存储器和处理器,所述处理器分别与所述通信接口及所述存储器连接;其中,
所述存储器用于存储驱动软件;
所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行:
获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息;
解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则;
通过所述通信接口向所述目标交换机下发所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
结合第四方面,在第四方面的第一种可能的实现方式中,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息之前,还用于执行以下步骤:
检测所述第一安全设备的当前业务压力值;
判断所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值;
若高于所述压力阈值,则执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息的步骤。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现 方式中,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述检测所述第一安全设备的当前业务压力值,具体执行以下步骤:
获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;
根据所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量,并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述目标交换机包括通过第一端口与所述第一安全设备连接的第一交换机和通过第二端口与所述第一安全设备连接的第二交换机;所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量,具体执行以下步骤:
分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;
将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。
结合第四方面,或者第四方面的第一种可能的实现方式,或者第四方面的第二种可能的实现方式,或者第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,具体执行以下步骤:
通过所述通信接口向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;
通过所述通信接口接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则,具体执行以下步骤:
对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流;
将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;
将所述第四数据流标记为丢弃;
生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一数据处理规则作为所述第一安全设备对应的第一数据处理规则。
结合第四方面的第五种可能的实现方式,在第四方面的第六种可能的实现方式中,
所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述将所述第三数据流标记为预设处理方式,具体执行以下步骤:
将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;
将所述第五数据流标记为封装或绕行;
将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求时,增加对该数据流的流表匹配域项目。
结合第四方面,或者第四方面的第一种可能的实现方式,或者第四方面的第二种可能的实现方式,或者第四方面的第三种可能的实现方式,或者第四方面的第四种可能的实现方式,或者第四方面的第五种可能的实现方式,或者第四方面的第六种可能的实现方式,在第四方面的第七种可能的实现方式中,所 述软件定义网络中还包括第二安全设备和与所述第二安全设备相连接的第三交换机;所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下还用于执行以下步骤:
获取所述第三交换机对应的数据流流表信息;
解析所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;
通过所述通信接口向所述目标交换机下发所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
结合第四方面的第七种可能的实现方式,在第四方面的第八种可能的实现方式中,在所述获取所述第三交换机对应的数据流流表信息之前,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下还用于执行以下步骤:
按照预设时间间隔重新检测所述第一安全设备的当前业务压力值;
判断重新检测到的所述第一安全设备的当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值;
若判断结果为高于所述第一安全设备对应的压力阈值,则执行所述获取所述第三交换机对应的数据流流表信息的步骤。
在本发明实施例中,可通过获取当前SDN中与安全设备连接的交换机对应的数据流流表信息,以及对该数据流流表信息进行解析,生成得到与该解析结果对应的数据处理规则,从而能够通过向与该安全设备连接的交换机下发该数据处理规则以使交换机按照该数据处理规则对接收的数据流进行处理,从而避免了目前面临大业务量或网络攻击时由于过滤规则繁多而查表时间过长所导致的数据拥塞问题,并降低了系统成本,可扩展性强,使得能够基于软件定义网络提升网络安全设备性能。而且,该数据处理规则可根据数据流流表信息的改变而动态改变,这就便于了安全设备的管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种软件定义网络系统示意图;
图2是本发明实施例提供的一种基于软件定义网络的数据处理方法的流程示意图;
图3是本发明实施例提供的另一种基于软件定义网络的数据处理方法的流程示意图;
图4是本发明实施例提供的一种基于软件定义网络的数据处理方法的应用场景图;
图5是本发明实施例提供的一种数据处理装置的结构示意图;
图6是本发明实施例提供的另一种数据处理装置的结构示意图;
图7是本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,本发明实施例的技术方案可具体应用于软件定义网络SDN中,具体涉及基于软件定义网络的数据处理方案。其中,软件定义网络SDN将传统的网络分离为控制层和数据转发层,控制层中的控制器负责指挥位于数据转发层中的软件定义网络交换机根据用户需求进行数据处理。此外,软件定义网络不仅可以通过控制器控制数据流的转发,也可以执行例如丢弃、改写等更加灵活的传统路由设备无法实现的功能。该软件定义网络的出现给安全设备性能 的提升创造了新的网络环境基础。
下面对软件定义网络SDN的具体架构进行示意性说明。请参见图1,图1是本发明实施例提供的一种SDN系统架构图。具体的,如图1所示,该SDN中包括控制器、多个交换机(图1中示出2个)以及安全设备。其中,该安全设备可以是防火墙(如包过滤防火墙)、数据过滤设备、流清洗设备、病毒扫描设备或入侵检测防护系统等等。控制器和各交换机之间通过控制链路(如图中虚线所示)进行通信,包括传输交换机产生的请求数据包,以及传输控制器和交换机之间的查询与应答信息等等。此外,该各交换机之间也可通过通信链路(如图中实线所示)进行通信。
请参见图2,是本发明实施例的一种基于软件定义网络的数据处理方法的流程示意图,具体的,如图2所示,本发明实施例的所述方法可以包括以下步骤:
S101:获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息。
需要说明的是,本发明实施例的所述方法可具体应用于软件定义网络SDN中,所述SDN包括控制器、第一安全设备和至少一个交换机,且本发明实施例的技术方案可具体在SDN网络的控制器中执行。
具体的,所述第一安全设备可以为该当前软件定义网络SDN中的防火墙、数据过滤设备或其他安全设备,本发明实施例不做限定。所述目标交换机可包括与所述第一安全设备直接连接的所有交换机,从而可获取得到与其连接的所有交换机上的流表信息。其中,该流表信息记录包括该第一安全设备和与其连接的交换机即目标交换机之间传输的数据流的信息,如从目标交换机流入该第一安全设备的数据流信息或从该第一安全设备流出至该目标交换机的数据流信息等等。
S102:解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则。
具体实施例中,在获取得到与第一安全设备连接的交换机的数据流流表信 息之后,控制器即可通过对该数据流流表信息进行解析,得到解析的解析结果,并生成与该解析结果对应的数据处理规则,比如控制器可对数据流流表信息中记录的流入该第一安全设备和流出该第一安全设备的数据流信息进行数据匹配,并根据该匹配的结果生成与该第一安全设备对应的数据处理规则,即第一数据处理规则。
S103:向所述目标交换机下发所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
具体的,在得到该第一安全设备对应的数据处理规则之后,控制器即可将该数据处理规则发送给与该第一安全设备连接的目标交换机,使得该目标交换机按照该数据处理规则对接收的数据流进行处理操作,该处理操作包括丢弃数据流、对数据流进行封装或绕行、对数据流进行进一步的流表匹配域细化等等,从而减轻了安全设备的数据处理压力,避免了目前面临大业务量或网络攻击时由于表时间过长所导致的数据拥塞问题。
可选的,在获取与第一安全设备连接的目标交换机的数据流流表信息之前,还可进一步检测该第一安全设备的当前业务压力,并在该第一安全设备的压力过大,比如超过某一预设的压力阈值时,再触发该获取与第一安全设备连接的目标交换机的数据流流表信息并生成数据处理规则进行数据流处理的流程。从而可在数据流量较低、处于防火墙处理能力范围之内时,仍按照原有的处理规则执行顺序查表以实现更为精确的数据处理,以确保防火墙性能,避免了在低数据量时有可能降低安全设备性能的问题。
在本发明实施例中,可通过获取当前SDN中与安全设备连接的交换机对应的数据流流表信息,以及对该数据流流表信息进行解析,生成与该解析结果对应的数据处理规则,从而能够通过向与该安全设备连接的交换机下发该数据处理规则,以使交换机在接收到数据流时能够按照该数据处理规则对接收的数据流进行处理,由此避免了目前面临大业务量或网络攻击时由于过滤规则繁多而查表时间过长所导致的数据拥塞问题,并降低了系统成本,可扩展性强,使得能够基于软件定义网络提升网络安全设备性能。而且,该数据处理规则可根 据数据流流表信息的改变而动态改变,这就便于了对安全设备的管理。
请参见图3,图3是本发明实施例提供的另一种基于软件定义网络的数据处理方法的流程示意图。具体的,如图3所示,本发明实施例的所述方法可以包括以下步骤:
S201:检测第一安全设备的当前业务压力值。
可选的,该第一安全设备的当前业务压力值可以是指预设时间窗内流入该第一安全设备的平均数据量。则所述检测所述第一安全设备的当前业务压力值,可以具体为:获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;根据所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量(比如将该预设时间窗内流入第一安全设备的数据量除以该预设时间窗对应的时间获取得到该平均数据量),并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
进一步的,所述目标交换机可包括通过第一端口与所述第一安全设备连接的第一交换机和通过第二端口与所述第一安全设备连接的第二交换机;所述获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量,可以具体为:分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。其中,该与第一安全设备连接的交换机端口如第一端口和第二端口可预先根据该SDN的网络拓扑结构确定得到。
具体的,该SDN中的控制器可通过获取当前SDN即该第一安全设备所在SDN的拓扑结构信息或网络部署记录,并根据该获取的拓扑结构信息或网络部署记录确定出防火墙等安全设备、与该安全设备连接的交换机的地址信息,以及确定出该交换机中与安全设备连接的端口信息等等。其中,该端口信息包括交换机与安全设备直接连接的端口号,并可将第一安全设备与其直连的端口号进行绑定,以便于基于该端口号获取该安全设备与交换机之间传输的数据流 信息。
请一并参见图4,是本发明实施例提供的一种基于软件定义网络的数据处理方法的应用场景图。具体的,如图4所示,本发明实施例的SDN中包括控制器、交换机1(即目标交换机如第一交换机)、交换机2(即目标交换机如第二交换机)以及与该交换机1和交换机2连接的防火墙(即第一安全设备)。其中,每个交换机包括至少一个物理端口(以下简称端口),在本发明实施例中,假设交换机1通过端口A(即第一端口)与防火墙直接连接,交换机2通过端口B(即第二端口)与防火墙直接连接。该控制器和各交换机之间通过控制链路(如图中虚线及双向箭头所示)进行通信,包括传输交换机产生的请求数据包,以及传输控制器和交换机之间的查询与应答信息等等。各交换机之间可通过通信链路(如图中实线所示)进行通信,比如传输当前网络中的用户数据流。则在本发明实施例中,可获取得到与第一安全设备即防火墙连接的交换机为交换机1和交换机2,其对应的直连端口分别为端口A和端口B。
具体实施例中,在需要获取第一安全设备的当前业务压力值时,控制器可根据预设时间窗统计的流入该第一安全设备的数据量来确定该当前业务压力值。具体的,假设该预设时间窗为t,则控制器可每隔时间t向与第一安全设备如防火墙直连的目标交换机发送查询指令如Port Statistics指令,并将该指令携带的目的地址设为该目标交换机地址,将port_no字段设为第一安全设备与该目标交换机的直连端口号。请一并参见图4,则控制器可向与防火墙直连的交换机1和交换机2分别发送Port Statistics指令,将port_no字段分别设为端口号A和端口号B,并监听由目标交换机反馈的应答信息,提取反馈的应答信息中tx_bytes字段的信息。通过对比前一个t时刻由该从目标交换机流入该第一安全设备的数据流量,计算当前时间窗t内由该端口进入防火墙即第一安全设备的数据量,比如根据目标交换机即交换机1和交换机2反馈的应答信息,提取记录tx_bytes字段的信息,得到当前t时刻流入防火墙的数据量,并分别对比前一个t时刻由端口A和端口B流入防火墙的数据量,将当前提取的tx_bytes字段的信息对应的数据量减去该前一个t时刻由端口A和端口B发送 的数据量,从而获取得到本次时间窗t内目标交换机流入防火墙的数据量。进一步的,根据该本次时间窗t内目标交换机流入防火墙的数据量即可计算该防火墙的业务压力,如将本次时间窗t内由交换机1和交换机2流入防火墙即通过直连端口A和直连端口B进入防火墙的数据量相累加后除以该时间t得到该时间窗t内单位时间的平均数据量,并可将该平均数据量作为防火墙的当前业务压力值。
S202:判断所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值。
具体实施例中,可预先为该第一安全设备配置一个压力阈值(具体可为该SDN中的所有安全设备分别预置得到其对应的压力阈值),比如根据该第一安全设备的性能、所在SDN的网络拓扑及网络部署记录等信息,配置得到该压力阈值为T1。
在获取得到第一安全设备的当前业务压力值之后,控制器即可将该当前业务压力值与预置的与该第一安全设备对应的压力阈值(如上述的T1)进行比较,判断安全设备是否处于业务压力过载状态,即判断该当前业务压力值是否高于该压力阈值,并在高于该压力阈值时,执行步骤S203;否则,按照预设的时间间隔如t重新获取第一安全设备的业务压力值,继续监测该第一安全设备是否处于业务压力过载状态,直至第一安全设备的业务压力值高于该压力阈值即处于业务压力过载状态时执行步骤S203。
可选的,在获取得到与安全设备直连的交换机信息、端口信息以及压力阈值等信息之后,可将上述信息存储于预置的设备信息配置表中,以便于后续使用时信息的及时获取。例如,该预置的设备信息配置表可以如下表一所示。
表一
S203:获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息。
具体的,所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,可以具体为:向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
举例来说,如图4所示,当检测到第一安全设备如图4中的防火墙处于业务压力过载状态时,控制器即可向该防火墙的直连交换机(交换机1和交换机2)发送流表信息查询指令,查询包括由该交换机1和交换机2直接流入该防火墙的数据流信息的第一流表信息和包括由该防火墙直接流出至该交换机1和交换机2的数据流信息的第二流表信息。具体的,控制器可向防火墙直连的交换机1和交换机2分别发送流表信息查询指令如Multipart Message查询指令,利用Individual Flow Statistics信息,并将out_port字段分别设置为端口A和端口B,其余字段可任意匹配,从而查询得到包括由该交换机1和交换机2直接流入该防火墙的数据流信息的第一流表信息。进一步的,控制器还可向防火墙直连的交换机1和交换机2分别发送Multipart Message查询指令,利用Individual Flow Statistics信息,并将ofp_match字段分别设置为源端口A和源端口B,其余字段可任意匹配,从而查询得到包括由该防火墙直接流出至该交换机1和交换机2的数据流信息的第二流表信息。
S204:解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则。
可选的,所述解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则,可以具体为:对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出 数据的第四数据流;将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;将所述第四数据流标记为丢弃;生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一数据处理规则作为所述第一安全设备对应的第一数据处理规则。
进一步可选的,所述将所述第三数据流标记为预设处理方式,可以具体为:将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;将所述第五数据流标记为封装或绕行;将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求时,增加对该数据流的流表匹配域项目。
具体的,结合图4,控制器在查询得到该第一流表信息和第二流表信息之后,即可利用查询得到的流表信息中的匹配域字段,将直接流入防火墙(第一安全设备)的数据流即第一流表信息指示的数据流划分为具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流,并可将该不具有对应流出数据的第四数据流标记为可丢弃,将该具有对应流出数据的第三数据流标记为预设处理方式,如封装或绕行或流表匹配域细化处理。其中,该不具有对应流出数据的第四数据流可以理解为该第一流表信息对应的流入数据流中包括、但第二流表信息对应的流出数据流中不包括的数据流,该具有对应流出数据的第三数据流可以理解为该第一流表信息对应的流入数据流包括、第二流表信息对应的流出数据流也包括(全部匹配或部分匹配)的数据流。进一步的,该查询得到的流表信息中还包括packet_count字段,若该第三数据流为第一流表信息对应的流入数据流中包括、第二流表信息对应的流出数据流中也包括的数据流,则控制器还可通过解析该查询得到的第一流表信息和第二流表信息中的计数器中packet_count字段,将该第三数据流进一步划分为流入数据与流出数据完全匹配的第五数据流(即第一流表信息对应的流入数据流中包括、第二流表信息对应的流出数据流中也包括且全部匹配)及流入数据和流出数据部分匹配的 第六数据流(即第一流表信息对应的流入数据流中包括、第二流表信息对应的流出数据流中包括但仅部分匹配),其中,该第五数据流对应的流入数据和流出数据的packet_count字段指示的数据包数目相同,该第六数据流对应的流入数据的packet_count字段指示的数据包数目大于其对应的流出数据的packet_count字段指示的数据包数目。则可将该第五数据流标记为封装或绕行,将该第六数据流标记为流表匹配域细化。从而可生成包括对各类数据流的标记结果的数据处理规则即第一数据处理规则。
S205:向所述目标交换机下发所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
具体实施例中,控制器在生成得到该第一数据处理规则之后,即可将该第一数据处理规则下发至与该第一安全设备连接的目标交换机中,使得目标交换机在接收到数据流时能够按照该第一数据处理规则对该接收的数据流进行处理。其中,该第一数据处理规则可以是通过下发流表的方式通知给该目标交换机的。例如,结合图4,控制器可采用下发流表的方式通知防火墙即第一安全设备的直连交换机1和交换机2对该标记为丢弃的第四数据流进行直接丢弃;采用下发流表的方式通知与防火墙直连的交换机1和交换机2对标记为封装或绕行的第五数据流进行数据流封装、解封装处理和数据流路由绕行通过处理;以及采用下发流表的方式通知与防火墙直连的交换机1和交换机2对标记为流表匹配域细化的第六数据流增加相关数据流的匹配域内容,等等。从而能够通过交换机对接收的数据流进行预处理来有效减轻防火墙等安全设备的数据过滤压力。
进一步可选的,所述软件定义网络中还可包括第二安全设备和与所述第二安全设备相连接的第三交换机;则该控制器还可获取所述第三交换机对应的数据流流表信息;解析所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;向所述目标交换机下发所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
具体的,该SDN中还可设置存在该第一安全设备的后续安全设备,即第二安全设备。则控制器还可根据该SDN的拓扑结构信息确定出与该第二安全设备连接的交换机即第三交换机(即与该第二安全设备直连的所有交换机)的地址信息,以及确定出该第三交换机与该第二安全设备连接的端口。如图4所示,该SDN中还包括第二安全设备如数据过滤设备,以及与该数据过滤设备直接连接的交换机3和交换机4(该交换机3和交换机4即为该第三交换机)。其中,交换机3通过端口C与数据过滤设备直连,交换机4通过端口D与数据过滤设备直连。则控制器能够通过获取该换机3和交换机4对应的数据流流表信息,解析该交换机3和交换机4对应的数据流流表信息,从而生成包括所述解析的解析结果的第二数据处理规则。具体的,该第二安全设备对应的第二数据处理规则的生成方式可具体参照上述的第一数据处理规则的生成方式,此处不再赘述。
可选的,在所述获取所述第三交换机对应的数据流流表信息之前,该控制器还可按照预设时间间隔重新检测所述第一安全设备的当前业务压力值,并判断重新检测到的所述第一安全设备的当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值,并在判断结果为高于所述第一安全设备对应的压力阈值时,执行所述获取所述第三交换机对应的数据流流表信息的步骤。也就是说,在生成得到第一数据处理规则并下发给目标交换机以进行数据处理之后,若该预设时间间隔如5分钟以后仍然检测到该第一安全设备处于压力过载状态,则可通过获取与第二安全设备连接的第三交换机对应的数据流流表信息,生成得到第二数据处理规则并发送给该目标交换机,使得目标交换机能够根据该第二数据处理规则进一步对可接收的数据流进行预处理,以进一步减轻第一安全设备的数据过滤压力。相应地,若检测得到该第一安全设备不再处于压力过载状态,如当前业务压力值低于该压力阈值时,则可通知目标交换机不再根据第二数据处理规则和/或第一数据处理规则进行数据处理。
进一步可选的,在获取得到第一安全设备如防火墙的直连交换机信息、直连端口信息以及压力阈值如T1,及其对应的第二安全设备如数据连接设备的 直连交换机信息、直连端口信息以及压力阈值如T2等信息之后,可将上述信息存储于预置的设备信息配置表中,以便于信息的及时获取。例如,结合图4,该预置的设备信息配置表可以如下表二所示。
表二
具体实施例中,控制器在生成得到该第二数据处理规则之后,仍可将该第二数据处理规则下发至与该第一安全设备连接的目标交换机(如图4中的交换机1和交换机2)中,使得目标交换机在接收到数据流时能够按照该第二数据处理规则对该接收的数据流进行处理。具体的,该第二数据处理规则可以是通过下发流表的方式通知给该目标交换机的。该第二数据处理规则包括对数据流进行丢弃、对数据流进行封装或绕行、对数据流进行进一步的流表匹配域细化等等,具体可参照上述第一数据处理规则的相关描述,此处不再赘述。从而能够使得与安全设备连接的交换机进一步通过该第二数据处理规则对接收的数据流进行预处理,以效减轻防火墙等安全设备的数据过滤压力。
在本发明实施例中,可通过获取安全设备的当前业务压力值来判断该安全设备是否处于业务压力过载状态,并在确定处于该业务压力过载状态时获取当前SDN中与安全设备连接的交换机对应的数据流流表信息,以及对该数据流流表信息进行解析,生成与该解析结果对应的数据处理规则,并通过向与该安全设备连接的交换机下发该数据处理规则,以使交换机在接收到数据流时能够按照该数据处理规则对接收的数据流进行处理,从而避免了目前面临大业务量或网络攻击时由于过滤规则繁多而查表时间过长所导致的数据拥塞问题,并降低了系统成本,可扩展性强。同时,通过新增业务压力检测机制,使得在数据 流量较低,业务压力处于安全设备处理能力范围内时,能够按照原有的顺序查表的精确数据过滤方式来进行数据处理,则提升了系统安全性。而且,该数据处理规则可根据数据流流表信息动态改变,使得便于了对安全设备的管理,且在提升安全性能时不会导致增加安全设备的业务压力。
请参见图5,是本发明实施例的一种数据处理装置的结构示意图,具体的,如图5所示,本发明实施例的所述数据处理装置可包括获取模块11、生成模块12以及发送模块13。其中,
所述获取模块11,用于获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息。
需要说明的是,所述软件定义网络SDN包括控制器、第一安全设备和至少一个交换机,本发明实施例的所述装置可具体设置于SDN的网络设备中,如设置于该SDN网络的控制器中。
具体的,所述第一安全设备可以为该当前软件定义网络SDN中的防火墙、数据过滤设备或其他安全设备,本发明实施例不做限定。所述目标交换机可包括与所述第一安全设备直接连接的所有交换机,从而获取模块11可获取得到与其连接的所有交换机上的流表信息。其中,该流表信息记录包括该第一安全设备和与其连接的交换机即目标交换机之间传输的数据流的信息,如从目标交换机流入该第一安全设备的数据流信息或从该第一安全设备流出至该目标交换机的数据流信息等等。
所述生成模块12,用于解析所述获取模块11获取的所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则。
具体实施例中,在获取模块11获取得到与第一安全设备连接的交换机的数据流流表信息之后,即可通过生成模块12对该数据流流表信息进行解析,得到解析的解析结果,并生成与该解析结果对应的数据处理规则,比如生成模块12可对数据流流表信息中记录的流入该第一安全设备和流出该第一安全设备的数据流信息进行数据匹配,并根据该匹配的结果生成与该第一安全设备对 应的数据处理规则,即第一数据处理规则。
所述发送模块13,用于向所述目标交换机下发所述生成模块12生成的所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
具体的,在生成模块12生成得到该第一安全设备对应的数据处理规则之后,即可通过发送模块13将该数据处理规则发送给与该第一安全设备连接的目标交换机,使得该目标交换机按照该数据处理规则对接收的数据流进行处理操作(或者还可以直接下发给该第一安全设备,以使该第一安全设备按照该数据处理规则对接收的数据流进行处理操作),该处理操作包括丢弃数据流、对数据流进行封装或绕行、对数据流进行进一步的流表匹配域细化等等,从而减轻了安全设备的数据处理压力,避免了目前面临大业务量或网络攻击时由于查表时间过长所导致的数据拥塞问题。
在本发明实施例中,可通过获取当前SDN中与安全设备连接的交换机对应的数据流流表信息,以及对该数据流流表信息进行解析,生成与该解析结果对应的数据处理规则,从而能够通过向与该安全设备连接的交换机下发该数据处理规则,以使交换机在接收到数据流时能够按照该数据处理规则对接收的数据流进行处理,由此避免了目前面临大业务量或网络攻击时由于过滤规则繁多而查表时间过长所导致的数据拥塞问题,并降低了系统成本,可扩展性强,使得能够基于软件定义网络提升网络安全设备性能。而且,该数据处理规则可根据数据流流表信息的改变而动态改变,这就便于了对安全设备的管理。
进一步的,请参见图6,是本发明实施例的另一种数据处理装置的结构示意图,具体的,如图6所示,本发明实施例的所述装置可包括上述图5对应实施例中的数据处理装置的获取模块11、生成模块12以及发送模块13。进一步的,在本发明实施例中,所述装置还可包括:
压力检测模块14,用于检测所述第一安全设备的当前业务压力值;
判断模块15,用于判断所述压力检测模块14检测到的所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值,并在判断结果为高于 所述压力阈值时,通知所述获取模块11获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息。
具体的,在获取模块11获取与第一安全设备连接的目标交换机的数据流流表信息之前,还可通过压力检测模块14进一步检测该第一安全设备的当前业务压力,并在该第一安全设备的压力过大,比如判断模块15判断得到该第一安全设备的当前业务压力超过某一预设的压力阈值时,再通知所述获取模块11该获取与第一安全设备连接的目标交换机的数据流流表信息,并通过生成模块12生成数据处理规则以进行数据流处理。从而可在数据流量较低、处于防火墙处理能力范围之内时,仍按照原有的处理规则执行顺序查表以实现更为精确的数据处理,以确保防火墙性能,避免了在低数据量时有可能降低安全设备性能的问题。
其中,该控制器中可存储有预先为该第一安全设备配置的压力阈值(该SDN中的所有安全设备中每一个安全设备对应一个压力阈值),比如根据该第一安全设备的性能及所在SDN的网络拓扑,配置得到该第一安全设备对应的压力阈值。
可选的,在本实施例中,所述压力检测模块14可具体包括(图中未示出):
信息获取单元141,用于获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;
计算单元142,用于根据所述信息获取单元141获取的所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量,并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
进一步可选的,在本发明实施例中,所述目标交换机可包括通过第一端口与所述第一安全设备连接的第一交换机和通过第二端口与所述第一安全设备连接的第二交换机;所述信息获取单元141可具体用于:
分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;
将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。
其中,该第一安全设备的当前业务压力值可以是指预设时间窗内流入该第一安全设备的平均数据量。该与第一安全设备连接的交换机端口如第一端口和第二端口可预先根据该SDN的网络拓扑结构确定得到。
具体的,压力检测模块14可根据预设时间窗统计的流入该第一安全设备的数据量来确定该当前业务压力值。例如,假设该预设时间窗为t,则信息获取单元141可每隔时间t向与第一安全设备如防火墙直连的目标交换机发送查询指令如Port Statistics指令,并将该指令携带的目的地址设为该目标交换机地址,将port_no字段设为第一安全设备与该目标交换机的直连端口号。如图4所示,则信息获取单元141可向与防火墙(第一安全设备)直连的交换机1(目标交换机)和交换机2(目标交换机)分别发送Port Statistics指令,将port_no字段分别设为端口号A(第一端口)和端口号B(第二端口),并监听由目标交换机反馈的应答信息,提取反馈的应答信息中tx_bytes字段的信息。通过对比前一个t时刻由该从目标交换机流入该第一安全设备的数据流量,信息获取单元141即可计算当前时间窗t内由该端口进入防火墙即第一安全设备的数据量,比如根据目标交换机即交换机1和交换机2反馈的应答信息,提取记录tx_bytes字段的信息,得到当前t时刻流入防火墙的数据量,并分别对比前一个t时刻由端口A和端口B流入防火墙的数据量,将当前提取的tx_bytes字段的信息对应的数据量减去该前一个t时刻由端口A和端口B发送的数据量,从而获取得到本次时间窗t内目标交换机流入防火墙的数据量。进一步的,根据该本次时间窗t内目标交换机流入防火墙的数据量,计算单元142即可计算该防火墙的业务压力,如将本次时间窗t内由交换机1和交换机2流入防火墙即通过直连端口A和直连端口B进入防火墙的数据量相累加后除以该时间t得到该时间窗t内单位时间的平均数据量,并可将该平均数据量作为防火墙的当前业务压力值。其中,该目标交换机地址可根据该SDN的拓扑结构或网络 部署记录确定得到。
进一步的,在本发明实施例中,所述获取模块11可具体包括:
指令发送单元111,用于向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;
信息接收单元112,用于接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
具体的,如图4所示,当判断模块15检测到第一安全设备如图4中的防火墙处于业务压力过载状态时,指令发送单元111即可向该防火墙的直连交换机(交换机1和交换机2)发送流表信息查询指令,以查询包括由该交换机1和交换机2直接流入该防火墙的数据流信息的第一流表信息和包括由该防火墙直接流出至该交换机1和交换机2的数据流信息的第二流表信息。具体的,指令发送单元111可向防火墙直连的交换机1和交换机2分别发送流表信息查询指令如Multipart Message查询指令,利用Individual Flow Statistics信息,并将out_port字段分别设置为端口A和端口B,其余字段可任意匹配,则可通过信息接收单元112接收交换机1和交换机2返回的流表信息,即包括由该交换机1和交换机2直接流入该防火墙的数据流信息的第一流表信息。进一步的,指令发送单元111还可向防火墙直连的交换机1和交换机2分别发送Multipart Message查询指令,利用Individual Flow Statistics信息,并将ofp_match字段分别设置为源端口A和源端口B,其余字段可任意匹配,则可通过信息接收单元112接收交换机1和交换机2返回的流表信息,即包括由该防火墙直接流出至该交换机1和交换机2的数据流信息的第二流表信息。
进一步的,在本发明实施例中,所述生成模块12可具体包括:
解析单元121,用于对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流;
标记单元122,用于将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;
所述标记单元122,还用于将所述第四数据流标记为丢弃;
规则生成单元123,用于生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一数据处理规则作为所述第一安全设备对应的第一数据处理规则。
进一步的,所述标记单元122,还用于将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;将所述第五数据流标记为封装或绕行;将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求时,增加对该数据流的流表匹配域项目。
具体的,结合图4,获取模块11在查询得到该第一流表信息和第二流表信息之后,解析单元121即可利用查询得到的流表信息中的匹配域字段,将直接流入防火墙(第一安全设备)的数据流即第一流表信息指示的数据流划分为具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流,并可通过标记单元122将该不具有对应流出数据的第四数据流标记为可丢弃,将该具有对应流出数据的第三数据流标记为预设处理方式,如封装或绕行或流表匹配域细化处理。其中,该不具有对应流出数据的第四数据流可以理解为该第一流表信息对应的流入数据流中包括、但第二流表信息对应的流出数据流中不包括的数据流,该具有对应流出数据的第三数据流可以理解为该第一流表信息对应的流入数据流包括、第二流表信息对应的流出数据流也包括(全部匹配或部分匹配)的数据流。进一步的,该查询得到的流表信息中还包括packet_count字段,若该第三数据流为第一流表信息对应的流入数据流中包括、第二流表信息对应的流出数据流中也包括的数据流,则标记单元122还可通过解析该查询得到的第一流表信息和第二流表信息中的计数器中packet_count字段,将该第三数据流进一步划分为流入数据与流出数据完全匹配的第五数据流(即第一流表 信息对应的流入数据流中包括、第二流表信息对应的流出数据流中也包括且全部匹配)及流入数据和流出数据部分匹配的第六数据流(即第一流表信息对应的流入数据流中包括、第二流表信息对应的流出数据流中包括但仅部分匹配),其中,该第五数据流对应的流入数据和流出数据的packet_count字段指示的数据包数目相同,该第六数据流对应的流入数据的packet_count字段指示的数据包数目大于其对应的流出数据的packet_count字段指示的数据包数目。则可将该第五数据流标记为封装或绕行,将该第六数据流标记为流表匹配域细化。从而规则生成单元123可生成包括对各类数据流的标记结果的数据处理规则即第一数据处理规则。
具体实施例中,在生成模块12生成得到该第一数据处理规则之后,即可通过发送模块13将该第一数据处理规则下发至与该第一安全设备连接的目标交换机中,使得目标交换机在接收到数据流时能够按照该第一数据处理规则对该接收的数据流进行处理。其中,该第一数据处理规则可以是通过下发流表的方式通知给该目标交换机的。例如,结合图4,发送模块13可采用下发流表的方式通知防火墙即第一安全设备的直连交换机1和交换机2对该标记为丢弃的第四数据流进行直接丢弃;采用下发流表的方式通知与防火墙直连的交换机1和交换机2对标记为封装或绕行的第五数据流进行数据流封装、解封装处理和数据流路由绕行通过处理;以及采用下发流表的方式通知与防火墙直连的交换机1和交换机2对标记为流表匹配域细化的第六数据流增加相关数据流的匹配域内容,等等。从而能够通过交换机对接收的数据流进行预处理来有效减轻防火墙等安全设备的数据过滤压力。
进一步的可选的,在本发明实施例中,所述软件定义网络中还可包括第二安全设备和与所述第二安全设备相连接的第三交换机;
所述获取模块11,还用于获取所述第三交换机对应的数据流流表信息;
所述生成模块12,还用于解析所述获取模块11获取的所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;
所述发送模块13,还用于向所述目标交换机下发所述生成模块12生成的 所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
具体的,该SDN中还可设置存在该第一安全设备的后续安全设备,即第二安全设备。则控制器还可根据该SDN的拓扑结构信息确定出与该第二安全设备连接的交换机即第三交换机(即与该第二安全设备直连的所有交换机)的地址信息,以及确定出该第三交换机与该第二安全设备连接的端口。如图4所示,该SDN中还包括第二安全设备如数据过滤设备,以及与该数据过滤设备直接连接的交换机3和交换机4(该交换机3和交换机4即为该第三交换机)。其中,交换机3通过端口C与数据过滤设备直连,交换机4通过端口D与数据过滤设备直连。则控制器能够通过获取模块11获取该交换机3和交换机4对应的数据流流表信息(包括记录了由该交换机3和交换机4直接流入该数据过滤设备的数据流信息的流表信息和记录了由该数据过滤设备直接流出至该交换机1和交换机2的数据流信息的流表信息),解析该交换机3和交换机4对应的数据流流表信息,从而通过生成模块12生成包括所述解析的解析结果的第二数据处理规则。具体的,该第二安全设备对应的第二数据处理规则的生成方式可具体参照上述的第一数据处理规则的生成方式,此处不再赘述。
可选的,在本发明实施例中,
所述压力检测模块14,还用于按照预设时间间隔重新检测所述第一安全设备的当前业务压力值;
所述判断模块15,还用于判断所述压力检测模块14重新检测到的所述第一安全设备的当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值,并在判断结果为高于所述第一安全设备对应的压力阈值时,通知所述获取模块11获取当前软件定义网络中与第二安全设备连接的第三交换机的数据流流表信息。
进一步的,生成模块12在生成得到该第二数据处理规则之后,仍可通过发送模块13将该第二数据处理规则下发至与该第一安全设备连接的目标交换机(如图4中的交换机1和交换机2)中,使得目标交换机在接收到数据流时 能够按照该第二数据处理规则对该接收的数据流进行处理。具体的,该第二数据处理规则可以是通过下发流表的方式通知给该目标交换机的。该第二数据处理规则包括对数据流进行丢弃、对数据流进行封装或绕行、对数据流进行进一步的流表匹配域细化等等,具体可参照上述第一数据处理规则的相关描述,此处不再赘述。从而能够使得与安全设备连接的交换机进一步通过该第二数据处理规则对接收的数据流进行预处理,以效减轻防火墙等安全设备的数据过滤压力。
在本发明实施例中,可通过获取安全设备的当前业务压力值来判断该安全设备是否处于业务压力过载状态,并在确定处于该业务压力过载状态时获取当前SDN中与安全设备连接的交换机对应的数据流流表信息,以及对该数据流流表信息进行解析,生成与该解析结果对应的数据处理规则,并通过向与该安全设备连接的交换机下发该数据处理规则,以使交换机在接收到数据流时能够按照该数据处理规则对接收的数据流进行处理,从而避免了目前面临大业务量或网络攻击时由于过滤规则繁多而查表时间过长所导致的数据拥塞问题,并降低了系统成本,可扩展性强。同时,通过新增业务压力检测机制,使得在数据流量较低,业务压力处于安全设备处理能力范围内时,能够按照原有的顺序查表的精确数据过滤方式来进行数据处理,则提升了系统安全性。而且,该数据处理规则可根据数据流流表信息动态改变,使得便于了对安全设备的管理,且在提升安全性能时不会导致增加安全设备的业务压力。
进一步的,请参见图7,是本发明实施例提供的一种网络设备的结构示意图,该网络设备可应用于软件定义网络SDN,并可具体为该SDN中的控制器。具体的,本发明实施例的所述网络设备包括:通信接口300、存储器200和处理器100,所述处理器100分别与所述通信接口300及所述存储器200连接。所述存储器200可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。所述通信接口300、存储器200以及处理器100之间可以通过总线进行数据连接,也可以通过其他方式数据连接。本实施例中以总线连接进行说明。其中,
所述存储器200用于存储驱动软件;
所述处理器100从所述存储器200读取所述驱动软件并在所述驱动软件的作用下执行:
获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息;
解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则;
通过所述通信接口向所述目标交换机下发所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
可选的,所述处理器100从所述存储器200读取所述驱动软件并在所述驱动软件的作用下执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息之前,还用于执行以下步骤:
检测所述第一安全设备的当前业务压力值;
判断所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值;
若高于所述压力阈值,则执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息的步骤。
可选的,所述处理器100从所述存储器200读取所述驱动软件并在所述驱动软件的作用下执行所述检测所述第一安全设备的当前业务压力值,具体执行以下步骤:
获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;
根据所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量,并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
可选的,所述目标交换机包括通过第一端口与所述第一安全设备连接的第一交换机和通过第二端口与所述第一安全设备连接的第二交换机;所述处理器 100从所述存储器200读取所述驱动软件并在所述驱动软件的作用下执行所述获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量,具体执行以下步骤:
分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;
将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。
可选的,所述处理器100从所述存储器200读取所述驱动软件并在所述驱动软件的作用下执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,具体执行以下步骤:
通过所述通信接口向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;
通过所述通信接口接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
可选的,所述处理器100从所述存储器200读取所述驱动软件并在所述驱动软件的作用下执行所述解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则,具体执行以下步骤:
对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流;
将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;
将所述第四数据流标记为丢弃;
生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一 数据处理规则作为所述第一安全设备对应的第一数据处理规则。
可选的,所述处理器100从所述存储器200读取所述驱动软件并在所述驱动软件的作用下执行所述将所述第三数据流标记为预设处理方式,具体执行以下步骤:
将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;
将所述第五数据流标记为封装或绕行;
将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求时,增加对该数据流的流表匹配域项目。
可选的,所述软件定义网络中还包括第二安全设备和与所述第二安全设备相连接的第三交换机;所述处理器100从所述存储器200读取所述驱动软件并在所述驱动软件的作用下,还用于执行以下步骤:
获取所述第三交换机对应的数据流流表信息;
解析所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;
通过所述通信接口300向所述目标交换机下发所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
在本发明实施例中,可通过获取当前SDN中与安全设备连接的交换机对应的数据流流表信息,以及对该数据流流表信息进行解析,生成得到与该解析结果对应的数据处理规则,从而能够通过向与该安全设备连接的交换机下发该数据处理规则以使交换机按照该数据处理规则对接收的数据流进行处理,从而避免了目前面临大业务量或网络攻击时由于过滤规则繁多而查表时间过长所导致的数据拥塞问题,并降低了系统成本,可扩展性强,使得能够基于软件定义网络提升网络安全设备性能。而且,该数据处理规则可根据数据流流表信息的改变而动态改变,这就便于了安全设备的管理。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以 上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (24)

  1. 一种基于软件定义网络的数据处理方法,其特征在于,包括:
    获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息;
    解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则;
    向所述目标交换机下发所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
  2. 根据权利要求1所述的方法,其特征在于,在所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息之前,所述方法还包括:
    检测所述第一安全设备的当前业务压力值;
    判断所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值;
    若高于所述压力阈值,则执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息的步骤。
  3. 根据权利要求2所述的方法,其特征在于,所述检测所述第一安全设备的当前业务压力值,包括:
    获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;
    根据所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量,并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
  4. 根据权利要求3所述的方法,其特征在于,所述目标交换机包括通过第一端口与所述第一安全设备连接的第一交换机和通过第二端口与所述第一安全设备连接的第二交换机;所述获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量,包括:
    分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;
    将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,包括:
    向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;
    接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
  6. 根据权利要求5所述的方法,其特征在于,所述解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则,包括:
    对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流;
    将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;
    将所述第四数据流标记为丢弃;
    生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一数据处理规则作为所述第一安全设备对应的第一数据处理规则。
  7. 根据权利要求6所述的方法,其特征在于,所述将所述第三数据流标记为预设处理方式,包括:
    将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;
    将所述第五数据流标记为封装或绕行;
    将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求时,增加对该数据流的流表匹配域项目。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,所述软件定义网络中还包括第二安全设备和与所述第二安全设备相连接的第三交换机;所述方法还包括:
    获取所述第三交换机对应的数据流流表信息;
    解析所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;
    向所述目标交换机下发所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
  9. 一种数据处理装置,其特征在于,包括:
    获取模块,用于获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息;
    生成模块,用于解析所述获取模块获取的所述目标交换机的数据流流表信 息,并生成包括所述解析的解析结果的第一数据处理规则;
    发送模块,用于向所述目标交换机下发所述生成模块生成的所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
  10. 根据权利要求9所述的装置,其特征在于,所述装置还包括:
    压力检测模块,用于检测所述第一安全设备的当前业务压力值;
    判断模块,用于判断所述压力检测模块检测到的所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值,并在判断结果为高于所述压力阈值时,通知所述获取模块获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息。
  11. 根据权利要求10所述的装置,其特征在于,所述压力检测模块包括:
    信息获取单元,用于获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;
    计算单元,用于根据所述信息获取单元获取的所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量,并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
  12. 根据权利要求11所述的装置,其特征在于,所述目标交换机包括通过第一端口与所述第一安全设备连接的第一交换机和通过第二端口与所述第一安全设备连接的第二交换机;所述信息获取单元具体用于:
    分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;
    将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。
  13. 根据权利要求9-12任一项所述的装置,其特征在于,所述获取模块包括:
    指令发送单元,用于向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;
    信息接收单元,用于接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
  14. 根据权利要求13所述的装置,其特征在于,所述生成模块包括:
    解析单元,用于对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流;
    标记单元,用于将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;
    所述标记单元,还用于将所述第四数据流标记为丢弃;
    规则生成单元,用于生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一数据处理规则作为所述第一安全设备对应的第一数据处理规则。
  15. 根据权利要求14所述的装置,其特征在于,
    所述标记单元,还用于将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;将所述第五数据流标记为封装或绕行;将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求 时,增加对该数据流的流表匹配域项目。
  16. 根据权利要求9-15任一项所述的装置,其特征在于,所述软件定义网络中还包括第二安全设备和与所述第二安全设备相连接的第三交换机;
    所述获取模块,还用于获取所述第三交换机对应的数据流流表信息;
    所述生成模块,还用于解析所述获取模块获取的所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;
    所述发送模块,还用于向所述目标交换机下发所述生成模块生成的所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
  17. 一种网络设备,其特征在于,包括:通信接口、存储器和处理器,所述处理器分别与所述通信接口及所述存储器连接;其中,
    所述存储器用于存储驱动软件;
    所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行:
    获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,所述数据流流表信息包括所述第一安全设备和所述目标交换机之间传输的数据流的信息;
    解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则;
    通过所述通信接口向所述目标交换机下发所述第一数据处理规则,以使所述目标交换机按照所述第一数据处理规则对接收的数据流进行处理。
  18. 根据权利要求17所述的网络设备,其特征在于,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息之前,还用于 执行以下步骤:
    检测所述第一安全设备的当前业务压力值;
    判断所述当前业务压力值是否高于预置的与所述第一安全设备对应的压力阈值;
    若高于所述压力阈值,则执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息的步骤。
  19. 根据权利要求18所述的网络设备,其特征在于,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述检测所述第一安全设备的当前业务压力值,具体执行以下步骤:
    获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量;
    根据所述预设时间窗内流入所述第一安全设备的数据量计算单位时间内流入所述第一安全设备的平均数据量,并将计算出的所述平均数据量作为所述第一安全设备的当前业务压力值。
  20. 根据权利要求19所述的网络设备,其特征在于,所述目标交换机包括通过第一端口与所述第一安全设备连接的第一交换机和通过第二端口与所述第一安全设备连接的第二交换机;所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述获取预设时间窗内从所述目标交换机流入所述第一安全设备的数据量,具体执行以下步骤:
    分别统计预设时间窗内通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量;
    将通过所述第一端口流入所述第一安全设备的数据量及通过所述第二端口流入所述第一安全设备的数据量之和作为所述预设时间窗内从所述目标交换机流入所述第一安全设备的数据量。
  21. 根据权利要求17-20任一项所述的网络设备,其特征在于,所述处理 器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述获取当前软件定义网络中与第一安全设备连接的目标交换机的数据流流表信息,具体执行以下步骤:
    通过所述通信接口向当前软件定义网络中与第一安全设备连接的目标交换机发送流表信息查询指令;
    通过所述通信接口接收所述目标交换机响应所述流表信息查询指令返回的第一流表信息和第二流表信息,其中,所述第一流表信息中指示了流入所述第一安全设备的数据流,所述第二流表信息中指示了流出所述第一安全设备的数据流。
  22. 根据权利要求21所述的网络设备,其特征在于,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述解析所述目标交换机的数据流流表信息,并生成包括所述解析的解析结果的第一数据处理规则,具体执行以下步骤:
    对所述第一流表信息和所述第二流表信息进行解析,解析得到所述第一流表信息指示的数据流在所述第二流表信息指示的数据流中具有对应流出数据的第三数据流和不具有对应流出数据的第四数据流;
    将所述第三数据流标记为预设处理方式,所述预设处理方式包括封装或绕行或流表匹配域细化处理;
    将所述第四数据流标记为丢弃;
    生成包括所述标记的标记结果的第一数据处理规则,并将生成的所述第一数据处理规则作为所述第一安全设备对应的第一数据处理规则。
  23. 根据权利要求22所述的网络设备,其特征在于,所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下执行所述将所述第三数据流标记为预设处理方式,具体执行以下步骤:
    将所述第三数据流和所述第二流表信息指示的数据流进行对比,确定出所 述第三数据流对应的流入数据与流出数据完全匹配的第五数据流以及流入数据和流出数据部分匹配的第六数据流;
    将所述第五数据流标记为封装或绕行;
    将所述第六数据流标记为流表匹配域细化,以提醒所述软件定义网络中的控制器在接收到与所述第六数据流类型相同的数据流的请求时,增加对该数据流的流表匹配域项目。
  24. 根据权利要求17-23任一项所述的网络设备,其特征在于,所述软件定义网络中还包括第二安全设备和与所述第二安全设备相连接的第三交换机;所述处理器从所述存储器读取所述驱动软件并在所述驱动软件的作用下还用于执行以下步骤:
    获取所述第三交换机对应的数据流流表信息;
    解析所述第三交换机对应的数据流流表信息,并生成包括所述解析的解析结果的第二数据处理规则;
    通过所述通信接口向所述目标交换机下发所述第二数据处理规则,以使所述目标交换机按照所述第二数据处理规则对接收的数据流进行处理。
CN201580031739.1A 2015-10-31 2015-10-31 一种基于软件定义网络的数据处理方法及相关设备 Active CN107210969B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/093497 WO2017070965A1 (zh) 2015-10-31 2015-10-31 一种基于软件定义网络的数据处理方法及相关设备

Publications (2)

Publication Number Publication Date
CN107210969A true CN107210969A (zh) 2017-09-26
CN107210969B CN107210969B (zh) 2020-05-26

Family

ID=58629701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580031739.1A Active CN107210969B (zh) 2015-10-31 2015-10-31 一种基于软件定义网络的数据处理方法及相关设备

Country Status (2)

Country Link
CN (1) CN107210969B (zh)
WO (1) WO2017070965A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988804A (zh) * 2019-12-12 2021-06-18 陕西西部资信股份有限公司 数据传输方法及系统
CN113592059A (zh) * 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和计算机程序产品

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962321B (zh) * 2023-09-18 2024-01-09 鹏城实验室 数据包传输方法、传输配置方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051557A (zh) * 2012-12-27 2013-04-17 华为技术有限公司 数据流处理方法及系统、控制器、交换设备
CN104639362A (zh) * 2013-11-15 2015-05-20 中兴通讯股份有限公司 Oam性能监控方法及装置
CN104702638A (zh) * 2013-12-06 2015-06-10 华为技术有限公司 事件的订阅分发方法和装置
US20150200813A1 (en) * 2014-01-15 2015-07-16 Electronics And Telecommunications Research Institute Server connection apparatus and server connection method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051557A (zh) * 2012-12-27 2013-04-17 华为技术有限公司 数据流处理方法及系统、控制器、交换设备
CN104639362A (zh) * 2013-11-15 2015-05-20 中兴通讯股份有限公司 Oam性能监控方法及装置
CN104702638A (zh) * 2013-12-06 2015-06-10 华为技术有限公司 事件的订阅分发方法和装置
US20150200813A1 (en) * 2014-01-15 2015-07-16 Electronics And Telecommunications Research Institute Server connection apparatus and server connection method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988804A (zh) * 2019-12-12 2021-06-18 陕西西部资信股份有限公司 数据传输方法及系统
CN113592059A (zh) * 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和计算机程序产品
US11888705B2 (en) 2020-04-30 2024-01-30 EMC IP Holding Company LLC Method, device, and computer program product for processing data

Also Published As

Publication number Publication date
WO2017070965A1 (zh) 2017-05-04
CN107210969B (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
US11736402B2 (en) Fast data center congestion response based on QoS of VL
US9819590B2 (en) Method and apparatus for notifying network abnormality
US9407450B2 (en) Method and apparatus for providing tenant information for network flows
US8174984B2 (en) Managing traffic on virtualized lanes between a network switch and a virtual machine
CN103765839B (zh) 用于网络设备内的分组处理的基于变量的转发路径结构
EP3275140B1 (en) Technique for achieving low latency in data center network environments
US10778588B1 (en) Load balancing for multipath groups routed flows by re-associating routes to multipath groups
CN101827073B (zh) 跟踪片段数据流
US10693790B1 (en) Load balancing for multipath group routed flows by re-routing the congested route
US20170099215A1 (en) Link aggregation group (lag) support on a software-defined network (sdn)
CN108141416A (zh) 一种报文处理方法、计算设备以及报文处理装置
US20180287932A1 (en) Identification of an sdn action path based on a measured flow rate
CN105812340B (zh) 一种虚拟网络访问外网的方法和装置
US9590922B2 (en) Programmable and high performance switch for data center networks
CN104125214B (zh) 一种实现软件定义安全的安全架构系统及安全控制器
US20130208728A1 (en) Packet routing for embedded applications sharing a single network interface over multiple virtual networks
CN108471383A (zh) 报文转发方法、装置和系统
CN105337789A (zh) 一种监控虚拟网络流量的方法和装置
CN108028828A (zh) 一种分布式拒绝服务DDoS攻击检测方法及相关设备
CN107210969A (zh) 一种基于软件定义网络的数据处理方法及相关设备
CN105553948A (zh) 一种基于虚拟机的弹性防攻击方法
KR102020049B1 (ko) 멀티 테넌트 클라우드 서비스의 서비스 품질을 보장하기 위한 스위치, 방법 및 상기 스위치를 포함하는 시스템
US11962499B2 (en) Multitenancy for service machines
US9356876B1 (en) System and method for classifying and managing applications over compressed or encrypted traffic
US20150263954A1 (en) Communication system, virtual machine server, virtual network management apparatus, network control method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200507

Address after: Room 801 and 802, 8 / F, 101, 3-14 / F, building 1, yard 17, Guangqu Road, Chaoyang District, Beijing 100000

Applicant after: Beijing huawang online commerce Co.,Ltd.

Address before: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Applicant before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Effective date of registration: 20200507

Address after: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Applicant after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210705

Address after: 402460 No.1-6 dongyidang street, Rongchang District, Chongqing

Patentee after: Tao Peng

Address before: Room 801, 802, 8 / F, 101, 3-14 / F, building 1, yard 17, Guangqu Road, Chaoyang District, Beijing

Patentee before: Beijing huawang online commerce Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210716

Address after: 071000 room 906, 9 / F, building 1, 289 Xingye Road, Baoding City, Hebei Province

Patentee after: Baoding Longwu Information Technology Service Co.,Ltd.

Address before: 402460 No.1-6 dongyidang street, Rongchang District, Chongqing

Patentee before: Tao Peng

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211108

Address after: 071000 room 901, 9 / F, building 1, 289 Xingye Road, Baoding City, Hebei Province

Patentee after: Baoding Shengmo Information Technology Co.,Ltd.

Address before: 071000 room 906, 9 / F, building 1, 289 Xingye Road, Baoding City, Hebei Province

Patentee before: Baoding Longwu Information Technology Service Co.,Ltd.

TR01 Transfer of patent right