摘要:交換技術基于CAM的路由查找算法:目前路由查找使用最多的硬件實現(xiàn)方法是使用內容尋址存儲器(ContentAddressableMemory,CAM)來進行快速路由查找,CAM能夠在一個硬件時鐘周期內完成關鍵字的精確匹配查找。
1.基于CAM的路由查找算法
1)CAM及TCAM路由查找原理
目前路由查找使用最多的硬件實現(xiàn)方法是使用內容尋址存儲器(ContentAddressableMemory,CAM)來進行快速路由查找,CAM能夠在一個硬件時鐘周期內完成關鍵字的精確匹配查找。常用的隨機存儲器(RAM)通過輸人地址來返回該地址處所對應的表項信息,但是CAM的訪問方式不同,因為一個CAM表項包含兩部分:査找域(Seareh-Field)和返回域(Retum-Field)。查找域是和查找內容相匹配的部分(一般含有已知的目的地址);返回域含有相關信息或一個索引。這樣,CAM就會將輸人分組關鍵字與CAM中的所有表項同時進行匹配比較,最后返回匹配表項返回域所包含的信息。
CAM的主要操作有3種:在空閑位置寫人新表項;査找四配表項;讀取匹配表項包含的相關信息。
如果相關信息童很小,可以直接存儲在CAM表項返回域中。這種直接訪問速度快,復雜度低,但是因為成本因素,CAM表項不能太大,所以相關信息量必須盡量小。當相關信息量很大時,CAM表項不能直接存儲,而是存儲一個索引號,可以直接訪問該索引號,用來讀取索引號所指示的RAM表項中的信息。這種間接訪問比直接訪問速度慢,復雜度髙,但是對相關信息量沒有限制。
傳統(tǒng)CAM只能執(zhí)行精確匹配,一般不適用于IP路由表。如果要使用CAM來進行最長前綴匹配路由查找,可以讓每一類可能的地址前綴長度使用一個CAM,每個CAM保存對應長度的所有前綴的集合。對于IPv4來說,則一共需要使用32個CAM。這種方法有一個明顯缺點,即在對地址前綴長度具體分布沒有準確了解之前,為了保證能夠存儲"個前綴的表項,每個CAM都需要有W個表項的空間,因此,CAM存儲空間的利用率較低。
為了克服上述方法的缺點,提出了另一種CAM實現(xiàn)機制TCAM(TernaryCAM)0TCAM-242-與傳統(tǒng)CAM的區(qū)別是,后者表項的各個比特位只能是0或1,而前者的則有三個狀態(tài):0,1或X。X是一種無關態(tài),可以是“0”或“1”,它由局部掩碼來實現(xiàn),而且可以表示可變長前綴。TCAM中前綴表示如圖7-46所示,當局部掩碼的某位為“0”時,則對應的前綴位為無關位,如前5位為“11111”或“11110”的關鍵字將匹配圖7-46中的第0項(項0)。TCAM的另外一個非常有用的特點是不要求掩碼中的“1”和“0”連續(xù),如圖7-46中的第n-m,其中前綴的第2位因為局部掩碼為0而表示為無關位,則前3位為“110”和“100”的關鍵字都可以匹配第1項??梢岳么诵再|對路由表進行壓縮,減少對TCAM的占用。
返回目錄:
編輯推薦
通信工程師備考資料免費領取
去領取