午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種tcam資源調(diào)度方法及裝置制造方法

文檔序號:7772349閱讀:280來源:國知局
一種tcam資源調(diào)度方法及裝置制造方法
【專利摘要】本發(fā)明提供一種TCAM資源調(diào)度方法及裝置,其中該方法包括如下步驟:生成N種類型的表項,其中N為大于或等于2的自然數(shù);將同一類型的多個表項及對應(yīng)的類型標(biāo)記分散下發(fā)到至少兩片TCAM中;向至少兩片TCAM下發(fā)查表指令,其中該指令攜帶有表項Key值以及對應(yīng)的類型標(biāo)記。相較于現(xiàn)有技術(shù)而言,本發(fā)明有效地降低了單片TCAM的發(fā)熱量,有效地保障了其壽命及使用過程中的可靠性。
【專利說明】—種TCAM資源調(diào)度方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及TCAM【技術(shù)領(lǐng)域】,尤其涉及一種TCAM控制方法及裝置。
【背景技術(shù)】
[0002]在傳統(tǒng)的路由器或類似網(wǎng)絡(luò)設(shè)備中,路由器一般承擔(dān)著控制層面的處理以及數(shù)據(jù)層面的處理??刂茖用娴奶幚碇饕酚傻膶W(xué)習(xí)用來指導(dǎo)數(shù)據(jù)層面如何轉(zhuǎn)發(fā)一份IP報文。這種方式的問題是路由器需要比較強(qiáng)大的處理器來完成控制和數(shù)據(jù)兩個層面的處理。在三層以太網(wǎng)交換機(jī)中,這個問題得到了一定的緩解,三層交換機(jī)使用轉(zhuǎn)發(fā)芯片這樣的硬件來完成IP報文的轉(zhuǎn)發(fā)。然而三層交換機(jī)的接口類型比較單一,無法替代路由器在大型網(wǎng)絡(luò)中的核心作用。
[0003]TCAM技術(shù)的發(fā)展為路由器的開發(fā)提供了一種新的選擇。TCAM(ternary contentaddressable memory)是一種三態(tài)內(nèi)容尋址存儲器,主要用于快速查找ACL (訪問控制列表)、單播轉(zhuǎn)發(fā)表、組播轉(zhuǎn)發(fā)表等各種類型內(nèi)部數(shù)據(jù)表。TCAM中每個bit位有三種狀態(tài),除掉“O”和“I”外,還有一個“don,t care”狀態(tài),所以稱為“三態(tài)”。

【發(fā)明內(nèi)容】

[0004]有鑒于此,本發(fā)明提供一種TCAM資源調(diào)度裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,該裝置包括:表項生成單元、表項下發(fā)單元以及查找調(diào)度單元,其中
[0005]表項生成單元,用于生成N種類型的表項,其中N為大于或等于2的自然數(shù);
[0006]表項下發(fā)單元,用于將同一類型的多個表項及對應(yīng)的類型標(biāo)記分散下發(fā)到至少兩片TCAM中;
[0007]查找調(diào)度單元,用于向至少兩片TCAM下發(fā)查表指令,其中該指令攜帶有表項Key值以及對應(yīng)的類型標(biāo)記。
[0008]本發(fā)明還提供一種TCAM資源調(diào)度方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,該方法包括如下步驟:
[0009]生成N種類型的表項,其中N為大于或等于2的自然數(shù);
[0010]將同一類型的多個表項及對應(yīng)的類型標(biāo)記分散下發(fā)到至少兩片TCAM中;
[0011]向至少兩片TCAM下發(fā)查表指令,其中該指令攜帶有表項Key值以及對應(yīng)的類型標(biāo)記。
[0012]相較于現(xiàn)有技術(shù)而言,本發(fā)明將一次表項查找分擔(dān)到多片TCAM上執(zhí)行,有效地降低了單片TCAM的功耗,進(jìn)而降低了其發(fā)熱量,有效地保障了其壽命及使用過程中的可靠性。
【專利附圖】

【附圖說明】
[0013]圖1是典型的TCAM各種工作方式示意圖。
[0014]圖2是典型的TCAM發(fā)熱較大的表項組織示意圖。[0015]圖3是本發(fā)明一種實施方式中TCAM資源調(diào)度裝置邏輯結(jié)構(gòu)以及硬件環(huán)境示意圖。
[0016]圖4是本發(fā)明一種實施方式中TCAM資源調(diào)度方法處理流程圖。
[0017]圖5是本發(fā)明一種實施方式中表項組織示意圖。
【具體實施方式】
[0018]以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)描述。
[0019]參看圖1,TCAM是按照內(nèi)容匹配來進(jìn)行查找,TCAM的硬件設(shè)計方式一般有三種。其中TCAM的典型查找流程為:包處理器(比如NP或ASCI)從報文頭提取信息,整理成查找TCAM所需要的數(shù)據(jù)格式,整理完的信息稱為key (比如目的IP地址等)。接下來,將key送入TCAM與待查找的表中的所有表項對照,匹配到后將對應(yīng)地址輸出,對應(yīng)地址在這里稱為索引Index。然后再到存放關(guān)聯(lián)數(shù)據(jù)的存儲器中根據(jù)Index獲取關(guān)聯(lián)數(shù)據(jù),關(guān)聯(lián)數(shù)據(jù)在這里稱為結(jié)果result。result通常是下一條IP地址以及出接口等轉(zhuǎn)發(fā)結(jié)果信息。包處理器得到result之后就知道如何轉(zhuǎn)發(fā)和封裝報文了。
[0020]參看圖2,以下以TCAM中存儲的IP單播轉(zhuǎn)發(fā)表(也稱為FIB表)和組播轉(zhuǎn)發(fā)表項(也稱為MC表)為例來說明TCAM是如何運(yùn)作的。TCAM中所存放的每一個表項通常都是網(wǎng)絡(luò)設(shè)備(以下僅以最典型的路由器為例)的控制層面所下發(fā)的。路由器的控制層面通常將屬于FIB表或MC表中的所有表項連續(xù)存儲在一個或者多個TCAM芯片中,比如說FIB表的表項存在第一片TCAMl中,而將MC表的表項存在第二片TCAM2中。這種方式看似簡潔有效,然而卻存在著較大的可靠性和使用壽命問題。
[0021]當(dāng)數(shù)據(jù)層面要進(jìn)行查找時,其會將Key值提交給TCAM并指示TCAM進(jìn)行查找。TCAM采用的是并行查找方式。假設(shè)當(dāng)前在TCAMl中查找FIB表,此時TCAMl中所有表項都會參與查找。請參考圖2,假設(shè)TCAMl的容量是1000條表項,查找一個IPv4FIB表項的功耗是X,則本次TCAMl查找所消耗的功耗是1000X。同樣的道理,在TCAM2中查找IPv4MC表的時候,其中所有的MC表項均參與查找,假設(shè)TCAM2的規(guī)格與TCAMl —致,則本次TCAM2查找所消耗的功耗同樣是1000X。從靜態(tài)的角度來看,無論是查找FIB表還是MC表,對于單片TCAM來說,其是滿負(fù)荷查找,因而功耗較大,對應(yīng)的發(fā)熱也就較大。由于網(wǎng)絡(luò)設(shè)備幾乎時刻都在進(jìn)行報文的轉(zhuǎn)發(fā),因此TCAM長期維持在高發(fā)熱的狀態(tài)下,其溫度難以降低,TCAM的器件可靠性將存在極大隱患,容易引發(fā)內(nèi)部比特誤差(Bit Eiror)的問題,進(jìn)而導(dǎo)致該其內(nèi)存儲的表項不能使用的問題。而且長期維持較大發(fā)熱狀態(tài),其使用壽命也會大打折扣。
[0022]本發(fā)明改變每一片TCAM中盡量存放同一種類型表項的設(shè)計概念,轉(zhuǎn)而采用混合式表項存放的方式。本發(fā)明在一片TCAM中存放至少兩種類型的表項,進(jìn)而降低單片TCAM的功耗與發(fā)熱,提高器件的可靠性以及使用壽命。請參考圖3,以軟件實現(xiàn)為例,本發(fā)明提供一種TCAM資源調(diào)度裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,該裝置包括:表項生成單元、表項下發(fā)單元以及查找調(diào)度單元。在軟件實現(xiàn)方式中,該裝置本質(zhì)上是CPU將非易失存儲器中的計算機(jī)程序讀取到內(nèi)存中運(yùn)行所形成的虛擬裝置。當(dāng)然本發(fā)明并不排除其他實現(xiàn)方式,比如硬件實現(xiàn)方式或者軟硬件結(jié)合實現(xiàn)方式等。
[0023]在本發(fā)明中,對TCAM本身并沒有任何改變,而是充分利用TCAM固有的特點(diǎn)來實現(xiàn)。在本實施方式中,從軟件層面將N片TCAM區(qū)分為多個存儲區(qū)域,存放N種類型的表項。所述N為大于等于2的自然數(shù)。N的選擇取決于網(wǎng)絡(luò)設(shè)備有多少種類型表項需要存放在TCAM中,同時還取決于開發(fā)者需要如何降低單片TCAM功耗。請參考圖4所示,本實施方式中資源處理方法包括以下步驟:
[0024]步驟一,表項生成單元生成N種類型的表項;
[0025]步驟二,表項下發(fā)單元將同一類型的多個表項及對應(yīng)的類型標(biāo)記,分散下發(fā)到至少兩片TCAM中;
[0026]步驟三,查找調(diào)度單元向至少兩片TCAM下發(fā)查表指令,其中該指令攜帶有表項Key值以及對應(yīng)的類型標(biāo)記。
[0027]以下仍然以一個最為常見的實現(xiàn)為示例進(jìn)行描述,在以下實施方式中,假設(shè)N為
2。其中兩種表項分別為IPv4FIB表項以及IPv4MC表項。當(dāng)然網(wǎng)絡(luò)設(shè)備可能還有其他多種表項,比如IPv6系列表項或者ACL表項等等,更為復(fù)雜的實現(xiàn)其原理是基本相同的。為方便說明,假設(shè)表項生成單元所生成的FIB表和MC表的表項數(shù)量相同,比如都是1000 ;假設(shè)一個MC表項與一個FIB表項所占用的空間大小也一樣;假設(shè)TCAMl和TCAM2的存儲規(guī)格剛好也是能存儲1000條表項的規(guī)格。
[0028]在一種簡單的實施方式中,表項下發(fā)單元采用均勻交叉下發(fā)的方式將FIB表項以及MC表項下發(fā)到TCAMl以及TCAM2中。下發(fā)的結(jié)果可以參考圖5中的示
例。此時 TCAMl 中表項將是 IPv4FIBl, IPv4MCl, IPv4FIB2, IPv4MC2......1Pv4FIBi,
IPv4MC1......1Pv4FIB500, IPv4MC500 ;而 TCAM2 中的表項將是 IPv4FIB501,IPv4MC501,
IPv4FIB502,IPv4MC502......1Pv4FIBj, IPv4MCj......1Pv4FIB1000,IPv4MC1000。表項生
成單元下發(fā)這2000條表項時,同時會為每個表項下發(fā)其對應(yīng)的類型標(biāo)記,比如說,IPv4FIB表項其需要下發(fā)標(biāo)記F,而IPv4MC則需要下發(fā)標(biāo)記M。值得注意的是,這里所說的表項生成規(guī)則是一個廣義的概念,表項如何生成的并不是本發(fā)明所關(guān)心的,表項可能是基于路由協(xié)議生成的,也是基于管理者的指令生成的,也有可能是基于報文地址學(xué)習(xí)生成的,比如MAC地址轉(zhuǎn)發(fā)表項就是基于報文源MAC地址學(xué)習(xí)生成。
[0029]此時,針對FIB表項的存儲而言,其均勻分布在TCAMl以及TCAM2上,針對MC表項的存儲而言,其同樣均勻分布在TCAMl以及TCAM2上。假設(shè)此時網(wǎng)絡(luò)設(shè)備需要轉(zhuǎn)發(fā)某個單播IP報文,則其需要查詢到對應(yīng)的IPv4FIB表項,此時查找調(diào)度單元可以給TCAM下發(fā)查表指令,該查表指令中攜帶從報文中提取出來的Key值(比如IP目的地址或者報文五元組等)以及IPv4FIB表項的標(biāo)記F。TCAMl和TCAM2收到該查表指令后,其會查詢自身所有標(biāo)記為F的表項(也就是IPv4FIB表項)。也就是說TCAMl查詢的范圍是500個F標(biāo)記的表項,而TCAM2查詢的范圍也是500個F標(biāo)記的表項。同樣的道理,若查詢的是MC表項,TCAMl查詢的范圍是500個M標(biāo)記的表項,而TCAM2查詢的范圍也是500個M標(biāo)記的表項。
[0030]無論是那種類型的表項查詢,從總的功耗上來說,TCAMl以及TCAM2執(zhí)行本次查詢的功耗總和仍然是1000X,但是對于單片TCAM而言,功耗則降低為500X。由于此時任意一片TCAM的功耗都降低了,因此單片TCAM發(fā)熱將會大幅降低,TCAM的可靠性以及使用壽命將有極大幅度的提升。從邏輯上來理解,對于TCAM的查找而言,F(xiàn)標(biāo)記的表項所占用的是一個獨(dú)立內(nèi)部存儲區(qū)域,而M標(biāo)記的表項則占用另一個獨(dú)立內(nèi)部存儲區(qū)域。對于單片TCAM而言,每次執(zhí)行查表指令時,其并行查找的范圍是一個更小的獨(dú)立存儲區(qū)域,而非TCAM中所有的存儲區(qū)域。值得注意的是,由于報文是一個一個處理轉(zhuǎn)發(fā)的,因此無論報文轉(zhuǎn)發(fā)壓力多大,對于單片TCAM而言,其任意一個時刻的發(fā)熱都比現(xiàn)有技術(shù)有極大的改善,因此其可靠性和使用壽命是有較佳保障的。
[0031]容易理解的是,以上交叉式下發(fā)表項的方式只是分散下發(fā)方式中一種,分
散下發(fā)的方式多種多樣,比如更簡單的方式可以是IPv4FIBl......1Pv4FIB500,
IPv4MCl.......1Pv4MC500。在具體實現(xiàn)時,本領(lǐng)域普通技術(shù)人員完全可以根據(jù)表項自身
的特點(diǎn)重新制定各種分散下發(fā)的方式,比如說MC表項的數(shù)量可能比FIB表項更少,而ACL表項的數(shù)量可能介乎MC表項以及FIB表項之間。無論是如何分散,只要保證一片存滿表項TCAM中盡量不要只有一種類型的表項即可,當(dāng)然某些極端的情況下,也有可能極少數(shù)的TCAM中只能存放一種類型表項,但大部分的TCAM中存放更多類型的表項。
[0032]考慮到很多TCAM實現(xiàn)中,TCAM查表輸出的Index是對應(yīng)Result存放地址的;而TCAM表項規(guī)格與Result條目規(guī)格在大小上又存在不小的差異,因此可以從維護(hù)管理的角度進(jìn)一步加以優(yōu)化。假設(shè)TCAM中一個基本單位是64Bit,一個基本單元對應(yīng)到一個Result的存放地址,假設(shè)一個Result條目也是64Bit。然而TCAM實際的表項往往比64Bit要大,比如256Bit。此時TCAM中一個表項占用4個基本單位,而一個表項只需要對應(yīng)到一個Result條目。這種表項大小與Result條目大小的差異導(dǎo)致表1所示的不連續(xù)。也就是說Rl與R2之間間隔了 192Bit ;這給Result管理帶來了不便利,此時可以使用FPGA來將Rl和R2以及其他Result條目映射到一起來,也即是說將TCAM輸出的Index做轉(zhuǎn)換。請參考圖2或圖5的示例,所有的Result條目可以被擊中在一段連續(xù)的地址空間上存放,方便維護(hù)與管理。
【權(quán)利要求】
1.一種TCAM資源調(diào)度裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,該裝置包括:表項生成單元、表項下發(fā)單元以及查找調(diào)度單元,其特征在于: 表項生成單元,用于生成N種類型的表項,其中N為大于或等于2的自然數(shù); 表項下發(fā)單元,用于將同一類型的多個表項及對應(yīng)的類型標(biāo)記分散下發(fā)到至少兩片TCAM 中; 查找調(diào)度單元,用于向至少兩片TCAM下發(fā)查表指令,其中該指令攜帶有表項Key值以及對應(yīng)的類型標(biāo)記。
2.如權(quán)利要求1所述的裝置,其特征在于,所述表項下發(fā)單元進(jìn)一步用于按照預(yù)設(shè)規(guī)則將同一類型的多個表項及對應(yīng)的類型標(biāo)記分散下發(fā)到至少兩片TCAM中。
3.如權(quán)利要求1所述的裝置,其特征在于,所述預(yù)設(shè)規(guī)則為表項交叉均勻存放規(guī)則。
4.一種TCAM資源調(diào)度方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,其特征在于,該方法包括如下步驟: 生成N種類型的表項,其中N為大于或等于2的自然數(shù); 將同一類型的多個表項及對應(yīng)的類型標(biāo)記分散下發(fā)到至少兩片TCAM中; 向至少兩片TCAM下發(fā)查表指令,其中該指令攜帶有表項Key值以及對應(yīng)的類型標(biāo)記。
5.如權(quán)利要求1所述的方法,其特征在于,其中將同一類型的多個表項及對應(yīng)的類型標(biāo)記分散下發(fā)到至少兩片TCAM中具體為: 按照預(yù)設(shè)規(guī)則將將同一類型的多個表項及對應(yīng)的類型標(biāo)記分散下發(fā)到至少兩片TCAM中。
6.如權(quán)利要求1所述的裝置,其特征在于,所述預(yù)設(shè)規(guī)則為表項交叉均勻存放規(guī)則。
【文檔編號】H04L12/741GK103501268SQ201310455485
【公開日】2014年1月8日 申請日期:2013年9月29日 優(yōu)先權(quán)日:2013年9月29日
【發(fā)明者】許玲燕 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1