一种TCAM资源调度方法及装置制造方法及图纸

技术编号:9546449 阅读:98 留言:0更新日期:2014-01-08 22:29
本发明专利技术提供一种TCAM资源调度方法及装置,其中该方法包括如下步骤:生成N种类型的表项,其中N为大于或等于2的自然数;将同一类型的多个表项及对应的类型标记分散下发到至少两片TCAM中;向至少两片TCAM下发查表指令,其中该指令携带有表项Key值以及对应的类型标记。相较于现有技术而言,本发明专利技术有效地降低了单片TCAM的发热量,有效地保障了其寿命及使用过程中的可靠性。

【技术实现步骤摘要】
—种TCAM资源调度方法及装置
本专利技术涉及TCAM
,尤其涉及一种TCAM控制方法及装置。
技术介绍
在传统的路由器或类似网络设备中,路由器一般承担着控制层面的处理以及数据层面的处理。控制层面的处理主要包括路由的学习用来指导数据层面如何转发一份IP报文。这种方式的问题是路由器需要比较强大的处理器来完成控制和数据两个层面的处理。在三层以太网交换机中,这个问题得到了一定的缓解,三层交换机使用转发芯片这样的硬件来完成IP报文的转发。然而三层交换机的接口类型比较单一,无法替代路由器在大型网络中的核心作用。TCAM技术的发展为路由器的开发提供了一种新的选择。TCAM(ternary contentaddressable memory)是一种三态内容寻址存储器,主要用于快速查找ACL (访问控制列表)、单播转发表、组播转发表等各种类型内部数据表。TCAM中每个bit位有三种状态,除掉“O”和“I”外,还有一个“don,t care”状态,所以称为“三态”。
技术实现思路
有鉴于此,本专利技术提供一种TCAM资源调度装置,应用于网络设备上,该装置包括:表项生成单元、表项下发单元以及查找调度单元,其中表项生成单元,用于生成N种类型的表项,其中N为大于或等于2的自然数;表项下发单元,用于将同一类型的多个表项及对应的类型标记分散下发到至少两片TCAM中;查找调度单元,用于向至少两片TCAM下发查表指令,其中该指令携带有表项Key值以及对应的类型标记。本专利技术还提供一种TCAM资源调度方法,应用于网络设备上,该方法包括如下步骤:生成N种类型的表项,其中N为大于或等于2的自然数;将同一类型的多个表项及对应的类型标记分散下发到至少两片TCAM中;向至少两片TCAM下发查表指令,其中该指令携带有表项Key值以及对应的类型标记。相较于现有技术而言,本专利技术将一次表项查找分担到多片TCAM上执行,有效地降低了单片TCAM的功耗,进而降低了其发热量,有效地保障了其寿命及使用过程中的可靠性。【附图说明】图1是典型的TCAM各种工作方式示意图。图2是典型的TCAM发热较大的表项组织示意图。图3是本专利技术一种实施方式中TCAM资源调度装置逻辑结构以及硬件环境示意图。图4是本专利技术一种实施方式中TCAM资源调度方法处理流程图。图5是本专利技术一种实施方式中表项组织示意图。【具体实施方式】以下结合附图对本专利技术进行详细描述。参看图1,TCAM是按照内容匹配来进行查找,TCAM的硬件设计方式一般有三种。其中TCAM的典型查找流程为:包处理器(比如NP或ASCI)从报文头提取信息,整理成查找TCAM所需要的数据格式,整理完的信息称为key (比如目的IP地址等)。接下来,将key送入TCAM与待查找的表中的所有表项对照,匹配到后将对应地址输出,对应地址在这里称为索引Index。然后再到存放关联数据的存储器中根据Index获取关联数据,关联数据在这里称为结果result。result通常是下一条IP地址以及出接口等转发结果信息。包处理器得到result之后就知道如何转发和封装报文了。参看图2,以下以TCAM中存储的IP单播转发表(也称为FIB表)和组播转发表项(也称为MC表)为例来说明TCAM是如何运作的。TCAM中所存放的每一个表项通常都是网络设备(以下仅以最典型的路由器为例)的控制层面所下发的。路由器的控制层面通常将属于FIB表或MC表中的所有表项连续存储在一个或者多个TCAM芯片中,比如说FIB表的表项存在第一片TCAMl中,而将MC表的表项存在第二片TCAM2中。这种方式看似简洁有效,然而却存在着较大的可靠性和使用寿命问题。当数据层面要进行查找时,其会将Key值提交给TCAM并指示TCAM进行查找。TCAM采用的是并行查找方式。假设当前在TCAMl中查找FIB表,此时TCAMl中所有表项都会参与查找。请参考图2,假设TCAMl的容量是1000条表项,查找一个IPv4FIB表项的功耗是X,则本次TCAMl查找所消耗的功耗是1000X。同样的道理,在TCAM2中查找IPv4MC表的时候,其中所有的MC表项均参与查找,假设TCAM2的规格与TCAMl —致,则本次TCAM2查找所消耗的功耗同样是1000X。从静态的角度来看,无论是查找FIB表还是MC表,对于单片TCAM来说,其是满负荷查找,因而功耗较大,对应的发热也就较大。由于网络设备几乎时刻都在进行报文的转发,因此TCAM长期维持在高发热的状态下,其温度难以降低,TCAM的器件可靠性将存在极大隐患,容易引发内部比特误差(Bit Eiror)的问题,进而导致该其内存储的表项不能使用的问题。而且长期维持较大发热状态,其使用寿命也会大打折扣。本专利技术改变每一片TCAM中尽量存放同一种类型表项的设计概念,转而采用混合式表项存放的方式。本专利技术在一片TCAM中存放至少两种类型的表项,进而降低单片TCAM的功耗与发热,提高器件的可靠性以及使用寿命。请参考图3,以软件实现为例,本专利技术提供一种TCAM资源调度装置,应用于网络设备上,该装置包括:表项生成单元、表项下发单元以及查找调度单元。在软件实现方式中,该装置本质上是CPU将非易失存储器中的计算机程序读取到内存中运行所形成的虚拟装置。当然本专利技术并不排除其他实现方式,比如硬件实现方式或者软硬件结合实现方式等。在本专利技术中,对TCAM本身并没有任何改变,而是充分利用TCAM固有的特点来实现。在本实施方式中,从软件层面将N片TCAM区分为多个存储区域,存放N种类型的表项。所述N为大于等于2的自然数。N的选择取决于网络设备有多少种类型表项需要存放在TCAM中,同时还取决于开发者需要如何降低单片TCAM功耗。请参考图4所示,本实施方式中资源处理方法包括以下步骤:步骤一,表项生成单元生成N种类型的表项;步骤二,表项下发单元将同一类型的多个表项及对应的类型标记,分散下发到至少两片TCAM中;步骤三,查找调度单元向至少两片TCAM下发查表指令,其中该指令携带有表项Key值以及对应的类型标记。以下仍然以一个最为常见的实现为示例进行描述,在以下实施方式中,假设N为2。其中两种表项分别为IPv4FIB表项以及IPv4MC表项。当然网络设备可能还有其他多种表项,比如IPv6系列表项或者ACL表项等等,更为复杂的实现其原理是基本相同的。为方便说明,假设表项生成单元所生成的FIB表和MC表的表项数量相同,比如都是1000 ;假设一个MC表项与一个FIB表项所占用的空间大小也一样;假设TCAMl和TCAM2的存储规格刚好也是能存储1000条表项的规格。在一种简单的实施方式中,表项下发单元采用均匀交叉下发的方式将FIB表项以及MC表项下发到TCAMl以及TCAM2中。下发的结果可以参考图5中的示例。此时 TCAMl 中表项将是 IPv4FIBl, IPv4MCl, IPv4FIB2, IPv4MC2......1Pv4FIBi,IPv4MC1......1Pv4FIB500, IPv4MC500 ;而 TCAM2 中的表项将是 IPv4FIB501,IPv4MC501,IPv4FIB502,IPv4MC502......1Pv4FIBj, IPv4MCj......1Pv4FIB10本文档来自技高网...

【技术保护点】
一种TCAM资源调度装置,应用于网络设备上,该装置包括:表项生成单元、表项下发单元以及查找调度单元,其特征在于:表项生成单元,用于生成N种类型的表项,其中N为大于或等于2的自然数;表项下发单元,用于将同一类型的多个表项及对应的类型标记分散下发到至少两片TCAM中;查找调度单元,用于向至少两片TCAM下发查表指令,其中该指令携带有表项Key值以及对应的类型标记。

【技术特征摘要】
1.一种TCAM资源调度装置,应用于网络设备上,该装置包括:表项生成单元、表项下发单元以及查找调度单元,其特征在于: 表项生成单元,用于生成N种类型的表项,其中N为大于或等于2的自然数; 表项下发单元,用于将同一类型的多个表项及对应的类型标记分散下发到至少两片TCAM 中; 查找调度单元,用于向至少两片TCAM下发查表指令,其中该指令携带有表项Key值以及对应的类型标记。2.如权利要求1所述的装置,其特征在于,所述表项下发单元进一步用于按照预设规则将同一类型的多个表项及对应的类型标记分散下发到至少两片TCAM中。3.如权利要求1所述的装置,其特征在于,所述预设规则为表项...

【专利技术属性】
技术研发人员:许玲燕
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1