预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109672623A(43)申请公布日2019.04.23(21)申请号201811654597.6(22)申请日2018.12.28(71)申请人大唐软件技术股份有限公司地址100094北京市海淀区永嘉北路6号5幢三层318(72)发明人陈永会宁大鹏(74)专利代理机构北京润泽恒知识产权代理有限公司11319代理人莎日娜(51)Int.Cl.H04L12/741(2013.01)H04L12/24(2006.01)H04L29/06(2006.01)权利要求书4页说明书14页附图3页(54)发明名称一种报文处理方法和装置(57)摘要本发明实施例提供一种报文处理方法和装置,所述方法通过调用数据面开发套件来接收和处理报文,可以让设备驱动运行在用户空间,这样报文就不需要进行内核与用户层之间的数据拷贝,节约了大量时间;并且应用所述数据面开发套件无中断的轮询处理驱动、大页内存机制,提高了报文的处理速度;在报文的处理过程中使用的包分类算法,基于多层映射、逐层缩减的原理,大大减少了查表的次数,节省了内存,提高了查表速度。使用上述方法,使报文的处理速度显著提升,并使处理报文所需占用的内存大大减少。CN109672623ACN109672623A权利要求书1/4页1.一种报文处理方法,其特征在于,所述方法包括:调用数据面开发套件,并对其进行初始化配置;包括:配置接收网卡和发送网卡,配置CPU的收包核、处理核和转发核;在所述数据面开发套件中配置路由器的数据包过滤规则;包括:设置规则id、源IP地址区段、目的IP地址区段、源端口范围、目的端口范围、协议范围和每个规则id对应的包处理动作;将所述数据包的包头拆分成七个块,根据所述数据包过滤规则中的内容确定每个块对应的规则id,设置每个块对应的等价类标识号和规则掩码;使用七个cell数组存储所述七个块中的等价类标识号、规则掩码并记录所述七个块中不重复的等价类标识号的数目;其中,每个cell数组的索引为所述等价类标识号,对应的值为所述规则掩码;同时,建立七个node数组,每个node数组的索引为0-65535,值为所述等价类标识号;以每个cell数组中的不重复的等价类标识号为界限,分阶段进行有限次遍历,根据每一阶段生成的规则掩码确定最后一个阶段的规则掩码;根据所述最后一个阶段的规则掩码确定对应的规则id;并将遍历过程中每一阶段产生的数据组合起来,得到预处理表;通过所述接收网卡接收目标报文;在所述收包核中将所述目标报文的包头分块,并将每一个块作为并行查找的索引,对所述预处理表中的字段进行分阶段查找,且每一阶段查找内存的索引值由上一阶段的查找结果合并而成;根据最后一个阶段得到的索引值,确定所述目标报文命中的规则id;根据所述规则id在所述数据包过滤规则中对应的处理动作处理该目标报文。2.根据权利要求1所述的方法,其特征在于,以每个cell数组中的不重复的等价类标识号为界限,分阶段进行有限次遍历,根据每一阶段生成的规则掩码确定最后一个阶段的规则掩码;根据所述最后一个阶段的规则掩码确定对应的规则id;并将遍历过程中每一阶段产生的数据组合起来,得到预处理表,包括:将所述七个cell数组分成两类,分别为第一类cell数组和第二类cell数组,其中,所述第一类cell数组中共四个数组,所述第二类cell数组中共三个数组;在第一阶段,以所述第一类cell数组中的四个数组各自的不重复的等价类标识号数目为界限,进行四层遍历,计算出第一阶段数组的索引,并建立第一节点数组;所述第一节点数组中的索引对应的规则掩码为所述第一类中的四个数组对应的规则掩码进行与操作得到的结果;如果所述规则掩码在所述第一节点数组中不存在,将该规则掩码记录在所述第一节点数组中,所述规则掩码对应的索引,为所述第一节点数组的非0成员的数目,即等价类标识号,对应的值为该掩码;如果所述规则掩码在所述第一节点数组中存在,那么,所述规则掩码对应的索引,即等价类标识号,即为第一阶段数组的索引对应的值;记录第一阶段不重复的等价类标识号的数目;在第二阶段,以所述第二类中的三个数组各自的不重复的等价类标识号数目为界限,进行三层遍历,计算出第二阶段数组的索引,并建立第二节点数组;所述第二节点数组中的索引对应的规则掩码为所述第二类中的三个数组对应的规则掩码进行与操作得到的结果;如果所述规则掩码在所述第二节点数组中不存在,将该规则掩码记录在所述第二节点数组中,索引值为所述第二节点数组的非0数组的数目,对应的值为该掩码;如果所述规则掩码在所述第二节点数组中存在,那么,所述规则掩码对应的索引,即等价类标识号,即为第二2CN109672623A权利要求书2/4页阶段数组的索引对应的值;记录第二阶段不重复的等价