TCAM路由器查表技术分析

○ 郭铸文
为了充分解决路由器查表效率问题,许多高端路由器采用了专用的硬件查找技术TCAM(三进制内容可寻址存储器)方案,以硬件化的路 由表查找和分组转发技术实现对各类数据包的快速分类和路由,同时支持ACL和MPLS的查找。下面将专门对TCAM技术的查找机制进行分析。
内容可寻址存储器(CAM)是一种专用于进行查表操作的硬件芯片。与其他基于算法的解决方案相比,CAM具有十分卓越的性能,也 更具可扩充性。高速的三进制CAM(TCAM)允许对位域进行0、1或X(忽略)三种方式的屏蔽,因此可以用来确定最长前缀匹配。TCAM的高速性能也使 得它们可以用于IP包的线速转发,而且与基于软件的方式不同,TCAM的查找性能与路由表的大小和内容无关。随着芯片技术的提高,单片可以容纳64K个 64位路由表项的TCAM也已经很普遍了。
图1显示了一个简单的CAM表,包含4个5位的二进制表项,每个位都是一个比较电路,可以存储内容(1或者0)和进行比较操 作。Search lines 在垂直的方向上向所有的CAM单元广播被查找数据,match lines在水平方向穿过整个行来判断此表项是否匹配。在这个例子里CAM芯片找到两条匹配的行,把它们输入encoder(编码器),encoder选 择了最长的1行作为目标,输出了地址01。在图2里,这个地址01被输入到RAM(内存)里获得了一个对应的端口描述符。以上这些操作全部基于硬件, CAM里两个方向的查找都是比较电路一次输出结果,这个结果输入encoder直接对应一个地址(这个地址是RAM里的实地址),系统只要从这个地址读取 内容,就得到了这个报文应该发往的系统端口标识符。 

从这个例子可以看到,TCAM表查找技术和这个表的大小没有关系。
最后再上传一个详细介绍TCAM的文章:

附件:http://down.51cto.com/data/2349472

本文转自loveme2351CTO博客,原文链接:http://blog.51cto.com/loveme23/63724 ,如需转载请自行联系原作者

TCAM路由器查表技术分析相关推荐

  1. SP_Flash_Tool对应MTK CPU型号速查表汇总分析

    SP_Flash_Tool对应MTK CPU型号速查表汇总分析,资料很齐全,分享给大家参考,学习,需要相关资料参考的可到一牛网论坛看看,里面有丰富的技术参考资料和方案等 SP_Flash_Tool V ...

  2. 网络路由器查表过程模拟

    任务及要求 编程模拟路由器查表过程,用(目的地址 掩码 下一跳)的IP路由表以及目的地址作为输入,为目的地址查找路由表,找出正确的下一跳并输出结果. 1. 建立一个路由表 f=open('路由表.tx ...

  3. 深入剖解路由器的“心脏”技术

    深入剖解路由器的"心脏"技术 宽带上网已经不是什么新鲜事情,人们对相关的网络器件已经不再陌生,比如说常见的路由器.对于一般的网络用户,他们能知道怎样使用路由器来上网.玩游戏等就已经 ...

  4. 拿起手术刀 深入剖解路由器的“心脏”技术

    宽带上网已经不是什么新鲜事情,人们对相关的网络器件已经不再陌生,比如说常见的路由器.对于一般的网络用户,他们能知道怎样使用路由器来上网.玩游戏等就已经感到很满足了,通常情况下对路由器的深层技术很少去过 ...

  5. 初学者如何选择合适的机器学习算法(附算法速查表)

    来源:机器之心 参与:黄小天.蒋思源.吴攀 校对:谭佳瑶 本文长度为4000字,建议阅读6分钟 本文针对算法的选择为你提供一些参考意见. 本文主要的目标读者是机器学习爱好者或数据科学的初学者,以及对学 ...

  6. 14 张Python数据科学速查表

    大家好,我是俊红. 今天给大家隆重推荐一个Python数据分析领域的大佬:小一,他也是公众号[小一的学习笔记]的号主! 小一是我的好友,从事数据分析行业近5年,擅长使用Python进行爬虫.数据处理和 ...

  7. 美国国家安全局(NSA)“酸狐狸”漏洞攻击武器平台技术分析报告

    本文转载自"CVERC "官网  作者:国家计算机病毒应急处理中心 近日,国家计算机病毒应急处理中心对美国家安全局(NSA)"酸狐狸"漏洞攻击武器平台(FoxA ...

  8. Python开发资源速查表

    Python开发资源速查表 Python实现算法和设计模式 algorithms - Python的一个算法模块. PyPattyrn - 一个用于实现常见设计模式的简单而有效的库. python-p ...

  9. 【权威发布】360追日团队:Xshellghost技术分析——入侵感染供应链软件的大规模定向攻击

    本文由 安全客 原创发布,如需转载请注明来源及本文地址. 本文地址:http://bobao.360.cn/learning/detail/4280.html 概述 近日,NetSarang旗下的Xm ...

最新文章

  1. 文字超过省略_从楚篆到楚玺的文字结构
  2. Python入门系列之字符编码
  3. (0031) iOS 开发之图片压缩
  4. 操作 Docker 容器
  5. JAVA进阶教学之(序列化和反序列化)
  6. 怎么读服务器文件内容,服务器上读取文件内容
  7. java连接mysql url_java连接数据库URL
  8. mysql巡检常用命令_总结Linux下系统巡检常用命令
  9. 从语音识别到人脸识别:谁才是打开智能电视的正确姿势?
  10. Java 8 你需要掌握的新特性
  11. 最小二乘支持向量机(LS-SVM)使用说明
  12. 深入计算机组成原理(二十七)SIMD:如何加速矩阵乘法
  13. JN5169 JN-AN-1217-Zigbee-3-0-Base-Device
  14. 曾经爱过就是彼此的慈悲
  15. Typescript无法导入json的问题
  16. mysql order优化2019_MySQL 效率提高N倍的19条MySQL优化秘籍
  17. 一语道破 到底什么是知识产权?
  18. python判断是否构成三角形并计算面积
  19. radiogroup多选_为何多组RadioGroup 里面的RadioButton 会出现多选状态​?
  20. QQ浏览器X5内核问题汇总

热门文章

  1. 2018年全国专利代理机构发明授权排行榜(TOP100)
  2. Maven的基本使用方法
  3. 【OSATE学习笔记】AADL 样例 ARP4761 介绍
  4. 【模电实验】【验证性实验——基本差动放大电路实验】
  5. RTT and RTO
  6. Winform(C#) 国内开源美化控件主题库1 SunnyUI
  7. java——java删除指定文件或文件夹
  8. 敏捷方法 - 极限编程与工程实践
  9. KVM切换器和VGA切换器的区别
  10. Linux系统库函数之strsep