处理分组的方法和网络设备转让专利
申请号 : CN201710145776.6
文献号 : CN108574679B
文献日 : 2021-03-30
发明人 : 胡晶 , 刘淑英
申请人 : 华为技术有限公司
摘要 :
权利要求 :
1.一种处理分组的方法,其特征在于,所述方法包括:网络设备接收分组,其中所述分组包括分类信息,所述分类信息包括M个字段,所述M个字段包括X个字段和K个字段,所述M个字段中的比特的数量为N,所述X个字段中的比特的数量为P,所述K个字段中的比特的数量为Q,N为大于或等于2的正整数,N等于Q与P的和,M等于K与X的和,Q、P、K和X均为正整数,M为大于或等于2的正整数;
所述网络设备根据所述网络设备保存的指示信息,确定所述M个字段中的所述K个字段,所述指示信息包括M个指示数字,所述M个字段与所述M个指示数字一一对应,所述K个字段中每个字段对应的指示数字的值等于第一值,所述X个字段中每个字段对应的指示数字的值等于第二值,所述第一值不等于所述第二值;
所述网络设备根据所述网络设备保存的第一分类规则集合以及所述K个字段,确定目标分类规则,所述目标分类规则是所述第一分类规则集合中的一个第一分类规则,所述第一分类规则集合包括T个第一分类规则,所述T个第一分类规则中的每个第一分类规则包括K个匹配域,所述T个第一分类规则中的每个第一分类规则包括的K个匹配域中的数字的数量为Q,所述T个第一分类规则中的每个第一分类规则包括的K个匹配域与所述K个字段一一对应,所述目标分类规则包括的K个匹配域与所述K个字段匹配,所述目标分类规则包括的K个匹配域与所述K个字段一一对应,T为大于等于1的正整数;
所述网络设备根据所述目标分类规则对所述分组进行处理。
2.如权利要求1所述的方法,其特征在于,M’、N和Q’满足以下关系:M’+Q’小于2N,其中M’表示所述M个指示数字包括的比特的数量,Q’表示所述T个第一分类规则中的每个第一分类规则包括的K个匹配域包括的比特的数量。
3.如权利要求1或2所述的方法,其特征在于,在所述网络设备根据所述网络设备保存的指示信息,确定M个字段中的K个字段之前,所述方法还包括:所述网络设备获取第二分类规则集合,所述第二分类规则集合包括T个第二分类规则,其中,所述T个第二分类规则中的第t个第二分类规则的数字的数量为N,所述第t个第二分类规则包括M个匹配域,所述第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的数量与所述M个字段中的第m个字段包含的比特的数量相等,t=1,…,T,m=1,…,M;
所述网络设备确定所述第t个第二分类规则包括的M个匹配域中的每个匹配域的类型,所述第t个第二分类规则包括的M个匹配域中的一个匹配域的类型为第一类型或第二类型,所述第t个第二分类规则包括的M个匹配域中的K个匹配域的类型为所述第一类型,所述第t个第二分类规则包括的M个匹配域中的X个匹配域的类型为所述第二类型,所述第t个第二分类规则包括的M个匹配域中的K个匹配域中的第k个匹配域包括的数字的数量与所述K个字段中的第k个字段包括的比特的数量相等,所述第t个第二分类规则包括的M个匹配域中的K个匹配域中的数字的数量为Q,k=1,…,K;
所述网络设备根据所述第t个第二分类规则包括的M个匹配域中的每个匹配域的类型以及所述第t个第二分类规则包括的M个匹配域中的K个匹配域,确定所述M个指示数字和所述T个第一分类规则中的第t个第一分类规则,其中,所述第t个第一分类规则包括K个匹配域,所述第一分类规则包括的K个匹配域为所述M个匹配域中的K个匹配域。
4.如权利要求3所述的方法,其特征在于,所述网络设备确定所述第t个第二分类规则包括的M个匹配域中的每个匹配域的类型,包括:所述网络设备在确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值中包括至少一个特定值的情况下,确定所述第m个匹配域的类型为所述第一类型;
所述网络设备在确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值均为通用值情况下,确定所述第m个匹配域的类型为所述第二类型,其中,所述特定值包括第一特定值和第二特定值,第一比特与所述第一特定值匹配,第二比特与所述第二特定值匹配,所述第一比特与所述第二比特均与所述通用值匹配,所述第一比特的值为1,所述第二比特的值为0。
5.如权利要求3所述的方法,其特征在于,在P为大于或等于2的正整数的情况下,所述网络设备确定所述第t个第二分类规则包括的M个匹配域中的每个匹配域的类型,包括:所述网络设备确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值是否与所述T个第二分类规则中除所述第t个第二分类规则以外的第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值均相同;
若否,则确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域的类型为所述第一类型;
若是,则确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域的类型为所述第二类型。
6.一种网络设备,其特征在于,所述网络设备包括:接收单元,用于接收分组,其中所述分组包括分类信息,所述分类信息包括M个字段,所述M个字段包括X个字段和K个字段,所述M个字段中的比特的数量为N,所述X个字段中的比特的数量为P,所述K个字段中的比特的数量为Q,N为大于或等于2的正整数,N等于Q与P的和,M等于K与X的和,Q、P、K和X均为正整数,M为大于或等于2的正整数;
存储单元,用于存储指示信息和第一分类规则集合;
处理单元,用于根据所述存储单元保存的指示信息,确定所述M个字段中的所述K个字段,所述指示信息包括M个指示数字,所述M个字段与所述M个指示数字一一对应,所述K个字段中每个字段对应的指示数字的值等于第一值,所述X个字段中每个字段对应的指示数字的值等于第二值,所述第一值不等于所述第二值;
所述处理单元,还用于根据所述存储单元保存的第一分类规则集合以及所述K个字段,确定目标分类规则,所述目标分类规则是所述第一分类规则集合中的一个第一分类规则,所述第一分类规则集合包括T个第一分类规则,所述T个第一分类规则中的每个第一分类规则包括K个匹配域,所述T个第一分类规则中的每个第一分类规则包括的K个匹配域中的数字的数量为Q,所述T个第一分类规则中的每个第一分类规则包括的K个匹配域与所述K个字段一一对应,所述目标分类规则包括的K个匹配域与所述K个字段匹配,所述目标分类规则包括的K个匹配域与所述K个字段一一对应,T为大于等于1的正整数;
所述处理单元,还用于根据所述目标分类规则对所述分组进行处理。
7.如权利要求6所述的网络设备,其特征在于,M’、N和Q’满足以下关系:M’+Q’小于2N,其中M’表示所述M个指示数字包括的比特的数量,Q’表示所述T个第一分类规则中的每个第一分类规则包括的K个匹配域包括的比特的数量。
8.如权利要求6或7所述的网络设备,其特征在于,所述处理单元,还用于获取第二分类规则集合,所述第二分类规则集合包括T个第二分类规则,其中,所述T个第二分类规则中的第t个第二分类规则的数字的数量为N,所述第t个第二分类规则包括M个匹配域,所述第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的数量与所述M个字段中的第m个字段包含的比特的数量相等,t=1,…,T,m=
1,…,M;
所述处理单元,还用于确定所述第t个第二分类规则包括的M个匹配域中的每个匹配域的类型,所述第t个第二分类规则包括的M个匹配域中的一个匹配域的类型为第一类型或第二类型,所述第t个第二分类规则包括的M个匹配域中的K个匹配域的类型为所述第一类型,所述第t个第二分类规则包括的M个匹配域中的X个匹配域的类型为所述第二类型,所述第t个第二分类规则包括的M个匹配域中的K个匹配域中的第k个匹配域包括的数字的数量与所述K个字段中的第k个字段包括的比特的数量相等,所述第t个第二分类规则包括的M个匹配域中的K个匹配域中的数字的数量为Q,k=1,…,K;
所述处理单元,还用于根据所述第t个第二分类规则包括的M个匹配域中的每个匹配域的类型以及所述第t个第二分类规则包括的M个匹配域中的K个匹配域,确定所述M个指示数字和所述T个第一分类规则中的第t个第一分类规则,其中,所述第t个第一分类规则包括K个匹配域,所述第一分类规则包括的K个匹配域为所述M个匹配域中的K个匹配域;
所述存储单元,还用于保存所述处理单元确定的所述M个指示数字和所述T个第一分类规则中的第t个第一分类规则。
9.如权利要求8所述的网络设备,其特征在于,所述处理单元,具体用于在确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值中包括至少一个特定值的情况下,确定所述第m个匹配域的类型为所述第一类型;
所述处理单元,具体用于在确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值均为通用值情况下,确定所述第m个匹配域的类型为所述第二类型,其中,所述特定值包括第一特定值和第二特定值,第一比特与所述第一特定值匹配,第二比特与所述第二特定值匹配,所述第一比特与所述第二比特均与所述通用值匹配,所述第一比特的值为1,所述第二比特的值为0。
10.如权利要求8所述的网络设备,其特征在于,所述处理单元,具体用于在P为大于或等于2的正整数的情况下,确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值是否与所述T个第二分类规则中除所述第t个第二分类规则以外的第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值均相同;
若否,则确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域的类型为所述第一类型;
若是,则确定所述第t个第二分类规则包括的M个匹配域中的第m个匹配域的类型为所述第二类型。
说明书 :
处理分组的方法和网络设备
技术领域
背景技术
对分组进行限速、过滤、分组统计、重定向等处理。
号、协议类型、源媒体访问控制(Media Access Control,MAC)地址以及目的MAC地址中的一
个或多个对分组进行分类。为方便描述,以下将分组中携带的用于分类的信息称为分类信
息。
则包括的多个数字与分类信息包括的多个比特一一对应。网络设备将该分组的分类信息与
多个分类规则包括的数字进行比较,从而确定与所述分类信息匹配的分类规则。网络设备
根据与所述分类信息匹配的分类规则对分组进行处理。上述方案中,处理分组的效率较低。
发明内容
段,该M个字段中的比特的数量为N,该X个字段中的比特的数量为P,该K个字段中的比特的
数量为Q,N为大于或等于2的正整数,N等于Q与P的和,M等于K与X的和,Q、P、K和X均为正整
数,M为大于或等于2的正整数;该网络设备根据该网络设备保存的指示信息,确定该M个字
段中的该K个字段,该指示信息包括M个指示数字,该M个字段与该M个指示数字一一对应,该
K个字段中每个字段对应的指示数字的值等于第一值,该X个字段中每个字段对应的指示数
字的值等于第二值,该第一值不等于该第二值;该网络设备根据该网络设备保存的第一分
类规则集合以及该K个字段,确定目标分类规则,该目标分类规则是该第一分类规则集合中
的一个第一分类规则,该第一分类规则集合包括T个第一分类规则,该T个第一分类规则中
的每个第一分类规则包括K个匹配域,该T个第一分类规则中的每个第一分类规则包括的K
个匹配域中的数字的数量为Q,该T个第一分类规则中的每个第一分类规则包括的K个匹配
域与该K个字段一一对应,该目标分类规则包括的K个匹配域与该K个字段匹配,该目标分类
规则包括的K个匹配域与该K个字段一一对应,T为大于等于1的正整数;该网络设备根据该
目标分类规则对该分组进行处理。根据上述实施例,该网络设备在确定分组的类型是无需
使用分类信息中的每个比特。该网络设备只需要将该分类信息的部分比特与分类规则进行
比较即可确定该分组的类型。这样,可以减少确定分组类型时比较的次数,从而可以提高处
理分组的效率。
的每个第一分类规则包括的K个匹配域包括的比特的数量。每个分类规则的长度减少。这
样,在该网络设备用于存储分类规则的存储空间不变的情况下,该网络设备可以存储更多
的分类规则。
前,该方法还包括:该网络设备获取第二分类规则集合,该第二分类规则集合包括T个第二
分类规则,其中,该T个第二分类规则中的第t个第二分类规则的数字的数量为N,该第t个第
二分类规则包括M个匹配域,该第t个第二分类规则包括的M个匹配域中的第m个匹配域包括
的数字的数量与该M个字段中的第m个字段包含的比特的数量相等,t=1,…,T,m=1,…,M;
该网络设备确定该第t个第二分类规则包括的M个匹配域中的每个匹配域的类型,该第t个
第二分类规则包括的M个匹配域中的一个匹配域的类型为第一类型或第二类型,该第t个第
二分类规则包括的M个匹配域中的K个匹配域的类型为该第一类型,该第t个第二分类规则
包括的M个匹配域中的X个匹配域的类型为该第二类型,该第t个第二分类规则包括的M个匹
配域中的K个匹配域中的第k个匹配域包括的数字的数量与该K个字段中的第k个字段包括
的比特的数量相等,该第t个第二分类规则包括的M个匹配域中的K个匹配域中的数字的数
量为Q,k=1,…,K;该网络设备根据该第t个第二分类规则包括的M个匹配域中的每个匹配
域的类型以及该第t个第二分类规则包括的M个匹配域中的K个匹配域,确定该M个指示数字
和该T个第一分类规则中的第t个第一分类规则,其中,该第t个第一分类规则包括K个匹配
域,该第一分类规则包括的K个匹配域为该M个匹配域中的K个匹配域。根据上述实施例,该
网络设备可以根据第二分类规则确定出一个对应的第一分类规则,且该第一分类规则的长
度小于对应的第二分类规则的长度。
该网络设备在确定该第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的
值中包括至少一个特定值的情况下,确定该第m个匹配域的类型为该第一类型;该网络设备
在确定该第t个第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值均为通用
值情况下,确定该第m个匹配域的类型为该第二类型,其中,该特定值包括第一特定值和第
二特定值,第一比特与该第一特定值匹配,第二比特与该第二特定值匹配,该第一比特与该
第二比特均与该通用值匹配,该第一比特的值为1,该第二比特的值为0。根据上述实施例,
该网络设备可以根据第二分类规则确定出一个对应的第一分类规则,且该第一分类规则的
长度小于对应的第二分类规则的长度。
个匹配域中的每个匹配域的类型,包括:该网络设备确定该第t个第二分类规则包括的M个
匹配域中的第m个匹配域包括的数字的值是否与该T个第二分类规则中除该第t个第二分类
规则以外的第二分类规则包括的M个匹配域中的第m个匹配域包括的数字的值均相同;若
否,则确定该第t个第二分类规则包括的M个匹配域中的第m个匹配域的类型为该第一类型;
若是,则确定该第t个第二分类规则包括的M个匹配域中的第m个匹配域的类型为该第二类
型。根据上述实施例,该网络设备可以根据第二分类规则确定出一个对应的第一分类规则,
且该第一分类规则的长度小于对应的第二分类规则的长度。
储的程序的指令,以完成对分组的处理。
附图说明
具体实施方式
特定值包括第一特定值和第二特定值。比特值为1的比特与该第一特定值匹配,比特值为0
的比特与该第二特定值匹配。为方便描述,以下将比特值为1的比特称为第一比特,将比特
值为0的比特称为第二比特。第一比特与第二比特均与该通用值匹配。该第一特定值可以用
1表示,该第二特定值可以用0表示,该通用值可以用*表示。可以理解的是,1比特最多可以
表示两个值。因此,若需要表示三个不同的值,则至少需要2比特。也就是说,一个数字最少
由两比特表示。例如,比特值00表示该第一特定值,比特值01表示该第二特定值,比特值10
表示该通用值。因此,该分类规则的长度至少为2Y个比特。
此分组的源端口号和目的端口号共需32比特。用于确定接收到的分组为需要进行调度的分
组的分类规则需要包括32个数字。该32个数字的值为:
0001111110010000****************。该分类规则中的前16个数字与源端口号的二进制值
一一对应,后16个数字与目的端口号的二进制值一一对应。可以理解,由于仅需要确定源端
口号是否为8080,因此该分类规则中对应于源端口号的数字的取值与源端口号的二进制值
是相同的。由于不需要关心目的端口号的值为多少,因此可以将与目的端口号对应的数字
的值设置为通用值。该网络设备在接收到分组后,会确定接收到的分组的用于表示源端口
号和目的端口号的32个比特的值是否与该分类规则包括的32个数字均匹配。若是,则确定
该分组为需要进行调度的分组;若否,则确定该分组为不需要进行调度的分组。
分类的信息。例如,若分类规则中对分组进行分类时使用的信息为源IP地址和目的IP地址,
则该分类信息为源IP地址和目的IP地址。再如,若分类规则中对分组进行分类时使用的信
息为源端口号和目的端口号,则该分类信息为源端口号和目的端口号。该分类信息包括的
比特数目与该分类信息包括的内容相关。例如,若该分类信息包括源端口号,则该分类信息
的长度为16比特。若该分类信息包括源IP地址,则该分类信息的长度为32比特。该分类信息
包括M个字段,该M个字段包括X个字段和K个字段,该M个字段中的比特的数量为N,该X个字
段中的比特的数量为P,该K个字段中的比特的数量为Q,N为大于或等于2的正整数,N等于Q
与P的和,M等于K与X的和,Q、P、K和X均为正整数,M为大于或等于2的正整数。
一个字段可以为源IP地址,另一个字段可以为目的IP地址。
包括32/M个比特。显然,在这种情况下,该分类信息的长度可以被M整除。当然,在另一些实
施例中,该M个字段中的两个字段的长度也可以不同。例如,假设该分类信息的长度为32比
特且M等于4,则该四个字段包括的比特数可以分别为4、4、8和16。
换句话说,该N个比特中的第n个比特只能属于M个字段中的一个字段,n=1,…,N。例如,该
分类信息的长度为32比特且M等于2,则两个字段中的第一个字段可以是32个比特中的第1
个比特至第16个比特,第二个字段可以是32个比特中的第17个比特至第32个比特。
以保存所述多个端口对应的多片指示信息。当所述网络设备经由一个端口接收到所述分组
时,所述网络设备中的网络处理器可以根据用于接收所述分组的端口对应的指示信息,确
定与所述分组对应的指示信息。
数字的值等于第二值,该第一值不等于该第二值。换句话说,指示数字用于指示该指示数字
对应的字段是否需要与第一分类规则中的匹配域进行匹配。若该指示数字的值等于该第一
值,则该指示数字对应的字段需要与该第一分类规则中的匹配域进行匹配;若该指示数字
的值等于第二值,则该指示数字对应的字段不需要与该第一分类规则中的匹配域进行匹
配。
配域中的数字数量为Q,其中T为大于或等于1的正整数。该T个第一分类规则中的每个第一
分类规则包括的K个匹配域与该K个字段一一对应。该目标分类规则包括的K个匹配域与该K
个字段匹配。
特匹配。更进一步,数字的值为*(即通用值)数字与比特的值为1和0的比特均匹配,数字的
值为1的数字与比特的值为1的比特匹配,数字的值为0的数字与比特的值为0的比特匹配。
中,每个表项包含一个分类规则。具体地,每个表项可以包含匹配域以及动作域。与表项对
应的分类规则可以被包含在该表项的匹配中。
组匹配的表项。所述目标表项中的匹配域包含所述目标分类规则。例如,所述目标表项的动
作域可以包含对所述分组进行处理的指令。或者,所述目标表项的动作域可以包含参数。所
述参数可以为用于对所述分组进行处理的计算机程序中的变量赋值。例如用于对所述分组
进行处理的计算机程序的变量可以是出接口。所述参数为出接口的标识。用于对所述分组
进行处理的计算机程序可以是用于对所述分组执行转发处理的计算机程序。
类规则集合中的分类规则进行比较即可确定该目标分类规则。进一步地,所述网络设备可
以根据目标分类规则对所述分组进行处理。相对于需要将分类信息中的每个比特与分类规
则集合中的分类规则进行比较才能确定出目标分类规则的技术方案,实施例提供的技术方
案可以减少确定目标分类规则时比较的次数,从而可以提高处理分组的效率。
类规则的长度减少。这样,在该网络设备用于存储分类规则的存储空间不变的情况下,该网
络设备可以存储更多的分类规则。
R1 0010 0000000011111*01
R2 0010 0000000011100*10
R3 0010 0000000011001*01
每个指示数字的值为0或1。因此,该四个指示数字的中的每个指示数字的长度可以为1比
特。该指示信息的长度为4比特。该匹配域共包括16个数字。该16个数字中的每个数字的值
可以为1、0和*。在此情况下,每个数字的长度最少为2比特。因此,该匹配域的长度至少为32
比特。综上所述,该网络设备保存的三个第一分类规则中的每个第一分类规则的长度为36
比特。该每个第一分类规则中的指示信息的四个指示数字分别对应于分组的源IP地址、目
的IP地址、源端口号和目的端口号。该网络设备在接收到分组后,可以确定该分组的分类信
息包括源IP地址、目的IP地址、源端口号和目的端口号。该网络设备可以将该分类信息划分
为四个字段,这四个字段分别为该分组的源IP地址、目的IP地址、源端口号和目的端口号。
该网络设备根据该指示信息,确定该分组的源端口号。然后,该网络设备可以确定该第一分
类规则集合中与该分组的源端口号匹配的匹配域,该匹配域所属的第一分类规则即为该分
组的目标分类规则。
的指示信息均为0010,因此该网络设备只需要从该第一分类规则集合中确定与该分组的源
端口号匹配的第一分类规则即可。该源端口号的二进制值为0000000011111101。可以看出,
该第一分类规则集合中的第一分类规则R1的匹配域与该分组的源端口号匹配。因此,对应
于该分组的目标分类规则为该第一分类规则R1。在确定了该分组的类型后,该网络设备可
以根据该分组的类型对该分组进行后续处理。
个数字,t=1,…,T。该网络设备确定该第t个第二分类规则包括的M个匹配域中的每个匹配
域的类型,该第t个第二分类规则包括的M个匹配域中的一个匹配域的类型为第一类型或第
二类型,其中该第t个第二分类规则包括的M个匹配域中的K个匹配域的类型为该第一类型,
该第t个第二分类规则包括的M个匹配域中的X个匹配域的类型为该第二类型,该第t个第二
分类规则包括的M个匹配域中的K个匹配域中的第k个匹配域包括的数字数目与该K个字段
中的第k个字段包括的比特的数目相等,该第t个第二分类规则包括的M个匹配域中的K个匹
配域共包括Q个数字,k=1,…,K。该网络设备根据该第t个第二分类规则包括的M个匹配域
中的每个匹配域的类型以及该K个匹配域,确定该M个指示数字和该T个第一分类规则中的
第t个第一分类规则,其中,该第t个第一分类规则包括K个匹配域,该第一规则包括的K个匹
配域为该M个匹配域中的K个匹配域。
情况下,与该匹配域对应的指示数字的值为第二值。
域中的第m个匹配域包括的数字的值中包括至少一个特定值的情况下,确定该第m个匹配域
的类型为该第一类型;该网络设备在确定该第t个第二分类规则包括的M个匹配域中的第m
个匹配域包括的数字的值均为通用值情况下,确定该第m个匹配域的类型为该第二类型,其
中,该特定值包括第一特定值和第二特定值,第一比特与该第一特定值匹配,第二比特与该
第二特定值匹配,该第一比特与该第二比特均与该通用值匹配,该第一比特为值为1的比
特,该第二比特为值为0的比特。
一的一个数字的值为特定值。类似的,该第m个匹配域包括的数字的值均为通用值是指该第
m个匹配域包括的唯一的一个数字的值为通用值。
字的值中包括至少一个特定值是指该第m个匹配域包括数字序列中的至少一个数字的值为
特定值。类似的,该第m个匹配域包括的数字的值均为通用值是指该第m个匹配域包括的数
字序列中所有数字的值均为通用值。
IP地址、源端口号和目的端口号。如表2所示,这三个第二分类规则中的每个第二分类规则
的匹配域1、匹配域2和匹配域4的数字的值均为通用值。因此,匹配域1、匹配域2和匹配域4
的类型为第二类型。匹配域3中仅有一个数字的值为通用值。因此匹配域3的类型为第一类
型。这样,与匹配域1、匹配域2和匹配域4对应的指示数字的值均为0,与匹配域3对应的指示
数字的值为1。换句话说,该网络设备可以确定这三个第二分类规则的指示信息均为0010。
此外,该网络设备可以确定出每个第二分类规则的匹配域3为对应的第一分类规则的匹配
域。这样,该网络设备可以确定出表1中的R1为与表2中的R1’对应的分类规则,表1中的R2为
与表2中的R2’对应的分类规则,表1中的R3为与表2中的R3’对应的分类规则。
的M个匹配域中的第m个匹配域的数字的值是否与该T个第二分类规则中除该第t个第二分
类规则以外的第二分类规则包括的M个匹配域中的第m个匹配域的数字的值相同;若否,则
确定该第t个第二分类规则包括的M个匹配域中的第m个匹配域的类型为该第一类型;若是,
则确定该第t个第二分类规则包括的M个匹配域中的第m个匹配域的类型为该第二类型。
IP地址、源端口号和目的端口号。如表2所示,这三个第二分类规则中的每个第二分类规则
的匹配域2和匹配域4的数字的值均为通用值。因此,匹配域2和匹配域4的类型为第二类型。
这三个第二分类规则中的每个第二分类规则的匹配域1的数字虽然包括通用值和特定值,
但是这三个第二分类规则的匹配域1均相同。在此情况下,该网络设备也可以将匹配域1的
类型确定为第二类型。匹配域3中仅有一个数字的值为通用值,且这三个第二分类规则的匹
配域3均不相同。因此匹配域3的类型为第一类型。这样,与匹配域1、匹配域2和匹配域4对应
的指示数字的值均为0,与匹配域3对应的指示数字的值为1。换句话说,该网络设备可以确
定这三个第二分类规则的指示信息均为0010。此外,该网络设备可以确定出每个第二分类
规则的匹配域3为对应的第一分类规则的匹配域。这样,该网络设备可以确定出表1中的R1
为与表2中的R1’对应的分类规则,表1中的R2为与表2中的R2’对应的分类规则,表1中的R3
为与表2中的R3’对应的分类规则。
一条分类规则所需的存储空间减小。这样,该网络设备在总存储空间不变的情况下可以保
存更多的分类规则。
储空间。
所示的第一分类规则。
R5 0011 0000000011100*10 0000000011100***
R6 1010 110000000110110000000001******** 0000000011001*01
所示的第一分类规则的具体过程与该网络设备如何确定如表1所示的第一分类规则的具体
过程也相似,在此就不必赘述。
字可能仅为0或1,另一些匹配域中的数字包括0、1和*。在此情况下,可以通过不同的指示数
字区分这两种匹配域以及无需匹配的字段。由于需要区分三种不同的字段,因此指示数字
需要至少2比特。例如,指示数字00表示与该指示数字对应的字段无需进行匹配,指示数字
10表示与该指示数字对应的字段需要进行匹配且匹配域中的数字包括0、1和*,指示数字11
表示与该指示数字对应的字段需要进行匹配且匹配域中的数字仅包括0或1。这样,在存储
匹配域时,11对应的匹配域中的每个数字可以仅为1比特。
R2 00-00-10-11 0000000011100*10 0000000011100110
R3 00-00-10-11 0000000011001*01 0000000011001101
的每个指示数字的长度为2比特。该指示信息的长度为8比特。该四个指示数字分别为00,
00,10和11。可以理解的是,表5中指示信息中符号“-”仅是为了在理解本申请实施例时更好
地区分不同的指示数字。在实际应用中,该网络设备保存的指示信息中并不会包括符号
“-”。该匹配域1共包括16个数字。该匹配域1包括的16个数字中的每个数字的值可以为1、0
和*。在此情况下,该匹配域1包括的16个数字中的每个数字的长度最少为2比特。因此,该匹
配域的长度至少为32比特。该匹配域2也包括16个数字。该匹配域2包括的16个数字的值为0
或1。在此情况下,该匹配域2包括的16个数字中的每个数字的长度可以为1比特。因此,该匹
配域的长度最少可以为16比特。综上所述,该网络设备保存的三个第一分类规则中的每个
第一分类规则的长度为56比特。在保存如表5所示的第一分类规则时如果该网络设备依然
采用如表1所示的方法,指示信息的长度可以缩短为4比特,匹配域2的长度至少为32比特。
因此,在保存如表5所示的第一分类规则时如果采用图1所示的方法时一条第一分类规则的
长度为68比特。因此,上述实施例能够进一步减少保存第一分类规则所需的比特数。
字为第一值,比特值为00的指示数字为第二值。若指示数字的值为第一值,则该指示数字对
应的字段需要进行比较;若指示数字的值为第二值,则该指示数字对应的字段无需进行比
较。该网络设备确定分组的类型的具体实施方式与上述例子中网络设备确定分组的类型的
具体实施方式类似,在此就不必赘述。该网络设备确定如表5所示的第一分类规则集合的具
体实施方式与上述例子中网络设备确定如表1所示的第一分类规则的具体实施方式类似,
在此就不必赘述。
一分类规则,该网络设备可以直接确定该分组的类型。
型。该目标分类规则为该网络设备保存的一个第一分类规则。
个特殊类型。类型为该特殊类型的分组也会有一个对应的处理。该网络设备在确定该分组
的类型为该特殊类型后,可以对该分组进行相应的处理。或者,换句话说,可以认为存在一
个特殊的分类规则,该网络设备并没有保存该特殊的分类规则。但是,在该网络设备接收到
的分组与该网络设备保存的任一个第一分类规则均不匹配的情况下,可以认为该分组与该
特殊的分类规则匹配。进一步,可以认为该特殊的分类规则也包括指示信息和匹配域,根据
该指示信息确定的该分组的一个或多个字段与该匹配域的匹配。该特殊的分类规则对应的
类型即为该特殊类型。
的数量为P,该K个字段中的比特的数量为Q,N为大于或等于2的正整数,N等于Q与P的和,M等
于K与X的和,Q、P、K和X均为正整数,M为大于或等于2的正整数。
个字段对应的指示数字的值等于第一值,该X个字段中每个字段对应的指示数字的值等于
第二值,该第一值不等于该第二值;
一分类规则集合包括T个第一分类规则,该T个第一分类规则中的每个第一分类规则包括K
个匹配域,该T个第一分类规则中的每个第一分类规则包括的K个匹配域中的数字的数量为
Q,该T个第一分类规则中的每个第一分类规则包括的K个匹配域与该K个字段一一对应,该
目标分类规则包括的K个匹配域与该K个字段匹配,该目标分类规则包括的K个匹配域与该K
个字段一一对应,T为大于等于1的正整数。
个匹配域包括的比特的数量。
图3中将各种总线都标为总线系统304。
步骤可以通过处理器301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理
器301可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电
路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用
处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所
公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件
及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,
RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器或者电可擦写可编程
存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器302,处理器301读取存
储器302中的指令,结合其硬件完成上述方法的步骤。
数量为P,该K个字段中的比特的数量为Q,N为大于或等于2的正整数,N等于Q与P的和,M等于
K与X的和,Q、P、K和X均为正整数,M为大于或等于2的正整数。
段对应的指示数字的值等于第一值,该X个字段中每个字段对应的指示数字的值等于第二
值,该第一值不等于该第二值;
类规则集合包括T个第一分类规则,该T个第一分类规则中的每个第一分类规则包括K个匹
配域,该T个第一分类规则中的每个第一分类规则包括的K个匹配域中的数字的数量为Q,该
T个第一分类规则中的每个第一分类规则包括的K个匹配域与该K个字段一一对应,该目标
分类规则包括的K个匹配域与该K个字段匹配,该目标分类规则包括的K个匹配域与该K个字
段一一对应,T为大于等于1的正整数。
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能。
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计
算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存
储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。