TCAM与HASH表的差异

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

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

https://blog.csdn.net/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.csdn.net/xtydtc/article/details/107056512

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

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

TCAM应用方式:

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值