对基于FPGA的高速路由查找算法的研究

发布者:鑫森淼焱最新更新时间:2009-12-20 来源: 西安电子科技大学关键字:FPGA  高速路由  查找  算法 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  随着网络流量的不断增加和路由表容量的不断增大,路由查找已经成为制约因特网的主要瓶颈。尽管采用CIDR技术能产生聚集路由,但路由器的路由表项还是很大,使得路由查找成为高,速路由器的瓶颈。因此,提高路由查找速度已成为高速路由器的关键技术。

  目前实现路由查表的方法主要有软件和硬件两类。其中基于软件查表方法的查找次数最少为5次,这显然已经不能满足高速链路的要求;而基于Cache的查找方法,其查找依赖于流量的模式,即IP数据流具有局部性,随着网络数据量的增大,命中率也会降低。而基于硬件的Stanford算法则结构简单,易于硬件实现,而且查找速度快,其最少需要访问一次存储器,最多需要访问2次存储器。但其占用存储空间大(为33 MB),表项更新单元数多。在最坏情况下,更新一个表项需要操作64 k个存储单元。

  本文采用多表结构,将查找过程分为4级。

  因为采用串行查找实现时,查找一个IP数据包最少需要访问一次存储器,最多需要访问4次。而根据四块存储器独立工作的特性,采用流水线的方式进行并行化设计,则可以保证访问一次存储器就能完成一次数据包的查找。为了保证占用较小的空间且四个存储块的容量相对均衡,本文用一个动态规划算法来求解四个目标层的值。此外,这种设计结构也支持动态更新,并且更新单元数较少。

  1 查找算法

  本系统的基本算法采用分段查找及前缀扩展技术来将IPv4的32位IP地址分成4段,假设i是其中一段(1≤i≤4),length i代表第i段所对应的IP地址长度。每一段内容存储在一块物理地址连续的内存区域中,称为TBLi。那么,在第一段区域TBL1中,使用前缀扩展技术,即可把所有长度小于等于length1的前缀扩展成长度为length1的前缀。图1所示是该四级路由算法的结构框图。

该四级路由算法的结构框图

  显然,该结构中的第一段有2length1个表项,析出IP地址的前length1位的值为第一块内存的偏移地址,其对应表项的数据格式如图2所示。若前缀长度小于等于length1,则表项的第一位标识为0,其余bit位表示下一跳的转发信息。若前缀长度大于length1,则表项的第一位标识为1,其余位填写扩展表的索引值可以作为指向TBL2的指针。在其余的三个段中,可采用同样的方法进行前缀扩展。

对应表项的数据格式

  本算法的查找过程是在匹配一个IP地址时,从第一段开始进行分段查找,每查找一段,则解析出对应段长度的IP,并取相应内存区域的地址。例如进行第二段查找时,可将其值作为偏移量,再加上相应的基址,就可获得该段对length1+1位开始,然后解析出length2长度的IP地址作为偏移量。之后再用TBL1表项里的索引,将其左移length2位作为基址,这样就确定了第二块连续存储区域中的地址。依次类推,分段查找,直到找到下一跳地址为止。

  本算法的插入过程与查找过程相似,先根据前缀对应的分段和索引查找到对应的子表,然后在其涉及的范围内读取各个表项,再根据表项的值确定是否用新的路由前缀信息覆盖该表项。如果在此过程中,该表没有相应的段空间,则需分配对应的存储空间。若该段空间为空,则收回该存储空间。[page]

  2 目标层的确定

  在用NT(k,ω)表示前缀长度为w的情况下,还需要找出k个目标层时对应的最小前缀扩展数。这样,其最优解就是NT(k,ω)。其递推公式如下:

公式

  式中,Nu(l,ω)表示将l+1层至ω-1层扩展到ω层的前缀数目,其中若某一层不存在,则将那一层直接忽略。另外,在扩展时还要考虑前缀捕获问题。Nl(ω)是ω层原有的前缀数目。

  3 硬件结构

  依据该算法设计出的基于4级流水线的并行处理结构如图3所示,该结构分为存储器模块、查找模块和更新模块三个部分。4个存储模块可存储对应表TBL中的数据;查找模块可通过读取对应存储模块中的数据实现查找;更新模块则可将要更新的路由信息添加到对应的存储块中。

依据该算法设计出的基于4级流水线的并行处理结构

  在FPGA设计时,每个查找模块都是一个硬件逻辑块,每两个查找模块间都有一个寄存器用以传输数据,每个查找模块都可从输入端或寄存器中读取信息,并解析出IP地址中的相应位,然后计算存储器的访问地址,访问存储器获取数据,并将数据写入寄存器或者输出端。四个查找模块按流水线的工作方式进行处理,能够达到访问一次存储器处理一个IP数据包。

  4 实验结果分析

  通过对BGP Table中前缀的长度进行分析和统计,可模拟生成50,000条前缀。然后用动态规划求出4个目标层(20,22,24和32)来进行实验分析。实验可采用Stratix系列芯片,并利用Ver-ilog硬件描述语言和QuartusII开发平台进行设计、综合、布局布线,然后在静态时序分析后进行仿真,其时序仿真结果如图4所示。由于查找需要一个时钟周期,而时钟频率为100MHz,所以,每秒可以完成100M次查找。若IP分组为40B长,则可以满足20Gbps的链路速率。

时序仿真结果

  5 结束语

  本文给出了一种基于前缀扩展的分段快速路由查找算法。该算法可以结合硬件实现的优点,并运用多级流水线处理方法,因而具有查找速度快、支持动态更新和实现简单等优点,十分适合于20 Gbps核心路由器环境下的查找机制。

关键字:FPGA  高速路由  查找  算法 引用地址:对基于FPGA的高速路由查找算法的研究

上一篇:基于FPGA的智能误码测试仪
下一篇:基于DSP和MAX1420的高速数据采集系统设计

推荐阅读最新更新时间:2024-05-02 20:57

无线通信领域FPGA的应用分析
    1.1无线通信综述 进入21世纪以来,无线通信技术正在以前所未有的速度向前发展。随着用户对各种实时多媒体业务需求的增加和互联网技术的迅猛发展,可以预计,未来的无线通信技术将朝着数字化、综合化、宽带化、智能化和个人化的方向发展,这对社会的进步和经济的发展都有着举足轻重的作用。 随着无线通信范围的扩大,无线通信系统也有越来越多的类型,可以分为微波通信系统、无线电寻呼系统、蜂窝移动通信、无绳电话系统、集群无线通信系统、卫星通信系统、分组无线网等典型的通信系统。其中的移动通信技术在世界范围内获得了广泛的应用,成为令人神往的高技术风景线,但就正式商业运营而言,至今也不过只有30年的历史。从其发展历程来看,大约每十年更新一代,
[嵌入式]
华为和Altera合力研发2.5D封装集成FPGA和内存单元
    为打破通讯系统内存带宽限制,华为和Altera将合力研发以2.5D封装形式集成 FPGA 和内存单元。华为一位资深科学家表示,这项技术虽然棘手,但是在网络中却是十分关键的。这一消息的公布,使得之前关于华为或使用ASIC而导致Altera公司财务状况业绩不佳的传闻不攻自破。     虽说只用了3个月,但新设备将显著地减少电路板空间,并提高性能。华为美国研发资深科学家Anwar A. Mohammed说,“2.5-D硅中介层似乎是最适合网络公司的——事实上,他们也是关键所在。” 一年前,Xilinx宣布其在2.5-D硅中介层上使用多模并行技术的最密集FPGA。那时,Xilinx也对网络公司的技术有极大的
[嵌入式]
高管视角:嵌入式FPGA IP正在发现更广阔的用武之地
作者:郭道正 职务:Achronix Semiconductor中国区总经理 在日前落幕的“中国集成电路设计业2023年会暨广州集成电路产业创新发展高峰论坛(ICCAD 2023)”上,Achronix的Speedcore™嵌入式FPGA硅知识产权(eFPGA IP)受到了广泛关注,预约会议、专程前往或者驻足询问的芯片设计业人士的数量超过了往届,表明了越来越多的国内开发者正在考虑为其ASIC或SoC设计添加高性能eFPGA逻辑阵列。 众多潜在用户的需求,反映了当前各行各业都在加速导入智能化技术,并利用eFPGA来在其ASIC或SoC中添加硬件数据处理加速功能,并为不断演进的算法或者标准保留可编程性。Speedc
[嵌入式]
高管视角:嵌入式<font color='red'>FPGA</font> IP正在发现更广阔的用武之地
基于FPGA的HDLC转E1传输控制器的实现
摘 要:本文介绍了一种用FPGA实现的HDLC转E1的协议控制器,能实现将速率为N%26;#215;64Kbps(N=1"124)的HDLC数据分接至M路(M=1"4)E1信道中传输,并允许各路E1的最大时延为64ms。讨论了E1帧结构设计和系统的FPGA实现方法。 关键词: 帧结构;HDLC;E1;FPGA 引言 E1是我国电信传输网一次群使用的传输标准,由于我国的E1资源十分丰富, 这样的传输路径非常容易获得,灵活利用现有丰富的E1信道来传输HDLC数据,可以节约大量传输成本。通常,一路HDLC数据仅通过一路E1信道传输,但是如果HDLC数据的速率很大,一路E1信号的带宽不足以传输,那么HDLC数据就要分接到M
[网络通信]
分辨率不够AI来凑 电视厂商用算法提升视频分辨率靠谱吗?
当我第一次听到三星在8K电视上渲染人工智能技术升级时,我当时以为这又是一种惯例性的营销手法而已。和以前一样,将一个全新理性的词汇改到一些老技术上,并重新包装一下,打造成全新的炫酷技术。   但这次事实可能并非如此。虽然添加人工智能技术不会让你的电视突然变得更智能,或者大幅提升感知能力,但人工智能带来增强视频的效果在理论上来说是有好处的,但究竟有多少实际的改进还有待观察。到目前为止,我们还没有对任何配备这一功能的电视机进行过评测,但这种可能性的确值得让人关注。   科技公司一直以来都愿意以各种方式蹭上人工智能的热度,从面部识别到Alexa和Siri这样的数字语音助手,再到利用AI技术帮助推进教育和医学领域。现在,家电厂商愿意使用AI
[家用电子]
分辨率不够AI来凑 电视厂商用<font color='red'>算法</font>提升视频分辨率靠谱吗?
一种多径环境下的调制识别算法
摘要:针对多径环境下MPSK和MQAM信号的调制分类问题给出了一种有效的自动识别算法,利用一组稳健的抗多径的累量不变量和自适应均衡算法的代价函数作为识别特征。当盲均衡器与接收到的码元星座图匹配时其代价函数收敛到最小。仿真表明,该方法可以有效识别多径信道下BPSK、QPSK、8PSK、16QAM、32QAM、64QAM信号。 关键词:调制识别 多径环境 高阶累积量 盲均衡 多径信道下信号的调制方式识别一直是一个难题。常用的多径信道下信号的调制方式识别一直是一个难题。常用的多径信道下信号的调制方式识别方法主要有两类。第一类方法是利用理想信道下抗多径性能好的分类特征进行识别,陈卫东等人提出一组多径累量近似不变量分类特征,当指数衰减多
[应用]
ASIC都去哪儿了?
上周在看了我的朋友Dave Jones 拆解一台旧的Fluke 91 ScopeMeter DSO(数字采样示波器)的视频 时,我突然发现,这款有20年历史的测试设备标志着ASIC设计历时10年的衰落正开始显著加速。 Dave打开eBay ScopeMeter,发现其内部有数字和模拟两个主要的电路板。ScopeMeter的数字电路板包含两个ASIC和一个83C196掩码编程的16位微控制器(来自Intel的早期 MCS-96 系列)。SoC时代开始于1995年,Fluke于1994年构建这款DSO,刚好在处理器开始采用ASIC技术之前,因此我们能够看到有单独的板载微控制器。 ScopeMeter数字电路板上的数字ASIC似乎
[嵌入式]
ASIC都去哪儿了?
Mitrionics推出最新Mitrion软件开发套件
瑞典FPGA编程工具供应商Mitrionics Inc.日前公布了其Mitrion软件开发套件的崭新诊断和优化特性,通过在FPGA综合前发现并排除故障、调试并优化Mitrion处理器设计,实现了更快速的开发时间。 新特性包括错误检查,为非FPGA专家和用户提供错误原因/修复描述的信息,“服务器模式”创建一个软件形式的虚拟FPGA,允许开发者仿真并调试主机应用,无需存取实际的FPGA。 据该公司称,Mitrion虚拟处理器和Mitrion软件开发套件允许超级计算软件应用被写入,在FPGA上运行比现有硬件设计和电子系统级工具更快速、更容易,且更具成本效益。该公司声称Mitrion平台是唯一一个不需任何硬件设计知识即可编程FPGA的
[新品]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved