專利名稱:規(guī)則老化的維護(hù)方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及規(guī)則老化的維護(hù)方法及設(shè)備。
背景技術(shù):
在通信技術(shù)領(lǐng)域,高速路由查詢存儲(chǔ)器(ternary content addressable memory, TCAM )是網(wǎng)絡(luò)3層處理中常用的關(guān)鍵器件,可以實(shí)現(xiàn)送入關(guān)鍵詞 與提前設(shè)定的關(guān)鍵字詞庫(kù)的快速比較,并得到比較命中后的下一步操作信息。
比如在網(wǎng)絡(luò)電話技術(shù)協(xié)議(Voice over Internet Protocol, VOIP )系統(tǒng)中, 運(yùn)營(yíng)商骨干節(jié)點(diǎn)的串接設(shè)備收到報(bào)文后,先識(shí)別出VOIP首報(bào)文,而后將首 報(bào)文中的網(wǎng)絡(luò)協(xié)議(IP )地址儲(chǔ)存進(jìn)TCAM動(dòng)態(tài)規(guī)則存儲(chǔ)空間中,并在TCAM 附屬的同步動(dòng)態(tài)隨機(jī)存耳又存儲(chǔ)器(Synchronous Dynamic Random Access Memory, SDRAM)中存入相應(yīng)的操作或4喿作參數(shù),則后續(xù)的VOIP數(shù)據(jù)報(bào) 文則可通過(guò)與TCAM動(dòng)態(tài)規(guī)則存儲(chǔ)空間中的規(guī)則即地址信息進(jìn)行匹配,繼而 查找到對(duì)應(yīng)的轉(zhuǎn)發(fā)接口或后續(xù)處理操作的參數(shù)。
應(yīng)用以上TCAM查找技術(shù),不可避免的會(huì)遇到規(guī)則存儲(chǔ)空間中的規(guī)則即 地址信息老化的問(wèn)題,現(xiàn)有的基于TCAM的設(shè)備對(duì)規(guī)則存儲(chǔ)空間中規(guī)則老化 的維護(hù)方法是當(dāng)接收到其它設(shè)備發(fā)送的結(jié)束(FIN)數(shù)據(jù)包,表明需要?jiǎng)h 除相應(yīng)規(guī)則,則在規(guī)則存儲(chǔ)空間中找到相應(yīng)的規(guī)則進(jìn)行刪除。
在對(duì)現(xiàn)有技術(shù)進(jìn)行實(shí)踐和研究的過(guò)程中,本發(fā)明的發(fā)明人發(fā)現(xiàn)
現(xiàn)有的采用接收FIN包來(lái)維護(hù)規(guī)則的老化時(shí),會(huì)出現(xiàn)因未收到FIN包而 導(dǎo)致對(duì)應(yīng)規(guī)則永不刪除的情況,這樣造成有效資源的浪費(fèi);且基于TCAM的 設(shè)備需要維護(hù)FIN包與相應(yīng)規(guī)則的對(duì)應(yīng)關(guān)系表,這樣也會(huì)占用大量資源???見(jiàn)現(xiàn)有技術(shù)中規(guī)則老化的維護(hù)方法會(huì)帶來(lái)資源的消耗和規(guī)則垃圾碎片的堆積 問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供規(guī)則老化的維護(hù)方法及設(shè)備,減少資源的消耗,降低 規(guī)則垃圾碎片的堆積。本發(fā)明實(shí)施例提供一種規(guī)則老化的維護(hù)方法,包括
接收?qǐng)?bào)文,所述報(bào)文中包括地址信息;
將所述報(bào)文中的地址信息與高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī) 則進(jìn)行匹配;
當(dāng)所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則沒(méi)有包含所述地址 信息,且確定所述高速路由查詢器TCAMMJ'j存儲(chǔ)空間已滿時(shí),用所述地址信 息覆蓋所述高速路由查詢器TCAM規(guī)則空間中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則。 本發(fā)明實(shí)施例提供一種高速路由查詢器TCAM,包括 報(bào)文接收單元,用于接收?qǐng)?bào)文,所述報(bào)文中包括地址信息; 匹配單元,用于將所述報(bào)文接收單元接收的報(bào)文中的地址信息與高速路 由查詢器TCAMMJ'j存儲(chǔ)空間中的規(guī)則進(jìn)行匹配;
第 一覆蓋單元,用于當(dāng)所述匹配單元匹配的高速路由查詢器TCAM規(guī)則存 儲(chǔ)空間中的規(guī)則沒(méi)有包含所述地址信息,且確定所述高速路由查詢器TCAM 規(guī)則存儲(chǔ)空間已滿,用所述地址信息覆蓋所述高速路由查詢器TCAM規(guī)則空間 中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則。
可見(jiàn),本實(shí)施例中,規(guī)則老化的維護(hù)方法是接收到新的報(bào)文后,將報(bào)文 中的包括地址信息與TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行匹配,如果規(guī)則存儲(chǔ)空 間中的規(guī)則沒(méi)有包含該地址信息,且確定規(guī)則存儲(chǔ)空間已滿,則用該地址信 息覆蓋存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,和現(xiàn)有技術(shù)中采用接收FIN包刪除相應(yīng)的規(guī)則對(duì) 規(guī)則老化的維護(hù)相比,本發(fā)明實(shí)施例中,只要規(guī)則存儲(chǔ)空間已滿,就用新的 規(guī)則來(lái)覆蓋最老的規(guī)則,不會(huì)出現(xiàn)有些規(guī)則永不刪除的情況,減少了有效資 源的浪費(fèi)和規(guī)則垃圾碎片的堆積,且維護(hù)過(guò)程比較簡(jiǎn)單,減少資源的消耗。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí) 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面 描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講, 在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖l是本發(fā)明方法實(shí)施例一提供的規(guī)則老化的維護(hù)方法的流程圖; 圖2是本發(fā)明方法實(shí)施例二提供的規(guī)則老化的維護(hù)方法的流程圖;圖3是本發(fā)明方法實(shí)施例二提供的規(guī)則老化的維護(hù)方法中規(guī)則環(huán)的結(jié)構(gòu) 示意圖4是本發(fā)明設(shè)備實(shí)施例一提供的高速路由查詢器TCAM的結(jié)構(gòu)示意圖; 圖5是本發(fā)明設(shè)備實(shí)施例二提供的高速路由查詢器TCAM的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而 不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作 出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
方法實(shí)施例一
一種規(guī)則老化的維護(hù)方法,本發(fā)明實(shí)施例的執(zhí)行主體都是基于TCAM的設(shè) 備進(jìn)行的,該設(shè)備可以是現(xiàn)場(chǎng)可編程門陣列(FPGA )十TCAM架構(gòu),也可以 是網(wǎng)絡(luò)處理器(NP)十TCAM架構(gòu),還可以是中央處理器(CPU)十TCAM架 構(gòu),方法流程如圖l所示,包括
步驟IOI、接收?qǐng)?bào)文,所述報(bào)文中包括地址信息;
這里的地址信息可以包括IP地址、端口信息等, 一般是在報(bào)文的首部攜帶 有地址信息。
步驟102、將所述報(bào)文中的地址信息與高速路由查詢器(下面文件中簡(jiǎn)稱 TCAM )規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行匹配;當(dāng)確定所述TCAM規(guī)則存儲(chǔ)空間中 的規(guī)則沒(méi)有包括所述地址信息,且所述TCAM規(guī)則存儲(chǔ)空間已滿,則執(zhí)行步驟 103;
可以理解,在TCAM規(guī)則存儲(chǔ)^間中的規(guī)則即為地址信息,兩個(gè)通信設(shè)備 在進(jìn)行通信的過(guò)程中,在基于TCAM的設(shè)備的規(guī)則存儲(chǔ)空間中會(huì)儲(chǔ)存兩個(gè)設(shè)備 的地址信息。且每條規(guī)則在規(guī)則存儲(chǔ)空間儲(chǔ)存后,都對(duì)應(yīng)有一個(gè)存放地址, 這些規(guī)則可以是按照接收到新規(guī)則的先后順序依次儲(chǔ)存到存放地址中,在規(guī) 則在存儲(chǔ)的過(guò)程中,基于TCAM的設(shè)備也可以記錄儲(chǔ)存該規(guī)則的相應(yīng)時(shí)間或剛 開(kāi)始在規(guī)則存儲(chǔ)空間中儲(chǔ)存規(guī)則時(shí)的存放地址等信息,比如規(guī)則存儲(chǔ)空間 的大小為65535,則在存放地址n為0到65534中,可以儲(chǔ)存65535條規(guī)則,在儲(chǔ) 存規(guī)則時(shí),可以從n為O的存放地址開(kāi)始儲(chǔ)存,當(dāng)接收到新的地址信息時(shí),則
8會(huì)將新的規(guī)則儲(chǔ)存到n為l的存放地址中,這樣直到65535個(gè)規(guī)則存放地址中都 儲(chǔ)存有規(guī)則。
這里TCAM規(guī)則存儲(chǔ)空間已滿是指在規(guī)則存儲(chǔ)空間的所有存放地址中都 存放著規(guī)則。
步驟103、用所述地址信息覆蓋所述TCAM規(guī)則空間中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則。
這里,存儲(chǔ)時(shí)間可以根據(jù)規(guī)則在儲(chǔ)存時(shí)的相應(yīng)時(shí)間和當(dāng)前時(shí)間的差值得 到,而存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則是所述差值最大對(duì)應(yīng)的規(guī)則;存儲(chǔ)時(shí)間最長(zhǎng)的規(guī) 則也可以根據(jù)在剛開(kāi)始在該規(guī)則存放空間中儲(chǔ)存規(guī)則時(shí)記錄的存放地址而得 到,還可以通過(guò)其他的方法得到,這并不構(gòu)成對(duì)本發(fā)明的限制。
用所述地址信息進(jìn)行覆蓋時(shí),具體是將該地址信息儲(chǔ)存到存儲(chǔ)時(shí)間最長(zhǎng) 的規(guī)則對(duì)應(yīng)的存放地址中,同時(shí),刪除該存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則。
可以理解,當(dāng)步驟102中匹配的所述TCAM規(guī)則存儲(chǔ)空間中的規(guī)則包含所 述地址信息,則執(zhí)行步驟104;
步驟104、判斷所述TCAM規(guī)則存儲(chǔ)空間中包括的所述地址信息的存儲(chǔ)時(shí) 間是否滿足預(yù)置的條件,如果是,且確定所述TCAN^見(jiàn)則存儲(chǔ)空間已滿,則返 回執(zhí)行步驟103,并刪除所述TCAM規(guī)則存儲(chǔ)空間中原來(lái)儲(chǔ)存的所述地址信息; 如果不是,則不會(huì)對(duì)規(guī)則存儲(chǔ)空間的規(guī)則存儲(chǔ)進(jìn)行修改;
可以理解,在另一個(gè)具體的實(shí)施例中,在步驟104中如果判斷是,且確定 所述TCAM規(guī)則存儲(chǔ)空間已滿,還可以直接更新所述高速路由查詢器TCAM規(guī) 則存儲(chǔ)空間中,原來(lái)存儲(chǔ)的所述地址信息的存儲(chǔ)時(shí)間。
其中,如果匹配到規(guī)則存儲(chǔ)空間中的規(guī)則包含新接收到報(bào)文中的地址信 息,則進(jìn)一步判斷,當(dāng)時(shí)儲(chǔ)存該地址信息時(shí)的存儲(chǔ)時(shí)間是否滿足預(yù)置的條件, 這里預(yù)置的條件包括該地址信息的存儲(chǔ)時(shí)間需要距離最長(zhǎng)儲(chǔ)存時(shí)間在預(yù)置 時(shí)間范圍內(nèi)等,用戶可以通過(guò)基于TCAM的設(shè)備,來(lái)調(diào)節(jié)預(yù)置時(shí)間范圍的大小。
可以理解,在進(jìn)行判斷時(shí)具體可以先得到該地址信息的存儲(chǔ)時(shí)間并和最 長(zhǎng)儲(chǔ)存時(shí)間進(jìn)行比較,再確定它們之間的差值是否在預(yù)置時(shí)間范圍內(nèi)。
可見(jiàn),本實(shí)施例中,規(guī)則老化的維護(hù)方法是接收到新的報(bào)文后,將報(bào)文 中的包括地址信息與TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行匹配,如果規(guī)則存儲(chǔ)空間中的規(guī)則沒(méi)有包含該地址信息,且確定規(guī)則存儲(chǔ)空間已滿,則用該地址信 息覆蓋存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,和現(xiàn)有技術(shù)中采用接收FIN包刪除相應(yīng)的規(guī)則, 從而對(duì)規(guī)則老化的維護(hù)相比,本發(fā)明實(shí)施例中,只要規(guī)則存儲(chǔ)空間已滿,就 用新的規(guī)則來(lái)覆蓋最老的規(guī)則,不會(huì)出現(xiàn)有些規(guī)則永不刪除的情況,減少了 有效資源的浪費(fèi)和MJ!'J垃圾碎片的堆積,且維護(hù)過(guò)程比較簡(jiǎn)單,減少資源的 消耗;
另外,如果規(guī)則存儲(chǔ)空間中的規(guī)則包含該地址信息,則進(jìn)一步確定該地 址信息存儲(chǔ)的時(shí)間位置,如果存儲(chǔ)的時(shí)間較久,且規(guī)則存儲(chǔ)空間已滿,則用 該地址信息覆蓋老的規(guī)則,并刪除原來(lái)儲(chǔ)存的該地址信息。
方法實(shí)施例二
一種規(guī)則老化的維護(hù)方法,本發(fā)明實(shí)施例的執(zhí)行主體都是基于TCAM的設(shè) 備進(jìn)行的,該設(shè)備可以是FPGA+TCAM結(jié)構(gòu)架構(gòu),也可以是NP+TCAM架構(gòu), 還可以是CPU+TCAM架構(gòu),假設(shè)本實(shí)施例中規(guī)則存儲(chǔ)空間大小為65535條規(guī) 則,流程如圖2所示,包括
步驟201 、在將規(guī)則儲(chǔ)存入TCAM規(guī)則存儲(chǔ)空間的存放地址的過(guò)程中,記 錄所述TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存放地址為B;
本實(shí)施例中,在MJJ'j儲(chǔ)存過(guò)程中,是按照時(shí)間先后順序依次儲(chǔ)存到所述 規(guī)則存儲(chǔ)空間的存放地址中的,如將規(guī)則i儲(chǔ)存到存放地址I后,又接收到新的 規(guī)則k,則將規(guī)則儲(chǔ)存到存放地址I+1中,則存放地址B是不斷更新的,只要有 新的規(guī)則存入規(guī)則存儲(chǔ)空間中,則B就會(huì)更新為該新規(guī)則對(duì)應(yīng)的存放地址。
如果在儲(chǔ)存規(guī)則時(shí)不是從存放地址O開(kāi)始儲(chǔ)存的,則當(dāng)規(guī)則在儲(chǔ)存到存放 地址65534中后,下一個(gè)新規(guī)則,則儲(chǔ)存到存放地址O中,這樣本實(shí)施例中TCAM MJ'j存儲(chǔ)空間就為一個(gè)環(huán),簡(jiǎn)稱規(guī)則環(huán)。
步驟202、接收新的報(bào)文,所述報(bào)文中包括地址信息;
步驟203、將所述4艮文中的地址信息與TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行 匹配;當(dāng)所述TCAM規(guī)則存儲(chǔ)空間中的規(guī)則沒(méi)有包括所述地址信息,且確定所 述TCAM規(guī)則存儲(chǔ)空間已滿,則執(zhí)行步驟204;當(dāng)所述TCAM規(guī)則存儲(chǔ)空間中 的規(guī)則包含所述地址信息,則執(zhí)行步驟205;步驟204、用所述地址信息,覆蓋自身記錄的存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)存
放地址的,前一個(gè)存放地址中的規(guī)則;并更新所述TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ) 時(shí)間最短的MJ'j對(duì)應(yīng)存放地址B;
可以理解,由于TCAM》見(jiàn)則存儲(chǔ)空間已滿,則從存放地址O到65534中都存 放著規(guī)則,又由于在規(guī)則儲(chǔ)存過(guò)程中是按照時(shí)間先后順序依次儲(chǔ)存到存放地 址中的,則存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的前一個(gè)存放地址,即存放地址B的前一 個(gè)存放地址即B+1中,存放著存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,可見(jiàn)本步驟實(shí)質(zhì)上是用地 址信息覆蓋儲(chǔ)存時(shí)間最長(zhǎng)的規(guī)則。
步驟205、判斷所述TCAMMJ'J存儲(chǔ)空間中包括的所述地址信息對(duì)應(yīng)的存 放地址,是否在存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的前N個(gè)存放地址中,如果是,且確 定所述TCAM規(guī)則存儲(chǔ)空間已滿,則返回執(zhí)行步驟204,并刪除所述TCAM規(guī) 則存儲(chǔ)空間中原來(lái)存儲(chǔ)的所述地址信息;如果不是,則不用對(duì)規(guī)則存儲(chǔ)空間 中的^見(jiàn)則進(jìn)行^奮改。
可以理解,本步驟中存儲(chǔ)時(shí)間最短的規(guī)則即為存放地址B中存放的規(guī)則, 而存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的前N個(gè)存放地址即為存放地址B+N,由于這N個(gè) 存放地址存放的規(guī)則都是存儲(chǔ)時(shí)間較長(zhǎng)的規(guī)則,在本實(shí)施例中將從存放地址B 向前的N個(gè)存放地址的規(guī)則存儲(chǔ)空間稱為老化區(qū)。則本步驟實(shí)質(zhì)上是判斷地址 信息是否儲(chǔ)存在老化區(qū)內(nèi),如果是的話,就執(zhí)行步驟204,進(jìn)行覆蓋,而為了 避免規(guī)則存儲(chǔ)空間中對(duì)重復(fù)存儲(chǔ)規(guī)則,則將原來(lái)存儲(chǔ)的該地址信息刪除。
需要說(shuō)明的是,用戶可以通過(guò)基于TCAM的設(shè)備調(diào)節(jié)老化區(qū)的大小,設(shè)置 N值,且在步驟205中的判斷之前需要記錄所述存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存 放地址B向前的第N+1個(gè)存放地址A,即為與老化區(qū)臨界的存放地址;由于老 化區(qū)的大小是預(yù)置在設(shè)備中的,則在用地址信息覆蓋存放地址B前一個(gè)存放地 址中的規(guī)則之后,還需要更新與老化區(qū)臨界的存放地址,即更新存儲(chǔ)時(shí)間最 短的規(guī)則對(duì)應(yīng)的存放地址B,及所述存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存放地址B向 前的第N+1個(gè)存放地址A,即將存放地址A更新為B+N+1 。
參考圖3所示,為本實(shí)施例中規(guī)則環(huán)的結(jié)構(gòu)示意圖,圖中存儲(chǔ)時(shí)間最短的 規(guī)則對(duì)應(yīng)的存放地址B二IOOO,規(guī)則環(huán)中兩個(gè)虛線之間填充斜線的部分為老化 區(qū),圖中顯示N為49,則記錄的存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存放地址B向前的第N+1個(gè)存放地址A^050??梢岳斫?,在接收到報(bào)文后,如果經(jīng)過(guò)匹配得到 報(bào)文中的地址信息沒(méi)有包含在規(guī)則環(huán)中,且在65535個(gè)存放地址中都存放著規(guī) 則時(shí),則用該地址信息覆蓋存放地址1001中存放的規(guī)則,并將存放地址B更新 為IOOI,及將存放地址A更新為1051;如果經(jīng)過(guò)匹配得到報(bào)文中的地址信息包 含在老化區(qū)內(nèi)的存放地址1032中,且在65535個(gè)存放地址中都存放著規(guī)則時(shí), 則用該地址信息覆蓋存放地址1001中存放的規(guī)則,并將存放地址B更新為 1001,及將存放地址A更新為1051,且需要?jiǎng)h除存放地址1032中的規(guī)則;如果 地址信息包含在規(guī)則環(huán)的老化區(qū)之外的區(qū)域,則對(duì)規(guī)則環(huán)存放的規(guī)則不進(jìn)行 修改。
可見(jiàn),本實(shí)施例中,通過(guò)規(guī)則對(duì)應(yīng)的存放地址的關(guān)系,來(lái)確定存儲(chǔ)時(shí)間 最長(zhǎng)的規(guī)則的位置,即如果規(guī)則存儲(chǔ)空間已滿,則存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則和存 儲(chǔ)時(shí)間最短的規(guī)則的存放地址相鄰,這種方法實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單而直觀。且 減少了有效資源的浪費(fèi)和規(guī)則垃圾碎片的堆積,且維護(hù)過(guò)程比較簡(jiǎn)單,減少 資源的消耗。
設(shè)備實(shí)施例一
一種高速路由查詢器TCAM,該設(shè)備可以是FPGA+TCAM架構(gòu),也可以是 NP+TCAM架構(gòu),還可以是CPU+TCAM架構(gòu),結(jié)構(gòu)示意圖如圖4所示,包括
報(bào)文接收單元IO,用于接收?qǐng)?bào)文,所述報(bào)文中包括地址信息;
匹配單元ll,用于將所述報(bào)文接收單元10接收的報(bào)文中的地址信息與高 速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行匹配;
第一覆蓋單元12,用于當(dāng)所述匹配單元ll匹配的高速路由查詢器TCAM 規(guī)則存儲(chǔ)空間中的規(guī)則沒(méi)有包含所述地iit信息,且確定所述高速路由查詢器 TCAM規(guī)則存儲(chǔ)空間已滿,用所述地址信息覆蓋所述高速路由查詢器TCAM^見(jiàn) 則空間中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則。
存儲(chǔ)時(shí)間可以根據(jù)規(guī)則在儲(chǔ)存時(shí)的相應(yīng)時(shí)間和當(dāng)前時(shí)間的差值得到,而 存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則是所述差值最大對(duì)應(yīng)的規(guī)則;存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則也可 以根據(jù)在剛開(kāi)始在該規(guī)則存放空間中儲(chǔ)存規(guī)則時(shí)記錄的存放地址而得到,還 可以通過(guò)其他的方法得到,這并不構(gòu)成對(duì)本發(fā)明的限制。
可以理解,在其它的實(shí)施例中, 一種高速路由查詢器TCAM還包括時(shí)間判斷單元13 ,用于當(dāng)所述匹配單元l 1匹配的高速路由查詢器TCAM
規(guī)則存儲(chǔ)空間中的規(guī)則包含所述地址信息,判斷所述高速路由查詢器TCAM 規(guī)則存儲(chǔ)空間中包括的所述地址信息的存儲(chǔ)時(shí)間是否符合預(yù)置的條件,所述 預(yù)置的條件包括所述地址信息的存儲(chǔ)時(shí)間距離最長(zhǎng)儲(chǔ)存時(shí)間在預(yù)置時(shí)間范圍 內(nèi);
第二覆蓋單元14,用于當(dāng)所述時(shí)間判斷單元13判斷的結(jié)果為是,且確定 所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿,則用所述地址信息覆蓋所述高 速路由查詢器TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,并刪除所述高速路 由查詢器TCAM規(guī)則存儲(chǔ)空間中原來(lái)存儲(chǔ)的所述地址信息;或更新所述高速路 由查詢器TCAM規(guī)則存儲(chǔ)空間中,原來(lái)存儲(chǔ)的所述地址信息的存儲(chǔ)時(shí)間。
可以理解,在進(jìn)行判斷時(shí)具體可以先得到該地址信息的存儲(chǔ)時(shí)間并和最 長(zhǎng)儲(chǔ)存時(shí)間進(jìn)行比較,再確定它們之間的差值是否在預(yù)置時(shí)間范圍內(nèi)。
可見(jiàn),本實(shí)施例的高速路由查詢器TCAM中報(bào)文接收單元10接收到新的報(bào) 文后,匹配單元ll將報(bào)文中的包括地址信息與TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn) 行匹配,如果規(guī)則存儲(chǔ)空間中的規(guī)則沒(méi)有包含該地址信息,且確定規(guī)則存儲(chǔ) 空間已滿,則第一覆蓋單元12用該地址信息覆蓋存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,和現(xiàn) 有技術(shù)中采用接收FIN包刪除相應(yīng)的規(guī)則,從而對(duì)規(guī)則老化的維護(hù)相比,本發(fā) 明實(shí)施例中,只要規(guī)則存儲(chǔ)空間已滿,就用新的規(guī)則來(lái)覆蓋最老的規(guī)則,不 會(huì)出現(xiàn)有些規(guī)則永不刪除的情況,減少了有效資源的浪費(fèi)和規(guī)則垃圾碎片的 堆積,且維護(hù)過(guò)程比較簡(jiǎn)單,減少資源的消耗;
另外,如果規(guī)則存儲(chǔ)空間中的規(guī)則包含該地址信息,則時(shí)間判斷單元13 進(jìn)一步確定該地址信息存儲(chǔ)的時(shí)間位置,如果存儲(chǔ)的時(shí)間較久,且規(guī)則存儲(chǔ) 空間已滿,則第二覆蓋單元14用該地址信息覆蓋老的規(guī)則,并刪除原來(lái)儲(chǔ)存 的該地址信息。
設(shè)備實(shí)施例二
一種高速路由查詢器TCAM,該設(shè)備可以是FPGA+TCAM架構(gòu),也可以是 NP+TCAM架構(gòu),還可以是CPU+TCAM架構(gòu),本實(shí)施例中的高速路由查詢器 TCAM規(guī)則存儲(chǔ)空間中的規(guī)則是按照時(shí)間先后順序依次儲(chǔ)存到所述規(guī)則存儲(chǔ) 空間的存放地址中的,結(jié)構(gòu)示意圖如圖5所示,包括
13,用于記錄所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間 中存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存放地址;
報(bào)文接收單元21,用于接收?qǐng)?bào)文,所述報(bào)文中包括地址信息;
匹配單元22,用于將所述報(bào)文接收單元21接收的報(bào)文中的地址信息與高 速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行匹配;
第 一覆蓋單元23,用于當(dāng)所述匹配單元22匹配的高速路由查詢器TCAM 規(guī)則存儲(chǔ)空間中的規(guī)則沒(méi)有包括所述地址信息,且確定所述高速路由查詢器 TCAM規(guī)則存儲(chǔ)空間已滿,用所述地址信息,覆蓋所述第一地址記錄單元20 記錄的存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)存放地址的,前一個(gè)存放地址中的規(guī)則;即 用所述地址信息覆蓋所述高速路由查詢器TCAM規(guī)則空間中存儲(chǔ)時(shí)間最長(zhǎng)的 規(guī)則;
第一更新單元24,用于在所述第一覆蓋單元進(jìn)23行覆蓋后,更新所述第 一地址記錄單元20記錄的高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最 短的規(guī)則對(duì)應(yīng)的存放地址。
可以理解,在其它具體的實(shí)施例中,高速路由查詢器TCAM還包括
地址判斷單元25,用于當(dāng)所述匹配單元22匹配的高速路由查詢器TCAM 規(guī)則存儲(chǔ)空間中的規(guī)則包含所述地址信息,判斷所述高速路由查詢器TCAM 規(guī)則存儲(chǔ)空間中包括的所述地址信息對(duì)應(yīng)的存放地址,是否在所述記錄的存 儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的前N個(gè)存放地址中;
第三覆蓋單元26,用于當(dāng)所述地址判斷單元25判斷為是時(shí),且確定所述 高速路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿,則用所述地址信息覆蓋所述存儲(chǔ)時(shí) 間最短的規(guī)則對(duì)應(yīng)的前一個(gè)存放地址中的規(guī)則,并刪除所述高速路由查詢器 TCAMMJ,J存儲(chǔ)空間中原來(lái)存儲(chǔ)的所述地址信息。
需要說(shuō)明的是,本發(fā)明實(shí)施例的設(shè)備中還可以包括第二地址記錄單元 27和第二更新單元28;所述第二地址記錄單元27,用于記錄所述存儲(chǔ)時(shí)間最 短的規(guī)則對(duì)應(yīng)的存放地址前的第N+1個(gè)存放地址;所述第二更新單元28,用于 當(dāng)所述第三覆蓋單元26用所述地址信息覆蓋所述存儲(chǔ)時(shí)間最短的MJ3'j對(duì)應(yīng)的 前一個(gè)存放地址中的規(guī)則,更新所述第二地址記錄單元28記錄的所述存儲(chǔ)時(shí) 間最短的規(guī)則對(duì)應(yīng)的存放地址前的第N+1個(gè)存放地址??梢?jiàn),本實(shí)施例的高速路由查詢器TCAM中,通過(guò)規(guī)則對(duì)應(yīng)的存放地址的 關(guān)系,來(lái)確定存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則的位置,即如果規(guī)則存儲(chǔ)空間已滿,則存 儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則和存儲(chǔ)時(shí)間最短的規(guī)則的存放地址相鄰,使得第 一覆蓋單
元23和第三覆蓋單元26在進(jìn)行規(guī)則覆蓋時(shí),很容易找到需要覆蓋的規(guī)則,實(shí) 現(xiàn)起來(lái)比較簡(jiǎn)單而直觀。且減少了有效資源的浪費(fèi)和規(guī)則垃圾碎片的堆積, 且維護(hù)過(guò)程比較簡(jiǎn)單,減少資源的消耗。
可見(jiàn),本實(shí)施例中,規(guī)則老化的維護(hù)方法是接收到新的報(bào)文后,將報(bào)文 中的包括地址信息與TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行匹配,如果規(guī)則存儲(chǔ)空 間中的規(guī)則沒(méi)有包含該地址信息,且確定規(guī)則存儲(chǔ)空間已滿,則用該地址信 息覆蓋存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,和現(xiàn)有技術(shù)中采用接收FIN包刪除相應(yīng)的規(guī)則, 從而對(duì)規(guī)則老化的維護(hù)相比,本發(fā)明實(shí)施例中,只要規(guī)則存儲(chǔ)空間已滿,就 用新的規(guī)則來(lái)覆蓋最老的規(guī)則,不會(huì)出現(xiàn)有些規(guī)則永不刪除的情況,減少了 有效資源的浪費(fèi)和規(guī)則垃圾碎片的堆積,且維護(hù)過(guò)程比較簡(jiǎn)單,減少資源的 消耗。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步 驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可 讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器 (RAM)、磁盤或光盤等。
以上對(duì)本發(fā)明實(shí)施例所提供的規(guī)則老化的維護(hù)方法及設(shè)備,進(jìn)行了詳細(xì) 介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上 實(shí)施例的^L明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本 領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均 會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、一種規(guī)則老化的維護(hù)方法,其特征在于,包括接收?qǐng)?bào)文,所述報(bào)文中包括地址信息;將所述報(bào)文中的地址信息與高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行匹配;當(dāng)所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則沒(méi)有包含所述地址信息,且確定所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿時(shí),用所述地址信息覆蓋所述高速路由查詢器TCAM規(guī)則空間中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則。
2、 如權(quán)利要求l所述的方法,其特征在于,當(dāng)所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則包含所述地址信息,則所述方法還包括判斷所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中包括的所述地址信息的存儲(chǔ)時(shí)間是否符合預(yù)置的條件,所述預(yù)置的條件包括所述地址信息的存儲(chǔ)時(shí)間距離最長(zhǎng)儲(chǔ)存時(shí)間在預(yù)置時(shí)間范圍內(nèi);如果是,且確定所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿,貝'J,用所述地址信息覆蓋所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,并刪除所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中原來(lái)存儲(chǔ)的所述地址信息;或,更新所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中原來(lái)存儲(chǔ)的所述地址信息的存儲(chǔ)時(shí)間。
3、 如權(quán)利要求l所述的方法,其特征在于,所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則是按照時(shí)間先后順序依次儲(chǔ)存到所述規(guī)則存儲(chǔ)空間的存放地址中的;當(dāng)所述高速路由查詢器TCAMMJ'j存儲(chǔ)空間中的規(guī)則沒(méi)有包括所述地址信息,且確定所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿,則用所述地址信息覆蓋所述高速路由查詢器TCAM規(guī)則庫(kù)中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則包括用所述地址信息覆蓋存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)存放地址的前一個(gè)存放地址中的規(guī)則;更新所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)存放地址。
4、 如權(quán)利要求3所述的方法,其特征在于,所述確定所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿之前還包括 記錄所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最短的規(guī)則對(duì) 應(yīng)存放地址。
5、 如權(quán)利要求3或4所述的方法,其特征在于,當(dāng)所述高速路由查詢器 TCAM規(guī)則存儲(chǔ)空間中的規(guī)則包含所述地址信息,則所述方法還包括判斷所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中包括的所述地址信息對(duì) 應(yīng)的存放地址,是否在存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的前N個(gè)存放地址中,如果是, 且確定所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿,則用所述地址信息覆蓋 所述存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的前一個(gè)存放地址中的規(guī)則,并刪除所述高速 路由查詢器TCAMMJ,j存儲(chǔ)空間中原來(lái)存儲(chǔ)的所述地址信息。
6、 如權(quán)利要求5所述的方法,其特征在于,所述判斷所述高速路由查詢 器TCAM規(guī)則存儲(chǔ)空間中包括的所述地址信息對(duì)應(yīng)的存放地址,是否在所述記 錄的存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的前N個(gè)存放地址中的步驟之前還包括記錄所述存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存放地址前的第N+1個(gè)存放地址; 所述用所述地址信息覆蓋所述存儲(chǔ)時(shí)間最短的MJ'j對(duì)應(yīng)的前一個(gè)存放地址中的規(guī)則之后還包括更新所述存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存放地址前的第N+1個(gè)存放地址。
7、 一種高速路由查詢器TCAM,其特征在于,包括 報(bào)文接收單元,用于接收?qǐng)?bào)文,所述報(bào)文中包括地址信息; 匹配單元,用于將所述報(bào)文接收單元接收的報(bào)文中的地址信息與高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的失見(jiàn)則進(jìn)行匹配;第 一覆蓋單元,用于當(dāng)所述匹配單元匹配的高速路由查詢器TCAM規(guī)則存 儲(chǔ)空間中的MJ'j沒(méi)有包含所述地址信息,且確定所述高速路由查詢器TCAM 規(guī)則存儲(chǔ)空間已滿,用所述地址信息覆蓋所述高速路由查詢器TCAMMJ'j空間 中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則。
8、 如權(quán)利要求7所述的高速路由查詢器TCAM,其特征在于,還包括 時(shí)間判斷單元,用于當(dāng)所述匹配單元匹配的高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則包含所述地址信息,判斷所述高速路由查詢器TCAM規(guī)則存儲(chǔ) 空間中包括的所述地址信息的存儲(chǔ)時(shí)間是否符合預(yù)置的條件,所述預(yù)置的條件包括所述地址信息的存儲(chǔ)時(shí)間距離最長(zhǎng)儲(chǔ)存時(shí)間在預(yù)置時(shí)間范圍內(nèi);第二覆蓋單元,用于當(dāng)所述時(shí)間判斷單元判斷的結(jié)果為是,且確定所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿,則用所述地址信息覆蓋所述高速路 由查詢器TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,并刪除所述高速路由查 詢器TCAMMJ3'J存儲(chǔ)空間中原來(lái)存儲(chǔ)的所述地址信息;或更新所述高速路由查 詢器TCAM規(guī)則存儲(chǔ)空間中,原來(lái)存儲(chǔ)的所述地址信息的存儲(chǔ)時(shí)間。
9、 如權(quán)利要求7所述的高速路由查詢器TCAM,其特征在于,還包括第 一地址記錄單元和第一更新單元;所述第一地址記錄單元,用于當(dāng)所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間 中的規(guī)則是按照時(shí)間先后順序依次儲(chǔ)存到所述規(guī)則存儲(chǔ)空間的存放地址中 的,則記錄所述高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最短的規(guī)則對(duì) 應(yīng)存放地址;所述第一覆蓋單元具體用于用所述地址信息,覆蓋所述第一地址記錄單 元記錄的存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)存放地址的前一 個(gè)存放地址中的規(guī)則;所述第一更新單元,用于在所述第一覆蓋單元進(jìn)行覆蓋后,更新所述第 一地址記錄單元記錄的高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中存儲(chǔ)時(shí)間最短 的頭見(jiàn)則對(duì)應(yīng)存放地址。
10、 如權(quán)利要求9所述的高速路由查詢器TCAM,其特征在于,還包括 地址判斷單元,用于當(dāng)所述匹配單元匹配的高速路由查詢器TCAM規(guī)則存儲(chǔ)空間中的規(guī)則包含所述地址信息,判斷所述高速路由查詢器TCAM規(guī)則存儲(chǔ) 空間中包括的所述地址信息對(duì)應(yīng)的存放地址,是否在所述記錄的存儲(chǔ)時(shí)間最 短的規(guī)則對(duì)應(yīng)的前N個(gè)存放地址中;第三覆蓋單元,用于當(dāng)所述地址判斷單元判斷為是時(shí),且確定所述高速 路由查詢器TCAM規(guī)則存儲(chǔ)空間已滿,則用所述地址信息覆蓋所述存儲(chǔ)時(shí)間最 短的規(guī)則對(duì)應(yīng)的前一個(gè)存放地址中的規(guī)則,并刪除所述高速路由查詢器TCAM MJI'J存儲(chǔ)空間中原來(lái)存儲(chǔ)的所述地址信息。
11、 如權(quán)利要求10所述的高速路由查詢器TCAM,其特征在于,還包括 第二地址記錄單元和第二更新單元;所述第二地址記錄單元,用于記錄所述存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存放地址前的第N+1個(gè)存放地址;所述第二更新單元,用于當(dāng)所述第三覆蓋單元用所述地址信息覆蓋所述 存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的前一個(gè)存放地址中的規(guī)則,更新所述第二地址記錄單元記錄的所述存儲(chǔ)時(shí)間最短的規(guī)則對(duì)應(yīng)的存放地址前的第N+1個(gè)存放地址。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了規(guī)則老化的維護(hù)方法及設(shè)備,應(yīng)用于通信技術(shù)領(lǐng)域。本發(fā)明實(shí)施例中,規(guī)則老化的維護(hù)方法是接收到新的報(bào)文后,將報(bào)文中的包括地址信息與TCAM規(guī)則存儲(chǔ)空間中的規(guī)則進(jìn)行匹配,如果規(guī)則存儲(chǔ)空間中的規(guī)則沒(méi)有包含該地址信息,且確定規(guī)則存儲(chǔ)空間已滿,則用該地址信息覆蓋存儲(chǔ)時(shí)間最長(zhǎng)的規(guī)則,和現(xiàn)有技術(shù)中采用接收FIN包刪除相應(yīng)的規(guī)則,從而對(duì)規(guī)則老化的維護(hù)相比,本發(fā)明實(shí)施例中,只要規(guī)則存儲(chǔ)空間已滿,就用新的規(guī)則來(lái)覆蓋最老的規(guī)則,不會(huì)出現(xiàn)有些規(guī)則永不刪除的情況,減少了有效資源的浪費(fèi)和規(guī)則垃圾碎片的堆積,且維護(hù)過(guò)程比較簡(jiǎn)單,減少資源的消耗。
文檔編號(hào)H04L29/06GK101651693SQ20091017297
公開(kāi)日2010年2月17日 申請(qǐng)日期2009年9月15日 優(yōu)先權(quán)日2009年9月15日
發(fā)明者李國(guó)峰 申請(qǐng)人:成都市華為賽門鐵克科技有限公司