網(wǎng)絡(luò)處理器及其路由查找方法
【專利摘要】本發(fā)明公開一種網(wǎng)絡(luò)處理器及其路由查找方法,該網(wǎng)絡(luò)處理器包括微碼模塊、計(jì)數(shù)器模塊及TCAM模塊,其中:計(jì)數(shù)器模塊用于對(duì)路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù);微碼模塊用于接收路由查找請(qǐng)求,并根據(jù)路由查找請(qǐng)求判斷待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù),是則從TCAM中查找相應(yīng)的路由信息;否則從DRAM中查找相應(yīng)的路由信息,且當(dāng)路由信息被查找的次數(shù)等于預(yù)設(shè)次數(shù)時(shí),將從DRAM中查找到的路由信息緩存至所述TCAM模塊中;所述TCAM模塊用于緩存達(dá)到預(yù)設(shè)次數(shù)的路由信息。本發(fā)明利用網(wǎng)絡(luò)處理器的低價(jià)格、高靈活性特點(diǎn),不但可以降低路由查找的時(shí)間,實(shí)現(xiàn)路由查找的高效率,而且還降低了系統(tǒng)成本。
【專利說明】網(wǎng)絡(luò)處理器及其路由查找方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種網(wǎng)絡(luò)處理器及其路由查找方法。
【背景技術(shù)】
[0002]當(dāng)前隨著網(wǎng)絡(luò)帶寬的不斷增加,要求核心路由器每秒能夠轉(zhuǎn)發(fā)幾百萬乃至上千萬個(gè)以上的分組。分組轉(zhuǎn)發(fā)的重要一步就是查找路由表,因此快速的路由查找是實(shí)現(xiàn)高速分組轉(zhuǎn)發(fā)的關(guān)鍵。
[0003]目前可編程網(wǎng)絡(luò)交換設(shè)備,對(duì)路由表的查找主要包括兩種:第一種、通過檢索DRAM (Dynamic Random Access Memory,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)中的路由表項(xiàng)來實(shí)現(xiàn)查找的;第二種、基于硬件的TCAM (Ternary Content Addressable Memory,三態(tài)內(nèi)容尋址存儲(chǔ)器)查找檢索路由表來實(shí)現(xiàn)查找的。
[0004]第一種是通過將普通IP地址拆分,各部分分別檢索來提高檢索效率,雖然其相對(duì)于普通的最長匹配方法提高了效率,但是由于該方法檢索的路由表項(xiàng)始終是存放在相對(duì)低速的DRAM上,所以隨著轉(zhuǎn)發(fā)流量的增加,DRAM的查找方法已經(jīng)無法滿足更高要求的轉(zhuǎn)發(fā)。第二種的檢索效率雖然比第一種的檢索效率高,但是TCAM更為昂貴,而且容量相對(duì)較小,而且TCAM使用并行匹配比較方式,功耗較大。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的是提供一種網(wǎng)絡(luò)處理器,旨在提高路由查找效率,同時(shí)還降低了系統(tǒng)成本。
[0006]本發(fā)明提供了一種網(wǎng)絡(luò)處理器,包括微碼模塊、計(jì)數(shù)器模塊及TCAM模塊,其中:所述計(jì)數(shù)器模塊用于對(duì)路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù);所述微碼模塊用于接收路由查找請(qǐng)求,并根據(jù)路由查找請(qǐng)求判斷待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù),是則從TCAM中查找相應(yīng)的路由信息;否則從DRAM中查找相應(yīng)的路由信息,且當(dāng)所述路由信息被查找的次數(shù)等于預(yù)設(shè)次數(shù)時(shí),將從DRAM中查找到的路由信息緩存至所述TCAM模塊中;所述TCAM模塊用于緩存達(dá)到預(yù)設(shè)次數(shù)的路由信息。
[0007]優(yōu)選地,還包括:TCAM表項(xiàng)模塊,用于記錄路由信息被查找的次數(shù);所述微碼模塊還用于:對(duì)TCAM表項(xiàng)模塊進(jìn)行初始化,并對(duì)TCAM表項(xiàng)模塊中記錄的次數(shù)進(jìn)行排序處理;在接收到路由查找請(qǐng)求后,查詢TCAM表項(xiàng)模塊以獲得待路由信息被查找的次數(shù)。
[0008]優(yōu)選地,所述微碼模塊還用于:接收到路由信息刪除請(qǐng)求后,將TCAM模塊中緩存的相應(yīng)的路由信息刪除,同時(shí)刪除TCAM表項(xiàng)模塊中相應(yīng)的路由信息的記錄。
[0009]優(yōu)選地,所述微碼模塊用于周期性地對(duì)TCAM表項(xiàng)模塊進(jìn)行初始化。
[0010]本發(fā)明還提供了一種網(wǎng)絡(luò)處理器的路由查找方法,包括以下步驟:
[0011]接收路由查找請(qǐng)求;
[0012]根據(jù)路由查找請(qǐng)求,判斷待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù);
[0013]是則從TCAM中查找相應(yīng)的路由信息,并對(duì)該路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù);[0014]否則從DRAM中查找相應(yīng)的路由信息,且當(dāng)所述路由信息被查找的次數(shù)等于預(yù)設(shè)次數(shù)時(shí),將從DRAM中查找到的路由信息緩存,并對(duì)該路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù)。
[0015]優(yōu)選地,所述對(duì)路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù)之后還包括:
[0016]記錄路由信息被查找的次數(shù)。
[0017]優(yōu)選地,所述路由查找方法還包括:
[0018]對(duì)網(wǎng)絡(luò)處理器中記錄的路由信息被查找的次數(shù)進(jìn)行重新排序。
[0019]優(yōu)選地,所述根據(jù)路由查找請(qǐng)求,判斷待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù)包括:
[0020]根據(jù)路由查找請(qǐng)求,查詢網(wǎng)絡(luò)處理器中記錄的路由信息被查找的次數(shù),以獲取待路由信息被查找的次數(shù);
[0021]判斷所獲取的待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù)。
[0022]優(yōu)選地,還包括:
[0023]接收到刪除請(qǐng)求后,將TCAM模塊中緩存的相應(yīng)的路由信息刪除,同時(shí)刪除相應(yīng)的路由信息被查找的次數(shù)的記錄。
[0024]優(yōu)選地,所述路由查找方法還包括:
[0025]周期性地對(duì)網(wǎng)絡(luò)處理器中記錄的路由信息被查找的次數(shù)進(jìn)行重新排序。
[0026]本發(fā)明實(shí)施例利用網(wǎng)絡(luò)處理器的低價(jià)格、高靈活性特點(diǎn),利用其內(nèi)部的TCAM模塊緩存被路由查找的次數(shù)達(dá)到預(yù)設(shè)次數(shù)的路由信息,微碼模塊進(jìn)行路由查找時(shí),當(dāng)待路由信息被查找的次數(shù)大于預(yù)設(shè)次數(shù)時(shí),從TCAM模塊中獲取具體的路由信息;當(dāng)待路由信息被查找的次數(shù)小于或等于預(yù)設(shè)次數(shù)時(shí),從DRAM模塊中獲取具體的路由信息。如此可以降低路由查找的時(shí)間,實(shí)現(xiàn)路由查找的高效率,而且還降低了系統(tǒng)成本。
【專利附圖】
【附圖說明】
[0027]圖1是本發(fā)明網(wǎng)絡(luò)處理器較佳實(shí)施例的功能模塊示意圖;
[0028]圖2是本發(fā)明網(wǎng)絡(luò)處理器的路由查找方法較佳實(shí)施例的流程示意圖。
[0029]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0030]以下結(jié)合說明書附圖及具體實(shí)施例進(jìn)一步說明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0031]為了解決用DRAM查找效率低,而用TCAM價(jià)格昂貴的難題,本發(fā)明利用網(wǎng)絡(luò)處理器內(nèi)部的TCAM緩存部分路由信息,以降低路由檢索的時(shí)間,實(shí)現(xiàn)高效率路由查找,而且不需要額外設(shè)置外設(shè)來增大TCAM容量,因而降低了系統(tǒng)成本。
[0032]參照?qǐng)D1,本發(fā)明實(shí)施例提出的一種網(wǎng)絡(luò)處理器,包括微碼模塊101、計(jì)數(shù)器模塊102、TCAM模塊103及TCAM表項(xiàng)模塊104,其中:所述計(jì)數(shù)器模塊102用于對(duì)路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù);所述TCAM表項(xiàng)模塊104記錄路由信息及其被查找的次數(shù)。所述微碼模塊101用于接收路由查找請(qǐng)求,并根據(jù)路由查找請(qǐng)求判斷待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù),是則從TCAM中查找相應(yīng)的路由信息;否則從DRAM中查找相應(yīng)的路由信息,且當(dāng)所述路由信息被查找的次數(shù)等于預(yù)設(shè)次數(shù)時(shí),將從DRAM中查找到的路由信息緩存至所述TCAM模塊103中;所述TCAM模塊103用于緩存達(dá)到預(yù)設(shè)次數(shù)的路由信息。
[0033]具體地,上述計(jì)數(shù)器模塊102可以使用軟件計(jì)數(shù)器實(shí)現(xiàn),也可以使用硬件計(jì)數(shù)器實(shí)現(xiàn)。微碼模塊101主要用于網(wǎng)絡(luò)處理器的路由查找,以便于將接收到的信息進(jìn)行分組轉(zhuǎn)發(fā)。當(dāng)網(wǎng)絡(luò)處理器接收到需要轉(zhuǎn)發(fā)的信息后,則會(huì)觸發(fā)路由查找請(qǐng)求,以便根據(jù)所查找的路由信息將轉(zhuǎn)發(fā)的信息發(fā)送至目的地。該路由查找請(qǐng)求中包括需要路由的信息,例如路由條目A。而微碼模塊101接收到路由查找請(qǐng)求后,則判斷該路由條目A被查找的次數(shù)是否大于預(yù)設(shè)次數(shù),是則從TCAM中查找路由條目A的路由信息;否則從DRAM中查找路由條目A的路由信息。最后計(jì)數(shù)器模塊102再對(duì)路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù),并記錄在TCAM表項(xiàng)模塊104中。例如,原先路由條目A被查找的次數(shù)為M次,則微碼模塊101根據(jù)路由查找請(qǐng)求進(jìn)行路由條目A的路由查找后,其被查找的次數(shù)為M+1次。TCAM表項(xiàng)模塊104可以為一數(shù)據(jù)結(jié)構(gòu),如下表1所示:
[0034]表1
[0035]
【權(quán)利要求】
1.一種網(wǎng)絡(luò)處理器,其特征在于,包括微碼模塊、計(jì)數(shù)器模塊及TCAM模塊,其中:所述計(jì)數(shù)器模塊用于對(duì)路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù);所述微碼模塊用于接收路由查找請(qǐng)求,并根據(jù)路由查找請(qǐng)求判斷待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù),是則從TCAM中查找相應(yīng)的路由信息;否則從DRAM中查找相應(yīng)的路由信息,且當(dāng)所述路由信息被查找的次數(shù)等于預(yù)設(shè)次數(shù)時(shí),將從DRAM中查找到的路由信息緩存至所述TCAM模塊中;所述TCAM模塊用于緩存達(dá)到預(yù)設(shè)次數(shù)的路由信息。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器,其特征在于,還包括:TCAM表項(xiàng)模塊,用于記錄路由信息被查找的次數(shù);所述微碼模塊還用于:對(duì)TCAM表項(xiàng)模塊進(jìn)行初始化,并對(duì)TCAM表項(xiàng)模塊中記錄的次數(shù)進(jìn)行排序處理;在接收到路由查找請(qǐng)求后,查詢TCAM表項(xiàng)模塊以獲得待路由信息被查找的次數(shù)。
3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)處理器,其特征在于,所述微碼模塊還用于:接收到路由信息刪除請(qǐng)求后,將TCAM模塊中緩存的相應(yīng)的路由信息刪除,同時(shí)刪除TCAM表項(xiàng)模塊中相應(yīng)的路由信息的記錄。
4.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)處理器,其特征在于,所述微碼模塊用于周期性地對(duì)TCAM表項(xiàng)模塊進(jìn)行初始化。
5.一種網(wǎng)絡(luò)處理器的路由查找方法,其特征在于,包括以下步驟: 接收路由查找請(qǐng)求; 根據(jù)路由查找請(qǐng)求,判斷待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù); 是則從TCAM中查找相應(yīng)的路由信息,并對(duì)該路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù); 否則從DRAM中查找相應(yīng)的路由信息,且當(dāng)所述路由信息被查找的次數(shù)等于預(yù)設(shè)次數(shù)時(shí),將從DRAM中查找到的路由信息緩存,并對(duì)該路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù)。
6.根據(jù)權(quán)利要求5所述的路由查找方法,其特征在于,所述對(duì)路由信息被查找的次數(shù)進(jìn)行計(jì)數(shù)之后還包括: 記錄路由信息被查找的次數(shù)。
7.根據(jù)權(quán)利要求6所述的路由查找方法,其特征在于,還包括: 對(duì)網(wǎng)絡(luò)處理器中記錄的路由信息被查找的次數(shù)進(jìn)行重新排序。
8.根據(jù)權(quán)利要求6所述的路由查找方法,其特征在于,所述根據(jù)路由查找請(qǐng)求,判斷待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù)包括: 根據(jù)路由查找請(qǐng)求,查詢網(wǎng)絡(luò)處理器中記錄的路由信息被查找的次數(shù),以獲取待路由信息被查找的次數(shù); 判斷所獲取的待路由信息被查找的次數(shù)是否大于預(yù)設(shè)次數(shù)。
9.根據(jù)權(quán)利要求6所述的路由查找方法,其特征在于,還包括: 接收到刪除請(qǐng)求后,將TCAM模塊中緩存的相應(yīng)的路由信息刪除,同時(shí)刪除相應(yīng)的路由信息被查找的次數(shù)的記錄。
10.根據(jù)權(quán)利要求6所述的路由查找方法,其特征在于,還包括: 周期性地對(duì)網(wǎng)絡(luò)處理器中記錄的路由信息被查找的次數(shù)進(jìn)行重新排序。
【文檔編號(hào)】H04L12/741GK103973571SQ201310046118
【公開日】2014年8月6日 申請(qǐng)日期:2013年2月5日 優(yōu)先權(quán)日:2013年2月5日
【發(fā)明者】閆學(xué)濤, 王卓 申請(qǐng)人:中興通訊股份有限公司