一種應(yīng)用于過(guò)濾分流設(shè)備的規(guī)則庫(kù)管理模塊的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種過(guò)濾分流設(shè)備,特別涉及一種過(guò)濾分流設(shè)備的規(guī)則庫(kù)管理模塊。
【背景技術(shù)】
[0002]目前市面上存在很多過(guò)濾分流類型的設(shè)備,這些設(shè)備通常都會(huì)涉及到規(guī)則庫(kù)的應(yīng)用,規(guī)則正是實(shí)現(xiàn)過(guò)濾分流的依據(jù)。隨著規(guī)則數(shù)目的不斷激增,規(guī)則庫(kù)的管理變得越來(lái)越重要。規(guī)則的插入、刪除、更新效率、存儲(chǔ)規(guī)則庫(kù)所占用的系統(tǒng)資源,都影響著設(shè)備最終的性能,大多數(shù)設(shè)備由于很難找到一種性價(jià)比最好的規(guī)則庫(kù)管理模塊,不惜以提升硬件設(shè)備的代價(jià),如采用交換芯片、多核處理器等,來(lái)?yè)Q取過(guò)濾分流性能的提升。
【發(fā)明內(nèi)容】
[0003]鑒于現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提供一種規(guī)則庫(kù)管理模塊,在不增加硬件成本的前提下,還能有效的提升過(guò)濾分流的性能,具體技術(shù)方案是,一種應(yīng)用于過(guò)濾分流設(shè)備的規(guī)則庫(kù)管理模塊,由PC機(jī)、FPGA芯片、TCAM芯片組成,其特征在于:規(guī)則庫(kù)管理模塊位于PC機(jī)端,F(xiàn)PGA芯片和TCAM芯片位于分流設(shè)備端,其中PC機(jī)與FPGA芯片采用網(wǎng)口連接,F(xiàn)PGA芯片與TCAM芯片采用并口連接,PC機(jī)通過(guò)網(wǎng)口向FPGA芯片配置規(guī)則數(shù)據(jù),F(xiàn)PGA芯片收到規(guī)則數(shù)據(jù)后,再通過(guò)并口向TCAM芯片進(jìn)行規(guī)則配置,最終成功配置的規(guī)則會(huì)存儲(chǔ)在TCAM芯片中,而PC機(jī)端的規(guī)則庫(kù)管理模塊也會(huì)存儲(chǔ)成功配置的規(guī)則。
[0004]過(guò)濾分流設(shè)備的規(guī)則包括插入規(guī)則、刪除規(guī)則,各規(guī)則的實(shí)現(xiàn)方法包括以下步驟:
1、插入規(guī)則步驟,步驟一、位于PC機(jī)端的規(guī)則庫(kù)管理模塊對(duì)原始規(guī)則進(jìn)行判斷是否是精確規(guī)則,是,直接將原始規(guī)則轉(zhuǎn)化為用戶規(guī)則表;否,則進(jìn)行裂變處理、去冗余處理,最終生成η條規(guī)則(n=l或η>1),并形成用戶規(guī)則表;步驟二、規(guī)則庫(kù)管理模塊對(duì)用戶規(guī)則表進(jìn)行處理,通過(guò)與互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表的各子項(xiàng)進(jìn)行比對(duì),發(fā)生沖突,直接給出錯(cuò)返回信息,然后,轉(zhuǎn)步驟四,未發(fā)生沖突,則按照實(shí)際處理結(jié)果,更新互斥規(guī)則表、空閑TCAM地址表和TCAM規(guī)則表,使互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表包括了該用戶規(guī)則表;步驟三、將更新的原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表的內(nèi)容,存儲(chǔ)到規(guī)則庫(kù)管理模塊對(duì)應(yīng)的ini文件中,完成規(guī)則管理模塊的信息存儲(chǔ);步驟四、處理完成,返回;2、刪除規(guī)則步驟,步驟一、用戶向規(guī)則庫(kù)管理模塊輸入要?jiǎng)h除的原始規(guī)則的ID,通過(guò)查詢?cè)家?guī)則表,找到該規(guī)則在互斥規(guī)則表的具體位置,轉(zhuǎn)到互斥規(guī)則表;步驟二、進(jìn)入互斥規(guī)則表,找到該原始規(guī)則對(duì)應(yīng)的具體信息,包括該原始規(guī)則經(jīng)處理后變成幾條子規(guī)則,各子規(guī)則存儲(chǔ)在TCAM規(guī)則表的具體位置;步驟三、進(jìn)入TCAM規(guī)則表,找到該原始規(guī)則對(duì)應(yīng)的具體信息,包括規(guī)則ID和子規(guī)則ID,如果該條TCAM規(guī)則只涉及這1條原始規(guī)則,直接將其刪除,如果該條TCAM規(guī)則還涉及其他原始規(guī)則,則只在規(guī)則ID和子規(guī)則ID信息中,去掉該條原始規(guī)則部分;步驟四、更新原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表,使原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表不再包括用戶要求刪除的原始規(guī)則;步驟五、將更新后的原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表的內(nèi)容,存儲(chǔ)到對(duì)應(yīng)的ini文件中,完成規(guī)則管理模塊的信息存儲(chǔ)。步驟六、處理完成,返回。
[0005]本發(fā)明的技術(shù)效果是,實(shí)現(xiàn)了一種適用于中小型過(guò)濾分流設(shè)備的規(guī)則庫(kù)管理模塊,其不增加硬件成本,巧妙簡(jiǎn)潔的實(shí)現(xiàn)過(guò)濾分流中規(guī)則庫(kù)的管理,并且占用系統(tǒng)資源少,實(shí)現(xiàn)簡(jiǎn)練,性能尚效。
【附圖說(shuō)明】
[0006]圖1是本發(fā)明的模塊連接圖。
[0007]圖2是本發(fā)明的規(guī)則庫(kù)管理模塊插入規(guī)則流程圖。
[0008]圖3是本發(fā)明的規(guī)則庫(kù)管理模塊刪除規(guī)則流程圖。
【具體實(shí)施方式】
[0009]以下結(jié)合實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明:
一種Ρ0Ν相關(guān)的某過(guò)濾分流設(shè)備,該設(shè)備硬件上采用Xilinx的FPGA芯片和NetLogic的TCAM芯片,二者通信接口為并口,PC端安裝本規(guī)則庫(kù)管理模塊,與Ρ0Ν過(guò)濾分流設(shè)備的通信接口為網(wǎng)口,該設(shè)備主要用于IP五元組類型的過(guò)濾分流,IP五元組是指由源IP地址、目的IP地址、源端口號(hào)、目的端口號(hào)、協(xié)議類型等5個(gè)字段組成的IP數(shù)據(jù)包,對(duì)于符合過(guò)濾規(guī)則的數(shù)據(jù)包,設(shè)備進(jìn)行通過(guò)處理,對(duì)于不符合過(guò)濾規(guī)則的數(shù)據(jù)包,設(shè)備進(jìn)行丟棄處理。
[0010]本規(guī)則庫(kù)管理模塊主要是通過(guò)5個(gè)鏈表實(shí)現(xiàn)規(guī)則庫(kù)的管理,具體為:原始規(guī)則表、用戶規(guī)則表、互斥規(guī)則表、TCAM規(guī)則表、空閑TCAM地址表,其中,原始規(guī)則表每項(xiàng)存儲(chǔ)1條用戶輸入的原始規(guī)則,它是原始規(guī)則的合集。用戶規(guī)則表用于存儲(chǔ)1條原始規(guī)則經(jīng)過(guò)處理后的規(guī)則,由于原始規(guī)則可能是范圍規(guī)則或字段模糊規(guī)則,因此用戶規(guī)則的作用就是將含有通配符的原始規(guī)則處理成不含通配符的1條或多條規(guī)則?;コ庖?guī)則表每項(xiàng)存儲(chǔ)1條用戶規(guī)則,它是用戶規(guī)則的合集。TCAM規(guī)則表每項(xiàng)存儲(chǔ)1條TCAM規(guī)則,它是TCAM規(guī)則的合集??臻eTCAM地址表每項(xiàng)存儲(chǔ)1個(gè)TCAM地址的空閑或占用狀態(tài),它是TCAM地址狀態(tài)的合集。通過(guò)對(duì)這5個(gè)鏈表的關(guān)聯(lián)處理,實(shí)現(xiàn)一個(gè)簡(jiǎn)潔而高效的規(guī)則庫(kù)管理模塊。
[0011]插入1條新的原始規(guī)則,具體做法是:
1.位于PC機(jī)端的規(guī)則庫(kù)管理模塊對(duì)原始規(guī)則進(jìn)行判斷是否是精確規(guī)則,該條ID值為2的原始規(guī)則是精確規(guī)則,直接將原始規(guī)則轉(zhuǎn)化為用戶規(guī)則表;
2.對(duì)1中生成的用戶規(guī)則表進(jìn)行處理,通過(guò)與現(xiàn)有互斥規(guī)則表、TCAM規(guī)則表、空閑TCAM地址表的各子項(xiàng)進(jìn)行比對(duì),完成沖突、包含、交集等關(guān)聯(lián)的處理。我們發(fā)現(xiàn),1中生成的用戶規(guī)則與現(xiàn)有規(guī)則庫(kù),可以進(jìn)行合并,因?yàn)镮D值為1的原始規(guī)則的源IP地址為192.168.1.1,ID值為2的原始規(guī)則源IP地址為192.168.1.3,正是因?yàn)檠诖a的作用,可以將源IP地址的bitl位進(jìn)行不關(guān)注設(shè)置。合并完成后,更新
互斥規(guī)則表、空閑TCAM地址表和TCAM規(guī)則表;
3.將原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表的內(nèi)容,存儲(chǔ)到對(duì)應(yīng)的ini文件中,完成規(guī)則管理模塊的信息存儲(chǔ)。
[0012]這樣,凡是符合RuleID=l或RuleID=2的原始規(guī)則的數(shù)據(jù)包,在通過(guò)Ρ0Ν設(shè)備時(shí),都會(huì)進(jìn)行通過(guò)處理。
[0013]刪除1條原始規(guī)則,具體做法是: 1.位于PC機(jī)端的規(guī)則庫(kù)管理模塊,接收到用戶要?jiǎng)h除的原始規(guī)則的ID為2,通過(guò)查詢?cè)家?guī)則表,轉(zhuǎn)到互斥規(guī)則表。
[0014]2.在互斥規(guī)則表中,找到ID為2的原始規(guī)則在TCAM規(guī)則表的具體位置,轉(zhuǎn)到TCAM規(guī)則表。進(jìn)入到TCAM規(guī)則表,找到ID為2的原始規(guī)則所對(duì)應(yīng)的TCAM規(guī)則,經(jīng)判斷確定該TCAM規(guī)則只涉及ID為2的原始規(guī)則,直接刪除該條TCAM規(guī)則。并更新互斥規(guī)則表、空閑TCAM地址表和TCAM規(guī)則表。
[0015]3.將原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表的內(nèi)容,存儲(chǔ)到對(duì)應(yīng)的ini文件中,完成規(guī)則管理模塊的信息存儲(chǔ)。
[0016]這樣,凡是符合RuleID=2的原始規(guī)則的數(shù)據(jù)包,在通過(guò)Ρ0Ν設(shè)備時(shí),設(shè)備將不會(huì)進(jìn)行通過(guò)處理。
[0017]該規(guī)則庫(kù)管理模塊應(yīng)用在Ρ0Ν相關(guān)的過(guò)濾分流設(shè)備中,該分流設(shè)備支持的原始規(guī)則在10萬(wàn)條左右。實(shí)際使用中,規(guī)則庫(kù)的插入、刪除都很快速,并且規(guī)則庫(kù)的存儲(chǔ)也只有幾十兆,對(duì)系統(tǒng)資源的占用率很小,并且節(jié)約了硬件成本,應(yīng)用效果良好。
【主權(quán)項(xiàng)】
1.一種應(yīng)用于過(guò)濾分流設(shè)備的規(guī)則庫(kù)管理模塊,由PC機(jī)、FPGA芯片、TCAM芯片組成,其特征在于:規(guī)則庫(kù)管理模塊位于PC機(jī)端,F(xiàn)PGA芯片和TCAM芯片位于分流設(shè)備端,其中PC機(jī)與FPGA芯片采用網(wǎng)口連接,F(xiàn)PGA芯片與TCAM芯片采用并口連接,PC機(jī)通過(guò)網(wǎng)口向FPGA芯片配置規(guī)則數(shù)據(jù),F(xiàn)PGA芯片收到規(guī)則數(shù)據(jù)后,再通過(guò)并口向TCAM芯片進(jìn)行規(guī)則配置,最終成功配置的規(guī)則會(huì)存儲(chǔ)在TCAM芯片中,而PC機(jī)端的規(guī)則庫(kù)管理模塊也會(huì)存儲(chǔ)成功配置的規(guī)則。2.—種過(guò)濾分流設(shè)備的規(guī)則庫(kù)管理實(shí)現(xiàn)方法,其特征在于:過(guò)濾分流設(shè)備的規(guī)則包括插入規(guī)則、刪除規(guī)則,各規(guī)則的實(shí)現(xiàn)方法包括以下步驟: 1、插入規(guī)則步驟 步驟一、位于PC機(jī)端的規(guī)則庫(kù)管理模塊對(duì)原始規(guī)則進(jìn)行判斷是否是精確規(guī)則,是,直接將原始規(guī)則轉(zhuǎn)化為用戶規(guī)則表;否,則進(jìn)行裂變處理、去冗余處理,最終生成η條規(guī)則(η=1或η>1),并形成用戶規(guī)則表; 步驟二、規(guī)則庫(kù)管理模塊對(duì)用戶規(guī)則表進(jìn)行處理,通過(guò)與互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表的各子項(xiàng)進(jìn)行比對(duì),發(fā)生沖突,直接給出錯(cuò)返回信息,然后,轉(zhuǎn)步驟四,未發(fā)生沖突,則按照實(shí)際處理結(jié)果,更新互斥規(guī)則表、空閑TCAM地址表和TCAM規(guī)則表,使互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表包括了該用戶規(guī)則表; 步驟三、將更新的原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表的內(nèi)容,存儲(chǔ)到規(guī)則庫(kù)管理模塊對(duì)應(yīng)的ini文件中,完成規(guī)則管理模塊的信息存儲(chǔ); 步驟四、處理完成,返回; 2、刪除規(guī)則步驟 步驟一、用戶向規(guī)則庫(kù)管理模塊輸入要?jiǎng)h除的原始規(guī)則的ID,通過(guò)查詢?cè)家?guī)則表,找到該規(guī)則在互斥規(guī)則表的具體位置,轉(zhuǎn)到互斥規(guī)則表; 步驟二、進(jìn)入互斥規(guī)則表,找到該原始規(guī)則對(duì)應(yīng)的具體信息,包括該原始規(guī)則經(jīng)處理后變成幾條子規(guī)則,各子規(guī)則存儲(chǔ)在TCAM規(guī)則表的具體位置; 步驟三、進(jìn)入TCAM規(guī)則表,找到該原始規(guī)則對(duì)應(yīng)的具體信息,包括規(guī)則ID和子規(guī)則ID,如果該條TCAM規(guī)則只涉及這1條原始規(guī)則,直接將其刪除,如果該條TCAM規(guī)則還涉及其他原始規(guī)則,則只在規(guī)則ID和子規(guī)則ID信息中,去掉該條原始規(guī)則部分; 步驟四、更新原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表,使原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表不再包括用戶要求刪除的原始規(guī)則; 步驟五、將更新后的原始規(guī)則表、互斥規(guī)則表、空閑TCAM地址表、TCAM規(guī)則表的內(nèi)容,存儲(chǔ)到對(duì)應(yīng)的ini文件中,完成規(guī)則管理模塊的信息存儲(chǔ); 步驟六、處理完成,返回。
【專利摘要】本發(fā)明涉及一種過(guò)濾分流設(shè)備的規(guī)則庫(kù)管理模塊,由PC機(jī)、FPGA芯片、TCAM芯片組成,規(guī)則庫(kù)管理模塊位于PC機(jī)端,F(xiàn)PGA芯片和TCAM芯片位于分流設(shè)備端,其中PC機(jī)與FPGA芯片采用網(wǎng)口連接,F(xiàn)PGA芯片與TCAM芯片采用并口連接,PC機(jī)通過(guò)網(wǎng)口向FPGA芯片配置規(guī)則數(shù)據(jù),F(xiàn)PGA芯片收到規(guī)則數(shù)據(jù)后,再通過(guò)并口向TCAM芯片進(jìn)行規(guī)則配置,最終成功配置的規(guī)則會(huì)存儲(chǔ)在TCAM芯片中,而PC機(jī)端的規(guī)則庫(kù)管理模塊也會(huì)存儲(chǔ)成功配置的規(guī)則,技術(shù)效果是,實(shí)現(xiàn)了一種適用于中小型過(guò)濾分流設(shè)備的規(guī)則庫(kù)管理模塊,其不增加硬件成本,巧妙簡(jiǎn)潔的實(shí)現(xiàn)過(guò)濾分流中規(guī)則庫(kù)的管理,并且占用系統(tǒng)資源少,實(shí)現(xiàn)簡(jiǎn)練,性能高效。
【IPC分類】H04L29/06
【公開(kāi)號(hào)】CN105376241
【申請(qǐng)?zhí)枴緾N201510840443
【發(fā)明人】楊曉波, 劉佳, 郝書(shū)寧, 錢(qián)瑞杰, 陳偉峰, 梁秀芹, 李響, 張亞望, 孟祥坤, 陳 光
【申請(qǐng)人】天津光電通信技術(shù)有限公司
【公開(kāi)日】2016年3月2日
【申請(qǐng)日】2015年11月27日