本發明專利技術提供了一種路由地址存儲方法及裝置,其中,該方法包括:通過靜態隨機存儲器SRAM存儲多個路由地址,其中,該SRAM的一個SRAM條目中存儲一個或多個路由樹,每個該路由樹包括多個路由地址;將該SRAM中該多個路由地址的公共前綴存儲于三態內容尋址存儲器TCAM的TCAM條目中,其中,多個TCAM條目對應一個該SRAM條目,可以解決相關技術SRAM條目資源全部被使用,但是每個SRAM Entry都沒有被存滿,這樣便導致了資源的浪費的問題,通過多個TCAM條目對應一個該SRAM條目,即在一個SRAM條目中存儲多個路由樹,使得同一個SRAM條目中由于拆樹留下的空間可以被用于存儲其它路由樹,減少了資源浪費。浪費。浪費。
【技術實現步驟摘要】
一種路由地址存儲方法及裝置
[0001]本專利技術涉及信息處理領域,具體而言,涉及一種路由地址存儲方法及裝置。
技術介紹
[0002]在當前網絡環境中,網際協議(Internet Protocol,簡稱為IP)地址數量十分巨大,IPv4路由IP地址數量可以達到2^32條,現已投入使用的IPv6地址數量更是達到驚人的2^128條,這對于存儲路由條目的設備的存儲提出了巨大的要求。
[0003]現有技術從邏輯上講,每個前綴索引一棵路由樹。使用路由樹管理每條真實路由。從硬件上講,使用三態內容尋址存儲器(Ternary Content Addressable Memory,簡稱為TCAM)保存前綴,靜態隨機存儲器(Static Random
?
Access Memory,簡稱為SRAM)保存最長掩碼匹配(Algorithm Longest Prefix Match,簡稱為ALPM)路由樹。
[0004]如圖2所示。每一個前綴對應TCAM中的一條Entry條目。每一棵路由樹對應SRAM中的一條Entry。TCAM中的Entry使用SRAMIdx索引SRAM的Entry。換句話說,TCAM中保存了前綴,每一條SRAM Entry保存了路由樹。
[0005]添加一條新的路由的時候,首先會查TCAM是否有匹配的前綴,如果有則將路由下到該前綴索引的SRAM Entry中,否則下到前綴掩碼為0索引的SRAM Entry中。當前綴索引的SRAM Entry已經被下滿,則將該SRAM Entry中路由樹的一半拆分出來,放到未被使用的SRAM Entry中,同時將這些路由的公共前綴放到空閑的TCAM Entry中,并與該SRAM Entry建立索引。需要注意的是,一個SRAM Entry只能被一個TCAM Entry索引。
[0006]現有技術,理論上可以使所有的SRAM資源用盡。但實際上規格宣稱只能達到理論值的67%,即三分之二。因為這ALPM路由樹算法添加時,先找到對應的前綴,然后把路由加到前綴對應的路由樹中。如果路由樹的條目數大于一個SRAM Entry支持的最大路由條目數時,會觸發拆樹,把路由樹中的一半拆到新的樹中并將新樹保存至未被使用的SRAM Entry中,把新樹的前綴保存至TCAM。
[0007]在遞增下發路由的條件下,由于路由的前綴只會與值為\0的前綴匹配,因此會一直往前綴為/0的路由樹中添加路由,并觸發拆樹。這時會導致不會有路由下到拆出的新路由前綴索引的路由樹中,只會是原有拆出的路由。按照該算法一直下發,SRAM條目資源全部會被使用,但是每個SRAM Entry都沒有被下滿,這樣便導致了資源的浪費。
[0008]針對相關技術SRAM條目資源全部被使用,但是每個SRAM Entry都沒有被存滿,這樣便導致了資源的浪費的問題,尚未提出解決方案。
技術實現思路
[0009]本專利技術實施例提供了一種路由地址存儲方法及裝置,以至少解決相關技術SRAM條目資源全部被使用,但是每個SRAM Entry都沒有被存滿,這樣便導致了資源的浪費的問題。
[0010]根據本專利技術的一個實施例,提供了一種路由地址存儲方法,包括:通過靜態隨機存儲器SRAM存儲多個路由地址,其中,所述SRAM的一個SRAM條目中存儲一個或多個路由樹,每
個所述路由樹包括多個路由地址;將所述多級SRAM中所述多個路由地址的公共前綴存儲于三態內容尋址存儲器TCAM的TCAM條目中,其中,多個TCAM條目對應一個所述SRAM條目。
[0011]在一示例性實施例中,還包括:確定所述TCAM條目中與所述目標路由地址匹配度最高的第一TCAM條目;確定所述第一TCAM條目對應的第一SRAM條目的路由樹;根據所述第一SRAM條目的路由樹對所述目標路由地址進行存儲。
[0012]在一示例性實施例中,根據所述第一SRAM條目的路由樹對所述目標路由地址進行存儲包括:確定所述第一TCAM條目對應的第一SRAM條目的路由樹的路由數量;將第一SRAM條目的路由樹的路由數量與所述SRAM條目對應的最大路由數進行對比;根據對比結果對所述目標路由地址進行存儲。
[0013]在一示例性實施例中,根據對比結果對所述目標路由地址進行存儲包括:若所述SRAM存在空閑SRAM條目且所述對比結果為所述第一TCAM條目對應的第一SRAM條目的路由樹的路由數量小于所述SRAM條目對應的最大路由數,將所述目標路由地址存儲到所述第一SRAM條目的路由樹中;若所述SRAM還存在空閑SRAM條目且所述對比結果為所述第一SRAM條目的路由樹的路由數量不小于所述SRAM條目對應的最大路由數,對所述第一SRAM條目的路由樹進行拆樹操作;將拆出的第一路由樹存儲到新的第二SRAM條目中,并將所述第一路由樹對應的前綴存儲到新的第二TCAM條目中。
[0014]在一示例性實施例中,還包括:為所述第二TCAM條目建立所述第二SRAM條目的條目索引與區域索引。
[0015]在一示例性實施例中,還包括:若所述SRAM的所有SRAM條目均被使用且所述對比結果為所述第一TCAM條目對應的第一SRAM條目的路由樹的路由數量小于所述SRAM條目對應的最大路由數,將所述目標路由地址存儲到所述第一SRAM條目的路由樹中;若所述SRAM的所有SRAM條目均被使用且所述對比結果為所述第一TCAM條目對應的第一SRAM條目的路由樹的路由數量不小于所述SRAM條目對應的最大路由數,對所述第一SRAM條目的路由樹進行拆樹操作;將拆出的第一路由樹存儲到剩余空間最大的第三SRAM條目中,并將所述第一路由樹對應的前綴存儲到新的第三TCAM條目中。
[0016]在一示例性實施例中,還包括:為所述第三TCAM條目建立所述第三SRAM條目的條目索引與區域索引。
[0017]在一示例性實施例中,確定所述TCAM條目中與所述目標路由地址匹配度最高的第一TCAM條目包括:分別確定接收到的目標路由地址與所述TCAM條目中的前綴的相似度值;判斷是否獲取到所述相似度值最高的所述TCAM條目;若獲取到所述相似度值最高的所述TCAM條目,則確定所述TCAM條目為所述第一TCAM條目;若未獲取到所述相似度值的所述TCAM條目,則確定前綴掩碼長度為0的所述TCAM條目為所述第一TCAM條目。
[0018]根據本專利技術的又一個實施例,還提供了一種路由地址存儲裝置,包括:第一處理模塊,用于通過靜態隨機存儲器SRAM存儲多個路由地址,其中,所述SRAM的一個SRAM條目中存儲一個或多個路由樹,每個所述路由樹包括多個路由地址;第二處理模塊,用于將所述多級SRAM中所述多個路由地址的公共前綴存儲于三態內容尋址存儲器TCAM的TCAM條目中,其中,多個TCAM條目對應一個所述SRAM條目。
[0019]根據本專利技術的又一個實施例,還提供了一種計算機可讀的存儲介質,所述存儲介質中存儲有計算機程序,其中,所述計算機程序被設置為運行時執行上述任一項方法實施
例中的步驟。
[002本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種路由地址存儲方法,其特征在于,包括:通過靜態隨機存儲器SRAM存儲多個路由地址,其中,所述SRAM的一個SRAM條目中存儲一個或多個路由樹,每個所述路由樹包括多個路由地址;將所述多級SRAM中所述多個路由地址的公共前綴存儲于三態內容尋址存儲器TCAM的TCAM條目中,其中,多個TCAM條目對應一個所述SRAM條目。2.根據權利要求1所述的方法,其特征在于,所述方法還包括:確定所述TCAM條目中與所述目標路由地址匹配度最高的第一TCAM條目;確定所述第一TCAM條目對應的第一SRAM條目的路由樹;根據所述第一SRAM條目的路由樹對所述目標路由地址進行存儲。3.根據權利要求2所述的方法,其特征在于,根據所述第一SRAM條目的路由樹對所述目標路由地址進行存儲包括:確定所述第一TCAM條目對應的第一SRAM條目的路由樹的路由數量;將第一SRAM條目的路由樹的路由數量與所述SRAM條目對應的最大路由數進行對比;根據對比結果對所述目標路由地址進行存儲。4.根據權利要求3所述的方法,其特征在于,根據對比結果對所述目標路由地址進行存儲包括:若所述SRAM存在空閑SRAM條目且所述對比結果為所述第一TCAM條目對應的第一SRAM條目的路由樹的路由數量小于所述SRAM條目對應的最大路由數,將所述目標路由地址存儲到所述第一SRAM條目的路由樹中;若所述SRAM還存在空閑SRAM條目且所述對比結果為所述第一SRAM條目的路由樹的路由數量不小于所述SRAM條目對應的最大路由數,對所述第一SRAM條目的路由樹進行拆樹操作;將拆出的第一路由樹存儲到新的第二SRAM條目中,并將所述第一路由樹對應的前綴存儲到新的第二TCAM條目中。5.根據權利要求4所述的方法,其特征在于,所述方法還包括:為所述第二TCAM條目建立所述第二SRAM條目的條目索引與區域索引。6.根據權利要求3所述的方法,其特征在于,所述方法還包括:若所述SRAM的所有SRAM條目均被使用且所述對比結果為所述第一TCAM條目對應的第一SR...
【專利技術屬性】
技術研發人員:何志川,趙茂聰,杜鵬霄,
申請(專利權)人:盛科網絡蘇州有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。