TCAM与HASH表的差异

TCAM支持任意LOOKUPKEY组合及模糊匹配,查找速度快,能避免哈希冲突,适合高速路由查找。而HASH表虽查找速度快,但在高速通信系统中不够高效,易发生冲突。TCAM的代价是更大的存储需求和更高的电力消耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCAM与HASH的区别,大家可以参考下面两个链接的内容:

https://www.cnblogs.com/davidshisogood/p/15117752.html

https://blog.youkuaiyun.com/xtydtc/article/details/107056512

1、有了TCAM,就可支持各种LOOKUP KEY的任何组合查找,任意地MASK掉任何不关心的字段。只有TCAM可以做这样的事情,HASH不行。(个人理解:相当于TCAM支持模糊匹配,HASH不支持)(功能上的区别)

2、性能上:TCAM查找速度更快;

3、使用TCAM则可以避免哈希冲突问题,或者在出现哈希冲突的时候,改用TCAM;

TCAM与HASH表的差异
TCAM之所以一个bit能表示三个值,原因是它的一条entry其实在物理上由两条entry组成,一条存放data,另外一条存放相应的mask。由此可以实现0/1/X的表示。有了TCAM,就可支持各种LOOKUP KEY的任何组合查找,任意地MASK掉任何不关心的字段。只有TCAM可以做这样的事情,HASH不行

(个人理解:相当于TCAM支持模糊匹配,HASH不支持)(功能上的区别)

https://www.cnblogs.com/davidshisogood/p/15117752.html

由于HASH函数的多对一本质特性,HASH冲突总是存在.对于MAC芯片硬件而言,产生哈希冲突的帧会被丢掉从而学不到对应的MAC地址.使用TCAM则可以避免哈希冲突问题,或者在出现哈希冲突的时候,改用TCAM

TCAM不依赖传统的前缀匹配查找算法,TCAM可以并行查找所有表项,意味着一次遍历即可找到最长的前缀匹配地址。

在查找某一地时候,需要对所有CAM存储器都通上电,初始的时候,所有的地址存储单位都输出“匹配”-True的状态,只要该路上有一个字节不匹配,则该路的输出将变为“不匹配”-False的状态,即同一时刻对所有的存储硬件进行匹配,最后只有一路维持电路上通的状态,实现了硬件上的一次性快速查找。

优点:硬件级快速路由查找

缺点:1,需要用2个bit来表示原先的每个bit的三个状态,需要更大的存储空间;2,由于每次查找,所有地址所在的存储器都要通电,故要消耗更多的电力;总体而言是牺牲存储空间和电力消耗来换取快速硬件路由.

https://blog.youkuaiyun.com/xtydtc/article/details/107056512

哈希表查找法是软件查找中计较快的一种方法,它是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。虽然哈希表查找法相对来说比较快,但还是满足不了高速实时通信系统(如40G/100G POS)的极速查找需求。(性能上的区别)

基于硬件的TCAM查找法正是在这种背景下提出的,用此方法进行查找时,整个表项空间的所有数据在同一时刻被查询,查找速度不受表项空间数据大小影响,每个时钟周期完成一次查找

TCAM应用方式:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值