[发明专利]基于软硬件结合的流管理方法有效
申请号: | 201310207149.2 | 申请日: | 2013-05-30 |
公开(公告)号: | CN103312618A | 公开(公告)日: | 2013-09-18 |
发明(设计)人: | 陈曙晖;赵国鸿;唐勇;王明贞;陈一骄;孙志刚 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L12/24 |
代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 周长清 |
地址: | 410073 湖南省长沙市砚瓦池正*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 软硬件 结合 流管 方法 | ||
技术领域
本发明主要涉及到高速网络流管理领域,特指一种基于软硬件结合的流管理方法。
背景技术
流是在一段时间间隔内经过网络中某个采样点的连续报文,包含正向(发起方)和反向(接收方)两条半流。一条流中的报文含有相同的报文头信息,如源、目IP 地址,源、目TCP/ UDP端口和IP 协议号。流管理主要基于TCP/IP协议提取报文信息,通过分析报文信息跟踪、记录报文流的连接状态,并对所有连接的状态信息进行统一维护和管理。随着对网络安全的不断研究,涌现出了很多网络安全技术,如网络安全扫描技术、网络防火墙技术、入侵检测技术、协议分析技术等。所有这些网络在线业务都是基于对报文流的实时、复杂的管理和控制,其核心是实现高效的流管理。随着报文流规模的增加,骨干网报文流往往会达到几百万甚至上千万规模,大规模流管理系统中流表添加、删除和查询效率往往迅速下降,成为影响系统整体性能的瓶颈。
高速网络环境中的流管理机制面临着业务弹性与处理性能两个方面的挑战。 实际的应用系统通常为了满足业务的复杂性和灵活性要求而忽视了性能。因此,这就需要一种新的流管理的方法,即能优化流管理性能,并同时保持良好的业务弹性。
现有的提高方法主要有:
1.通过改进流表结构以及流表的动态管理机制和查询算法来提高流表的查询命中率、减少查询开销。
2.通过改进散列(HASH)算法来提高流表查询命中率、降低流存储冲突概率。
3.利用多核、多线程以及多通道内存等并行机制来改善性能。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种硬件逻辑简单、能够保持流的完整性、硬件和软件相结合、可优化流管理性能的基于软硬件结合的流管理方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于软硬件结合的流管理方法,其步骤为:
(1)、构建软硬件结合流管理系统;软硬件结合流管理系统由硬件流管理模块、软件流管理模块和业务模块三部分组成;硬件流管理模块为FPGA硬件流管理模块,软件流管理模块作为硬件模块流管理冲突的一种处理机制;
(2)、硬件流管理模块对接收报文进行流管理;
(3)、软件流管理模块对报文进行流管理。
作为本发明的进一步改进:
所述步骤(2)的详细流程为:
(2.1)根据接收报文的五元组信息,查询硬件流表中是否有该报文所对应的流记录,如果存在更新流记录信息,流管理过程结束;如果不存在转(2.2);
(2.2)如果不存在报文所对应的流记录信息,则说明该报文是一条新流中的报文,需要确定该报文的传输层协议类型,如果是TCP报文转(2.3);如果是UDP报文转(2.5);
(2.3) 如果是TCP报文,进一步判断该报文是否为第一个SYN包,如果是则转(2.4);否则将报文发送到软件流管理模块;
(2.4)如果是第一个SYN包,如果存储流记录未出现冲突则将报文流信息存储在硬件流表中;如果出现冲突则将进一步判断,已存储的冲突流是否超时,如果超时则删除超时流,将新建的流存储在该位置,如果没有超时则将报文发送到软件流管理模块;
(2.5)如果是UDP报文,进一步确定该报文的接收端口;如果是从硬件报文接口接收的报文则直接发送给软件流管理模块;如果是从软硬件报文接口接收的报文则新建一条流进行存储,如果没有出现冲突则将流记录存储在硬件流表中,如果出现冲突需要进一步判断已存储的冲突流是否超时,如果超时则删除超时流,将新建的流存储在该位置,如果没有超时则将报文再次发送到软件流管理模块。
所述步骤(3)的详细流程为:
(3.1)接收网口消息,判断消息类型。如果是报文接收消息转(3.2);如果是报文释放消息转(3.3);如果是流超时消息转(3.4);
(3.2)接收报文,查询软件流表,如果存在该报文所对应的流记录则更新流记录信息,如果不存在则进一步判断报文传输层协议类型;如果是TCP报文,进一步判断是否为第一个SYN包,若是则新建流记录,填写流记录信息,然后存储,若不是,属于无效报文,则将报文丢弃;如果是UDP报文,进一步判断硬件流表对应位置是否为空,如果不为空,则新建流记录存储在软件流表中,若为空,则将报文发送给硬件流管理模块处理;
(3.3 )提取报文内存地址,释放内存;
(3.4 )提取超时流地址,释放流记录空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310207149.2/2.html,转载请声明来源钻瓜专利网。