三重内容可寻址内存协助的包分类的制作方法_5

文档序号:8399490阅读:来源:国知局
,其特征在于,为每个所述一个或多个源地址前缀及所述至少一个目的地址前缀分配标签,得到多个标签,其中每个标签反映关联前缀的父子关系,将所述包映射还包括: 对所述包,基于所述一个或多个匹配过的源地址前缀及至少一个目的地址前缀,确定储存于乘积表中的一个或多个匹配的源标签和目的标签对; 将每个所述一条或多条规则映射到一个匹配的源标签和目的标签对。
6.根据权利要求5所述的方法,其特征在于,属于所述第一和第二分trie树之一的前缀包括第一前缀和第二前缀,其中所述第二前缀为所述第一前缀的子前缀,为所述第一前缀分配第一标签,所述第一标签包括第一值Value和第一掩码Mask,且为所述第二前缀分配第二标签,所述第二标签包括第二 Value和第二 Mask,其中使用所述第二 Value和所述第一 Mask的逻辑和运算的结果等于使用所述第一 Value和所述第一 Mask的逻辑和运算的结果,且使用所述第一 Value和所述第二 Mask的逻辑和运算的结果不等于使用所述第二Value和所述第二 Mask的逻辑和运算的结果。
7.根据权利要求5所述的方法,其特征在于,属于所述第一和第二分trie树之一的前缀包括第一前缀和第二前缀,其中所述第二前缀与所述第一前缀没有父子关系,为所述第一前缀分配第一标签,所述第一标签包括第一值Value和第一掩码Mask,且为所述第二前缀分配第二标签,所述第二标签包括第二 Value和第二Mask,其中使用所述第二 Value和所述第一 Mask的逻辑和运算的结果不等于使用所述第一 Value和所述第一 Mask的逻辑和运算的结果,且使用所述第一 Value和所述第二 Mask的逻辑和运算的结果不等于使用所述第二 Value和所述第二 Mask的逻辑和运算的结果。
8.根据权利要求5所述的方法,其特征在于,所述一个或多个匹配过的源地址前缀包括最短前缀匹配(SPM)和最长前缀匹配(LPM),其中所述SPM的标签可表示为S.SPM,所述LPM的标签可表示为S.LPM,所述至少一个匹配过的目的地址前缀包括SPM和LPM,其中所述SPM的标签可表示为D.SPM,所述LPM的标签可表示为D.LPM,且使用S.SPM、S.LPM、D.SPM及D.LPM对所述一个或多个匹配的源标签和目的标签对进行确定。
9.根据权利要求8所述的方法,其特征在于,所述一个或多个匹配的源标签和目的标签对中的源标签和目的标签可分别用FS和FD表示,其中FS与S.SPM或S.LPM相同,或为S.SPM的子标签及S.LPM的父标签,且FD与D.SPM或D.LPM相同,或为D.SPM的子标签及D.LPM的父标签。
10.根据权利要求5所述的方法,其特征在于,所述映射到的规则包括多条规则,所述方法还包括: 在所述多条规则中根据所述规则在所述乘积表中的储存顺序选择具有最高优先级的规则; 基于所述选择的规则确定要对所述包进行的动作。
11.根据权利要求1所述的方法,其特征在于,所述一条或多条匹配到的规则储存在所述TCAM中,且储存在所述至少一个非TCAM内存中与所述规则对应的数据包括类型字段,所述类型字段指定所述储存在所述TCAM中的规则。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括: 将所述至少两个维度字段中的一个或多个比特与储存于所述TCAM中的第二对应表项进行匹配; 基于与所述TCAM中的所述第二对应表项关联的数据生成第二哈希键; 用所述第二哈希键再次搜索所述多维trie树。
13.一种装置,其特征在于,包括: 三重内容可寻址内存(TCAM),用于储存规则集指定的多个维度中的至少两个的表项; 至少一个非TCAM内存,用于: 储存与所述TCAM中的所述表项关联的数据;及 所述至少两个维度的多维trie树; 接收器,用于接收包,所述包包括所述多个维度的多个字段; 处理器,与所述接收器、所述TCAM及所述至少一个非TCAM内存相连,用于: 将至少两个所述字段中的每一个的一个或多个比特与所述表项进行匹配; 基于与所述表项关联的所述数据生成哈希键; 用所述哈希键搜索所述多维trie树; 基于所述搜索将所述包映射到所述规则集中的一条或多条规则。
14.根据权利要求13所述的装置,其特征在于,所述至少两个所述字段包括第一字段和第二字段,所述多维trie树包括第一分trie树和第二分trie树,将所述包映射包括: 将所述第一字段中的比特与所述第一分trie树中储存的数据进行匹配; 将所述第二字段中的比特与所述第二分trie树中储存的数据进行匹配。
15.根据权利要求14所述的装置,其特征在于,所述第一和第二字段选自由源地址、目的地址、源端口号、目的端口号及协议组成的群组。
16.根据权利要求14所述的装置,其特征在于,所述第一字段为源地址,所述第二字段为目的地址,所述TCAM中的所述表项包括源地址前缀和目的地址前缀中的至少一个,所述储存在所述第一分trie树中的数据包括一个或多个源地址前缀,所述储存在所述第二分trie树中的数据包括至少一个目的地址前缀。
17.根据权利要求16所述的装置,其特征在于,为每个所述一个或多个源地址前缀及所述至少一个目的地址前缀分配标签,得到多个标签,其中每个标签反映关联前缀的父子关系,将所述包映射还包括: 对所述包,基于所述一个或多个匹配过的源地址前缀及至少一个目的地址前缀,确定储存于乘积表中的一个或多个匹配的源标签和目的标签对; 将每个所述一条或多条规则映射到一个匹配的源标签和目的标签对。
18.根据权利要求17所述的装置,其特征在于,属于所述分trie树的前缀包括第一前缀和第二前缀,其中所述第二前缀为所述第一前缀的子前缀,为所述第一前缀分配第一标签,所述第一标签包括第一值Value和第一掩码Mask,且为所述第二前缀分配第二标签,所述第二标签包括第二 Value和第二 Mask,其中使用所述第二 Value和所述第一 Mask的逻辑和运算的结果等于使用所述第一 Value和所述第一 Mask的逻辑和运算的结果,且使用所述第一 Value和所述第二 Mask的逻辑和运算的结果不等于使用所述第二 Value和所述第二Mask的逻辑和运算的结果。
19.根据权利要求17所述的装置,其特征在于,属于所述分trie树的前缀包括第一前缀和第二前缀,其中所述第二前缀与所述第一前缀没有父子关系,为所述第一前缀分配第一标签,所述第一标签包括第一值Value和第一掩码Mask,且为所述第二前缀分配第二标签,所述第二标签包括第二 Value和第二 Mask,其中使用所述第二 Value和所述第一 Mask的逻辑和运算的结果不等于使用所述第一 Value和所述第一 Mask的逻辑和运算的结果,且使用所述第一 Value和所述第二 Mask的逻辑和运算的结果不等于使用所述第二 Value和所述第二 Mask的逻辑和运算的结果。
20.根据权利要求17所述的装置,其特征在于,所述一个或多个匹配过的源地址前缀包括最短前缀匹配(SPM)和最长前缀匹配(LPM),其中所述SPM的标签可表示为S.SPM,所述LPM的标签可表示为S.LPM,所述至少一个匹配过的目的地址前缀包括SPM和LPM,其中所述SPM的标签可表示为D.SPM,所述LPM的标签可表示为D.LPM,且所述一个或多个匹配的源标签和目的标签对使用S.SPM、S.LPM、D.SPM及D.LPM进行确定。
21.根据权利要求20所述的装置,其特征在于,所述一个或多个匹配的源标签和目的标签对中的源标签和目的标签可分别用FS和FD表示,其中FS与S.SPM或S.LPM相同,或为S.SPM的子标签及S.LPM的父标签,且FD与D.SPM或D.LPM相同,或为D.SPM的子标签及D.LPM的父标签。
22.根据权利要求17所述的装置,其特征在于,所述映射到的规则包括多条规则,所述处理器还用于: 在所述多条规则中根据所述规则在所述乘积表中的储存顺序选择具有最高优先级的规则; 基于所述选择的规则确定要进行的动作。
23.—种网络路由器,其特征在于,包括: 三重内容可寻址内存(TCAM),用于储存源地址前缀和目的地址前缀; TCAM关联数据(AD)表,与所述TCAM相连,用于储存所述源地址前缀和所述目的地址前缀的关联数据; 哈希化分trie树表,与所述TCAM AD表相连,用于储存由一个或多个分trie树表示的多个地址前缀,所述一个或多个分trie树属于多维trie树,其中每个分trie树可由哈希键至少部分基于储存在所述TCAM中的每个前缀的关联数据进行定位; 乘积表,与所述哈希化分trie树表相连,用于储存为所述多个地址前缀分配的标签对; 规则表,与所述乘积表相连,用于储存规则,其中每个所述规则对应所述乘积表中的标签对。
24.根据权利要求23所述的网络路由器,其特征在于,还包括处理器,所述处理器与所述TCAM、所述TCAM AD表、所述哈希化分trie树表、所述乘积表及所述规则表相连,所示处理器用于: 对包括包括源地址和目的地址的包的包,确定所述源地址中一个或多个最高有效位(MSB)与所述源地址前缀的匹配项,或所述目的地址中一个或多个MSB与所述目的地址前缀的匹配项,或两者; 基于与所述源地址前缀和所述目的地址前缀关联的数据计算所述哈希键; 用所述哈希键在所述哈希化分trie树表中查找源分trie树和目的分trie树; 基于查找所述分trie树返回的结果确定一个或多个所述标签对作为匹配的对; 基于所述一个或多个匹配的对将所述包映射到一条或多条所述规则。
【专利摘要】一种由网络路由器实现的包分类方法,所述方法包括:获取包,其中所述包的包头包括由规则集指定的多个维度字段;将至少两个所述维度字段的一个或多个比特与储存于三重内容可寻址内存(TCAM)中的对应表项进行匹配;基于与所述TCAM中的所述对应表项关联的数据生成哈希键,其中所述关联数据储存于至少一个非TCAM内存中;用所述哈希键搜索储存于所述至少一个非TCAM内存中的多维trie树;基于所述搜索将所述包映射到所述规则集中的一条或多条规则。
【IPC分类】H04L12-741
【公开号】CN104718731
【申请号】CN201380034498
【发明人】汪自雄
【申请人】华为技术有限公司
【公开日】2015年6月17日
【申请日】2013年6月27日
【公告号】US9098601, US20140006706, WO2014000669A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1