




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑TCAM在高速路由查找中的应用及其FPGA实现-基础电子摘要:当前随着网络带宽的不断增加,对路由器转发速度的要求也越来越高。如何进行路由的快速查找目前成为限制报文快速转发的瓶颈,为了解决这一问题比较流行的方式是采用TCAM器件进行路由的快速查找。本文详细介绍了TCAM器件在高速路由查找中的应用及其管理算法,同时重点给出了TCAM器件的FPGA实现。
1引言
路由器转发IP分组时,转发引擎需要在路由表中查找该IP报文中目的地址所对应的路由信息,从而决定IP报文的转发方式。目前设计快速的路由查找方法已经成为提高路由器整体性能的关键之一[1]。随着网络速率的提高,传统的基于软件的路由查找机制已经不能满足要求,目前工业界中使用多的硬件路由查找方法是使用内容寻址存储器(CAM)。但由于路由查找具有长前缀匹配的特点[2],人们又提出了另一种CAM实现机制—ternaryCAM(TCAM),TCAM器件相对于CAM的优点是它所保存的表项在长度要求上非常灵活,可以在同一个TCAM芯片中保存任意长度的关键字表项。但是它也有不足之处:、TCAM更为昂贵,而且容量相对较小;第二、TCAM使用并行匹配比较方式,功耗较大。第三、TCAM需要保证前缀较长的关键字保存在前缀较短的关键字之前,这种顺序关系使得TCAM关键字更新更为复杂。本文介绍了TCAM在路由快速查找中的应用及其管理算法,同时利用FPGA设计实现了TCAM,使得路由查找更为灵活,系统设计更加简单。
2利用TCAM进行路由查找
图1是使用TCAM进行路由查找的示意图。表项长度是按路由前缀的长度降序排列。假设为目的地址101.11.3.10的ip报文查找转发路径。TCAM同时将它保存的所有表项与关键字101.11.3.10进行匹配查找,表项A1,A2都与关键字匹配,但是TCAM返回地址的表项,即A1。
路由表是动态的,也就是说路由表项会随着网络拓扑结构的不断变化而相应的增加或者删除。一般来说,在路由更新的同时,路由查找是不能够进行的,在这段时间内报文需要缓存在报文缓冲区内等待路由更新的完成,因此慢的路由更新对系统报文缓冲区的容量有很大的要求,同时也会延长报文转发的时间。所以要尽可能的减小路由更新的时间。
由于TCAM需要维持所有的路由表项按照前缀长度有序,所以对于路由的动态更新来说,效率就会比较低。以图1为例,假设现在需要在转发表中增加新的表项101.11.128/18,按照表项组织的方式,新的表项应该保存在表项101.11.3/24(A1)和表项101.11/16(A2)之间,但是目前在这两个表项之间没有空闲的表项空间,所以需要通过移动其它表项为新表项腾出空间。下一小节我们给出一种较好的表项管理算法,可以有效降低表项更新的开销。
3Prefix-lengthorderingconstraintalgorithm(PLO_OPT)表项管理算法
TCAM要求所有的路由按照前缀长度降序排列,令Pj代表的是前缀长度为j的所有路由集合,如果jk,那么所有Pj中的路由表项都应该保存在Pk中的路由表项之前。TCAM只要求前缀长度集合块之间的顺序关系,对于每个前缀长度集合块内部各个路由前缀之间的顺序关系没有严格规定。利用这一思想,文献[3]提出了PLO_OPT算法,算法实现如图2所示。当需要在TCAM中加入长度为k(20≤k≤32)的路由前缀时,首先从长度21的前缀块开始,将前缀块的项移动到一项(即TCAM的空闲表项区域),这样在长度为22的前缀块处就有了一个空闲表项;然后将长度为22前缀块中的项移动到这一个空闲表项处,使得长度为23前缀块中出现了空闲表项;以此类推,直到新加入表项所在的前缀块为止,那时就只需要将该新表项加入到分配处的空闲表项处就可以了(8≤k≤20时情况类似)。显然,这种算法的复杂度为W/2(其中W是路由前缀的长度)。
在图2的例子中,只需要移动A5、A4、A2三个表项就可以在P1与P2之间腾出空间并且仍然保持TCAM前缀长度有序。为了进一步提高性能,可以为每一个前缀长度集合块预留一部分空间,当然空间的分配要根据路由前缀的分布进行,因为一般情况下前缀长度大于24的情况非常少[4],所以比较简单通用的方法是假定前缀服从正态分布。
4TCAM功能介绍及其FPGA实现
TCAM基本框图如图3所示。与RAM相似,TCAM是将表项存储在一个阵列中。每个表项的宽度称为字宽,TCAM中表项的个数称为TCAM的深度。字宽和深度可以表征TCAM的容量。TCAM的优点是它所保存的表项在长度上要求非常灵活,可以保存任意长度的表项。其中每个表项都是以地址,掩码〉序偶的形式保存。在写TCAM模式时,Wren信号有效,此时通过地址线Address和数据线Data配合掩码信号线Wrx,掩码信号能使Wrx_used将表项写入目的地址。假设关键字长度范围是0-6,那么长度为3的关键字110*就可以以110000,000111序偶的形式表示。在查找TCAM模时,Find_start信号表征新的查找开始,直接通过Data送入要查找的关键字,TCAM判断关键字是否与表项相等,如果相等表示关键字与该表项匹配,信号Mfound为高,Maddress输出表项地址。否则不匹配。同时表项可以由Wrdelete信号配合Wren和所要删除的表项地址进行更新。
TCAM通过保存关键字掩码的方式使得它可以保存任意长度的关键字表项,因此使用TCAM非常适合进行长前缀路由的查找,目前不少工业界的厂商都在进行对TCAM的设计研究。由于可能存在多个表项匹配的情况,因此TCAM需要在这些匹配的表项中选取一个表项作为的查找结果,TCAM规定在所有匹配的表项中选取地址的表项作为的结果。为了能够进行长前缀路由的查找,我们就需要保证在TCAM的低地址存储前缀较长的关键字表项,而在地址高的区域存储前缀较短的关键字表项。
在利用FPGA设计TCAM时,我们采用ALTERA公司的APEX20K1000E系列芯片。利用VHDL硬件描述语言借助QUARTUS2开发平台进行设计。TCAM的实现可以利用QUARTUS2中提供的altcam宏模块。该模块对CAM的设计包括三个模式:single-matchmode,multiple-matchmode,fastmultiple-matchmode。由于TCAM器件允许相同的表项存在,所以选用multiple-matchmode和fastmultiple-matchmode可以实现TCAM的功能,其中这两种模式的区别在于查找的速度和所用资源不同。以容量为32x32的TCAM为例,采用multiple-matchmode设计需要1个ESB(embeddedsystemblock嵌入式系统块)和98个LE(logicelement逻辑单元);而采用fastmultiple-matchmode设计则需要2个ESB和79个LE。但是查找的速度上后者近似两倍于前者。
图4是采用multiple-matchmode设计TCAM的仿真图。其中写入表项要两到三个时钟周期(要求掩码要三个时钟周期),查找需要两个时钟周期。该种模式下由于存在多个匹配的情况,所以start信号后面的是个匹配的表项(地址),mnext后面的是接下来的一个表项,此时mnext持续有效时间不能超过两个时钟周期。图中1被写入两个地址1,8;在start后输出的是低的地址1,mnext后输出的是接下来的地址8。
图5是采用fastmultiple-matchmode设计TCAM的仿真图,其中查找只需要一个时钟周期。图中当查找数据000110时,由于存在地址为1,3的两个表项与之匹配,所以送出地址低的一个表项。
从图5中可以看出,当采用fastmultiple-matchmode时,时钟频率为50MHZ,所以每秒钟可以完成50M次查找,完全满足端口速率为10G的oc-192路由接入,适应骨干路由器的高速查找要求。目前虽然FPGA资源有限,路由器大容量路由表不能完全存储在一片FPGA中,但可以将FPGA内部实现的TCAM作为cache来加速路由查找。随着技术的进步,FPGA的容量将不断加大,到那时在一片FPGA上应该可以存储大量的路由表项。
5总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国荧光增白剂(FWA)行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国草坪修剪机行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国苏维德浸入式炊具行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国花粉市场运营状况及投资战略研究报告
- 2025-2030中国色谱溶剂市场深度调查与未来趋势研究报告
- 2025-2030中国航空汽油行业市场发展分析及发展趋势与投资战略研究报告
- 2025-2030中国自我美黑产品行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国自动喷雾降尘装置市场深度调研与发展前景预测研究报告
- 2025-2030中国膝关节外科矫形伸展装置行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国脑力游戏行业市场发展趋势与前景展望战略分析研究报告
- 慢性便秘中国专家共识意见课件
- 【虎啸】2024年虎啸年度洞察报告-3C家电行业
- 2024年度环保产业分红协议合同范本3篇
- 《ETF知识讲座》课件
- 集团人才测评报告范文模板
- 抖音违约合同模板
- 《电力安全工作规程DLT408-2023》知识培训
- 2024北京重点校初二(下)期中语文汇编:基础知识综合
- 《地基和基础的构造》课件
- GB/T 29498-2024木门窗通用技术要求
- 生死场读书报告
评论
0/150
提交评论