專利名稱:IPsec協(xié)議下標(biāo)準(zhǔn)方式ACL規(guī)則的一種管理機(jī)制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IPsec協(xié)議下標(biāo)準(zhǔn)方式ACL規(guī)則的一種處理機(jī)制,一種基于ニ叉樹和雙向鏈表的數(shù)據(jù)結(jié)構(gòu),支持任意地址范圍、重疊地址范圍、多級(jí)地址范圍ACL規(guī)則的増加、刪除與查找操作。
背景技術(shù):
隨著現(xiàn)代信息技術(shù)的高速發(fā)展,網(wǎng)絡(luò)已經(jīng)普及到社會(huì)的各個(gè)方面,但是網(wǎng)絡(luò)在提供開放和共享資源的同時(shí),也不可避免的存在著安全隱患。如何確保信息系統(tǒng)安全,有效地保障機(jī)密信息在網(wǎng)絡(luò)中安全傳輸,已經(jīng)成為人們?nèi)找骊P(guān)注的焦點(diǎn)。本發(fā)明涉及的IPSeC(IPSecurity)協(xié)議依據(jù)密碼技術(shù)提供的認(rèn)證和加密機(jī)制,是ー個(gè)應(yīng)用廣泛的三層安全協(xié)議。IPsec協(xié)議中的安全聯(lián)盟(Security Associations, SA)是為安全目的創(chuàng)建的一個(gè)單向邏輯鏈接,即針對一條特定的數(shù)據(jù)流,SA既記錄該數(shù)據(jù)流的特點(diǎn)(如地址信息、端ロ信息、上層協(xié)議等),也記錄對該數(shù)據(jù)流進(jìn)行安全處理的策略、算法和數(shù)據(jù),所有經(jīng)過相同SA的數(shù)據(jù)流會(huì)得到相同的安全保護(hù)。訪問控制列表(Access Control List, ACL)是Cisco公司為網(wǎng)際操作系統(tǒng)提供的一種訪問控制技木。ACL使用包過濾技術(shù),在路由器上讀取第三層和第四層包頭中源地址、目的地址、源端ロ、目的端ロ、協(xié)議號(hào)等信息,根據(jù)預(yù)先定義的規(guī)則對包進(jìn)行過濾,從而達(dá)到訪問控制的目的。IPsec協(xié)議中的ACL規(guī)則僅通過地址信息對IP包進(jìn)行過濾,具體而言,IPsec協(xié)議中的ACL規(guī)則定義了允許/阻止對系統(tǒng)進(jìn)行訪問的源/目的地址信息。在實(shí)際應(yīng)用中,ー個(gè)ACL下可以定義多條不同的ACL規(guī)則,用于管理不同數(shù)據(jù)流,此外,ー個(gè)ACL有標(biāo)準(zhǔn)、聚合、主機(jī)三種定義方式,在實(shí)際配置中,對于主機(jī)方式的ACL,安全系統(tǒng)針對每個(gè)具體的源地址/目的地址生成SA ;對于聚合方式的ACL,安全系統(tǒng)只生成ー個(gè)SA,該SA保護(hù)組內(nèi)所有數(shù)據(jù)流;對于標(biāo)準(zhǔn)方式的ACL,安全系統(tǒng)生成對應(yīng)每個(gè)ACL的規(guī)則,即每條數(shù)據(jù)流生成ー個(gè)SA。在處理IP報(bào)文時(shí),IPsec協(xié)議根據(jù)該報(bào)文的地址信息查找屬于哪個(gè)ACL規(guī)則,從而確定與該數(shù)據(jù)流對應(yīng)的SA,以便對IP報(bào)文進(jìn)行安全處理,封裝發(fā)送。因此,如何通過IP報(bào)文中的地址信息找到與之匹配的ACL規(guī)則是IPsec協(xié)議實(shí)現(xiàn)的關(guān)鍵之一,其核心是標(biāo)準(zhǔn)方式ACL規(guī)則的查找,因?yàn)闃?biāo)準(zhǔn)方式ACL是ー個(gè)規(guī)則對應(yīng)ー個(gè)SA,即一條數(shù)據(jù)流對應(yīng)ー個(gè)SA,而數(shù)據(jù)流的源地址和目的地址位于一個(gè)范圍內(nèi),例如rule I permit ip source192. 128. 64. 23-192. 128. 64. 79 destination 192. 128. 65. 23-192. 128. 65. 79。針對標(biāo)準(zhǔn)方式ACL規(guī)則管理的常用方法是采用Radix樹,其優(yōu)點(diǎn)是性能較好,Radix樹的擴(kuò)大對性能影響較小,內(nèi)存占用較少,添加/刪除節(jié)點(diǎn)方便,但是Radix樹只支持子網(wǎng)掩碼方式的地址范圍查找,不能用于標(biāo)準(zhǔn)方式ACL規(guī)則中任意地址范圍的查找。針對任意地址范圍查找,通常采用HIPACK方法,其基本原理是根據(jù)各條規(guī)則的地址范圍將整個(gè)地址范圍分段,既滿足源地址范圍,又滿足目的地址范圍的規(guī)則即為所求規(guī)則。該方法的優(yōu)點(diǎn)是性能穩(wěn)定,一般采用折半查找方式定位范圍;能滿足任意地址范圍查找,支持多級(jí)查找,但HIPACK方法內(nèi)存占用高;多級(jí)查找時(shí),優(yōu)先級(jí)難以確定;添加/刪除操作復(fù)雜、效率低,甚至可能需要重構(gòu)整個(gè)范圍表。
發(fā)明內(nèi)容
鑒于常用標(biāo)準(zhǔn)方式ACL規(guī)則管理方法存在的不足,本發(fā)明的目的是設(shè)計(jì)一種數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)支持具有任意地址范圍、重疊地址范圍、多級(jí)地址范圍(IPsec協(xié)議標(biāo)準(zhǔn)方式ACL規(guī)則是兩級(jí))的ACL規(guī)則的添加、查找與刪除操作,能有效解決IPsec協(xié)議中標(biāo)準(zhǔn)方式ACL規(guī)則的管理問題。為了實(shí)現(xiàn)上述目的,本發(fā)明針對一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則,采用以下步驟進(jìn)行處理 步驟一、確定標(biāo)準(zhǔn)方式ACL規(guī)則中地址范圍的段落碼和段內(nèi)碼設(shè)一個(gè)地址范圍為
W至V,將W和V中首個(gè)值不等的比特之前的部分定義為地址范圍的段落碼,剩余部分定義為地址范圍的段內(nèi)碼;一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則包括源地址范圍和目的地址范圍,按照 上述定義分別確定源地址范圍段落碼和段內(nèi)碼以及目的地址范圍段落碼和段內(nèi)碼;對于特定地址范圍,其段落碼是一固定值(也可能為零),段內(nèi)碼是一個(gè)范圍,例如地址范圍192. 128. 64. 23-192. 128. 64. 79,其段落碼和段內(nèi)碼如圖I所示。步驟二、確定標(biāo)準(zhǔn)方式ACL規(guī)則的規(guī)則索引將標(biāo)準(zhǔn)方式ACL規(guī)則的規(guī)則索引分為源地址范圍規(guī)則索引和目的地址范圍規(guī)則索引,定義為RuleIndex= Type+RuleNumber,其中Rulelndex為規(guī)則索引;Type用于區(qū)分該規(guī)則索引的類型,Type=OO表示源地址范圍類型,Type=Ol表明目的地址范圍類型;RuleNumber為該規(guī)則索引的規(guī)則號(hào)。為了實(shí)現(xiàn)上述目的,本發(fā)明設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)的特征在于數(shù)據(jù)結(jié)構(gòu)由二叉樹、段內(nèi)碼鏈表和規(guī)則索引數(shù)組組成,段內(nèi)碼鏈表掛接在二叉樹節(jié)點(diǎn)上,規(guī)則索引數(shù)組掛接在段內(nèi)碼節(jié)點(diǎn)上,如圖2所示,二叉樹節(jié)點(diǎn)上的數(shù)字表示節(jié)點(diǎn)的深度。二叉樹節(jié)點(diǎn)分為內(nèi)部節(jié)點(diǎn)和外部節(jié)點(diǎn),其區(qū)別在于外部節(jié)點(diǎn)指向下一級(jí)節(jié)點(diǎn)的子樹指針為空。二叉樹節(jié)點(diǎn)的數(shù)據(jù)字段中有指向其父節(jié)點(diǎn)的指針gz_parent,指向左子樹的指針gz_L,指向右子樹的指針gz_R,指示在該節(jié)點(diǎn)處的比特測試位的gz_bit,還有指向段內(nèi)碼鏈表的指針gz_dnmlist。在標(biāo)準(zhǔn)方式ACL規(guī)則的添加、查找、刪除過程中,二叉樹節(jié)點(diǎn)作為一個(gè)路徑節(jié)點(diǎn)存在。從二叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷節(jié)點(diǎn)中指示的比特測試位gz_bit進(jìn)行測試,由源地址范圍段落碼在該比特測試位的取值是I還是O確定是繼續(xù)往右還是繼續(xù)往左遍歷,直到段落碼的最后一個(gè)比特。數(shù)據(jù)結(jié)構(gòu)中段內(nèi)碼節(jié)點(diǎn)記錄了地址范圍的段內(nèi)碼信息。由IP地址的特點(diǎn)可知,不同地址范圍段落碼可能相同,例如192. 128. 64. 23-192. 128. 64. 79和192. 128. 64. 27-192. 128. 64. 76,其段落碼都為 11000000 10000000 01000000 O。對于這種情況,我們利用同一個(gè)二叉樹節(jié)點(diǎn)下掛的不同段內(nèi)碼節(jié)點(diǎn)區(qū)分,對于上述的兩個(gè)地址范圍,雖然其段落碼相同,但段內(nèi)碼分別為0010111-1001111和0011011-1001100,在段內(nèi)碼鏈表中對應(yīng)于兩個(gè)不同節(jié)點(diǎn)。因此,通過一個(gè)二叉樹節(jié)點(diǎn)和該節(jié)點(diǎn)下掛的一個(gè)段內(nèi)碼節(jié)點(diǎn)可以唯一確定一個(gè)地址范圍。數(shù)據(jù)結(jié)構(gòu)中規(guī)則索引數(shù)組記錄了規(guī)則的規(guī)則索引。在標(biāo)準(zhǔn)方式ACL規(guī)則中,一個(gè)規(guī)則包括了源地址范圍和目的地址范圍,可能出現(xiàn)不同規(guī)則的源地址范圍和目的地址范圍相同的情況,此時(shí),我們通過同一個(gè)段內(nèi)碼節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中的不同規(guī)則索引進(jìn)行區(qū)分,即同一個(gè)段內(nèi)碼節(jié)點(diǎn)下的規(guī)則索引數(shù)組記錄了具有相同地址范圍信息的不同規(guī)則索弓丨,例如Rule I permit IP source 192. 128. 64. 23-192. 128. 64. 79destination 195. 128.64. 27-195. 128.64. 76,Rule 21 permit IP source192. 128. 64. 23-192. 128. 64. 79 destination 193. 129. 68. 27-193. 129. 68. 79,Rule 34 permit IP source 194. 139.78. 27-194. 139. 78. 79 destination192. 128. 64. 23-192. 128. 64. 79三個(gè)規(guī)則中,規(guī)則I的源地址范圍、規(guī)則21的源地址范圍、規(guī)則34的目的地址范圍均為192. 128. 64. 23-192. 128. 64. 79,其規(guī)則索引分別為00000001,00010101,01100010,三個(gè)規(guī)則索引記錄在同一個(gè)段內(nèi)碼節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中,如圖3所示。標(biāo)準(zhǔn)方式ACL規(guī)則的添加包括以下步驟
51、提取標(biāo)準(zhǔn)方式ACL規(guī)則中源地址范圍的段落碼、段內(nèi)碼、規(guī)則索引;
52、確定源地址范圍段內(nèi)碼節(jié)點(diǎn)在ニ叉樹中的位置從ニ叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷 節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由段落碼在該比特測試位的取值是I還是O確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到段落碼的最后一個(gè)比特,這條自上而下的遍歷路徑由段落碼決定,遍歷路徑上最后ー個(gè)ニ叉樹節(jié)點(diǎn)即為該段落碼確定的段內(nèi)碼節(jié)點(diǎn)在ニ叉樹中的位置;在遍歷過程中,若根據(jù)段落碼某個(gè)比特指示的子樹節(jié)點(diǎn)不存在,則需要添加該節(jié)點(diǎn);
53、寫入源地址范圍規(guī)則索引,包括以下步驟
531、判斷S2所確定的ニ叉樹節(jié)點(diǎn)下掛的段內(nèi)碼鏈表是否為空,若為空,則創(chuàng)建段內(nèi)碼為源地址范圍段內(nèi)碼的節(jié)點(diǎn)并掛接到ニ叉樹節(jié)點(diǎn)上,再將源地址范圍規(guī)則索引寫入該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組;
532、若段內(nèi)碼鏈表不為空,則遍歷該鏈表中的節(jié)點(diǎn),通過比較段內(nèi)碼判斷鏈表中是否已經(jīng)添加了段內(nèi)碼為該源地址范圍段內(nèi)碼的節(jié)點(diǎn),若沒有添加,則創(chuàng)建段內(nèi)碼為源地址范圍段內(nèi)碼的節(jié)點(diǎn),添加到鏈表,并將源地址范圍規(guī)則索引寫入其規(guī)則索引數(shù)組;
533、若段內(nèi)碼鏈表中已經(jīng)添加了段內(nèi)碼為該源地址范圍段內(nèi)碼的節(jié)點(diǎn),則需要比較規(guī)則索引值判斷新添加的源地址范圍規(guī)則索引是否已經(jīng)存在于該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中,若存在,屬于相同規(guī)則重復(fù)添加,不處理;若不存在,表示有地址范圍相同但規(guī)則索引不同的新規(guī)則加入,將該源地址范圍規(guī)則索引寫入規(guī)則索引數(shù)組;
54、以上過程將一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則的源地址范圍規(guī)則索引寫入數(shù)據(jù)結(jié)構(gòu),該規(guī)則的目的地址范圍規(guī)則索引的寫入過程與源地址范圍規(guī)則索引相同,兩個(gè)規(guī)則索引都寫入后該標(biāo)準(zhǔn)方式ACL規(guī)則的添加完成。標(biāo)準(zhǔn)方式ACL規(guī)則的查找包括以下步驟
SI、以源地址作為查找鍵進(jìn)行規(guī)則索引查找,由以下步驟組成
511、從ニ叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由源地址S在該比特測試位的取值是I還是O確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到到達(dá)根據(jù)源地址S的某個(gè)比特指示的子樹不存在的節(jié)點(diǎn)為止,用L表示這個(gè)自上而下的遍歷路徑;
512、設(shè)路徑L是通過源地址S的前η個(gè)比特決定的遍歷路徑,第I個(gè)節(jié)點(diǎn)到第i個(gè)節(jié)點(diǎn)的遍歷路徑為,,第i個(gè)ニ叉樹節(jié)點(diǎn)的高度為,令源地址S的前個(gè)比特為,其余個(gè)比特為,則對應(yīng)路徑;
513、對于路徑L上的第i個(gè)節(jié)點(diǎn),首先判斷該節(jié)點(diǎn)下掛的段內(nèi)碼鏈表是否為空,若為空,則沿著路徑L繼續(xù)向下,若不為空,遍歷該段內(nèi)碼鏈表的全部節(jié)點(diǎn),判斷源地址S的部分是否包含在節(jié)點(diǎn)的段內(nèi)碼中,若該段內(nèi)碼鏈表中不存在包含的節(jié)點(diǎn),則沿著路徑L繼續(xù)向下,若存在包含的節(jié)點(diǎn),則將這些節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中源地址范圍類型的規(guī)則索引歸入規(guī)則索引集A中,規(guī)則索引集A記錄了路徑L上所有滿足源地址S的規(guī)則索引;
52、以目的地址作為查找鍵的規(guī)則索引查找與以源地址作為查找鍵的規(guī)則索引查找在同一顆二叉樹中進(jìn)行,過程相同,用B表示滿足目的地址D的規(guī)則索引集;
53、取規(guī)則索引集A和B的交集,得到既滿足源地址S又滿足目的地址D的規(guī)則C,即。標(biāo)準(zhǔn)方式ACL規(guī)則的刪除包括以下步驟
51、提取標(biāo)準(zhǔn)方式ACL規(guī)則中源地址范圍的段落碼、段內(nèi)碼、規(guī)則索引;
52、確定源地址范圍段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置從二叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷 節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由源地址范圍段落碼在該比特測試位的取值是I還是O確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到段落碼的最后一比特,這條自上而下的遍歷路徑由段落碼決定,遍歷路徑上最后一個(gè)二叉樹節(jié)點(diǎn)即為該段落碼確定的段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置;
53、刪除源地址范圍規(guī)則索引遍歷S2所確定的二叉樹節(jié)點(diǎn)下掛的鏈表中的段內(nèi)碼節(jié)點(diǎn)(段內(nèi)碼鏈表為空時(shí)不處理),判斷是否存在段內(nèi)碼和當(dāng)前待刪除的段內(nèi)碼相等的節(jié)點(diǎn),若不存在,直接返回,若存在,則通過比較規(guī)則索引值判斷該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中是否存在與當(dāng)前待刪除的規(guī)則索引相等的索引,若不存在,直接返回;若存在,將該規(guī)則索引從規(guī)則索引數(shù)組中刪除;
54、刪除無效的段內(nèi)碼節(jié)點(diǎn)或二叉樹節(jié)點(diǎn)規(guī)則索引被刪除后,若規(guī)則索引數(shù)組不為空,則直接返回,否則將掛接它的段內(nèi)碼節(jié)點(diǎn)刪除;段內(nèi)碼節(jié)點(diǎn)刪除后,判斷段內(nèi)碼鏈表是否為空,若不為空,直接返回;若為空,繼續(xù)判斷掛接該鏈表的二叉樹節(jié)點(diǎn)是否有子樹,若有,直接返回,若沒有,記錄該節(jié)點(diǎn)的父節(jié)點(diǎn),刪除該節(jié)點(diǎn),并將其父節(jié)點(diǎn)中指向該節(jié)點(diǎn)的指針字段置為空;二叉樹節(jié)點(diǎn)刪除后,再繼續(xù)對其父節(jié)點(diǎn)進(jìn)行相同的判斷和處理,這樣從源地址范圍規(guī)則索引所在的二叉樹節(jié)點(diǎn)自下而上刪除冗余的二叉樹節(jié)點(diǎn);
55、以上過程將一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則的源地址范圍規(guī)則索引從數(shù)據(jù)結(jié)構(gòu)中刪除,該規(guī)則的目的地址范圍規(guī)則索引的刪除過程與源地址范圍規(guī)則索引相同,兩個(gè)規(guī)則索引都刪除后該標(biāo)準(zhǔn)方式ACL規(guī)則的刪除完成。綜上所述,本發(fā)明的有益效果是
I、支持具有任意地址范圍規(guī)則的查找,支持具有重疊地址范圍規(guī)則的查找,支持具有多級(jí)地址范圍規(guī)則的查找,能有效解決IPsec協(xié)議中標(biāo)準(zhǔn)方式ACL規(guī)則的管理。2、數(shù)據(jù)結(jié)構(gòu)以二叉樹和雙向鏈表為基礎(chǔ),結(jié)構(gòu)簡單、應(yīng)用廣泛,規(guī)則的添加、刪除和查找操作方便;內(nèi)存占用與規(guī)則數(shù)有關(guān),資源消耗較少;二叉樹規(guī)模的擴(kuò)大對性能影響非常小,段內(nèi)碼鏈表和規(guī)則索引數(shù)組對性能的影響小。
本發(fā)明將通過例子并參照附圖的方式說明,其中
圖I是本發(fā)明中地址范圍段落碼和段內(nèi)碼劃分;
圖2是本發(fā)明中數(shù)據(jù)結(jié)構(gòu)的模型;圖3是本發(fā)明數(shù)據(jù)結(jié)構(gòu)中同一段內(nèi)碼節(jié)點(diǎn)下記錄多個(gè)規(guī)則索引;
圖4是本發(fā)明中標(biāo)準(zhǔn)方式ACL規(guī)則的添加流程 圖5是本發(fā)明中通過段落碼確定ニ叉樹節(jié)點(diǎn)的遍歷路徑;
圖6是本發(fā)明中將規(guī)則索引寫入特定段內(nèi)碼節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組;
圖7是本發(fā)明中查找滿足源地址的規(guī)則索引集A的流程 圖8是本發(fā)明中通過源地址查找規(guī)則索引集的遍歷路徑;
圖9是本發(fā)明中查找規(guī)則索引集A的遍歷路徑上段內(nèi)碼節(jié)點(diǎn)及其下掛的規(guī)則索引數(shù)組 中的信息;
圖10是本發(fā)明中標(biāo)準(zhǔn)方式ACL規(guī)則的刪除流程圖。
具體實(shí)施例方式本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是ー系列等效或類似特征中的ー個(gè)例子而已。 IPsec協(xié)議下標(biāo)準(zhǔn)方式ACL規(guī)則的ー種管理機(jī)制,其特征在于對ー個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則,首先采用以下步驟處理
步驟一、確定規(guī)則中地址范圍的段落碼和段內(nèi)碼設(shè)ー個(gè)地址范圍為W至V,將W和V中首個(gè)值不等的比特之前的部分定義為地址范圍的段落碼,剰余部分定義為地址范圍的段內(nèi)碼;一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則包括源地址范圍和目的地址范圍,按照上述定義分別確定源地址范圍段落碼和段內(nèi)碼以及目的地址范圍段落碼和段內(nèi)碼;
步驟ニ、確定規(guī)則的規(guī)則索引將標(biāo)準(zhǔn)方式ACL規(guī)則的規(guī)則索引分為源地址范圍規(guī)則索引和目的地址范圍規(guī)則索引,定義為RuleIndex= Type+RuleNumber,其中RuleIndex為規(guī)則索引;Type用于區(qū)分該規(guī)則索引的類型,Type=OO表示源地址范圍類型,Type=Ol表示目的地址范圍類型;RuleNumber為該規(guī)則索引的規(guī)則號(hào)。IPsec協(xié)議下標(biāo)準(zhǔn)方式ACL規(guī)則的ー種管理機(jī)制涉及的數(shù)據(jù)結(jié)構(gòu)具有以下特征數(shù)據(jù)結(jié)構(gòu)由ニ叉樹、段內(nèi)碼鏈表和規(guī)則索引數(shù)組組成,段內(nèi)碼鏈表掛接在ニ叉樹節(jié)點(diǎn)上,規(guī)則索引數(shù)組掛接在段內(nèi)碼節(jié)點(diǎn)上;在ニ叉樹中,每個(gè)節(jié)點(diǎn)的數(shù)據(jù)字段既有指向下級(jí)節(jié)點(diǎn)的子樹指針、指向上級(jí)節(jié)點(diǎn)的父指針,也有指向段內(nèi)碼鏈表的指針;在段內(nèi)碼鏈表中,節(jié)點(diǎn)記錄了某個(gè)地址范圍的段內(nèi)碼信息,并且下掛有滿足這個(gè)段內(nèi)碼節(jié)點(diǎn)的規(guī)則索引數(shù)組;規(guī)則索引數(shù)組記錄了標(biāo)準(zhǔn)方式ACL規(guī)則的規(guī)則索引?;谏鲜鰧?biāo)準(zhǔn)方式ACL規(guī)則的處理以及數(shù)據(jù)結(jié)構(gòu)的特征,以rule I permit IPsource 192. 128. 64. 23-192. 128. 64. 79 destination 192. 128. 65. 23-192. 128. 65. 79 為例,規(guī)則的添加流程如圖4所示,主要包括以下步驟
51、計(jì)算ACL規(guī)則中源地址范圍的段落碼、段內(nèi)碼、規(guī)則索弓I:源地址范圍192. 128. 64. 23-192. 128. 64. 79 的段落碼為 11000000 10000000 01000000 0,段內(nèi)碼為0010111-1001111,規(guī)則索引為 00000001 ;
52、確定源地址范圍段內(nèi)碼節(jié)點(diǎn)在ニ叉樹中的位置從ニ叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由源地址范圍段落碼在該比特測試位的取值是I還是O確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到段落碼的最后一個(gè)比特,這個(gè)自上向下的遍歷路徑由段落碼決定,該遍歷路徑上最后ー個(gè)ニ叉樹節(jié)點(diǎn)即為段內(nèi)碼節(jié)點(diǎn)在ニ叉樹中的位置;在遍歷過程中,若根據(jù)段落碼某個(gè)比特指示的子樹節(jié)點(diǎn)不存在,則需要添加該節(jié)點(diǎn);如圖5所示,段落碼11000000 10000000 01000000 O將段內(nèi)碼節(jié)點(diǎn)在ニ叉樹中的位置定位于節(jié)點(diǎn)25,節(jié)點(diǎn)25在ニ叉樹中的深度為25,深度值等于段落碼長度;
53、寫入源地址范圍規(guī)則索引,包括以下步驟
531、判斷S2所確定的ニ叉樹節(jié)點(diǎn)下掛的段內(nèi)碼鏈表是否為空,若為空,則創(chuàng)建段內(nèi)碼為源地址范圍段內(nèi)碼0010111-1001111的節(jié)點(diǎn)掛接在ニ叉樹節(jié)點(diǎn)上,并將源地址范圍規(guī)則索引00000001寫入該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組;
532、若段內(nèi)碼鏈表不為空,則遍歷該鏈表中的節(jié)點(diǎn),通過比較段內(nèi)碼判斷該鏈表中是否已經(jīng)添加了段內(nèi)碼為源地址范圍段內(nèi)碼0010111-1001111的節(jié)點(diǎn),若沒有添加,則創(chuàng)建段內(nèi)碼為0010111-1001111的節(jié)點(diǎn)并添加到段內(nèi)碼鏈表,再將源地址范圍規(guī)則索引00000001寫入其規(guī)則索引數(shù)組;
533、若段內(nèi)碼鏈表中已經(jīng)添加了源地址范圍段內(nèi)碼0010111-1001111,則需要通過比較規(guī)則索引值判斷新添加的源地址范圍規(guī)則索引00000001是否已經(jīng)存在于該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中,若存在,屬于相同規(guī)則的重復(fù)添加,不處理;若不存在,表示有地址范圍相同但規(guī)則索引不同的新規(guī)則加入,則將該索引值00000001寫入規(guī)則索引數(shù)組中,如圖6所示;
54、以上過程將一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則的源地址范圍規(guī)則索引寫入數(shù)據(jù)結(jié)構(gòu),該規(guī)則的目的地址范圍規(guī)則索引的寫入過程與源地址范圍規(guī)則索引相同,兩個(gè)規(guī)則索引都寫入后該標(biāo)準(zhǔn)方式ACL規(guī)則的添加完成。基于對標(biāo)準(zhǔn)方式ACL規(guī)則的處理以及數(shù)據(jù)結(jié)構(gòu)的特征,假設(shè)存在一條源地址S為192. 128. 64. 98,目的地址D為192. 128. 64. 25的數(shù)據(jù)流,該數(shù)據(jù)流的規(guī)則查找過程包括以下步驟
SI、以源地址作為查找鍵進(jìn)行規(guī)則索引的查找,其流程如圖7所示,由以下步驟組成
S11、從ニ叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由源地址S在該比特測試位的取值是I還是O確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到到達(dá)根據(jù)源地址S的某個(gè)比特指示的子樹不存在的節(jié)點(diǎn)為止,用L表示這個(gè)自上而下的遍歷路徑,對于源地址 11000000 10000000 01000000 01100010,其遍歷路徑如圖 8 所示。S12、設(shè)路徑L是通過源地址S的前η個(gè)比特決定的遍歷路徑,第I個(gè)節(jié)點(diǎn)到第i個(gè)節(jié)點(diǎn)的遍歷路徑為,,第i個(gè)ニ叉樹節(jié)點(diǎn)的高度為,令源地址S的前個(gè)比特為,其余個(gè)比特為,則對應(yīng)路徑;
S13、對于路徑L上的第i個(gè)節(jié)點(diǎn),首先判斷該節(jié)點(diǎn)下掛的段內(nèi)碼鏈表是否為空,若為空,則沿著路徑L繼續(xù)向下,若不為空,遍歷該段內(nèi)碼鏈表的全部節(jié)點(diǎn),判斷源地址S的部分是否包含在節(jié)點(diǎn)的段內(nèi)碼中,若該段內(nèi)碼鏈表中不存在包含的節(jié)點(diǎn),則沿著路徑L繼續(xù)向下,若存在包含的節(jié)點(diǎn),則將這些節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中源地址范圍類型的規(guī)則索引歸入規(guī)則索引集A中,規(guī)則索引集A記錄了路徑L上所有滿足源地址S的規(guī)則索引;
設(shè)在遍歷路徑L上節(jié)點(diǎn)19、25、26和27下掛的段內(nèi)碼鏈表不為空,段內(nèi)碼鏈表中各自只有一個(gè)段內(nèi)碼節(jié)點(diǎn),4個(gè)段內(nèi)碼節(jié)點(diǎn)記錄的段內(nèi)碼信息以及下掛的規(guī)則索引數(shù)組如圖9所示。節(jié)點(diǎn)19對應(yīng)地址范圍192. 128. 64. 10-192. 128. 87. 128,節(jié)點(diǎn)25對應(yīng)地址范圍192. 128. 64. 23-192. 128. 87. 79,節(jié)點(diǎn) 26 對應(yīng)地址范圍 192. 128. 64. 84-192. 128. 87. 99,節(jié)點(diǎn) 27 對應(yīng)地址范圍 192. 128. 64. 97-192. 128. 87. 117。包含源地址 192. 128. 64. 98的地址范圍有 192. 128. 64. 10-192. 128. 87. 128,192. 128. 64. 84-192. 128. 87. 99,192. 128. 64. 97-192. 128. 87. 117,對應(yīng)二叉樹節(jié)點(diǎn)19,26,27,這3個(gè)節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中中滿足源地址類型的規(guī)則索引有100000,100001, 100011,由此求出規(guī)則索引集A={100000, 100001,100011};
52、以目的地址作為查找鍵的規(guī)則索引查找與以源地址作為查找鍵的規(guī)則索引查找在同一顆二叉樹中進(jìn)行,過程相同,設(shè)由此求出的滿足目的地址D的規(guī)則索引集B=UOOOOl, 100101,101011};
53、取規(guī)則索引集A和B的交集,得到既滿足源地址S又滿足目的地址D的規(guī)則C,即={100001}。
基于對標(biāo)準(zhǔn)方式ACL規(guī)則的處理以及數(shù)據(jù)結(jié)構(gòu)的特征,以rule I permit IPsource 192. 128. 64. 23-192. 128. 64. 79 destination 192. 128. 65. 23-192. 128. 65. 79 為例,規(guī)則的刪除流程如圖10所示,包括以下步驟
51、計(jì)算ACL規(guī)則中源地址范圍的段落碼、段內(nèi)碼、規(guī)則索弓I:源地址范圍192. 128. 64. 23-192. 128. 64. 79 的段落碼為 11000000 10000000 01000000 0,段內(nèi)碼為0010111-1001111,規(guī)則索引為 00000001 ;
52、確定源地址范圍段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置從二叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由源地址范圍段落碼在該比特測試位的取值是I還是O確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到段落碼的最后一比特,這條自上而下的遍歷路徑由段落碼決定,遍歷路徑上最后一個(gè)二叉樹節(jié)點(diǎn)即為該段落碼確定的段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置。如圖5,對于段落碼11000000 10000000 01000000 0,將源地址范圍段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置定位到圖中所示的節(jié)點(diǎn)25 ;
53、刪除源地址范圍規(guī)則索引遍歷S2所確定的二叉樹節(jié)點(diǎn)下掛的鏈表中的段內(nèi)碼節(jié)點(diǎn)(段內(nèi)碼鏈表為空時(shí)不處理),判斷是否存在段內(nèi)碼和當(dāng)前待刪除的段內(nèi)碼相等的節(jié)點(diǎn),若不存在,直接返回,若存在,則通過比較規(guī)則索引值判斷該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中是否存在與當(dāng)前待刪除的規(guī)則索引相等的索引,若不存在,直接返回;若存在,將該規(guī)則索引從規(guī)則索引數(shù)組中刪除;
54、刪除無效的段內(nèi)碼節(jié)點(diǎn)或二叉樹節(jié)點(diǎn)規(guī)則索引被刪除后,若規(guī)則索引數(shù)組不為空,則直接返回,否則將掛接它的段內(nèi)碼節(jié)點(diǎn)刪除;段內(nèi)碼節(jié)點(diǎn)刪除后,判斷段內(nèi)碼鏈表是否為空,若不為空,直接返回;若為空,繼續(xù)判斷掛接該鏈表的二叉樹節(jié)點(diǎn)是否有子樹,若有,直接返回,若沒有,記錄該節(jié)點(diǎn)的父節(jié)點(diǎn),刪除該節(jié)點(diǎn),并將其父節(jié)點(diǎn)中指向該節(jié)點(diǎn)的指針字段置為空;二叉樹節(jié)點(diǎn)刪除后,再繼續(xù)對其父節(jié)點(diǎn)進(jìn)行相同的判斷和處理,這樣從源地址范圍規(guī)則索引所在的二叉樹節(jié)點(diǎn)自下而上刪除冗余的二叉樹節(jié)點(diǎn);
55、以上過程將一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則的源地址范圍規(guī)則索引從數(shù)據(jù)結(jié)構(gòu)中刪除,該規(guī)則的目的地址范圍規(guī)則索引的刪除過程與源地址范圍規(guī)則索引相同,兩個(gè)規(guī)則索引都刪除后該標(biāo)準(zhǔn)方式ACL規(guī)則的刪除完成。
本發(fā)明并不局限于前述的具體實(shí)施方式
。本發(fā)明擴(kuò)展到任何在本說明書中披露 的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。
權(quán)利要求
1.IPsec協(xié)議下標(biāo)準(zhǔn)方式ACL規(guī)則的一種管理機(jī)制,其特征在于對一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)貝U,按照以下步驟處理 步驟一、確定標(biāo)準(zhǔn)方式ACL規(guī)則中地址范圍的段落碼和段內(nèi)碼設(shè)一個(gè)地址范圍為W至V,將W和V中首個(gè)值不等的比特之前的部分定義為地址范圍的段落碼,剩余部分定義為地址范圍的段內(nèi)碼;一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則包括源地址范圍和目的地址范圍,按照上述定義分別確定源地址范圍段落碼和段內(nèi)碼以及目的地址范圍段落碼和段內(nèi)碼; 步驟二、確定標(biāo)準(zhǔn)方式ACL規(guī)則的規(guī)則索引將標(biāo)準(zhǔn)方式ACL規(guī)則的規(guī)則索引分為源地址范圍規(guī)則索引和目的地址范圍規(guī)則索引,定義為RuleIndex= Type+RuleNumber,其中RuleIndex為規(guī)則索引;Type用于區(qū)分該規(guī)則索引的類型,Type=OO表示源地址范圍類型,Type=Ol表示目的地址范圍類型;RuleNumber為該規(guī)則索引的規(guī)則號(hào)。
2.IPsec協(xié)議下標(biāo)準(zhǔn)方式ACL規(guī)則的一種管理機(jī)制,涉及的數(shù)據(jù)結(jié)構(gòu)具有以下特征數(shù)據(jù)結(jié)構(gòu)由二叉樹、段內(nèi)碼鏈表和規(guī)則索引數(shù)組組成,段內(nèi)碼鏈表掛接在二叉樹節(jié)點(diǎn)上,規(guī)則索引數(shù)組掛接在段內(nèi)碼節(jié)點(diǎn)上;在二叉樹中,每個(gè)節(jié)點(diǎn)的數(shù)據(jù)字段既有指向下級(jí)節(jié)點(diǎn)的子樹指針、指向上級(jí)節(jié)點(diǎn)的父指針,也有指向段內(nèi)碼鏈表的指針;在段內(nèi)碼鏈表中,節(jié)點(diǎn)記錄了某個(gè)地址范圍的段內(nèi)碼信息,并且下掛有滿足這個(gè)段內(nèi)碼節(jié)點(diǎn)的規(guī)則索引數(shù)組;規(guī)則索引數(shù)組記錄了標(biāo)準(zhǔn)方式ACL規(guī)則的規(guī)則索引。
3.根據(jù)權(quán)利要求I所述的對標(biāo)準(zhǔn)方式ACL規(guī)則的處理步驟,以及權(quán)利要求2所述的數(shù)據(jù)結(jié)構(gòu),規(guī)則的添加包括以下步驟 s1、按照權(quán)利要求I獲取標(biāo)準(zhǔn)方式ACL規(guī)則中源地址范圍的段落碼、段內(nèi)碼、規(guī)則索弓I ; s2、確定源地址范圍段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置從二叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由段落碼在該比特測試位的取值是I還是0確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到段落碼的最后一個(gè)比特,這條自上而下的遍歷路徑由段落碼決定,遍歷路徑上最后一個(gè)二叉樹節(jié)點(diǎn)即為該段落碼確定的段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置;遍歷過程中,若根據(jù)段落碼某個(gè)比特指示的子樹節(jié)點(diǎn)不存在,則需要添加該節(jié)點(diǎn); s3、寫入源地址范圍規(guī)則索引,其特征在于包括以下步驟 s31、判斷S2所確定的二叉樹節(jié)點(diǎn)下掛的段內(nèi)碼鏈表是否為空,若為空,則創(chuàng)建段內(nèi)碼為源地址范圍段內(nèi)碼的節(jié)點(diǎn)并掛接到二叉樹節(jié)點(diǎn)上,再將源地址范圍規(guī)則索引寫入該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組; s32、若段內(nèi)碼鏈表不為空,則遍歷該鏈表中的節(jié)點(diǎn),通過比較段內(nèi)碼判斷鏈表中是否已經(jīng)添加了段內(nèi)碼為該源地址范圍段內(nèi)碼的節(jié)點(diǎn),若沒有添加,則創(chuàng)建段內(nèi)碼為源地址范圍段內(nèi)碼的節(jié)點(diǎn),添加到鏈表,并將源地址范圍規(guī)則索引寫入其規(guī)則索引數(shù)組; s33、若段內(nèi)碼鏈表中已經(jīng)添加了段內(nèi)碼為該源地址范圍段內(nèi)碼的節(jié)點(diǎn),則需要比較規(guī)則索引值判斷新添加的源地址范圍規(guī)則索引是否已經(jīng)存在于該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中,若存在,屬于相同規(guī)則重復(fù)添加,不處理;若不存在,表示有地址范圍相同但規(guī)則索引不同的新規(guī)則加入,將該源地址范圍規(guī)則索引寫入規(guī)則索引數(shù)組; s4、以上過程將一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則的源地址范圍規(guī)則索引寫入數(shù)據(jù)結(jié)構(gòu),該規(guī)則的目的地址范圍規(guī)則索引的寫入過程與源地址范圍規(guī)則索引相同,兩個(gè)規(guī)則索引都寫入后該標(biāo)準(zhǔn)方式ACL規(guī)則的添加完成。
4.根據(jù)權(quán)利要求I所述的對標(biāo)準(zhǔn)方式ACL規(guī)則的處理步驟,以及權(quán)利要求2所述的數(shù)據(jù)結(jié)構(gòu),規(guī)則的查找包括以下步驟 51、以源地址作為查找鍵進(jìn)行規(guī)則索引查找,由以下步驟組成 511、從二叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由源地址S在該比特測試位的取值是I還是O確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到到達(dá)根據(jù)源地址S的某個(gè)比特指示的子樹不存在的節(jié)點(diǎn)為止,用L表示這個(gè)自上而下的遍歷路徑; 512、設(shè)路徑L是通過源地址S的前n個(gè)比特決定的遍歷路徑,第I個(gè)節(jié)點(diǎn)到第i個(gè)節(jié)點(diǎn)的遍歷路徑為,,第i個(gè)二叉樹節(jié)點(diǎn)的高度為,令源地址S的前個(gè)比特為,其余個(gè)比特為,則對應(yīng)路徑; 513、對于路徑L上的第i個(gè)節(jié)點(diǎn),首先判斷該節(jié)點(diǎn)下掛的段內(nèi)碼鏈表是否為空,若為空,則沿著路徑L繼續(xù)向下,若不為空,遍歷該段內(nèi)碼鏈表的全部節(jié)點(diǎn),判斷源地址S的部分是否包含在節(jié)點(diǎn)的段內(nèi)碼中,若該段內(nèi)碼鏈表中不存在包含的節(jié)點(diǎn),則沿著路徑L繼續(xù)向下,若存在包含的節(jié)點(diǎn),則將這些節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中源地址范圍類型的規(guī)則索引歸入規(guī)則索引集A中,規(guī)則索引集A記錄了路徑L上所有滿足源地址S的規(guī)則索引; ·52、以目的地址作為查找鍵的規(guī)則索引查找與以源地址作為查找鍵的規(guī)則索引查找在同一顆二叉樹中進(jìn)行,過程相同,用B表示滿足目的地址D的規(guī)則索引集; ·53、取規(guī)則索引集A和B的交集,得到既滿足源地址S又滿足目的地址D的規(guī)則C,即,獲得與數(shù)據(jù)流相匹配的規(guī)則后,由標(biāo)準(zhǔn)方式ACL規(guī)則與SA (Security Associations)之間的關(guān)系就能確定滿足該數(shù)據(jù)流的SA。
5.根據(jù)權(quán)利要求I所述的對標(biāo)準(zhǔn)方式ACL規(guī)則的處理步驟,以及權(quán)利要求2所述的數(shù)據(jù)結(jié)構(gòu),規(guī)則的刪除包括以下步驟 ·51、按照權(quán)利要求I獲取ACL規(guī)則中源地址范圍的段落碼、段內(nèi)碼、規(guī)則索引; ·52、確定源地址范圍段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置從二叉樹的頂點(diǎn)開始,根據(jù)所經(jīng)歷節(jié)點(diǎn)中指示的比特測試位進(jìn)行測試,由源地址范圍段落碼在該比特測試位的取值是I還是0確定是繼續(xù)向右還是繼續(xù)向左遍歷,直到段落碼的最后一比特,這條自上而下的遍歷路徑由段落碼決定,遍歷路徑上最后一個(gè)二叉樹節(jié)點(diǎn)即為段落碼確定的段內(nèi)碼節(jié)點(diǎn)在二叉樹中的位置; ·53、刪除源地址范圍規(guī)則索引遍歷S2所確定的二叉樹節(jié)點(diǎn)下掛的鏈表中的段內(nèi)碼節(jié)點(diǎn)(段內(nèi)碼鏈表為空時(shí)不處理),判斷是否存在段內(nèi)碼和當(dāng)前待刪除的段內(nèi)碼相等的節(jié)點(diǎn),若不存在,直接返回,若存在,則通過比較規(guī)則索引值判斷該節(jié)點(diǎn)下掛的規(guī)則索引數(shù)組中是否存在與當(dāng)前待刪除的規(guī)則索引相等的索引,若不存在,直接返回;若存在,將該規(guī)則索引從規(guī)則索引數(shù)組中刪除; ·54、刪除無效的段內(nèi)碼節(jié)點(diǎn)或二叉樹節(jié)點(diǎn)規(guī)則索引被刪除后,若規(guī)則索引數(shù)組不為空,則直接返回,否則將掛接它的段內(nèi)碼節(jié)點(diǎn)刪除;段內(nèi)碼節(jié)點(diǎn)刪除后,判斷段內(nèi)碼鏈表是否為空,若不為空,直接返回;若為空,繼續(xù)判斷掛接該鏈表的二叉樹節(jié)點(diǎn)是否有子樹,若有,直接返回,若沒有,記錄該節(jié)點(diǎn)的父節(jié)點(diǎn),刪除該節(jié)點(diǎn),并將其父節(jié)點(diǎn)中指向該節(jié)點(diǎn)的指針字段置為空;二叉樹節(jié)點(diǎn)刪除后,再繼續(xù)對其父節(jié)點(diǎn)進(jìn)行相同的判斷和處理,這樣從源地址范圍規(guī)則索引所在的二叉樹節(jié)點(diǎn)自下而上刪除冗余的節(jié)點(diǎn); ·55、以上過程將一個(gè)標(biāo)準(zhǔn)方式ACL規(guī)則的源地址范圍規(guī)則索引從數(shù)據(jù)結(jié)構(gòu)中刪除,該規(guī)則 的目的地址范圍規(guī)則索引的刪除過程與源地址范圍規(guī)則索引相同,兩個(gè)規(guī)則索引都刪除后該標(biāo)準(zhǔn)方式ACL規(guī)則的刪除完成。
全文摘要
本發(fā)明公開了IPsec協(xié)議下標(biāo)準(zhǔn)方式ACL規(guī)則的一種管理機(jī)制,屬于數(shù)據(jù)通信領(lǐng)域。該方法將標(biāo)準(zhǔn)方式ACL規(guī)則中的地址信息劃分為段落碼和段內(nèi)碼兩部分,定義了標(biāo)準(zhǔn)方式ACL規(guī)則的規(guī)則索引,并將標(biāo)準(zhǔn)方式ACL規(guī)則的管理分為源地址范圍規(guī)則索引和目的地址范圍規(guī)則索引兩個(gè)獨(dú)立部分,在同一個(gè)二叉樹數(shù)據(jù)結(jié)構(gòu)中進(jìn)行。該方法涉及的數(shù)據(jù)結(jié)構(gòu)包括了二叉樹、段內(nèi)碼鏈表和規(guī)則索引數(shù)組三部分。本發(fā)明的顯著特點(diǎn)是對于具有任意地址范圍、重疊地址范圍、多級(jí)地址范圍的標(biāo)準(zhǔn)方式ACL規(guī)則,實(shí)現(xiàn)其增加、查找和刪除操作方便快捷,系統(tǒng)開銷小。
文檔編號(hào)G06F17/30GK102811227SQ20121031316
公開日2012年12月5日 申請日期2012年8月30日 優(yōu)先權(quán)日2012年8月30日
發(fā)明者肖波, 馮文江, 楊智慧, 王品, 何昊宸, 劉國嶺 申請人:重慶大學(xué)