一种基于哈希压缩算法的网络流量监控方法技术

技术编号:14577339 阅读:76 留言:0更新日期:2017-02-07 19:45
本发明专利技术涉及一种基于FPGA的哈希压缩实现方法,属于网络通信技术领域。该发明专利技术提供了一种基于FPGA的哈希压缩实现方法,所述方法以接收到IP报文的五元组作为流标识,并将该流标识通过哈希压缩算法,减少其位长度,从而确定哈希查找表的入口地址,同时每个入口地址配置相应数量的哈希桶,用于解决哈希冲突;在哈希查找匹配命中后,得到该流标识对应的流量统计表地址,进行流量统计更新操作。本发明专利技术提供的方法通过哈希压缩算法,将待匹配流标识的关键字位宽大大减少,从而节省了存储器资源;同时由于采用了哈希桶解决哈希冲突问题,降低了冲突解决的复杂度,减少了查表命中时间。

【技术实现步骤摘要】

本专利技术涉及一种基于哈希压缩算法的网络流量监控方法,属于网络通信
特别适用于在FPGA片内实现对不超过2K条IP数据流进行识别以及匹配查找,同时完成流量统计监控功能。
技术介绍
随着网络技术的深入发展以及网络规模的不断扩大,流量激增问题也日益突出。为了可以监控网络运行,及时发现网络中存在的异常流量问题,需要一种稳定、及时、可靠的网络流量监控方法。目前,基于IP数据流的网络流量监控方法在硬件实现上通常采用外置TCAM或者DDR进行流识别以及流量统计。该方法虽然满足了对网络中IP数据流的快速识别和流量统计的要求,但是带来了功耗加大、成本增加等问题。尤其是在一些网络规模不大的专网应用中,该方法造成了硬件资源及成本的极大浪费。因此,在一些网络规模不大的专网应用领域需要一种适用于在FPGA片内实现,同时不用占用太多存储器资源,能够快速实现IP数据流识别以及流量统计的网络流量监控方法。
技术实现思路
本专利技术的目的是提供一种在网络规模不大的专网中,适用于在FPGA片内实现的网络流量监控方法,该方法具有占用资源少、硬件成本低等特点,可对IP数据流进行快速识别以及流量统计。本专利技术的实现方案是基于哈希压缩算法实现对IP数据流的快速识别和匹配;本专利技术以接收到IP报文的五元组作为流标识,并将该流标识通过哈希压缩算法,减少其位长度,从而确定哈希查找表的入口地址,大大节省了哈希表所占用的存储器空间;同时由于采用了哈希桶解决哈希冲突问题,因此降低了冲突解决的复杂度,减少了查表命中时间。为了实现所述专利技术目的,本专利技术由以下技术方案实现:一种基于哈希压缩算法的网络流量监控方法,其特征在于包括如下步骤:第(1)步:将IP报文中的目的IP地址、源IP地址、目的端口号、源端口号以及协议类型字段提取出来作为流标识,送入哈希压缩算法模块进行处理;第(2)步:哈希压缩算法模块以流标识作为关键字,通过HASH函数得到哈希表入口索引地址,进行哈希表匹配查找;第(3)步:每个哈希表入口地址对应一个桶深为4个表项的哈希桶,在得到哈希表入口地址后,进入其对应的哈希桶中以流标识为匹配对象进行匹配查找;如果哈希桶中存在匹配项,进入第(4)步;如果哈希桶中不存在匹配项,进入第(5)步;第(4)步:当哈希桶中存在匹配项时,将匹配项中的流量统计表地址提取出来,进入流量统计表进行流量统计更新,转入第(6)步;第(5)步:当哈希桶中不存在匹配项且哈希桶中表项未被占满时,按照表项0、1、2、3的优先级顺序在未被占用的表项中新建匹配项,并在新建匹配项中分配新的流量统计表地址,同时在该地址对应的流量统计表中新建流量统计信息,转入第(6)步;第(6)步:为了防止哈希桶占用溢出情况的发生,对哈希表的表项建立老化删除机制;每隔2秒对流量统计表进行一次轮询,当流量统计表中有表项中的字节统计数2秒内没有增加时,其对应哈希表中的表项将进行删除操作;同时释放该流标识所占用的流量统计表地址;完成基于哈希压缩算法的网络流量监控方法。其中,第(2)步中哈希压缩算法模块中的HASH函数选用CRC-12算法实现,CRC-12算法的计算多项式为x12+x11+x3+x+1;其中,x为多项式因子。与现有技术相比,本专利技术提供的基于哈希压缩算法的网络流量监控方法占用存储器资源少,硬件成本低;该方法以接收到IP报文的五元组作为流标识,并将该流标识通过哈希压缩算法,减少其位长度,大大节省了哈希表所占用的存储器空间;同时采用哈希桶解决匹配冲突问题,提高了IP数据流匹配查找性能,减少了查表命中时间;该方法适合于对低功耗、低成本和稳定性要求高的专网通信应用领域。附图说明图1是本专利技术的原理示意图;图2是流标识的提取示意图;图3是本专利技术中哈希表的结构示意图;图4是本专利技术中流量统计表的结构示意图。具体实施方式下面结合附图1-4对本专利技术作详细说明。如图1所示,一种基于哈希压缩算法的网络流量监控方法,其特征在于包括如下步骤:第(1)步:将IP报文中的目的IP地址(32bit)、源IP地址(32bit)、目的端口号(16bit)、源端口号(16bit)以及协议类型字段(8bit)提取出来作为流标识(104bit),送入哈希压缩算法模块进行处理;如图2所示,以一条IPV4TCP数据数报文为例,其流标识为:{192,168,1,25,192,160,1,30,80,69,6本文档来自技高网...

【技术保护点】
一种基于FPGA的哈希压缩实现方法,其特征在于包括如下步骤:第(1)步:将IP报文中的目的IP地址、源IP地址、目的端口号、源端口号以及协议类型字段提取出来作为流标识,送入哈希压缩算法模块进行处理;第(2)步:哈希压缩算法模块以流标识作为关键字,通过HASH函数得到哈希表入口索引地址,进行哈希表匹配查找;第(3)步:每个哈希表入口地址对应一个桶深为4个表项的哈希桶,在得到哈希表入口地址后,进入其对应的哈希桶中以流标识为匹配对象进行匹配查找;如果哈希桶中存在匹配项,进入第(4)步;如果哈希桶中不存在匹配项,进入第(5)步;第(4)步:当哈希桶中存在匹配项时,将匹配项中的流量统计表地址提取出来,进入流量统计表进行流量统计更新,转入第(6)步;第(5)步:当哈希桶中不存在匹配项且哈希桶中表项未被占满时,按照表项0、1、2、3的优先级顺序在未被占用的表项中新建匹配项,并在新建匹配项中分配新的流量统计表地址,同时在该地址对应的流量统计表中新建流量统计信息,转入第(6)步;第(6)步:为了防止哈希桶占用溢出情况的发生,对哈希表的表项建立老化删除机制;每隔2秒对流量统计表进行一次轮询,当流量统计表中有表项中的字节统计数2秒内没有增加时,其对应哈希表中的表项将进行删除操作;同时释放该流标识所占用的流量统计表地址;完成基于哈希压缩算法的网络流量监控方法。...

【技术特征摘要】
1.一种基于FPGA的哈希压缩实现方法,其特征在于包括如下步骤:
第(1)步:将IP报文中的目的IP地址、源IP地址、目的端口号、源
端口号以及协议类型字段提取出来作为流标识,送入哈希压缩算法模块进
行处理;
第(2)步:哈希压缩算法模块以流标识作为关键字,通过HASH函数得
到哈希表入口索引地址,进行哈希表匹配查找;
第(3)步:每个哈希表入口地址对应一个桶深为4个表项的哈希桶,在
得到哈希表入口地址后,进入其对应的哈希桶中以流标识为匹配对象进行
匹配查找;如果哈希桶中存在匹配项,进入第(4)步;如果哈希桶中不存在
匹配项,进入第(5)步;
第(4)步:当哈希桶中存在匹配项时,将匹配项中的流量统计表地址提
取出来,进入流量统计表进行流量统计更新,转入第(6)步;
第(5)步:当哈希桶中不存在匹配项且哈希桶中表项未被占满...

【专利技术属性】
技术研发人员:李渊李文江刘咏荷郝晓鹏
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:河北;13

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

1