实时协议识别背景下的网络数据包按序存储方法及系统技术方案

技术编号:21803230 阅读:36 留言:0更新日期:2019-08-07 11:35
一种实时协议识别背景下的网络数据包按序存储方法及系统,所述方法包括:为接收的网络数据包增加一个顺序标签;判断数据包是否达到协议识别条件,对未达到协议识别条件的数据包地址信息按照流进行分类,然后存入索引列表;对达到协议识别条件的数据包进行协议识别,并将所属流的数据包标上协议号;对索引列表中该数据包所属数据流中的所有数据包上标记相应的协议标签,并将该流上数据包的地址信息转存在环形队列中;将环形队列中的一段按照标签顺序排列的数据包按序输出并存储。本发明专利技术的方法在保证协议识别效率的同时,确保数据包按照时间的顺序进行存储,并将每个数据包打上协议号,便于回溯系统能够对某一特定时段的数据进行快速定位分析。

Network Packet Sequential Storage Method and System under Real-time Protocol Recognition Background

【技术实现步骤摘要】
实时协议识别背景下的网络数据包按序存储方法及系统
本专利技术涉及网络安全
,特别涉及实时协议识别背景下的网络数据包按序存储方法及系统。
技术介绍
网络回溯分析系统具备长时间、大容量的数据存储能力,能长期实时保存捕获的原始数据包、数据流、网络会话、应用日志等各种统计数据,同时具备快速的数据检索能力,能够方便的对已发生的网络行为、应用数据和主机数据迚行回溯分析。协议识别在网络回溯系统中的重要性不言而喻,当前在协议识别模块中普遍用五元组来定义一条数据流,并且在该模块中,协议识别需要积累一条流的多个数据包后才会触发。在回溯分析系统中,存储数据包时需要数据包标明协议号并按照其到达网口的顺序进行存储。在实际场景中,镜像流量到达某一个网口时往往包含多条数据流,后到达的数据流可能会先积累一定量的数据包并进行协议识别。这可能会造成存储时后到达的数据流先被存储下来,与回溯分析系统的需求产生了矛盾。当前在网络数据包实时采集领域,普遍需要收到一条数据流的多个数据包,才能积累足够的应用层协议载荷来有效识别协议类型,造成相对于收包的滞后效应(即多条数据流完成协议识别的顺序,不一定与数据流首包到达网口的顺序相同)。若按协议识别顺序进行存储,将打乱数据包到达网口顺序,从而与主流数据包存储格式的要求矛盾。
技术实现思路
本专利技术的目的在于解决上述技术问题,为了实现对大量数据包实现协议快速准确地识别,并且按照时间顺序进行存储,提出一种实时协议识别背景下的网络数据包按序存储方法;该方法能够使得网络流量在协议自动识别的背景下,能够识别各条数据流上的所有数据包,提高回溯分析系统中回溯分析效率。为了实现上述目的,本专利技术提出了一种实时协议识别背景下的网络数据包按序存储方法,所述方法包括:为接收的网络数据包增加一个顺序标签;判断数据包是否达到协议识别条件,对未达到协议识别条件的数据包地址信息按照流进行分类,然后存入索引列表;对达到协议识别条件的数据包进行协议识别,并将所属流的数据包标上协议号;对索引列表中该数据包所属数据流中的所有数据包上标记相应的协议标签,并将该流上数据包的地址信息转存在环形队列中;将环形队列中的一段按照标签顺序排列的数据包按序输出并存储。作为上述方法的一种改进,所述方法具体包括:步骤1)接收网络数据包,按照数据包接收的时间顺序在数据包存储格式中增加一个顺序标签;步骤2)判断该数据包是否达到协议识别条件;如果未达到协议识别条件,转步骤3);如果到达协议识别条件,转步骤5);步骤3)判断该数据包所属数据流的索引定时器是否超过索引定时器的阈值,如果未超过,进入步骤4),否则进行超时处理:重置时间周期并判断索引列表中该数据流是否有地址信息,如果有地址信息,则转入步骤6),否则,进入步骤4);步骤4)将该数据包的地址信息按照流进行分类,存入索引列表,转入步骤1);步骤5)对该数据包进行协议识别,并将所属数据流的所有数据包均标上协议号;步骤6)对索引列表中该数据流的所有数据包标记相应的协议标签,并将该数据流上数据包的地址信息转存在环形队列中,并清空索引列表中该数据流的信息;步骤7)判断环形队列存储的数据包是否超过队列阈值,若超过,则进行队列超阈值处理,否则,判断环形队列中从标记的起始位置开始,是否有一段按照标签顺序排列的数据包信息,如果有,将数据包按序输出并存储,否则,转步骤1)。作为上述方法的一种改进,在所述步骤1)之前还包括:创建用于缓存各条数据流的地址信息的索引列表;创建用于存放经过协议自动识别后的数据包地址信息的环形队列。作为上述方法的一种改进,所述协议识别条件为:当一条数据流上新接收到的数据包传输方向由客户端变为服务端,或由服务端变为客户端,判定该条数据流上积累了一个传输方向上所有数据,从而将该方向上的数据包进行协议识别。作为上述方法的一种改进,所述索引列表的数据结构是哈希表或链表;所述环形队列的数据结构是循环链表或循环队列。作为上述方法的一种改进,所述索引定时器为每条数据流在索引上存储的时间,从该数据流第一个数据包存入索引列表开始计时;所述索引定时器阈值为:每条数据流在索引列表上存储的最大时间。作为上述方法的一种改进,所述队列超阈值处包括:将索引列表中尚未触发协议自动识别的一数据条流上的所有数据包的地址信息转存至环形队列。本专利技术还提供了一种实时协议识别背景下的网络数据包按序存储系统,所述系统包括:数据标签扩展模块、判断模块、索引列表模块、环形队列模块和按序存储模块;所述数据标签扩展模块,用于接收网络数据包,按照数据包接收的时间顺序在数据包存储格式中增加一个顺序标签;所述判断模块,用于判断数据包是否达到协议识别条件,对未达到协议识别条件的数据包输入索引模块,将达到协议识别条件的数据包输入环形队列模块;所述索引模块,用于对未达到协议识别条件的数据包的地址信息按照流进行分类,然后存入索引列表;所述环形队列模块,用于对达到协议识别条件的数据包进行协议识别,并将所属流的数据包标上协议号;对索引列表中该数据包所属数据流中的所有数据包上标记相应的协议标签,并将该流上数据包的地址信息转存在环形队列中;所述按序存储模块,用于将环形队列中的一段按照标签顺序排列的数据包按序输出并存储。本专利技术还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述的方法。与现有技术相比,本专利技术的优点在于:本专利技术的方法能够实现大量数据包实现协议快速准确地识别,并且按照时间顺序进行存储,在保证协议识别效率的同时,确保数据包按照时间的顺序进行存储,并将每个数据包打上协议号,便于回溯系统能够对某一特定时段的数据进行快速定位分析。附图说明图1是本专利技术的实施例1的实时协议识别背景下的网络数据包按序存储方法的流程图;图2是本专利技术中索引列表的结构示意图;图3是本专利技术中环形队列的结构示意图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细的描述。实施例1如图1所示,本专利技术的实施例1提出了一种实时协议识别背景下的网络数据包按序存储方法,该方法能够支持对网络流量进行实时协议识别,所述方法包括:步骤1)创建索引列表和环形队列;索引列表用于缓存各条数据流的地址信息;如图2所示,索引列表的具体数据结构链表,索引列表还可以是哈希表。环形队列用于存放经过协议自动识别后的数据包地址信息;如图3所示,环形队列的具体数据结构是循环链表,还可以是循环队列。步骤2)接收网络数据包,按照数据包接收的时间顺序在数据包存储格式中增加一个顺序标签;步骤3)判断该数据包是否达到协议识别条件;如果未达到协议识别条件,转步骤4);如果到达协议识别条件,转步骤6);所述协议识别条件为:当一条数据流上新接收到的数据包传输方向由客户端变为服务端,或由服务端变为客户端,判定该条数据流上积累了一个传输方向上所有数据,从而将该方向上的数据包进行协议识别。步骤4)判断该数据包所属数据流的索引定时器是否超过索引定时器的阈值,如果未超过,进入步骤5),否则进行超时处理:重置时间周期并判断索引列表中该数据流是否有地址本文档来自技高网...

【技术保护点】
1.一种实时协议识别背景下的网络数据包按序存储方法,所述方法包括:为接收的网络数据包增加一个顺序标签;判断数据包是否达到协议识别条件,对未达到协议识别条件的数据包地址信息按照流进行分类,然后存入索引列表;对达到协议识别条件的数据包进行协议识别,并将所属流的数据包标上协议号;对索引列表中该数据包所属数据流中的所有数据包上标记相应的协议标签,并将该流上数据包的地址信息转存在环形队列中;将环形队列中的一段按照标签顺序排列的数据包按序输出并存储。

【技术特征摘要】
1.一种实时协议识别背景下的网络数据包按序存储方法,所述方法包括:为接收的网络数据包增加一个顺序标签;判断数据包是否达到协议识别条件,对未达到协议识别条件的数据包地址信息按照流进行分类,然后存入索引列表;对达到协议识别条件的数据包进行协议识别,并将所属流的数据包标上协议号;对索引列表中该数据包所属数据流中的所有数据包上标记相应的协议标签,并将该流上数据包的地址信息转存在环形队列中;将环形队列中的一段按照标签顺序排列的数据包按序输出并存储。2.根据权利要求1所述的实时协议识别背景下的网络数据包按序存储方法,其特征在于,所述方法具体包括:步骤1)接收网络数据包,按照数据包接收的时间顺序在数据包存储格式中增加一个顺序标签;步骤2)判断该数据包是否达到协议识别条件;如果未达到协议识别条件,转步骤3);如果到达协议识别条件,转步骤5);步骤3)判断该数据包所属数据流的索引定时器是否超过索引定时器的阈值,如果未超过,进入步骤4),否则进行超时处理:重置时间周期并判断索引列表中该数据流是否有地址信息,如果有地址信息,则转入步骤6),否则,进入步骤4);步骤4)将该数据包的地址信息按照流进行分类,存入索引列表,转入步骤1);步骤5)对该数据包进行协议识别,并将所属数据流的所有数据包均标上协议号;步骤6)对索引列表中该数据流的所有数据包标记相应的协议标签,并将该数据流上数据包的地址信息转存在环形队列中,并清空索引列表中该数据流的信息;步骤7)判断环形队列存储的数据包是否超过队列阈值,若超过,则进行队列超阈值处理,否则,判断环形队列中从标记的起始位置开始,是否有一段按照标签顺序排列的数据包信息,如果有,将数据包按序输出并存储,否则,转步骤1)。3.根据权利要求2所述的实时协议识别背景下的网络数据包按序存储方法,其特征在于,在所述步骤1)之前还包括:创建用于缓存各条数据流的地址信息的索引列表;创建用于存放经过协议自动识别后的数据包地址信息的环形队列。4.根据权利要求2或3所述的实时协议识别背景下的网络数据包按序存储方法,其特征在于,所述协议识别条件为:当一条数据流上新接收到的数据包传输方...

【专利技术属性】
技术研发人员:宋磊张硕磊江超刘磊
申请(专利权)人:中国科学院声学研究所北京中科视云科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1