发明名称 一种TCP数据流并行分析方法
摘要 本发明公开了一种TCP数据流并行分析方法,它主要采用了可伸缩性、可扩展的模块化设计的技术手段、采用多线程异步工作模式。TCP数据流管理模块循环处理数据包的TCP数据流,TCP数据流分析控制模块循环分析处理传入该模块的TCP数据流,并通过一种数据关系的方式相互链接到一起,从而形成了一个功能强大,性能高效的并行分析系统,从而实现了使TCP数据流管理模块与TCP数据流分析控制模块同步运行,提高网络分析系统的数据处理效率、扩大了使用范围。同时由于有了CPU多核化技术的硬件支持使TCP数据流管理模块和TCP数据流分析控制模块由不同的CPU来负责管理,提高每一个模块的处理效率,使网络分析效率优化更加明显。
申请公布号 CN101527719B 申请公布日期 2012.03.21
申请号 CN200910059086.4 申请日期 2009.04.27
申请人 成都科来软件有限公司 发明人 侯勇军
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I;H04L12/56(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 代理人
主权项 一种TCP数据流并行分析方法,包括以下步骤:(1)由网络数据包捕捉模块捕捉目标网络中的数据包,并将其输送给TCP数据流管理模块;(2)TCP数据流管理模块判断该数据包的物理介质,将基于以太网的数据包,交给Ethernet模块分析并提取数据,发现数据包是IP数据包,通知IP子模块分析;如果发现数据包不是IP数据包时,返回第(1)步骤,捕捉下一个数据包;(3)TCP数据流管理模块的IP子模块收到数据包,提取网络层数据,再根据其网络协议类型分别输入TCP模块或UDP模块中,其中通过UDP模块的数据,然后直接输入给网络分析模块;如果通过TCP模块中的数据,TCP模块提取其传输层上的数据,依据其TCP数据流属性,放入对应的数据流中,并通知TCP数据流分析控制模块有新的数据到来;(4)TCP数据流分析控制模块接到有携带有数据包的TCP数据流到来的通知后,自动设置线程工作信号,检测TCP数据流分析控制模块中的线程池是否有空闲的线程,如果有,调度该空闲线程,调取新传入的TCP数据流,输送给网络分析模块;如果没有,将该数据流放入在TCP数据流待分析缓存器的TCP数据流队列中,等待分析线程的调取;(5)网络分析模块中的各层网络协议模块分别分析输入该模块的数据,并输出相应分析结果;(6)网络分析模块完成后,检测TCP数据流待分析缓存器中的TCP数据 流队列是否还存在待分析的数据,如果有,该工作分析线程,继续调取TCP数据流待分析缓存器中的TCP数据流队列中待分析的数据供网络分析模块分析,如果没有,释放该工作分析线程的控制权,将该分析线程放入线程池中,等待下一次调用。
地址 610041 四川省成都市高新区府城西段399号天府新谷5号楼10层