[发明专利]基于多核处理器的并行网包分类方法、系统及网络设备在审
申请号: | 201910406217.5 | 申请日: | 2019-05-15 |
公开(公告)号: | CN111949740A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 曾学文;唐志斌;陈晓;郭志川 | 申请(专利权)人: | 中国科学院声学研究所;北京中科视云科技有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F15/163 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 陈琳琳;王宇杨 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多核 处理器 并行 分类 方法 系统 网络设备 | ||
1.一种基于多核处理器的并行网包分类方法,所述方法包括:
接收网络数据包并放入队列,对该网络数据包进行预处理;
多核处理器的多个核心同时以主动循环方式,采用相同的匹配过程对队列的网络数据包逐一进行分类处理,按照网络数据包输入顺序输出网络数据包的匹配分类结果。
2.根据权利要求1所述的基于多核处理器的并行网包分类方法,其特征在于,所述方法还包括:预先将规则集的多个域分解为多个维度的子集;具体包括:
将规则集的所有域以一定的比特长度为单位分解成多个子块,每个子块为一个维度;
列举每个维度上所有可能的取值空间,作为查找空间;为每个维度设置一个与查找空间长度相同的查找表,表中每个取值都对应一个位向量,并将位向量初始化为全0;
遍历每个维度的所有取值,将每个取值与规则集中相应维度下的所有规则逐一比对,当取值满足某条规则,则其对应位向量中的相应比特位置1,不满足则置0,得出该取值对应的位向量,遍历结束后,每个维度的查找表中的每一个取值对应的位向量都记录了其满足的规则。
3.根据权利要求2所述的基于多核处理器的并行网包分类方法,其特征在于,所述队列为一个先进先出的任务队列,该队列使用多核共享内存,多个核心可并行访问。
4.根据权利要求3所述的基于多核处理器的并行网包分类方法,其特征在于,所述对该网络数据包进行预处理,具体包括:
将每个网络数据包的头部中用于规则匹配的域按照规则集的方式分解为多个维度,记录每个维度的取值;
为该网络数据包的每个维度分配位向量指针,位向量指针初始化为null;
为该网络数据包的每个维度分配标记变量,初始化为0,表示该维度的位向量“未被标记”。
5.根据权利要求1或2所述的基于多核处理器的并行网包分类方法,其特征在于,所述方法还包括:预先设置使用多核处理器中核心的数量。
6.根据权利要求3所述的基于多核处理器的并行网包分类方法,其特征在于,所述多核处理器的多个核心同时以主动循环方式,采用相同的匹配过程对队列的网络数据包逐一进行分类处理,按照网络数据包输入顺序输出网络数据包的匹配分类结果;具体包括:
步骤1)从队列中读取第一个网络数据包;
步骤2)从为该网络数据包分配的第一个位向量开始逐一检查每一个位向量是否被标记,如果该位向量已经被标记,则直接检查下一个,如果找到没有被标记的位向量,则执行步骤3),如果一直检查到当前网络数据包的最后一个位向量,则执行步骤9);
步骤3)检查该位向量指针是否为当前网络数据包的最终位向量,即其它所有位向量均被标记且指针为null,如果该位向量是当前网络数据包的最终位向量,则执行步骤8),否则执行步骤4);
步骤4)记下这个位向量的编号,并从下一个位向量开始继续搜索当前网络数据包内第二个未被标记的位向量,如果找到,则记下其编号,并执行步骤5),如果没找到,则执行步骤9);
步骤5)将得到的两个未被标记的位向量标记为“正在处理”,即将对应的标记变量置1;
步骤6)检查这两个位向量指针是否为null,如果是,则记录的对应维度的取值,从这一维度的查找表中找出其位向量的值,将该位向量的值拷贝一份,并修改值为null的位向量指针,指向对应的拷贝;
步骤7)将这两个位向量合并,即执行按位与运算,合并结果存放在其中一个位向量中,成为新的位向量,并清除这个新位向量的标记,即将对应的标记变量置0,另一个位向量指针置为null,并且保持标记状态,然后返回步骤1);
步骤8)当前网络数据包的匹配结束,将其最终的位向量中从最低位起的第一个置1位对应的规则作为当前网络数据包的匹配分类结果并输出,然后将该网络数据包从队列移除,并返回步骤1),如果最终位向量为全0,则没有可匹配的规则,直接将网包从队列中移除并返回步骤1);
步骤9)放弃处理当前网络数据包,检查是队列中下一个包是否为空,如果是,则返回步骤1),如果否,则进入下一个网络数据包,并返回步骤2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科视云科技有限公司,未经中国科学院声学研究所;北京中科视云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910406217.5/1.html,转载请声明来源钻瓜专利网。