《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的高速路由查找算法
基于FPGA的高速路由查找算法
摘要: 本文給出了一種基于前綴擴(kuò)展的分段快速路由查找算法。該算法可以結(jié)合硬件實(shí)現(xiàn)的優(yōu)點(diǎn),并運(yùn)用多級(jí)流水線處理方法,因而具有查找速度快、支持動(dòng)態(tài)更新和實(shí)現(xiàn)簡(jiǎn)單等優(yōu)點(diǎn),十分適合于20 Gbps核心路由器環(huán)境下的查找機(jī)制。
Abstract:
Key words :

  0 引言

  隨著網(wǎng)絡(luò)流量的不斷增加和路由表容量的不斷增大,路由查找已經(jīng)成為制約因特網(wǎng)的主要瓶頸。盡管采用CIDR技術(shù)能產(chǎn)生聚集路由,但路由器的路由表項(xiàng)還是很大,使得路由查找成為高,速路由器的瓶頸。因此,提高路由查找速度已成為高速路由器的關(guān)鍵技術(shù)。

  目前實(shí)現(xiàn)路由查表的方法主要有軟件和硬件兩類。其中基于軟件查表方法的查找次數(shù)最少為5次,這顯然已經(jīng)不能滿足高速鏈路的要求;而基于Cache的查找方法,其查找依賴于流量的模式,即IP數(shù)據(jù)流具有局部性,隨著網(wǎng)絡(luò)數(shù)據(jù)量的增大,命中率也會(huì)降低。而基于硬件的Stanford算法則結(jié)構(gòu)簡(jiǎn)單,易于硬件實(shí)現(xiàn),而且查找速度快,其最少需要訪問一次存儲(chǔ)器,最多需要訪問2次存儲(chǔ)器。但其占用存儲(chǔ)空間大(為33 MB),表項(xiàng)更新單元數(shù)多。在最壞情況下,更新一個(gè)表項(xiàng)需要操作64 k個(gè)存儲(chǔ)單元。

  本文采用多表結(jié)構(gòu),將查找過程分為4級(jí)。

  因?yàn)椴捎么胁檎覍?shí)現(xiàn)時(shí),查找一個(gè)IP數(shù)據(jù)包最少需要訪問一次存儲(chǔ)器,最多需要訪問4次。而根據(jù)四塊存儲(chǔ)器獨(dú)立工作的特性,采用流水線的方式進(jìn)行并行化設(shè)計(jì),則可以保證訪問一次存儲(chǔ)器就能完成一次數(shù)據(jù)包的查找。為了保證占用較小的空間且四個(gè)存儲(chǔ)塊的容量相對(duì)均衡,本文用一個(gè)動(dòng)態(tài)規(guī)劃算法來求解四個(gè)目標(biāo)層的值。此外,這種設(shè)計(jì)結(jié)構(gòu)也支持動(dòng)態(tài)更新,并且更新單元數(shù)較少。

  1 查找算法

  本系統(tǒng)的基本算法采用分段查找及前綴擴(kuò)展技術(shù)來將IPv4的32位IP地址分成4段,假設(shè)i是其中一段(1≤i≤4),length i代表第i段所對(duì)應(yīng)的IP地址長(zhǎng)度。每一段內(nèi)容存儲(chǔ)在一塊物理地址連續(xù)的內(nèi)存區(qū)域中,稱為TBLi。那么,在第一段區(qū)域TBL1中,使用前綴擴(kuò)展技術(shù),即可把所有長(zhǎng)度小于等于length1的前綴擴(kuò)展成長(zhǎng)度為length1的前綴。圖1所示是該四級(jí)路由算法的結(jié)構(gòu)框圖。

  顯然,該結(jié)構(gòu)中的第一段有2length1個(gè)表項(xiàng),析出IP地址的前l(fā)ength1位的值為第一塊內(nèi)存的偏移地址,其對(duì)應(yīng)表項(xiàng)的數(shù)據(jù)格式如圖2所示。若前綴長(zhǎng)度小于等于length1,則表項(xiàng)的第一位標(biāo)識(shí)為0,其余bit位表示下一跳的轉(zhuǎn)發(fā)信息。若前綴長(zhǎng)度大于length1,則表項(xiàng)的第一位標(biāo)識(shí)為1,其余位填寫擴(kuò)展表的索引值可以作為指向TBL2的指針。在其余的三個(gè)段中,可采用同樣的方法進(jìn)行前綴擴(kuò)展。

  本算法的查找過程是在匹配一個(gè)IP地址時(shí),從第一段開始進(jìn)行分段查找,每查找一段,則解析出對(duì)應(yīng)段長(zhǎng)度的IP,并取相應(yīng)內(nèi)存區(qū)域的地址。例如進(jìn)行第二段查找時(shí),可將其值作為偏移量,再加上相應(yīng)的基址,就可獲得該段對(duì)length1+1位開始,然后解析出length2長(zhǎng)度的IP地址作為偏移量。之后再用TBL1表項(xiàng)里的索引,將其左移length2位作為基址,這樣就確定了第二塊連續(xù)存儲(chǔ)區(qū)域中的地址。依次類推,分段查找,直到找到下一跳地址為止。

  本算法的插入過程與查找過程相似,先根據(jù)前綴對(duì)應(yīng)的分段和索引查找到對(duì)應(yīng)的子表,然后在其涉及的范圍內(nèi)讀取各個(gè)表項(xiàng),再根據(jù)表項(xiàng)的值確定是否用新的路由前綴信息覆蓋該表項(xiàng)。如果在此過程中,該表沒有相應(yīng)的段空間,則需分配對(duì)應(yīng)的存儲(chǔ)空間。若該段空間為空,則收回該存儲(chǔ)空間。

  2 目標(biāo)層的確定

  在用NT(k,ω)表示前綴長(zhǎng)度為w的情況下,還需要找出k個(gè)目標(biāo)層時(shí)對(duì)應(yīng)的最小前綴擴(kuò)展數(shù)。這樣,其最優(yōu)解就是NT(k,ω)。其遞推公式如下:


  式中,Nu(l,ω)表示將l+1層至ω-1層擴(kuò)展到ω層的前綴數(shù)目,其中若某一層不存在,則將那一層直接忽略。另外,在擴(kuò)展時(shí)還要考慮前綴捕獲問題。Nl(ω)是ω層原有的前綴數(shù)目。

  3 硬件結(jié)構(gòu)

  依據(jù)該算法設(shè)計(jì)出的基于4級(jí)流水線的并行處理結(jié)構(gòu)如圖3所示,該結(jié)構(gòu)分為存儲(chǔ)器模塊、查找模塊和更新模塊三個(gè)部分。4個(gè)存儲(chǔ)模塊可存儲(chǔ)對(duì)應(yīng)表TBL中的數(shù)據(jù);查找模塊可通過讀取對(duì)應(yīng)存儲(chǔ)模塊中的數(shù)據(jù)實(shí)現(xiàn)查找;更新模塊則可將要更新的路由信息添加到對(duì)應(yīng)的存儲(chǔ)塊中。


  在FPGA設(shè)計(jì)時(shí),每個(gè)查找模塊都是一個(gè)硬件邏輯塊,每?jī)蓚€(gè)查找模塊間都有一個(gè)寄存器用以傳輸數(shù)據(jù),每個(gè)查找模塊都可從輸入端或寄存器中讀取信息,并解析出IP地址中的相應(yīng)位,然后計(jì)算存儲(chǔ)器的訪問地址,訪問存儲(chǔ)器獲取數(shù)據(jù),并將數(shù)據(jù)寫入寄存器或者輸出端。四個(gè)查找模塊按流水線的工作方式進(jìn)行處理,能夠達(dá)到訪問一次存儲(chǔ)器處理一個(gè)IP數(shù)據(jù)包。

  4 實(shí)驗(yàn)結(jié)果分析

  通過對(duì)BGP Table中前綴的長(zhǎng)度進(jìn)行分析和統(tǒng)計(jì),可模擬生成50,000條前綴。然后用動(dòng)態(tài)規(guī)劃求出4個(gè)目標(biāo)層(20,22,24和32)來進(jìn)行實(shí)驗(yàn)分析。實(shí)驗(yàn)可采用Stratix系列芯片,并利用Ver-ilog硬件描述語言和QuartusII開發(fā)平臺(tái)進(jìn)行設(shè)計(jì)、綜合、布局布線,然后在靜態(tài)時(shí)序分析后進(jìn)行仿真,其時(shí)序仿真結(jié)果如圖4所示。由于查找需要一個(gè)時(shí)鐘周期,而時(shí)鐘頻率為100MHz,所以,每秒可以完成100M次查找。若IP分組為40B長(zhǎng),則可以滿足20Gbps的鏈路速率。

  5 結(jié)束語

  本文給出了一種基于前綴擴(kuò)展的分段快速路由查找算法。該算法可以結(jié)合硬件實(shí)現(xiàn)的優(yōu)點(diǎn),并運(yùn)用多級(jí)流水線處理方法,因而具有查找速度快、支持動(dòng)態(tài)更新和實(shí)現(xiàn)簡(jiǎn)單等優(yōu)點(diǎn),十分適合于20 Gbps核心路由器環(huán)境下的查找機(jī)制。 
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲天堂视频在线观看| 日韩视频中午一区| 99亚洲精品| 亚洲日韩视频| 亚洲国产专区校园欧美| 一区二区三区在线免费视频| 国产一区二区毛片| 国产一区二区三区四区老人| 国产精品一区二区在线观看| 国产精品一区二区三区久久久| 国产精品久久久久久久9999| 欧美亚洲第一区| 国产精品国产三级国产专播品爱网| 欧美色区777第一页| 欧美日韩亚洲一区二区三区在线观看 | 一区二区三区 在线观看视| 日韩亚洲国产欧美| 一本色道88久久加勒比精品| 一区二区成人精品| 亚洲综合好骚| 久久成人精品| 老司机精品久久| 欧美高清在线视频| 欧美三日本三级少妇三2023| 国产精品国产三级国产普通话蜜臀| 国产精品乱码久久久久久| 国产伦理一区| 狠狠色狠狠色综合日日五| 在线不卡中文字幕| 亚洲精品在线视频观看| 亚洲日本欧美| 这里只有精品丝袜| 西西裸体人体做爰大胆久久久| 欧美在线观看视频在线| 亚洲国产精品悠悠久久琪琪| 日韩视频免费看| 亚洲女人小视频在线观看| 欧美中文在线观看国产| 麻豆亚洲精品| 欧美日韩亚洲一区二区三区在线观看| 国产精品亚洲精品| 尤妮丝一区二区裸体视频| 亚洲精品一区二区三区四区高清| 国产精品99久久99久久久二8| 欧美与欧洲交xxxx免费观看| 亚洲精品久久久久久久久久久| 亚洲视频欧美在线| 久久久精品久久久久| 欧美成人免费在线观看| 国产精品v亚洲精品v日韩精品 | 一区二区亚洲| 夜夜嗨av一区二区三区免费区| 午夜精品偷拍| 亚洲精品在线免费| 午夜精品成人在线视频| 免费成人av资源网| 国产精品毛片va一区二区三区| 国内外成人在线| 夜夜嗨av一区二区三区网页| 欧美一区成人| 一本色道久久综合精品竹菊| 久久成人精品无人区| 欧美劲爆第一页| 国产亚洲精品v| 亚洲理论在线| 亚洲国产精品一区| 欧美一级欧美一级在线播放| 欧美国产国产综合| 国产一区999| 一区二区三区四区五区精品| 久久精品人人做人人综合| 亚洲一区二区黄| 欧美成人69av| 国产一区二区三区黄视频| 99在线热播精品免费| 久久精品免费播放| 午夜精品福利一区二区蜜股av| 男女激情久久| 国产三区精品| 在线一区视频| 欧美成人国产va精品日本一级| 欧美国产一区二区在线观看| 国产欧美在线观看| 亚洲最黄网站| 日韩午夜电影| 美女脱光内衣内裤视频久久网站| 国产精品影院在线观看| 国产精品国产三级国产专区53| **网站欧美大片在线观看| 亚洲欧美国产77777| 亚洲视频自拍偷拍| 欧美激情精品久久久久久变态| 国产综合在线看| 亚洲欧美日韩综合aⅴ视频| 亚洲视频在线观看三级| 欧美激情精品久久久久久黑人 | 性一交一乱一区二区洋洋av| 亚洲欧美日本日韩| 欧美日韩视频第一区| 亚洲国产专区校园欧美| 亚洲第一精品电影| 久久九九热免费视频| 国产欧美日韩伦理| 亚洲欧美高清| 午夜视黄欧洲亚洲| 国产精品久久中文| 一区二区不卡在线视频 午夜欧美不卡在 | 国产欧美韩日| 亚洲欧美美女| 亚洲欧美区自拍先锋| 欧美天堂亚洲电影院在线观看| 亚洲精品乱码| 一本色道久久综合一区| 欧美精品一区二区三区一线天视频| 一区在线视频观看| 亚洲国产精品一区二区三区| 久久久久在线观看| 国外成人网址| 亚洲国产毛片完整版| 麻豆国产va免费精品高清在线| 永久久久久久| 亚洲三级国产| 欧美激情一区二区三区| 亚洲精品欧洲| 亚洲午夜高清视频| 国产精品v日韩精品v欧美精品网站| 野花国产精品入口| 亚洲欧美另类国产| 国产精品日韩一区二区| 亚洲自拍偷拍色片视频| 性欧美长视频| 国产在线不卡| 最新日韩在线视频| 欧美日韩国产美| 中文国产成人精品| 欧美在线关看| 一区免费观看视频| 一本色道久久综合亚洲二区三区| 欧美三级视频在线| 亚洲综合色视频| 久久在线播放| 亚洲区中文字幕| 乱人伦精品视频在线观看| 欧美日韩成人在线视频| 一区二区高清| 欧美中文日韩| 亚洲第一二三四五区| 中日韩男男gay无套| 国产精品视频一二三| 欧美一区二区三区婷婷月色 | 激情欧美一区二区三区| 亚洲精品国产系列| 国产精品hd| 久久黄金**| 欧美另类亚洲| 亚洲欧美高清| 牛夜精品久久久久久久99黑人| 亚洲伦理一区| 久久精品欧洲| 亚洲日韩视频| 欧美一区二区高清| 1769国内精品视频在线播放| 亚洲最黄网站| 国产一区二区三区直播精品电影| 亚洲三级视频| 国产伦精品一区二区三区高清| 亚洲国产婷婷| 国产精品免费观看在线| 亚洲高清资源| 国产精品久久久久高潮| 亚洲高清在线| 国产精品日韩欧美一区二区三区| 亚洲电影下载| 国产精品久久久久三级| 亚洲国产另类久久久精品极度| 欧美日韩免费观看一区二区三区| 亚洲欧美国产一区二区三区| 欧美福利电影在线观看| 亚洲一区二区三| 欧美丰满高潮xxxx喷水动漫| 亚洲一区二区成人在线观看| 女女同性女同一区二区三区91| 亚洲自拍另类| 欧美日韩国产a| 欧美一区高清| 欧美午夜大胆人体| 亚洲第一毛片| 国产精品性做久久久久久| 亚洲精品乱码久久久久久黑人 | 免费av成人在线| 亚洲欧美www| 欧美日韩久久久久久| 久久av一区二区三区漫画| 欧美视频免费在线| 91久久久久| 国产视频精品xxxx| 亚洲午夜女主播在线直播| 国内精品久久久久国产盗摄免费观看完整版| 午夜精品99久久免费| 欧美日韩一二三四五区|