一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向会话的网络流量存储及索引方法与流程

2023-01-15 10:18:36 来源:中国专利 TAG:

技术特征:
1.一种面向会话的网络流量存储及索引方法,其特征在于:包括数据包存储和数据包索引两个步骤,所述数据包存储步骤如下:步骤1:网络流量镜像通过交换机端口镜像和光纤分光镜像网络数据包流量;步骤2:高性能流量采集实现网络流量还原,从网络镜像设备中还原网络数据包,实现高性能流量采集;步骤3:数据包协议解析识别数据包的网络层和传输层协议,识别数据包的二层协议和三层协议;步骤4:会话重组根据数据包的协议、ip和端口信息生成相应的ip会话或者五元组会话,进行会话重组,对于没有端口的ip层协议生成ip对会话,对于有端口的tcp/udp协议生成五元组会话,跟踪所有会话完整的生命周期;步骤5:会话数据包缓存在会话活动生命周期中,缓存会话数据包到相应的会话对象中;步骤6:会话数据包缓存根据数据包缓存消耗阈值和会话的消亡时机来推动会话数据包的落盘,在内存空间足够的情况下,缓存更多的数据包;步骤7:预分配存储分区在数据包落盘之前提前在磁盘预分配相应的存储空间;步骤8:数据包分块存盘根据每个会话当前落盘数据包集合,生成数据包分块存储的分块基本信息和分块数据包内容,分块基本信息包括:当前分块数据包总数、当前分块数据包起始时间戳、前序分块总数、当前分块长度、分块头部校验和、前序分块偏移和分区id数组、前序分块长度数组、前序分块起始时间戳数组、前序分块数据包个数数组、当前分块数据包起始偏移数组;分块数据包内容包括每个数据包的时间戳和数据包原始内容;步骤9:会话消亡。2.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤6中,当整体会话数据包超过缓存限制时,以会话的最后活动时间进行遍历,将长时间未活动的会话数据包进行落盘,直到内存空间回到指定的空闲空间大小,缓存空间大小需要容纳30秒到120秒的网络流量;当每条会话单独缓存数据包容量超过4gb时以及会话消亡时也需要立即启动当前会话的数据包落盘。3.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤7中,每次预分配大小为64g,在磁盘上产生一个实体文件作为一个独立存储分区,分区存储文件以分区id为文件名,每个分区的总大小不超过1tb大小。4.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤8中,整体存储结构如下:4b:当前分块数据包个数;4b:当前分块数据包起始时间戳;2b:前序分块总数,为0时前序分块相关的数组为空;
5b:当前分块长度;1b:分块头部校验和;[{5b:偏移,3b:分区id}]:前序分块偏移和分区id数组;[{4b:前序分块长度}]:前序分块长度数组;[{4b:前序分块起始时间戳}]:前序分块起始时间戳数组;[{4b:前序分块数据包个数}]:前序分块数据包个数数组;[5b:当前数据包偏移]:当前数据包起始偏移数组;[{8b:数据包1到n时间戳,*b:数据包1到n的数据内容}]:分块数据包内容。5.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤8中,每个分块的总体内容不超过4gb大小,超过4gb后会分割成多个分块,当会话存在多个数据包分块时,会话对象会将所有前序分块的基本信息保存到前序分块基本信息数组中,包括前序分块偏移和分区id数组、前序分块长度数组、前序分块起始时间戳数组、前序分块数据包个数数组,每次有新的数据包分块落盘都会更新前序分块的基本信息数组,并与当前分块一起存盘。6.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:步骤9中,当会话消亡时会生成一个24字节的会话快速索引数据,其原始内容包括:末尾块偏移、起始块偏移、首尾块分区id、首尾块长度4kb对齐长度、4kb对齐的起始块长度、4kb对齐的末尾块基本信息数据长度、扩展块标志和安全校验标志;快速索引主要保存了当前会话首尾分块的定位数据,如果会话数据包分块超过了2个,则扩展分块标志置1,同时除了首尾之外的分块信息额外保存在末尾分块的前序分块基本信息数组中;如果会话数据包分块仅有一个,则分块定位数据仅保存在末尾分块定位字段中,起始分块定位数据置0,安全校验标志置零;通过加密会话快速索引数据并通过编码后产生了一个32个字符的会话id,会话id与会话的源ip、目的ip、源端口、目的端口、协议、会话起始、会话结束时间、会话传输字节和会话数据包个数产生一条会话日志,最终将会话日志元数据与会话id发送到数据日志子系统进行存储和安全分析。7.根据权利要求6所述的一种面向会话的网络流量存储及索引方法,其特征在于:所述会话快速索引数据结构如下:5b:末尾块偏移;5b:起始块偏移;5b:首尾块分区id,其包含如下两个字段:20bit:末尾块分区id;20bit:起始块分区id;5b:首尾块长度,其包含如下两个字段:20bit:4kb对齐的末尾块长度;20bit:4kb对齐的起始块长度;2b: 4kb对齐的末尾块基本信息数据长度;1b:扩展块标志;1b:安全校验标志。
8.根据权利要求1所述的一种面向会话的网络流量存储及索引方法,其特征在于:数据包索引包括如下步骤:步骤1:输入会话id输入需要索引数据包的32个字符的会话id,根据会话id检索会话的pcap数据包;步骤2:会话id解密和解码通过解码和解密会话id,得到24字节的会话快速索引数据,其解码和解密的内容包括:末尾块偏移、起始块偏移、首尾块分区id、首尾块长度4kb对齐长度、4kb对齐的起始块长度、4kb对齐的末尾块基本信息数据长度、扩展块标志和安全校验标志;步骤3:校验快速索引合法性判断安全校验标志是否是0,如果是0则说明会话id是有效和合法的,否则是非法或无效;步骤4:定位存储分区通过首尾分块分区id确定数据包分块所在的分区文件,并打开相应的分区文件准备进行读取,如果分区id为0则忽略;步骤5:读取首尾分块数据包利用首尾块偏移和首尾块长度数据,将首尾块内的分块基本信息和数据包内容从分区文件中一次性加载到内存,如果起始分块的分区id为0则说明仅有一个分区,直接读取末尾分块数据,单个分块的数据内容只需要发起一次连续读取io即可完成数据包的读取;步骤6:读取扩展分块数据包判断扩展分块标志是否是1,如果扩展分块标志是1则说明会话数据包的分块个数超过2个,从步骤5中读取到的末尾分块的分块基本信息中获取前序分块基本信息数组,得到前序分块偏移及分区id数组和前序分块长度数组,并以此读取所有前序分块的基本信息和数据包内容;步骤7:数据包封装pcap格式内存后会对数据包内容进行重新组装,通过分块内的数据包起始偏移数组遍历每个数据包,获得数据包的时间戳和数据包内容,然后根据数据包长度、时间戳和数据包内容重新组织成pcap数据包格式;步骤8:输出pcap数据包返回内存中组装好的pcap格式数据包。

技术总结
本发明属于信息安全技术领域,具体是一种面向会话的网络流量存储及索引方法,包括数据包存储和数据索引两个步骤,所述数据包存储步骤如下:网络流量镜像;高性能流量采集;数据包协议解析;会话重组;会话数据包缓存;会话数据包缓存;预分配存储分区;数据包分块存盘;会话消亡。本发明设计了一种会话ID,其中承载了会话数据包在磁盘上的位置信息,通过会话ID可以直接其数据包在磁盘上的绝对位置,另外尽可能的增大每个分块的存储的数据包数量,让短时间活动的网络会话只需要一到两个分块就能存储,这样在检索时也只需要发起一到两次顺序IO就能完整读取数据包到内存,从而快速的会话数据包检索。包检索。包检索。


技术研发人员:田红伟 徐文勇 魏勇
受保护的技术使用者:成都数默科技有限公司
技术研发日:2022.12.12
技术公布日:2023/1/13
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献