摘要:通信工程師交換技術(shù)TCAM路由表更新:由于可能存在多個(gè)表項(xiàng)匹配的情況,因此TCAM需要在這些匹配的表項(xiàng)中選取一個(gè)表項(xiàng)作為最后的査找結(jié)果,TCAM規(guī)定在所有匹配的表項(xiàng)中選取地址最低的表項(xiàng)作為最后的結(jié)果。TCAM實(shí)現(xiàn)結(jié)構(gòu)如圖7-47所示。
1.TCAM路由表更新
由于可能存在多個(gè)表項(xiàng)匹配的情況,因此TCAM需要在這些匹配的表項(xiàng)中選取一個(gè)表項(xiàng)作為最后的査找結(jié)果,TCAM規(guī)定在所有匹配的表項(xiàng)中選取地址最低的表項(xiàng)作為最后的結(jié)果。TCAM實(shí)現(xiàn)結(jié)構(gòu)如圖7-47所示。為了能夠進(jìn)行最長(zhǎng)前綴路由的查找,需要保證在TCAM的低地址區(qū)域存儲(chǔ)前綴較長(zhǎng)的關(guān)鍵字表項(xiàng),而在高地址區(qū)域存儲(chǔ)前綴較短的關(guān)鍵字表項(xiàng),即按前綴長(zhǎng)度的降序存儲(chǔ)。這種存儲(chǔ)方式使TCAM路由表的更新操作很復(fù)雜。例如,若將前綴103.23.128/18加到圖7-47所示的轉(zhuǎn)發(fā)表中,為保持前綴長(zhǎng)度的降序順序,該前綴必須存儲(chǔ)在前綴P1和P2之間,即內(nèi)存位置0和1之間,而0和1之間沒有空閑位置。有幾種方法來解決這個(gè)問題。
用于最長(zhǎng)前綴匹配的TCAM的一般結(jié)構(gòu)如圖7-48所示(長(zhǎng)度小于8bit的前綴在轉(zhuǎn)發(fā)表中一般很少出現(xiàn),所以沒有給出)。TCAM管理器可把空閑空間設(shè)置在TCAM的底部(當(dāng)然也可以是頂部),如圖7-49所示。這時(shí)可以簡(jiǎn)單地把圖7-47中的前綴P2~P5依次向下移動(dòng)一個(gè)位置,從而在P1和P2之間產(chǎn)生一個(gè)空閑位置來存儲(chǔ)新的前綴。這種方法在最壞情況下的時(shí)間復(fù)雜度為0(N)(況為TCAM中的前綴數(shù)),實(shí)現(xiàn)成本也很高。再就是采用圖7-50所示的結(jié)構(gòu),即在每個(gè)前綴長(zhǎng)度之后留一段空閑區(qū)。該方法在一般情況下的更新時(shí)間復(fù)雜度為OU),Q<X<N。但當(dāng)中間空閑區(qū)都填滿后,就會(huì)上升到0(JV)。
用于最長(zhǎng)前綴匹配的TCAM的一般結(jié)構(gòu)如闬7-48所示(長(zhǎng)度小于8Wt的前綴在轉(zhuǎn)發(fā)表中Y一般很少出現(xiàn),所以沒有給出)。TCAM訝理器可把空閑空間設(shè)置在TCAM的底邡(當(dāng)然也可以是頂部),如閣7-49所示,這時(shí)可以簡(jiǎn)甲地把閣7-47中的酚綴P2-P5依次向下移動(dòng)一個(gè)位霣.從而在P1和P2之間產(chǎn)生一個(gè)空閑位置來存儲(chǔ)新的前綴:這種方法在最壞悄況下的時(shí)W復(fù)雜度為(/V)(W為TCAM中的前綴數(shù)),實(shí)現(xiàn)成本也很卨。再就是采用閣7-50所示的結(jié)構(gòu),即在每個(gè)前綴長(zhǎng)度之后留…段空閑K。該方法在一般情況下的更新時(shí)M復(fù)雜度為O(AO,0<X<N)。但當(dāng)中間空閑區(qū)都填滿后,躭會(huì)上升到0(/V)。
僨得注意的是,相同長(zhǎng)度的兩個(gè)前綴之間不而要有任何順序(意思是如果y比a大,集合弋中的所有前綴都必須在集合的所有前綴之前存儲(chǔ),而集合6的所有前締之間可以任意存儲(chǔ))??梢詫?duì)TCAM的路由轉(zhuǎn)發(fā)表進(jìn)行改進(jìn),改進(jìn)后轉(zhuǎn)發(fā)表的所有前綴之間只存在部分排序限制,把這種限制稱為前綴長(zhǎng)度排作限制(Prefix-Length Ordering Constraint)。由此可以引出一種算法,稱為算法,圾多移動(dòng)L(L=32)次,該算法就可獲得-個(gè)空閑位哲,如閣7-51所示。
另外在閣7-47中,雖然抑綴103.23.3/24(1>1)必須總比前綴103.23/16(P2)的存儲(chǔ)位S低,但足相對(duì)于前綴P3,P4和P5,P1可任意存儲(chǔ),W為P1與P3,P4和P5都不重疊,也就是說,沒有一個(gè)分紺的H的地址會(huì)同時(shí)與朽和P3,或者同時(shí)P1和P4,或者同時(shí)與P1和P5相匹配,因此,TCAM中對(duì)前綴排序的限制可以弱化,可只對(duì)重疊前綴才應(yīng)用此限制,,例如,對(duì)于觸103.23.3/24(P1)和103.23/16(P2)fP1完全包含_J6b.tprefixesP在P2中,即這兩個(gè)前綴是甫*的,則1>1和P2之間有排序限制,P1必須在P2前曲。
如果把空閑區(qū)不全部設(shè)在TCAM底部,L算法可進(jìn)步改進(jìn),得到如7-52所示的鷇優(yōu)算法PL0_OPT。該算法的主要思想是將空閑K保留在TCAM中部,并且長(zhǎng)度為-1,…,L/2的前綴集合都在空閑區(qū)的上部,而長(zhǎng)度為L(zhǎng)/2-l,L/2-2,…,1的前綴集合都在空閑區(qū)的下部。這樣最多移動(dòng)L/2次內(nèi)存就可獲得一個(gè)空閑位置。當(dāng)然在中間空閑區(qū)部分填滿或都填滿后,內(nèi)存最多移動(dòng)次數(shù)可能會(huì)大于L/2直至達(dá)到L。
返回目錄:
編輯推薦
通信專業(yè)實(shí)務(wù)考試終端與業(yè)務(wù)教程匯總
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題