CN114024758B - 流量特征提取方法、系统、存储介质及电子设备 - Google Patents

流量特征提取方法、系统、存储介质及电子设备 Download PDF

Info

Publication number
CN114024758B
CN114024758B CN202111322171.2A CN202111322171A CN114024758B CN 114024758 B CN114024758 B CN 114024758B CN 202111322171 A CN202111322171 A CN 202111322171A CN 114024758 B CN114024758 B CN 114024758B
Authority
CN
China
Prior art keywords
sent
flow
data packet
flow characteristics
quintuple
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.)
Active
Application number
CN202111322171.2A
Other languages
English (en)
Other versions
CN114024758A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202111322171.2A priority Critical patent/CN114024758B/zh
Publication of CN114024758A publication Critical patent/CN114024758A/zh
Application granted granted Critical
Publication of CN114024758B publication Critical patent/CN114024758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及互联网技术领域,具体涉及一种流量特征提取方法、系统、存储介质及电子设备,包括:提取待发送数据包的流量特征,根据流五元组确定流量特征在可编程交换机的短缓冲区中对应的槽位;将待发送数据包的流量特征添加到短缓冲区中对应的槽位;若槽位无法添加待发送数据包的流量特征,则将流量特征添加到可编程交换机中空白的长缓冲区中;当长缓冲区填满流量特征时,将长缓冲区中的流量特征和短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。本申请能够在不影响交换机正常转发数据包功能的基础上,以线速对流经的流量进行特征提取,并将流量特征转发给行为检测服务器,处理速度快、吞吐量大、成本低。

Description

流量特征提取方法、系统、存储介质及电子设备
技术领域
本申请涉及互联网技术领域,特别地涉及一种流量特征提取方法、系统、存储介质及电子设备。
背景技术
流量分析是网络安全领域最重要的技术之一,指的是通过收集流量统计信息和分析流量行为模式来对网络进行监测的一系列方法。流量分析对于网络安全有着重要的意义,通过流量分析技术,网络管理者可以及时地发现网络可能面对的威胁,从而在第一时间做出反应,维护网络空间的安全稳定。流量分析技术在入侵检测、僵尸网络检测、网页指纹识别、多媒体协议隧道识别等领域都有着大量的应用。
如今,由于加密技术的大量使用以及网络攻击手段的演进,传统的流量分析方法的可靠性急剧降低。而随着机器学习的迅速发展,基于机器学习的流量分析方法逐渐成为主流。这一类方法具有可靠性高、应用范围广、可拓展性好等优点,同时也对计算资源有着较高的要求。在网络吞吐指数增长的背景下,基于机器学习的流量分析方法要消耗的服务器计算资源也大幅增加,由此带来了算法部署成本的上涨。这一现状阻碍了许多优秀的机器学习流量分析方法的实际落地应用。同时,此前并无针对流量特征提取的专有硬件优化方法。这导致流量特征提取效率往往成为机器学习流量分析算法的瓶颈。
发明内容
针对上述问题,本申请提供一种流量特征提取方法、系统、存储介质及电子设备,相比传统的基于CPU服务器的流量特征提取器,该发明具有处理速度快、吞吐量大、成本低的优点。
第一方面,本申请提供了一种流量特征提取方法,所述方法包括:
提取待发送数据包的五元组信息;
根据所述五元组信息标识流五元组;
提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;
将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;
若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;
当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。
在一些实施例中,所述提取待发送数据包的五元组信息,包括:
从所述待发送数据包的包头中提取五元组信息。
在一些实施例中,所述根据所述流五元组确定所述待发送数据包在可编程交换机的短缓冲区中对应的槽位,包括:
对所述流五元组进行哈希映射,确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位。
在一些实施例中,所述流量特征,包括:
报文大小和报文时间戳。
在一些实施例中,所述将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位,包括:
判断所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位中是否已存在流量特征;
若所述槽位中是否已存在流量特征,则判断所述已存在流量特征的五元组是否与所述待发送数据包的流量特征的五元组相同;
若所述已存在流量特征的五元组与所述待发送数据包的流量特征的五元组相同,则将所述待发送数据包的流量特征添加到所述已存在流量特征的后面;
若所述已存在流量特征的五元组与所述待发送数据包的流量特征的五元组不同,则将所述槽位中已存在流量特征踢出,并发送至行为检测服务器,将所述待发送数据包的流量特征添加到所述槽位中。
在一些实施例中,所述方法还包括;
当将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位时,记录当前时间,并开始计时;其中,所述开始计时时重置之前的计时时间;
当计时时间大于预设时间时,将所述短缓冲区中对应的槽位中的流量特征发送到行为检测服务器。
在一些实施例中,若所述短缓冲区对应的槽位存在对应的长缓冲区,则所述方法还包括:
将所述槽位对应的长缓冲区中的流量特征与所述槽位中的流量特征一并打包发送到行为检测服务器。
第二方面,一种流量特征提取系统,所述系统包括:
提取单元,用于提取待发送数据包的五元组信息;
标识单元,用于根据所述五元组信息标识流五元组;
确定单元,用于提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;
添加单元,用于将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;
发送单元,用于当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。
在一些实施例中,所述系统还包括;
超时处理单元,用于当将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位时,记录当前时间,并开始计时;其中,所述开始计时时重置之前的计时时间;当计时时间大于预设时间时,将所述短缓冲区中对应的槽位中的流量特征发送到行为检测服务器。
第三方面,一种存储介质,该存储介质存储的计算机程序,可被一个或多个处理器执行,可用来实现如上述第一方面所述的流量特征提取方法。
第四方面,一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述存储器和所述处理器之间互相通信连接,该计算机程序被所述处理器执行时,执行如上述第一方面所述的流量特征提取方法。
本申请提供的一种流量特征提取方法、系统、存储介质及电子设备,包括:提取待发送数据包的五元组信息;根据所述五元组信息标识流五元组;提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。本申请的流量特征提取方法能够在不影响交换机正常转发数据包功能的基础上,以线速对流经的流量进行特征提取,并将流量特征转发给行为检测服务器。相比传统的基于CPU服务器的流量特征提取器,该发明具有处理速度快、吞吐量大、成本低的优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种流量特征提取方法的流程示意图;
图2为本申请实施例提供的特征向量的格式示意图;
图3为本申请实施例提供的超时机制原理图;
图4为本申请实施例提供的一种流量特征提取系统的结构示意图;
图5为本申请实施例提供的一种电子设备的连接框图。
具体实施方式
以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本申请的保护范围之内。
由背景技术可知,由于加密技术的大量使用以及网络攻击手段的演进,传统的流量分析方法的可靠性急剧降低。而随着机器学习的迅速发展,基于机器学习的流量分析方法逐渐成为主流。这一类方法具有可靠性高、应用范围广、可拓展性好等优点,同时也对计算资源有着较高的要求。在网络吞吐指数增长的背景下,基于机器学习的流量分析方法要消耗的服务器计算资源也大幅增加,由此带来了算法部署成本的上涨。这一现状阻碍了许多优秀的机器学习流量分析方法的实际落地应用。同时,此前并无针对流量特征提取的专有硬件优化方法。这导致流量特征提取效率往往成为机器学习流量分析算法的瓶颈。
有鉴于此,本申请提供一种流量特征提取方法、系统、存储介质及电子设备,相比传统的基于CPU服务器的流量特征提取器,该发明具有处理速度快、吞吐量大、成本低的优点。
实施例一
图1为本申请实施例提供的一种流量特征提取方法的流程示意图,如图1所示,本方法包括:
S101、提取待发送数据包的五元组信息;
S102、根据所述五元组信息标识流五元组;
需要说明的是,本申请用可编程交换机的快速哈希计算特性,首先将收到的数据包按照五元组进行分流映射,再对其流量特征进行提取。可提取的流量特征包括报文大小、报文时间戳等常用的流量特征。为了降低发送流量特征链路上的带宽资源消耗和运行流量行为检测服务器的压力,该本申请流量特征提取系统充分利用了可编程交换机上的SRAM缓存作为缓冲区,能够将数据包的流量特征聚合为特征向量后分批发送,所述特征向量包括流五元组和数据包的流量特征,如图2所示,为特征向量的格式示意图。
S103、提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;
S104、将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;
S105、若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;
S106、当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。
需要说明的是,随着软件定义网络技术的不断发展,网络可编程性从软件定义网络的控制平面慢慢扩展到了数据平面,这一过程中涌现出了可编程交换机和协议无关的编程语言P4。可编程交换机有着与传统交换机相似的功耗和价格,在不损失性能的基础上提供了编程能力,能够以线速执行用户自定义的包处理逻辑。P4语言则是一种适配可编程交换机体系结构的领域特定编程语言。目前,许多商用的可编程交换机已经对P4语言提供了支持,如Barefoot公司的Tofino交换机,Cavium公司的XPliant交换机等。可编程交换机的数据平面流水线带有一定数量的ALU计算资源以及TCAM/SRAM存储资源,程序员可以在可编程交换机平台上编写并运行P4程序,实现线速的网络应用。
本申请的特征提取系统运行在可编程交换机上,分为数据平面程序和控制平面程序(不包括服务器上的行为检测模块)。数据平面程序使用P4语言编写,有数据包正常转发、特征提取、缓存管理和超时管理等模块,控制平面程序使用Python编写,负责初始化对应的数据面表项及发送初始超时控制报文,也可扩展监测数据面运行状态。部署时,首先使用可编程交换机系统的P4工具链将P4程序烧写到交换机数据平面,然后运行控制程序以配置数据平面状态,系统即进入正常运行状态,使用服务器接收交换机传出的特征向量即可。
在一些实施例中,所述提取待发送数据包的五元组信息,包括:
从所述待发送数据包的包头中提取五元组信息。
需要说明的是,所述五元组信息包括源/目的地址、源/目的端口、协议。
在一些实施例中,所述根据所述流五元组确定所述待发送数据包在可编程交换机的短缓冲区中对应的槽位,包括:
对所述流五元组进行哈希映射,确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位。
需要说明的是,通过哈希映射可以建立流五元组和短缓冲区中槽位的映射关系,在需要的时候快速通过映射关系确定流五元组在短缓冲区中对应的槽位。
在一些实施例中,所述流量特征,包括:
报文大小和报文时间戳。
需要说明的是,本申请包括但不限于报文大小和报文时间戳两种流量特征,具体提取的流量特征种类可以根据需要和实际情况自行设定。
在一些实施例中,所述将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位,包括:
判断所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位中是否已存在流量特征;
若所述槽位中是否已存在流量特征,则判断所述已存在流量特征的五元组是否与所述待发送数据包的流量特征的五元组相同;
若所述已存在流量特征的五元组与所述待发送数据包的流量特征的五元组相同,则将所述待发送数据包的流量特征添加到所述已存在流量特征的后面;
若所述已存在流量特征的五元组与所述待发送数据包的流量特征的五元组不同,则将所述槽位中已存在流量特征踢出,并发送至行为检测服务器,将所述待发送数据包的流量特征添加到所述槽位中。
需要说明的是,由于可编程交换机具有吞吐量大、存储资源稀缺的特点,必须采用动态分配的方式来高效利用SRAM缓存资源。本申请采用固定短缓冲区+动态长缓冲区的方式来为特征向量分配存储。短缓冲区包含较多的槽位,能基本满足为所有并发的活跃流均分配一个槽位,但每一个槽位能容纳的流量特征数较少。而长缓冲区槽位个数少,但是每一个槽位长度较长,能容纳较多的流量特征。对于大部分的短流,使用短缓冲区即可容纳其所有流量特征。而对于少数的长流,则为其分配长缓冲区,这样可以较大程度地减少交换机发送给行为检测服务器的数据包数目,节省网络资源,也有利于系统达到线速。
当系统从数据包包头中提取出五元组信息(即源/目的地址、源/目的端口、协议),以此唯一地标识一条流,即流五元组作为标识。在确定一个特征向量的缓存位置时,将其五元组进行哈希映射以确定其在短缓冲区中对应的槽位,其中,所述特征向量包括流五元组和至少一个流量特征,若该数据包的流量特征和槽位中原有的流量特征向量同属一条流(即五元组相同),则将该数据包的流量特征添加到槽位原来的特征向量后面,即将该数据包的流量特征添加到槽内原有流量向量中的最后一个流量特征的后面依次添加。如果不属于同一条流,即五元组不同,则将槽位中原有的特征向量踢出,发送至机器学习服务器,再由新流占据这一槽位。
如果在以上过程中,短缓冲区不足以容纳某条流全部的特征向量,则系统会试图为其分配一个长缓冲区槽位。长缓冲区的分配采用一个栈来实现,栈内存有所有指向未被分配的空闲长缓冲区的指针。分配时从栈顶弹出一个长缓冲区槽位指针,将其指向的长缓冲区作为短缓冲区的扩展,而回收时向栈顶压入指向被回收的长缓冲区的指针。长缓冲区满时,会将短+长缓冲区内该流的特征向量一并打包发给机器学习服务器。若短缓冲区的特征向量被踢出或是超时,则在发送特征向量的时候,如果被踢出或是超时的短缓冲区的槽位存在对应的长缓冲区,则将所述对应的长缓冲区中的特征向量与被踢出或是超时的短缓冲区的槽位中的特征向量一并打包发送到行为检测服务器,并回收该长缓冲区。由于交换机流水线的结构限制,回收释放长缓冲区的功能无法在一遍流水线流程内实现,需要采用循环控制报文的方式。
在一些实施例中,所述方法还包括;
当将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位时,记录当前时间,并开始计时;其中,所述开始计时时重置之前的计时时间;
当计时时间大于预设时间时,将所述短缓冲区中对应的槽位中的流量特征发送到行为检测服务器。
在一些实施例中,若所述短缓冲区对应的槽位存在对应的长缓冲区,则所述方法还包括:
将所述槽位对应的长缓冲区中的流量特征与所述槽位中的流量特征一并打包发送到行为检测服务器。
需要说明的是,本申请的流量提取系统内部加入了超时机制,能够在一个流停止活跃超过一定时间后,将其缓冲区内的剩余数据发送到机器学习服务器,并释放其占用的交换机资源。这一机制一方面保证了机器学习应用收到的特征向量的时效性,另一方面也提高了交换机上缓冲区存储资源的利用效率,尤其是长缓冲区的利用效率,使系统能够处理更多的长流。
由于可编程交换机的架构并不原生支持超时机制,本申请采用了循环控制报文的方式来实现超时机制。
具体的,流量提取系统内部设置一个与短缓冲区中槽位数目相同的时间戳寄存器,用来存储对应流上一次活跃的时间,时间戳寄存器和短缓冲区的槽位一一对应。流量提取系统启动时,由交换机控制平面程序给数据平面发一个以太网类型的超时控制包,且IP层目标地址设为0,交换机识别该报文后,以目标地址为直接索引来访问时间戳寄存器(即第0号槽位),计算当前时间与槽位内时间的差,若超过一固定值则判断该索引位置对应的流超时,系统会将缓冲区内的特征向量发送给机器学习服务器。交换机在后续处理该超时控制包的过程中会对其目标地址域加1,并通过循环机制让该报文重新进入入口流水线,以此检查下一个槽位。如此持续运行,即可实现对所有槽位的扫描遍历检查。由于循环的速度很快,因此可以实现较为精确的超时机制。同时,报文循环消耗的数据面带宽相比可编程交换机全部可用带宽也完全可以忽略不计。且在内置超时机制的作用下,特征向量的发送具有时效性,能够满足时间敏感的一类应用需求。
如图3所示,为超时机制原理图。
具体的,在一些实施例中,所述预设时间可设定为500ms,这也是许多基于流的应用程序判断流结束的标志。
综上所述,本申请实施例提供了一种流量特征提取方法,包括:提取待发送数据包的五元组信息;根据所述五元组信息标识流五元组;提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。本申请的流量特征提取方法能够在不影响交换机正常转发数据包功能的基础上,以线速对流经的流量进行特征提取,并将流量特征转发给行为检测服务器。相比传统的基于CPU服务器的流量特征提取器,该发明具有处理速度快、吞吐量大、成本低的优点。
实施例二
基于上述本发明实施例公开的流量特征提取方法,图4具体公开了应用该流量特征提取方法的流量特征提取系统。
如图4所示,本发明实施例公开了一种流量特征提取系统,该系统包括:
提取单元401,用于提取待发送数据包的五元组信息;
标识单元402,用于根据所述五元组信息标识流五元组;
确定单元403,用于提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;
添加单元404,用于将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;
发送单元405,用于当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。
在一些实施例中,所述系统还包括;
超时处理单元,用于当将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位时,记录当前时间,并开始计时;其中,所述开始计时时重置之前的计时时间;当计时时间大于预设时间时,将所述短缓冲区中对应的槽位中的流量特征发送到行为检测服务器。
以上本发明实施例公开的流量特征提取系统中的各个单元的具体工作过程,可参见本发明上述实施例公开的流量特征提取方法中的对应内容,这里不再进行赘述。
综上所述,本申请实施例提供了一种流量特征提取系统,包括:提取待发送数据包的五元组信息;根据所述五元组信息标识流五元组;提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。本申请的流量特征提取方法能够在不影响交换机正常转发数据包功能的基础上,以线速对流经的流量进行特征提取,并将流量特征转发给行为检测服务器。相比传统的基于CPU服务器的流量特征提取器,该发明具有处理速度快、吞吐量大、成本低的优点。
实施例三
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,该计算机程序被处理器执行时可以实现如实施例一的方法步骤,本实施例在此不再重复赘述。
实施例四
图5为本申请实施例提供的一种电子设备500的连接框图,如图5所示,该电子设备500可以包括:处理器501,存储器502,多媒体组件503,输入/输出(I/O)接口504,以及通信组件505。
其中,处理器501用于执行如实施例一中的流量特征提取方法中的全部或部分步骤。存储器502用于存储各种类型的数据,这些数据例如可以包括电子设备中的任何应用程序或方法的指令,以及应用程序相关的数据。
处理器501可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable LogicDevice,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例一中的流量特征提取方法。
存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件503可以包括屏幕和音频组件,该屏幕可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或通过通信组件发送。音频组件还包括至少一个扬声器,用于输出音频信号。
I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。
通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
综上,本申请提供的一种流量特征提取方法、系统、存储介质及电子设备,该方法包括:提取待发送数据包的五元组信息;根据所述五元组信息标识流五元组;提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。本申请的流量特征提取方法能够在不影响交换机正常转发数据包功能的基础上,以线速对流经的流量进行特征提取,并将流量特征转发给行为检测服务器。相比传统的基于CPU服务器的流量特征提取器,该发明具有处理速度快、吞吐量大、成本低的优点。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的方法,也可以通过其它的方式实现。以上所描述的方法实施例仅仅是示意性的。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然本申请所揭露的实施方式如上,但上述的内容只是为了便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属技术领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种流量特征提取方法,其特征在于,所述方法包括:
提取待发送数据包的五元组信息;
根据所述五元组信息标识流五元组;
提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;
将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;
若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;
当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器;
所述将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位,包括:
判断所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位中是否已存在流量特征;
若所述槽位中已存在流量特征,则判断所述已存在流量特征的五元组是否与所述待发送数据包的流量特征的五元组相同;
若所述已存在流量特征的五元组与所述待发送数据包的流量特征的五元组相同,则将所述待发送数据包的流量特征添加到所述已存在流量特征的后面;
若所述已存在流量特征的五元组与所述待发送数据包的流量特征的五元组不同,则将所述槽位中已存在流量特征踢出,并发送至行为检测服务器,将所述待发送数据包的流量特征添加到所述槽位中。
2.根据权利要求1所述的方法,其特征在于,所述提取待发送数据包的五元组信息,包括:
从所述待发送数据包的包头中提取五元组信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述流五元组确定所述待发送数据包在可编程交换机的短缓冲区中对应的槽位,包括:
对所述流五元组进行哈希映射,确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位。
4.根据权利要求1所述的方法,其特征在于,所述流量特征,包括:
报文大小和报文时间戳。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括;
当将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位时,记录当前时间,并开始计时;其中,所述开始计时时重置之前的计时时间;
当计时时间大于预设时间时,将所述短缓冲区中对应的槽位中的流量特征发送到行为检测服务器。
6.根据权利要求5所述的方法,其特征在于,若所述短缓冲区对应的槽位存在对应的长缓冲区,则所述方法还包括:
将所述槽位对应的长缓冲区中的流量特征与所述槽位中的流量特征一并打包发送到行为检测服务器。
7.一种流量特征提取系统,其特征在于,所述系统包括:
提取单元,用于提取待发送数据包的五元组信息;
标识单元,用于根据所述五元组信息标识流五元组;
确定单元,用于提取所述待发送数据包的流量特征,并根据所述流五元组确定所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位;
添加单元,用于将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位;若所述短缓冲区中对应的槽位无法添加所述待发送数据包的流量特征,则将所述待发送数据包的流量特征添加到可编程交换机中空白的长缓冲区中;所述将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位,包括:判断所述待发送数据包的流量特征在可编程交换机的短缓冲区中对应的槽位中是否已存在流量特征;若所述槽位中已存在流量特征,则判断所述已存在流量特征的五元组是否与所述待发送数据包的流量特征的五元组相同;若所述已存在流量特征的五元组与所述待发送数据包的流量特征的五元组相同,则将所述待发送数据包的流量特征添加到所述已存在流量特征的后面;若所述已存在流量特征的五元组与所述待发送数据包的流量特征的五元组不同,则将所述槽位中已存在流量特征踢出,并发送至行为检测服务器,将所述待发送数据包的流量特征添加到所述槽位中;
发送单元,用于当所述长缓冲区填满流量特征时,将所述长缓冲区中的流量特征和所述短缓冲区对应槽位中的流量特征一并打包发送到行为检测服务器。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括;
超时处理单元,用于当将所述待发送数据包的流量特征添加到所述短缓冲区中对应的槽位时,记录当前时间,并开始计时;其中,所述开始计时时重置之前的计时时间;当计时时间大于预设时间时,将所述短缓冲区中对应的槽位中的流量特征发送到行为检测服务器。
9.一种存储介质,其特征在于,该存储介质存储的计算机程序,可被一个或多个处理器执行,可用来实现如权利要求1~6任意一项所述的流量特征提取方法。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,所述存储器和所述处理器之间互相通信连接,该计算机程序被所述处理器执行时,执行如权利要求1~6任意一项所述的流量特征提取方法。
CN202111322171.2A 2021-11-09 2021-11-09 流量特征提取方法、系统、存储介质及电子设备 Active CN114024758B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111322171.2A CN114024758B (zh) 2021-11-09 2021-11-09 流量特征提取方法、系统、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111322171.2A CN114024758B (zh) 2021-11-09 2021-11-09 流量特征提取方法、系统、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN114024758A CN114024758A (zh) 2022-02-08
CN114024758B true CN114024758B (zh) 2022-12-23

Family

ID=80062763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111322171.2A Active CN114024758B (zh) 2021-11-09 2021-11-09 流量特征提取方法、系统、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN114024758B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366503B (zh) * 2023-06-02 2023-08-08 腾讯科技(深圳)有限公司 一种数据处理方法和相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019128938A1 (zh) * 2017-12-29 2019-07-04 北京神州绿盟信息安全科技股份有限公司 一种提取特征串的方法、装置、网络设备及存储介质
CN111641531A (zh) * 2020-05-12 2020-09-08 国家计算机网络与信息安全管理中心 一种基于dpdk的数据包分发和特征提取方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348740B (zh) * 2013-07-31 2018-04-10 国际商业机器公司 数据包处理方法和系统
CN106850148B (zh) * 2017-03-01 2019-12-03 广州广哈通信股份有限公司 数据帧传输的方法及系统
CN112822077B (zh) * 2021-02-23 2022-12-09 西安交通大学 数据中心网络中全网流量测量方法、系统及丢包检测方法
CN113132180B (zh) * 2021-03-11 2022-07-29 武汉大学 一种面向可编程网络的协作式大流检测方法
CN113381993A (zh) * 2021-06-08 2021-09-10 清华大学 深度报文检测系统及其检测方法、计算机设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019128938A1 (zh) * 2017-12-29 2019-07-04 北京神州绿盟信息安全科技股份有限公司 一种提取特征串的方法、装置、网络设备及存储介质
CN111641531A (zh) * 2020-05-12 2020-09-08 国家计算机网络与信息安全管理中心 一种基于dpdk的数据包分发和特征提取方法

Also Published As

Publication number Publication date
CN114024758A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
EP2933955B1 (en) Deep packet inspection method, device, and coprocessor
US9300578B2 (en) Large receive offload functionality for a system on chip
US8176300B2 (en) Method and apparatus for content based searching
US10666672B2 (en) Collecting domain name system traffic
US11563643B2 (en) Advanced network tracing in the data plane
Mattos et al. An agile and effective network function virtualization infrastructure for the Internet of Things
US20110016154A1 (en) Profile-based and dictionary based graph caching
US20190158403A1 (en) Shared memory communication in software defined networking
EP3744066B1 (en) Method and device for improving bandwidth utilization in a communication network
CN107888500B (zh) 报文转发方法及装置、存储介质、电子设备
CN109525495B (zh) 一种数据处理装置、方法和fpga板卡
US20140304817A1 (en) APPARATUS AND METHOD FOR DETECTING SLOW READ DoS ATTACK
CN112751781B (zh) 流量数据的处理方法、装置、设备及计算机存储介质
CN113364804B (zh) 一种流量数据的处理方法和装置
CN114024758B (zh) 流量特征提取方法、系统、存储介质及电子设备
US10462055B2 (en) Content distribution system cache management
CN112929376A (zh) 一种流量数据的处理方法、装置、计算机设备和存储介质
CN107277062B (zh) 数据包的并行处理方法及装置
CN112511438B (zh) 一种利用流表转发报文的方法、装置及计算机设备
KR100608541B1 (ko) 샘플링과 시그너쳐 검색 기능을 구비한 인터넷 프로토콜패킷 수집 장치 및 그 방법
CN115996203B (zh) 网络流量分域方法、装置、设备和存储介质
CN113810342B (zh) 一种入侵检测方法、装置、设备、介质
JP2008131584A (ja) 情報処理装置及び情報処理システム
CN112887317A (zh) 一种基于vxlan网络对数据库的防护方法及系统
CN113890789B (zh) 适用于数据中心的udp隧道流量的分流方法、流量转发方法

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
GR01 Patent grant
GR01 Patent grant