【技术实现步骤摘要】
处理网络数据包的方法、装置及存储介质
[0001]本专利技术涉及网络
,更具体地,涉及一种处理网络数据包的方法、装置及存储介质。
技术介绍
[0002]网络数据包分类(Packet Classification)技术在交换机、路由器、防火墙及深度包检测等网络功能中的广泛应用,使之成为网络技术中至关重要的一部分。网包分类算法是用给定的分类规则,对网络数据包进行分类处理的算法。网包分类算法首先对网络数据包进行协议解析和字段抽取操作,然后依据协议类型和分类字段对网络数据包进行分类。同时,网包分类算法还需要考虑如何在分类规则集合中加入新的规则,即如何更新分类规则集合。
[0003]随着网络流量的持续增长,尤其是视频、多媒体流量的持续增长,传统网络暴露出来越来越多的问题。软件定义网络(Software-Defined Network,SDN)技术分离网络设备的控制层和转发层,以构建开放可编程的网络环境,被认为是解决现有问题的关键技术方向。分类规则集合规模变大,使得网络数据包分类算法对规则冗余的容忍度降低。更新频率增加使得网络数据包分类算法对实时动态更新性能要求更高。主流SDN网络架构中,网络数据包的转发规则是以流表的形式由控制器动态地下发至交换机进行配置。因此,相比于传统网络,SDN技术对交换机进行规则动态更新的性能提出了更高的要求。
技术实现思路
[0004]为解决现有技术中的上述问题,本专利技术实施例提出一种处理网络数据包的方法、装置及存储介质,能够更为灵活地实现网络数据包的分类,为同时实现高 ...
【技术保护点】
【技术特征摘要】
1.一种处理网络数据包的方法,其特征在于,包括:根据第一分类规则集合与所述网络数据包的包头信息,生成第一匹配向量,其中所述第一匹配向量中的各个元素分别用于表示所述网络数据包与所述第一分类规则集合中的各个分类规则是否匹配;根据第一优先级编码矩阵与所述第一匹配向量,生成第一报告向量,其中所述第一优先级编码矩阵中的各个元素分别用于表示所述第一分类规则集合中的各个分类规则之间的优先级高低关系,所述第一报告向量用于标识在所述第一分类规则集合中所述网络数据包匹配的优先级最高的分类规则;输出所述第一报告向量,以便根据所述网络数据包匹配的优先级最高的分类规则转发所述网络数据包。2.根据权利要求1所述的方法,其特征在于,所述第一分类规则集合为构成分类规则全集的多个分类规则子集中的一个分类规则子集,其中所述多个分类规则子集中的每个分类规则子集分别对应一个优先级区间,且所述多个分类规则子集能够按照优先级高低依次排序;在所述根据第一优先级编码矩阵与所述第一匹配向量,生成第一报告向量之前,还包括:从所述多个分类规则子集中各个分类规则子集对应的局部优先级编码矩阵中选出所述第一优先级编码矩阵,其中所述第一优先级编码矩阵为优先级最高且包含与所述网络数据包匹配的分类规则的分类规则子集所对应的局部优先级编码矩阵。3.根据权利要求2所述的方法,其特征在于,所述从所述多个分类规则子集中各个分类规则子集对应的局部优先级编码矩阵中选出所述第一优先级编码矩阵,包括:根据所述多个分类规则子集中各个分类规则子集的局部匹配向量,生成全局匹配向量,其中所述第一匹配向量为所述各个分类规则子集中第一分类规则集合的局部匹配向量,所述全局匹配向量中的各个元素分别用于表示所述各个分类规则子集是否包含与所述网络数据包匹配的分类规则;根据全局优先级编码矩阵与所述全局匹配向量,生成全局报告向量,其中所述全局优先级编码矩阵中的各个元素分别用于表示所述多个分类规则子集中各个分类规则子集之间的优先级高低关系,所述全局报告向量用于标识所述第一优先级编码矩阵。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一分类规则集合包括n个分类规则,所述第一匹配向量M为n维向量,所述第一匹配向量M中的第i个元素M
i
用于表示所述网络数据包是否与所述第一分类规则集合中的第i个分类规则匹配,所述第一优先级编码矩阵P为n阶方阵,所述第一优先级编码矩阵P中的第i行j列元素P
ij
用于表示所述第一分类规则集合中的第i个分类规则与第j个分类规则之间的优先级高低关系,所述第一报告向量R为n维独热向量;其中,1≤i,j≤n,且i、j与n均为正整数。5.根据权利要求4所述的方法,其特征在于,所述第i行j列元素P
ij
为1时表示所述第一分类规则集合中的第i个分类规则的优先级大于第j个分类规则的优先级,所述第i行j列元素P
ij
为0时表示所述第一分类规则集合中的第i个分类规则的优先级小于等于第j个分类规则的优先级,所述第i个元素M
i
为1时表示所
述网络数据包与所述第一分类规则集合中的第i个分类规则匹配,所述第i个元素M
i
为0时表示所述网络数据包与所述第一分类规则集合中的第i个分类规则不匹配;其中,所述根据第一优先级编码矩阵与所述第一匹配向量,生成第一报告向量,包括:根据公式(1)计算所述第一报告向量R中的第j个元素R
j
,其中,运算符号∨表示逻辑或,运算符号∧表示逻辑与,运算符号上划线表示逻辑取反,符号M
j
表示所述第一匹配向量M中的第j个元素,所述第j个元素R
j
为1时表示所述第一分类规则集合中的第j个分类规则为所述网络数据包匹配的优先级最高的分类规则。6.根据权利要求5所述的方法,其特征在于,所述第一优先级编码矩阵按照元素的排列顺序存储于具有存内计算功能的第一八管静态随机存取存储器中,其中所述第一优先级编码矩阵中的一个元素占用所述第一八管静态随机存取存储器的一个存储器单元。7.根据权利要求6所述的方法,其特征在于,所述根据公式(1)计算所述第一报告向量R中的第j个元素R
j
,包括:预充所述第一匹配向量中取值为1的元素所对应的所述第一八管静态随机存取存储器的读位线,以及激活所述第一匹配向量中取值为1的元素所对应的所述第一八管静态随机存取存储器的读字线,其中从所述第一八管静态随机存取存储器的第j个读取位线读取的值为所述报告向量R中的第j个元素R
j
的取值。8.根据权利要求6或7所述的方法,其特征在于,当有新分类规则加入所述第一分类规则集合时,所述方法还包括:根据所述新分类规则的优先级与所述第一分类规则集合中各个分类规则的优先级之间的高低关系,生成在所述第一优先级编码矩阵中所述新分类规则对应的行与列;将所述新分类规则对应的行与列写入所述第一八管静态随机存取存储器的所述新分类规则的行与列中,以更新所述第一八管静态随机存取存储器中存储的所述第一优先级编码矩阵。9.根据权利要求8所述的方法,其特征在于,在写入所述第一八管静态随机存取存储器的列时,所述新分类规则对应的列中取值为1的元素与取值为0的元素各占用一个写周期。10.根据权利要求8或9所述的方法,其特征在于,在写入所述第一八管静态随机存取存储器的列时,使用低电压驱动所述第一八管静态随机存取存储器的待写列的存储器单元,以及使用常规电压驱动所述第一八管静态随机存取存储器的非待写列的存储器单元。11.根据权利要求3所述的方法,其特征在于,所述分类规则全集包括m个分类规则子集,所述全局匹配向量GM为m维向量,所述全局匹配向量GM中的第s个元素GM
s
用于表示所述m个分类规则子集中的第s个分类规则子集是否包含与所述网络数据包匹配的分类规则,所述全局优先级编码矩阵GP为m阶方阵,所述全局编码矩阵GP中的第s行t列元素GP
st
用于表示所述m个分类规则子集中的第s个分类规则子集与第t个分类规则子集之间的优先级高低关系,所述全局报告向量GR为m维独热向量;其中,1≤s,t≤m,且s、t与m均为正整数。12.根据权利要求11所述的方法,其特征在于,所述第s行t列元素GP
st
为1时表示所述m个分类规则子集中的第s个分类规则子集的优
先级大于第t个分类规则子集的优先级,所述第s行t列元素GP
st
为0时表示所述m个分类规则子集中的第s个分类规则子集的优先级小于等于第t个分类规则子集的优先级,所述第s个元素GM
s
为1时表示所述m个分类规则子集中的第s个分类规则子集包含与所述网络数据包匹配的分类规则,所述第s个元素GM
s
为0时表示所述m个分类规则子集中的第s个分类规则子集不包含与所述网络数据包匹配的分类规则;其中,所述根据所述全局优先级编码矩阵与所述全局匹配向量,生成全局报告向量,包括:根据公式(2)计算所述全局报告向量GR中的第t个元素GR
t
,其中,运算符号∨表示逻辑或,运算符号∧表示逻辑与,运算符号上划线表示逻辑取反,符号GM
t
表示所述全局匹配向量GM中的第t个元素,所述第t个元素GR
t
为1时表示所述m个分类规则子集中的第t个分类规则子集对应的局部优先级编码矩阵为所述第一优先级编码矩阵。13.根据权利要求12所述的方法,其特征在于,所述全局优先级编码矩阵按照元素的排列顺序存储于具有存内计算功能的第二八管静态随机存取存储器中,其中所述全局优先级编码矩阵中的一个元素占用所述第二八管静态随机存取存储器的一个存储器单元。14.根据权利要求13所述的方法,其特征在于,所述根据公式(2)计算所述全局报告向量GR中的第t个元素GR
t
,包括:预充所述全局匹配向量中取值为1的元素所对应的所述第二八管静态随机存取存储器的读位线,以及激活所述全局匹配向量中取值为1的元素所对应的所述第二八管静态随机存取存储器的读字线,其中从所述第二八管静态随机存取存储器的第t个读取位线读取的值为所述全局报告向量GR中的第t个元素GR
t
的取值。15.根据权利要求13或14所述的方法,其特征在于,当有新分类规则子集加入所述分类规则全集时,所述方法还包括:根据所述新分类规则子集的优先级与所述m个分类规则子集中各个分类规则子集的优先级之间的高低关系,生成在所述全局优先级编码矩阵中所述新分类规则子集对应的行与列;将所述新分类规则子集对应的行与列写入所述第二八管静态随机存取存储器的所述新分类规则子集的行与列中,以更新所述第二八管静态随机存取存储器中存储的所述全局优先级编码矩阵。16.根据权利要求15所述的方法,其特征在于,在写入所述第二八管静态随机存取存储器的列时,所述新分类规则子集对应的列中取值为1的元素与取值为0的元素各占用一个写周期。17.根据权利要求15或16所述的方法,其特征在于,在写入所述第二八管静态随机存取存储器的列时,使用低电压驱动所述第二八管静态随机存取存储器的待写列的存储器单元,以及使用常规电压驱动所述第二八管静态随机存取存储器的非待写列的存储器单元。18....
【专利技术属性】
技术研发人员:刘雷波,陈迪贝,李兆石,魏少军,
申请(专利权)人:清华大学无锡应用技术研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。