【技术实现步骤摘要】
高效流量捕获、重组、持久化及负载均衡的综合解决方法
[0001]本专利技术属于网络空间安全
,特别是涉及高效流量捕获
、
重组
、
持久化及负载均衡的综合解决方法
。
技术介绍
[0002]对于网络中传输的数据进行重组
、
还原和存储是网络流量分析和检测的基础步骤,为后续流量审计提供了必要的支持数据;在目前的网络流量捕获
、
重组和持久化
,目前已经存在了一些解决方案:
(1)
数据包捕获:数据包捕获是流量分析的起点,已有多种产品和技术可供选择,常见的工具包括
Wireshark
和
tcpdump
等;这些技术通常使用与操作系统内核分离的流量采集库,等待网络适配器接收流量后触发中断信号,将数据包内容复制到内核缓冲区,然后再传送至用户空间缓冲区;然后,在高带宽网络环境中,这些方法可能面临资源消耗过大等问题;
(2)
流量重组:流量充足是指将散布在数据包中的信息重新组装成完整的数据流;一些数据包捕获软件也包含流量重组功能,但这些产品主要在用户空间操作,可能会存在效率瓶颈,尤其是在高带宽网络环境中表现不佳;
(3)
流量持久化:目前,主流的数据包采集设备通常不会在数据包捕获时进行流量持久化处理,而是将待处理的流量全部存储于内存中进行操作;然后,由于网络流量数据通常具有大数据量和长时间持久性的特点,如果将所有网络流数据缓存在内存中,内存处理能力可能会无法满足要求 ...
【技术保护点】
【技术特征摘要】
1.
高效流量捕获
、
重组
、
持久化及负载均衡的综合解决方法,其特征在于,包括如下步骤:
S1、
流量捕获:使用轮询模式驱动,在网络驱动轮询过程中,通过直接内存存取方式将数据包直接传输至用户空间进程的内存中,减少内存复制的次数,提高了网络数据包处理效率;
S2、
流量重组:使用多重哈希的网络数据流多核负载均衡技术,将相同会话的流量分配到同一
CPU
核心上,以优化流量的实时重组性能,每一个重组维护一个流表,记录每个网络流的状态,包括源
IP、
目的
IP、
源端口和目的端口信息,以便后续的流量重组;
S3、
流量持久化:设计一个超时流检测队列用于标记和处理超时的网络流,以降低性能开销和内存资源消耗;当网络流量规模超过一定阈值时,将网络流数据从内存设备持久化到硬盘中,但保留流表中的相应位置,以确保流会话不会中断;引入分批缓存标记,用于标记已持久化但未结束的网络流数据,以确保在多次持久化过程中,相同网络流数据始终被写入同一个文件;最后通过网络数据持久化模块将输入的网络数据存储成文件并写入硬盘,以进行数据持久化操作
。2.
根据权利要求1所述的高效流量捕获
、
重组
、
持久化及负载均衡的综合解决方法,其特征在于,所述流量捕获采用数据包捕获机制,即轮询模式驱动,该模式下,不再等待中断信号,而是通过不断向网络驱动程序轮询是否能够获取到数据包,从而实现更高的网络数据包处理效率
。3.
根据权利要求1所述的高效流量捕获
、
重组
、
持久化及负载均衡的综合解决方法,其特征在于,在网络驱动轮询过程中,还采用中断缓解技术机制,只在有足够多的数据包的时候回应轮询请求,并一次性将网络适配器数据包缓冲区的多个数据包返回给轮询请求
。4.
根据权利要求1所述的高效流量捕获
、
重组
、
持久化及负载均衡的综合解决方法,其特征在于,所述流量重组具体采用网络流重组模块对网络流量进行重组和还原,在网络流重组模块中引入一种多重哈希的负载均衡技术,用于解决同一流中双向数据包可能被分配到不同处理器以及多核处理器的负载不均衡;其具体是将
CPU
的逻辑核心分为捕获核与重组核两部分,在数据包分发至
CPU
时,首先经过
CPU
自带的
RSS
功能,执行
Toeplitz
哈希计算,并根据不同的哈希计算结果将网络数据包分配至不同的哈希计算结果将网络数据包分配至不同的捕获核对应的数据包缓冲队列中,一旦捕获核获取了数据包将进行第二次哈希计算,具体哈希计算方法如下:中,一旦捕获核获取了数据包将进行第二次哈希计算,具体哈希计算方法如下:
HRESULT
=
HKEY1&HKEY2
这次的输入包括连接的四元组:源
IP(SIP)、
目的
IP(DIP)、
源端口
(SPORT)
和目的端口
(DPORT)
,通过上述哈希计算方法,确保同一会话中双向数据包计算出相同的哈希值,该算法主要采用异或运算,既增加了参数对计算结果的影响,又减少了寄存器的使用,无需担心计算结果溢出问题,从而降低运算量;随后,捕获核根据第二次哈希计算的结果将数据包分配至重组核;每个重组核维护着一个流表,用于存储源
IP(SIP)、
目的
IP(DIP)、
源端口
(SPORT)
和目的端口
(DPORT)
相同的一
组数据包,这样的一组数据包被称为一个网络流;在捕获核分配数据包之前,首先会查找要分配至的重组核中的流表,判断是否已经存在当前数据包对应的网络流;如果能够查询到对应的网络流,将该网络流数据添加到流表的相应项中;如果在相应的流表中没有查询到对应的网络流,将逐个查询其他重组核的流表;如果在其...
【专利技术属性】
技术研发人员:王昊天,
申请(专利权)人:上海螣龙科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。