[发明专利]一种万兆协议解析方法及系统有效
申请号: | 201310087219.5 | 申请日: | 2013-03-19 |
公开(公告)号: | CN103179116A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 王先高;高峰 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 深圳市博锐专利事务所 44275 | 代理人: | 张明 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种万兆协议解析方法,包括步骤:网卡驱动单元计算出数据包的第一hash值以及数据包处理线程ID,将数据包分发到相应的CPU数据包处理线程;数据包处理单元对应每个CPU分别创建一个虚拟网络接口,对接收到的数据包进行过滤并送到相应的CPU;协议解析单元监听到虚拟网络接口收到数据包后计算出数据包的第二hash值及协议解析线程ID,判断数据包分发表中是否存在与第二hash值相等的第一hash值,若存在,将数据包以信号量方式分发到协议解析线程ID对应的协议解析数据链表上,对协议解析数据链表上的信号量方式的数据包进行协议解析、还原、入库、建索引操作。本发明公开一种万兆协议解析系统。 | ||
搜索关键词: | 一种 协议 解析 方法 系统 | ||
【主权项】:
一种万兆协议解析系统,其特征在于,包括:网卡驱动单元、数据包处理单元、协议解析单元以及存储单元,所述存储单元中存储有配置文件、数据包分发表以及协议解析数据链表,所述配置文件中记载有应用层设定的数据包过滤规则;所述网卡驱动单元包括:数据包处理线程ID运算模块,用于当接收到数据包后计算出数据包的第一hash值,并将第一hash值与系统CPU个数取模得到数据包处理线程ID,以及将第一hash值关联数据包处理线程ID并存入所述数据包分发表;以及第一数据包分发模块,用于根据数据包处理线程ID将数据包分发到相应的CPU数据包处理线程;所述数据包处理单元包括:虚拟网络接口创建模块,用于对应每个CPU分别创建一个虚拟网络接口;数据包抓取模块,用于根据数据包处理线程在CPU注册的函数接收数据包;数据包过滤模块,用于根据数据包过滤规则对接收到的数据包进行过滤,然后将过滤后的数据包通过虚拟网络接口发送到相应的CPU;所述协议解析单元包括:协议解析线程开启模块,用于对应每个CPU分别开启一个协议解析线程;监听模块,用于通过协议解析线程监听相应CPU的虚拟网络接口;过滤规则分发模块,用于从配置文件读取数据包过滤规则并发送至数据包处理单元,其中,每个协议解析线程对应各自的协议解析数据链表;协议解析线程ID运算模块,用于当监听模块监听到虚拟网络接口收到数据包后计算出数据包的第二hash值,并将第二hash值与协议解析线程个数取模得到协议解析线程ID;hash值比对模块,用于检索并判断所述数据包分发表中是否存在与第二hash值相等的第一hash值;第二数据包分发模块,用于当hash值比对模块确定所述数据包分发表中存与第二hash值相等的第一hash值时,将数据包以信号量方式分发到协议解析线程ID对应的协议解析数据链表上;协议解析模块,用于以信号量方式读取协议解析数据链表上的数据包并对其进行协议解析、还原、入库、建索引操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310087219.5/,转载请声明来源钻瓜专利网。