三态内容寻址存储器规则存储方法、装置及网络设备制造方法及图纸

技术编号:6968673 阅读:172 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种三态内容寻址存储器规则存储方法、装置及网络设备。其中,方法包括:当待存储规则为长规则时,判断TCAM存储空间中是否存在长TCAM单元,TCAM存储空间由至少两块TCAM并排拼接而成,所述长TCAM单元由同一行中相邻的多个TCAM单元构成;如果判断结果为不存在,对TCAM存储空间进行碎片整理,获取长TCAM单元;根据获取的空闲的长TCAM单元,将待存储规则存放到TCAM存储空间中。采用本发明专利技术技术方案,可以减少了TCAM资源的浪费,提高TCAM资源的利用率。

【技术实现步骤摘要】

本专利技术涉及数据通信技术,尤其涉及一种三态内容寻址存储器规则存储方法、装置及网络设备
技术介绍
三态内容寻址存储器(TernaryContent Addressable Memory ;简称为TCAM)与以往的存储介质不同,TCAM允许并行访问所有条目,并支持优先匹配规则。例如TCAM中存储有1000条查找TCAM规则,TCAM 一次就可以对这1000条TCAM规则进行比对操作,找到与其匹配的最靠前的一条,并执行相应动作,效率高且复杂度较低。基于此,在网络设备中 TCAM被广泛使用,例如被用于存放路由表、访问控制列表(Access Control List ;简称为 ACL)等。但是,TCAM有一个明显的缺点是其价格比较昂贵,因此,需要对TCAM进行充分利用。对互联网络而言,最常用的TCAM规则就是基于网际协议(Internet Protocol ;简称为IP)地址、介质访问控制(Media Access Control ;简称为MAC)地址等形成的各种过滤规则,而TCAM通常是根据TCAM规则的长度形成相应大小的多个TCAM单元并由多个TCAM 单元依次排列而成,每个TCAM单元放一条TCAM规则。目前,TCAM单元的大小通常为对字节。但是,随着IP技术的发展,出现了网际协议第6版本(Internet Protocol Version 6 ; 简称为IPv6),而IPv6地址的长度为128比特,是IPv4地址的4倍,这样原来用于存放基于IPv4实现的短规则的TCAM单元将无法容纳基于IPv6的长规则。其中,长规则不仅限于基于IPv6实现的规则,还包括关联较多报文字段形成的规则,例如同时关联源IP地址、目的IP地址、源MAC地址以及目的MAC地址形成的规则等。对于长规则,需要更长的TCAM单元来存储。现有技术中的一种做法是为长规则单独创建具有更长TCAM单元的TCAM,这样一台网络设备就会有两个独立的TCAM,成本比较高,而且如果两个TCAM没有被全部使用还会造成TCAM资源的浪费,于是出现了另一种解决方案。如图1所示,另一种解决方案是将具有较短TCAM单元的两块TCAM拼接在一起形成具有较长TCAM单元的TCAM存储空间。在该解决方案中,如果存放短规则,就用一块TCAM 中的一个TCAM单元,例如标号为(1)的TCAM单元;如果存放长规则,就用同在一行的两块 TCAM中的TCAM单元,即由两个TCAM单元构成一个更长的TCAM单元来存放长规则,例如标号为(3)的TCAM单元和标号为(4)的TCAM单元可用于存放一条长规则。但是,该解决方案仍存在整个TCAM存储空间还有足够空间存放长规则而又无法存放长规则的情况,这时仍将造成TCAM资源的浪费。
技术实现思路
本专利技术提供一种三态内容寻址存储器规则存储方法、装置及网络设备,用以减少 TCAM资源的浪费,提高TCAM存储空间的利用率。本专利技术提供一种三态内容寻址存储器TCAM规则存储方法,包括当待存储规则为长规则时,判断TCAM存储空间中是否存在长TCAM单元,所述TCAM 存储空间由至少两块TCAM并排拼接而成,所述长TCAM单元由同一行中相邻的多个TCAM单元构成;如果判断结果为不存在,对所述TCAM存储空间进行碎片整理,获取所述长TCAM单元;根据获取的所述长TCAM单元,将所述待存储规则存放到所述TCAM存储空间中。本专利技术提供一种三态内容寻址存储器TCAM规则存储装置,包括第一判断模块,用于在待存储规则为长规则时,判断TCAM存储空间中是否存在空闲的长TCAM单元;所述TCAM存储空间由至少两块TCAM并排拼接而成,所述长TCAM单元由同一行中相邻的多个TCAM单元构成;碎片整理模块,用于在所述第一判断模块的判断结果为否时,对所述TCAM存储空间进行碎片整理,获取所述空闲的长TCAM单元;存储模块,用于根据获取的所述空闲的长TCAM单元,将所述待存储规则存放到所述TCAM存储空间中。本专利技术提供一种网络设备,包括本专利技术提供的任一三态内容寻址存储器TCAM规则存储装置。本专利技术的三态内容寻址存储器规则存储方法、装置及网络设备,在确定待存储规则为长规则,并在判断出由多块TCAM拼接而成的TCAM存储空间中不存在长TCAM单元时, 对TCAM存储空间进行碎片整理,获取能够存放待存储规则的长TCAM单元,减少了 TCAM资源的浪费,提高了 TCAM资源的利用率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中由两块TCAM拼接形成的TCAM存储空间的结构示意图;图2为本专利技术一实施例提供的TCAM规则存储方法的流程图;图3为本专利技术另一实施例提供的TCAM规则存储方法的流程图;图4为本专利技术一实施例提供的对TCAM存储空间进行碎片整理,获取空闲的长TCAM 单元的方法流程图;图5为本专利技术另一实施例提供的对TCAM存储空间进行碎片整理,获取空闲的长 TCAM单元的方法流程图;图6为本专利技术又一实施例提供的TCAM规则存储方法的流程图;图7为本专利技术一实施例提供的TCAM规则存储装置的结构示意图;图8为本专利技术另一实施例提供的TCAM规则存储装置的结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图2为本专利技术一实施例提供的TCAM规则存储方法的流程图。如图2所示,本实施例的方法包括步骤201、当待存储规则为长规则时,判断TCAM存储空间中是否存在空闲的长 TCAM单元;如果判断结果为否,即TCAM存储空间中不存在空闲的长TACM单元,则执行步骤 202 ;如果判断结果为是,即TCAM存储空间中存在空闲的长TCAM单元,执行步骤204。其中,TCAM存储空间由至少两块TCAM并排拼接而成。每块TCAM由多个TCAM单元构成。长TCAM单元是指由同一行中相邻的多个TCAM单元构成。每块TCAM中TCAM单元的长度可以是现有技术中常用的长度值,例如M字节(K)。所谓长TCAM单元是相对当前常用规则的长度而言的,例如对于基于IPv4地址实现的规则为短规则,而基于IPv6地址实现的规则为长规则。又例如关联较多报文字段的规则也属于长规则,例如同时关联源IP、 目的IP、源MAC、目的MAC的规则。目前长规则所占用的存储空间通常是短规则的2倍,但并不限于此。其中,长TCAM单元与长规则相适应,一个TCAM单元存储一条短规则,一个长 TCAM单元存储一条长规则。如果一条长规则由η条短规则构成,则一个长TCAM单元也就有处于同一行的η个相邻的TCAM单元构成,也就是说TCAM存储空间至少由η块TCAM并排拼接而成。其中,处于同一行中的构成一个长TCAM单元的TCAM单元的个数小于或等本文档来自技高网
...

【技术保护点】
1.一种三态内容寻址存储器TCAM规则存储方法,其特征在于,包括:当待存储规则为长规则时,判断TCAM存储空间中是否存在空闲的长TCAM单元;所述TCAM存储空间由至少两块TCAM并排拼接而成,所述长TCAM单元由同一行中相邻的多个TCAM单元构成;如果判断结果为不存在,对所述TCAM存储空间进行碎片整理,获取所述空闲的长TCAM单元;根据获取的所述空闲的长TCAM单元,将所述待存储规则存放到所述TCAM存储空间中。

【技术特征摘要】

【专利技术属性】
技术研发人员:潘坚平
申请(专利权)人:北京星网锐捷网络技术有限公司
类型:发明
国别省市:11

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

1