專利名稱:建立訪問(wèn)控制列表的方法和裝置及數(shù)據(jù)路由方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及通信技術(shù),尤其涉及建立訪問(wèn)控制列表的方法和裝置及數(shù)據(jù)路 由方法和裝置。
背景技術(shù):
策略路由(Policy-Based Routing,簡(jiǎn)稱PBR)提供了一種比僅僅基于目的地址 進(jìn)行路由轉(zhuǎn)發(fā)更加靈活的數(shù)據(jù)包路由轉(zhuǎn)發(fā)機(jī)制。策略路由可以根據(jù)數(shù)據(jù)的多種屬性,比如 源地址、目的地址、源目端口、協(xié)議號(hào)、服務(wù)類型(Type of Service,簡(jiǎn)稱T0S)字段、是否為 分片報(bào)文等靈活地進(jìn)行路由選擇。為了在路由設(shè)備上實(shí)現(xiàn)策略路由,需要在路由設(shè)備上建立訪問(wèn)控制列表(Access Control List,簡(jiǎn)稱ACL),將策略路由的所有匹配規(guī)則保存在ACL中,后續(xù)接收到數(shù)據(jù)時(shí), 根據(jù)ACL中保存的各種匹配規(guī)則進(jìn)行路由選擇。目前,針對(duì)策略路由中的匹配規(guī)則為需要同時(shí)滿足數(shù)據(jù)的多種屬性的情況,建立 ACL的過(guò)程具體包括針對(duì)策略路由的匹配規(guī)則,根據(jù)該匹配規(guī)則中包括的屬性的種類數(shù) 和每一種屬性的取值個(gè)數(shù),確定不同屬性與屬性的不同取值的所有組合,每一種組合使用 ACL中的一個(gè)訪問(wèn)控制表項(xiàng)(Access Control Entry,簡(jiǎn)稱ACE)進(jìn)行保存,從而得到了 ACL。舉例來(lái)說(shuō),比如,策略路由的一個(gè)匹配規(guī)則為如果數(shù)據(jù)的源地址在數(shù)值范圍 A{ai,a2,a3,...affl}內(nèi),并且數(shù)據(jù)的目的地址在數(shù)值范圍B Ib1, b2,b3,. . . bn}內(nèi),并且,數(shù)據(jù)的 協(xié)議號(hào)在數(shù)值范圍Clc1, c2,c3,... ck}內(nèi),則將數(shù)據(jù)路由到教育網(wǎng)。該匹配規(guī)則中需要同時(shí) 滿足數(shù)據(jù)的3種屬性,分別為源地址、目的地址和協(xié)議號(hào)。對(duì)于源地址,其取值共有m個(gè);對(duì) 于目的地址,其取值共有η個(gè),對(duì)于協(xié)議號(hào),其取值共有k個(gè)。按照目前的建立ACL的方法, 需要使用不同的ACE來(lái)保存3種屬性與該3種屬性的不同取值的所有組合,比如ACEl (a1 bl, C1)、ACE2 (a2, Id1, C1)…ACEm(am, Id1, C1)、ACEm+1 ^al, b2, C1),…ACE m*n*k (am, bn, ck),共 需要m*n*k個(gè)ACE,之后將m*n*k個(gè)ACE保存在ACL中,從而建立完成ACL。目前,基于建立的ACL進(jìn)行數(shù)據(jù)路由的過(guò)程為路由設(shè)備接收到數(shù)據(jù)后,提取數(shù)據(jù) 中對(duì)應(yīng)的屬性的值,將提取的屬性值進(jìn)行組合,在ACL的所有ACE中查找該組合,根據(jù)查找 結(jié)果對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。由以上描述可以看出,在策略路由中的匹配規(guī)則為需要同時(shí)滿足數(shù)據(jù)的多種屬性 的情況下,現(xiàn)有技術(shù)建立的ACL中需要設(shè)置的ACE數(shù)量等于該多種屬性與屬性的不同取值 的所有組合的數(shù)量。而在網(wǎng)絡(luò)中,屬性的種類數(shù)量繁多,屬性的取值的數(shù)量更是巨大,比如 僅源地址的取值就可能會(huì)有上萬(wàn)個(gè),因此,按照現(xiàn)有技術(shù)的方法建立ACL,ACL中利用ACE來(lái) 保存的信息數(shù)量是非常巨大的,從而大大浪費(fèi)了存儲(chǔ)資源,并往往會(huì)超過(guò)ACL的容量限制 要求。并且,基于現(xiàn)有技術(shù)中建立的ACL進(jìn)行數(shù)據(jù)路由時(shí),由于ACL中利用ACE保存的信 息數(shù)量巨大,因此,需要在數(shù)量巨大的ACE中查找與提取的屬性匹配的ACE,從而會(huì)大大增
3加查找的次數(shù),大大降低了查找效率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供建立ACL的方法和裝置,能夠節(jié)約存儲(chǔ)資源。本發(fā)明實(shí)施例還提供數(shù)據(jù)路由方法和裝置,能夠提高查找效率。本發(fā)明實(shí)施例提供的建立訪問(wèn)控制列表的方法,包括為匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的訪問(wèn)控制列表;在每一個(gè)訪問(wèn)控制列表中保存該訪問(wèn)控制列表對(duì)應(yīng)的屬性的所有屬性值;將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)訪問(wèn)控制列表進(jìn)行關(guān)聯(lián)。本發(fā)明實(shí)施例提供的建立訪問(wèn)控制列表的裝置,包括設(shè)置模塊,用于為匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的訪問(wèn)控制列表;保存模塊,用于在每一個(gè)訪問(wèn)控制列表中保存該訪問(wèn)控制列表對(duì)應(yīng)的屬性的所有 屬性值;關(guān)聯(lián)模塊,用于將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)訪問(wèn)控制列表進(jìn)行關(guān)聯(lián)。本發(fā)明實(shí)施例提供的數(shù)據(jù)路由方法,包括本發(fā)明實(shí)施例提供的建立訪問(wèn)控制列表 的方法,以及接收到數(shù)據(jù)后,提取所述數(shù)據(jù)中的所述各個(gè)屬性的值,在所述進(jìn)行關(guān)聯(lián)的各個(gè)訪 問(wèn)控制列表中分別查找與提取的所述各個(gè)屬性的值匹配的屬性值,根據(jù)查找結(jié)果對(duì)數(shù)據(jù)進(jìn) 行轉(zhuǎn)發(fā)。本發(fā)明實(shí)施例提供的數(shù)據(jù)路由裝置,包括本發(fā)明實(shí)施例提供的建立訪問(wèn)控制列表 的裝置,以及提取模塊,用于在接收到數(shù)據(jù)后,提取所述數(shù)據(jù)中的所述各個(gè)屬性的值;查找模塊,用于在所述進(jìn)行關(guān)聯(lián)的各個(gè)訪問(wèn)控制列表中分別查找與提取的所述各 個(gè)屬性的值匹配的屬性值;路由模塊,用于根據(jù)所述查找模塊的查找結(jié)果,對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)??梢?,在本發(fā)明實(shí)施例提出的建立ACL的方法和裝置中,不需要在ACL中保存匹配 規(guī)則中各種屬性與每一種屬性的所有取值的所有組合,而只需要為匹配規(guī)則中的各個(gè)屬性 分別設(shè)置對(duì)應(yīng)的ACL,每一個(gè)ACL中只需保存該ACL對(duì)應(yīng)的屬性的所有屬性值即可,并且,在 將對(duì)應(yīng)匹配規(guī)則中的各個(gè)屬性的各個(gè)ACL進(jìn)行關(guān)聯(lián)后,該關(guān)聯(lián)的ACL就能夠完整的保存匹 配規(guī)則的匹配條件。因此,針對(duì)網(wǎng)絡(luò)中屬性種類和屬性取值的數(shù)量都非常巨大的情況,本發(fā) 明實(shí)施例建立ACL的方法能夠減少需要保存的信息量,大大節(jié)約了存儲(chǔ)資源,并滿足了 ACL 的容量限制要求。并且,由于匹配規(guī)則中不同屬性的值分別保存在不同的ACL中,因此,對(duì) 于用戶來(lái)說(shuō),直觀且簡(jiǎn)明,便于后續(xù)維護(hù)??梢姡诒景l(fā)明實(shí)施例提出的數(shù)據(jù)路由方法和裝置中,由于采用了本發(fā)明實(shí)施例 提出的建立ACL的方法,因此,需要保存的信息量大大減少,在這些信息量中查找與提取的 屬性的值匹配的值,就能夠大大減少查找匹配的次數(shù),從而大大提高了查找效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例中建立ACL的基本流程圖;圖2是本發(fā)明實(shí)施例中進(jìn)行數(shù)據(jù)路由的基本流程圖;圖3是本發(fā)明實(shí)施例的一種應(yīng)用場(chǎng)景示意圖;圖4是利用本發(fā)明實(shí)施例的建立ACL的方法實(shí)現(xiàn)數(shù)據(jù)路由的流程圖;圖5是本發(fā)明實(shí)施例中建立ACL的裝置的基本結(jié)構(gòu)示意圖;圖6是本發(fā)明實(shí)施例中建立ACL的裝置的優(yōu)選結(jié)構(gòu)示意圖;圖7是本發(fā)明實(shí)施例中數(shù)據(jù)路由裝置的基本結(jié)構(gòu)示意圖;圖8是本發(fā)明實(shí)施例中數(shù)據(jù)路由裝置的優(yōu)選結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提出了一種建立ACL的方法,參見圖1,該方法包括步驟101 為匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的ACL。通過(guò)本步驟的處理,匹配規(guī)則中的不同屬性對(duì)應(yīng)了不同的ACL。步驟102 在每一個(gè)ACL中保存該ACL對(duì)應(yīng)的屬性的所有屬性值。本步驟的一種實(shí)現(xiàn)方式可以為在每一個(gè)ACL中,使用不同的ACE保存該ACL對(duì)應(yīng) 的屬性的不同屬性值。步驟103 將對(duì)應(yīng)該匹配規(guī)則中的各個(gè)屬性的各個(gè)ACL進(jìn)行關(guān)聯(lián)。本步驟的一種實(shí)現(xiàn)方式可以為將對(duì)應(yīng)匹配規(guī)則中的各個(gè)屬性的各個(gè)ACL使用與 邏輯連接??梢?,在本發(fā)明實(shí)施例提出的建立ACL的方法中,不需要在ACL中保存匹配規(guī)則中 各種屬性與每一種屬性的所有取值的所有組合,而只需要為匹配規(guī)則中的各個(gè)屬性分別設(shè) 置對(duì)應(yīng)的ACL,每一個(gè)ACL中只需保存該ACL對(duì)應(yīng)的屬性的所有屬性值即可,并且,在將對(duì)應(yīng) 匹配規(guī)則中的各個(gè)屬性的各個(gè)ACL進(jìn)行關(guān)聯(lián)后,該關(guān)聯(lián)的ACL就能夠完整的保存匹配規(guī)則 的匹配條件。因此,針對(duì)網(wǎng)絡(luò)中屬性種類和屬性取值的數(shù)量都非常巨大的情況,本發(fā)明實(shí)施 例建立ACL的方法能夠減少需要保存的信息量,大大節(jié)約了存儲(chǔ)資源,并滿足了 ACL的容量 限制要求。并且,由于匹配規(guī)則中不同屬性的值分別保存在不同的ACL中,因此,對(duì)于用戶 來(lái)說(shuō),直觀且簡(jiǎn)明,便于后續(xù)維護(hù)。本發(fā)明實(shí)施例還提出了一種數(shù)據(jù)路由方法,參見圖2,該方法包括步驟201 為匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的ACL。通過(guò)本步驟的處理,匹配規(guī)則中的不同屬性對(duì)應(yīng)了不同的ACL。步驟202 在每一個(gè)ACL中保存該ACL對(duì)應(yīng)的屬性的所有屬性值。本步驟的一種實(shí)現(xiàn)方式可以為在每一個(gè)ACL中,使用不同的ACE保存該ACL對(duì)應(yīng)的屬性的不同屬性值。步驟203 將對(duì)應(yīng)該匹配規(guī)則中的各個(gè)屬性的各個(gè)ACL進(jìn)行關(guān)聯(lián)。本步驟的一種實(shí)現(xiàn)方式可以為將對(duì)應(yīng)匹配規(guī)則中的各個(gè)屬性的各個(gè)ACL使用與 邏輯連接。步驟204 接收到數(shù)據(jù)后,提取所述數(shù)據(jù)中的所述各個(gè)屬性的值。步驟205 在所述進(jìn)行關(guān)聯(lián)的各個(gè)ACL中分別查找與提取的所述各個(gè)屬性的值匹 配的屬性值。本步驟的一種實(shí)現(xiàn)方式可以為根據(jù)進(jìn)行關(guān)聯(lián)的每一個(gè)ACL對(duì)應(yīng)的屬性,在每一 個(gè)ACL的ACE中查找提取的對(duì)應(yīng)的屬性的值。步驟206 根據(jù)查找結(jié)果對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。可見,在本發(fā)明實(shí)施例提出的數(shù)據(jù)路由方法中,由于采用了本發(fā)明實(shí)施例提出的 建立ACL的方法,因此,需要保存的信息量大大減少,在這些信息量中查找與提取的屬性的 值匹配的值,就能夠大大減少查找匹配的次數(shù),從而大大提高了查找效率。下面結(jié)合一個(gè)具體的應(yīng)用場(chǎng)景詳細(xì)說(shuō)明利用本發(fā)明實(shí)施例的建立ACL的方法實(shí) 現(xiàn)數(shù)據(jù)路由的詳細(xì)過(guò)程。參見圖3,在本發(fā)明實(shí)施例的一個(gè)應(yīng)用場(chǎng)景中,校園用戶通過(guò)匯聚設(shè)備連接到骨干 網(wǎng)的路由設(shè)備上,通過(guò)路由設(shè)備上配置的反映匹配規(guī)則的ACL能夠控制校園用戶的數(shù)據(jù)的 路由,即發(fā)送到教育網(wǎng)或者電信網(wǎng)。參見圖3和圖4,本發(fā)明實(shí)施例建立ACL并利用該ACL進(jìn)行數(shù)據(jù)路由的過(guò)程包括步驟401 對(duì)于策略路由中的包括多種屬性的每一條匹配規(guī)則,由路由設(shè)備為該 匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的ACL。比如,策略路由中的匹配規(guī)則1為如果數(shù)據(jù)的源地址在數(shù)值范圍Ala1, a2, a3, · · · affl}內(nèi),并且數(shù)據(jù)的目的地址在數(shù)值范圍BIbnIvb3,..."內(nèi),并且,數(shù)據(jù)的協(xié)議號(hào) 在數(shù)值范圍Clc1, C2, C3, . . . cj內(nèi),則將數(shù)據(jù)轉(zhuǎn)發(fā)到教育網(wǎng),否則轉(zhuǎn)發(fā)到電信網(wǎng)。為便于描述,以下步驟以針對(duì)匹配規(guī)則1的處理為例。在匹配規(guī)則1中包括3個(gè) 屬性,分別為源地址、目的地址和協(xié)議號(hào)。因此,在本步驟中設(shè)置對(duì)應(yīng)源地址的ACL(記為 ACL1)、對(duì)應(yīng)目的地址的ACL (記為ACL2)以及對(duì)應(yīng)協(xié)議號(hào)的ACL (記為ACL3)。步驟402 路由設(shè)備在對(duì)應(yīng)源地址的ACLl中保存源地址的所有取值。比如,源地址的取值在數(shù)值范圍六丨 , , ,…心內(nèi),因此,本步驟中需要在ACLl 中保存數(shù)值范圍々!^,^, ,...。內(nèi)的所有數(shù)值。m為大于1的自然數(shù)。在具體的實(shí)現(xiàn)中,可以使用ACE來(lái)保存每一個(gè)數(shù)值。也就是說(shuō),在ACLl中包括m 個(gè)ACE,其中,ACEll中保存ai,ACE12中保存a2,以此類推,直至ACElm中保存am。步驟403 路由設(shè)備在對(duì)應(yīng)目的地址的ACL2中保存目的地址的所有取值。比如,目的地址的取值在數(shù)值范圍Blb1, b2,b3,. . . bj內(nèi),因此,本步驟中需要在 ACL2中保存數(shù)值范圍BIbplvb3P^b1J內(nèi)的所有數(shù)值。η為大于1的自然數(shù)。在具體的實(shí)現(xiàn)中,可以使用ACE來(lái)保存每一個(gè)數(shù)值。也就是說(shuō),在ACL2中包括η 個(gè)ACE,其中,ACE21中保存b1; ACE22中保存b2,以此類推,直至ACE2n中保存bn。步驟404 路由設(shè)備在對(duì)應(yīng)協(xié)議號(hào)的ACL3中保存協(xié)議號(hào)的所有取值。比如,協(xié)議號(hào)的取值在數(shù)值范圍C {Cl,c2,c3,... Ck}內(nèi),因此,本步驟中需要在ACL3中保存數(shù)值范圍Clc1, c2,c3,... ck}內(nèi)的所有數(shù)值。k為大于1的自然數(shù)。在具體的實(shí)現(xiàn)中,可以使用ACE來(lái)保存每一個(gè)數(shù)值。也就是說(shuō),在ACL3中包括k 個(gè)ACE,其中,ACE31中保存Cl,ACE32中保存c2,以此類推,直至ACE3k中保存ck。步驟405 路由設(shè)備將對(duì)應(yīng)匹配規(guī)則1中的3個(gè)屬性的3個(gè)ACL進(jìn)行關(guān)聯(lián)。本步驟中,具體可以將對(duì)應(yīng)匹配規(guī)則1中的3個(gè)屬性的3個(gè)ACL使用與邏輯連接。 為了后續(xù)使用方便,可以將使用與邏輯連接后的3個(gè)ACL形成為一個(gè)新的對(duì)應(yīng)該匹配規(guī)則 1 的 ACLmix。也就是說(shuō),ACLmix = ACL1&ACL2&ACL3。本步驟中,關(guān)聯(lián)的方式還可以采用其他任意一種方式,比如,建立一張映射表,將 ACLl、ACL2和ACL3存放在該映射表中。至此,則完成了本發(fā)明實(shí)施例中建立ACL的過(guò)程。舉例說(shuō)明利用本發(fā)明實(shí)施例方法建立ACL的有益效果。對(duì)于匹配規(guī)則1,如果按照 現(xiàn)有技術(shù)中建立ACL的方法,需要使用不同的ACE來(lái)保存上述3種屬性與該3種屬性的不 同取值的所有組合,需要保存的信息數(shù)量即ACE的數(shù)量為m*n*k個(gè),以m、n和k分別取1000 為例,則針對(duì)匹配規(guī)則1現(xiàn)有技術(shù)中需要保存ACE的個(gè)數(shù)為1000*1000*1000 = IO90利用 本發(fā)明實(shí)施例提出的建立ACL的方法,ACL1、ACL2和ACL3中需要保存的ACE的個(gè)數(shù)分別為 m、n和k,因此,總共需要的ACE的個(gè)數(shù)為m+n+k個(gè),仍以m、n和k分別取1000為例,則針對(duì) 匹配規(guī)則1本發(fā)明實(shí)施例中需要的ACE的個(gè)數(shù)為1000+1000+1000 = 3000個(gè)??梢?,相對(duì) 于現(xiàn)有技術(shù)的做法,本發(fā)明實(shí)施例建立ACL的方法能夠大大減少需要保存的信息量,減少 需要的ACE的個(gè)數(shù),因此,能夠大大節(jié)約存儲(chǔ)資源?;诒景l(fā)明實(shí)施例建立的ACL實(shí)現(xiàn)數(shù)據(jù)路由還需要執(zhí)行以下的步驟。步驟406 路由設(shè)備接收到匯聚設(shè)備發(fā)來(lái)的校園用戶的數(shù)據(jù)。步驟407 路由設(shè)備根據(jù)匹配規(guī)則1中包括的屬性,從接收到的數(shù)據(jù)中提取對(duì)應(yīng)屬 性的值。本步驟中,路由設(shè)備具體是從數(shù)據(jù)中提取源地址、目的地址和協(xié)議號(hào)的值。步驟408 路由設(shè)備判斷在進(jìn)行關(guān)聯(lián)的所有ACL表中是否能夠分別查找到與提取 的各個(gè)屬性的值匹配的值,如果是,則執(zhí)行步驟409,否則,執(zhí)行步驟410。本步驟的實(shí)現(xiàn)過(guò)程可以包括根據(jù)進(jìn)行關(guān)聯(lián)的每一個(gè)ACL對(duì)應(yīng)的屬性,在每一個(gè) ACL的所有ACE中查找提取的對(duì)應(yīng)的屬性的值。比如,一種可行的實(shí)現(xiàn)過(guò)程為由于匹配規(guī)則1對(duì)應(yīng)新形成的ACLmix,ACLmix = ACL1&ACL2&ACL3,因此首先查找ACL1,ACLl對(duì)應(yīng)源地址,因此,在ACLl的所有ACE中查找 從數(shù)據(jù)中提取的源地址的值,如果能夠查找到,則繼續(xù)查找ACL2,ACL2對(duì)應(yīng)目的地址,因 此,在ACL2的所有ACE中查找從數(shù)據(jù)中提取的目的地址的值,如果能夠查找到,則繼續(xù)查找 ACL3,ACL3對(duì)應(yīng)協(xié)議號(hào),因此,在ACL3的所有ACE中查找從數(shù)據(jù)中提取的協(xié)議號(hào)的值,如果 能夠查找到,則匹配成功,執(zhí)行步驟409的處理,如果任意一個(gè)查找不到,則匹配失敗,執(zhí)行 步驟410的處理。步驟409 路由設(shè)備將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)到教育網(wǎng),結(jié)束當(dāng)前流程。步驟410 路由設(shè)備將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)到電信網(wǎng)。步驟409和步驟410是根據(jù)步驟408的查找結(jié)果對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)的過(guò)程。根據(jù)不 同的查找結(jié)果如何對(duì)數(shù)據(jù)進(jìn)行不同的轉(zhuǎn)發(fā)已在匹配規(guī)則中定義,因此,步驟409和步驟410
7中具體是根據(jù)上述匹配規(guī)則1定義的內(nèi)容進(jìn)行轉(zhuǎn)發(fā)。仍然參照上述例子,使用現(xiàn)有技術(shù)中的數(shù)據(jù)路由方法,由于ACE總共有IO9個(gè),因 此,需要從IO9個(gè)ACE中進(jìn)行查找,查找效率低下。而采用本發(fā)明實(shí)施例的數(shù)據(jù)路由方法, 由于ACE的個(gè)數(shù)為3000個(gè),因此,只需要在3000個(gè)ACE中進(jìn)行查找,相對(duì)于現(xiàn)有技術(shù)則大 大提高了查找效率。上述圖4所示的本發(fā)明實(shí)施例的流程是對(duì)路由設(shè)備接收到的數(shù)據(jù)進(jìn)行路由。在實(shí) 際應(yīng)用中,本發(fā)明實(shí)施例的建立ACL的方法以及數(shù)據(jù)路由方法也可以適用于對(duì)路由設(shè)備自 身產(chǎn)生的數(shù)據(jù)進(jìn)行路由的情況。
需要說(shuō)明的是,上述基于圖4的所有描述是本發(fā)明建立ACL以及實(shí)現(xiàn)數(shù)據(jù)路由的 一種實(shí)現(xiàn)過(guò)程,在實(shí)際實(shí)現(xiàn)中,可以根據(jù)需要在圖4所示流程的基礎(chǔ)上進(jìn)行任意變形,比 如,在一種實(shí)際實(shí)現(xiàn)中,步驟402、步驟403和步驟404的順序可以以任意方式交換;再如, 步驟408處描述的查找ACLl、ACL2和ACL3的順序可以任意交換;并且,圖4中是以匹配規(guī) 則中包括3個(gè)屬性為例,實(shí)際實(shí)現(xiàn)中,匹配規(guī)則包括的屬性可以更多,其實(shí)現(xiàn)過(guò)程的原理相 同。參見圖5,本發(fā)明實(shí)施例還提出了一種建立ACL的裝置,包括設(shè)置模塊501,用于為匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的ACL ;保存模塊502,用于在每一個(gè)ACL中保存該ACL對(duì)應(yīng)的屬性的所有屬性值;關(guān)聯(lián)模塊503,用于將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)ACL進(jìn)行關(guān)聯(lián)。參見圖6,在本發(fā)明建立ACL的裝置的一個(gè)實(shí)施例中,保存模塊502包括第一保存 子模塊601,用于在所述每一個(gè)ACL中,使用不同的ACE保存ACL對(duì)應(yīng)的屬性的不同屬性值。參見圖6,在本發(fā)明建立ACL的裝置的另一個(gè)實(shí)施例中,關(guān)聯(lián)模塊503包括第一關(guān) 聯(lián)子模塊602,用于將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)ACL使用與邏輯連接。本發(fā)明實(shí)施例還提出了一種數(shù)據(jù)路由裝置,參見圖7,數(shù)據(jù)路由裝置包括本發(fā)明上 述實(shí)施例提出的任意一種建立ACL的裝置701,以及提取模塊702,用于在接收到數(shù)據(jù)后,提取所述數(shù)據(jù)中的所述各個(gè)屬性的值;查找模塊703,用于在所述進(jìn)行關(guān)聯(lián)的各個(gè)ACL中分別查找與提取的所述各個(gè)屬 性的值匹配的屬性值;路由模塊704,用于根據(jù)所述查找模塊的查找結(jié)果,對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。參見圖8,在本發(fā)明數(shù)據(jù)路由裝置的一個(gè)實(shí)施例中,所述查找模塊703包括第一查 找子模塊801,用于根據(jù)所述進(jìn)行關(guān)聯(lián)的每一個(gè)ACL對(duì)應(yīng)的屬性,在每一個(gè)ACL的ACE中查 找提取的對(duì)應(yīng)的屬性的值。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò) 程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者 光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管 參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以 對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這 些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
一種建立訪問(wèn)控制列表的方法,其特征在于,包括為匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的訪問(wèn)控制列表;在每一個(gè)訪問(wèn)控制列表中保存該訪問(wèn)控制列表對(duì)應(yīng)的屬性的所有屬性值;將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)訪問(wèn)控制列表進(jìn)行關(guān)聯(lián)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在每一個(gè)訪問(wèn)控制列表中保存該訪 問(wèn)控制列表對(duì)應(yīng)的屬性的所有屬性值包括在所述每一個(gè)訪問(wèn)控制列表中,使用不同的訪問(wèn)控制表項(xiàng)保存該訪問(wèn)控制列表對(duì)應(yīng)的 屬性的不同屬性值。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬 性的各個(gè)訪問(wèn)控制列表進(jìn)行關(guān)聯(lián)包括將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)訪問(wèn)控制列表使用與邏輯連接。
4.一種建立訪問(wèn)控制列表的裝置,其特征在于,包括設(shè)置模塊,用于為匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的訪問(wèn)控制列表; 保存模塊,用于在每一個(gè)訪問(wèn)控制列表中保存該訪問(wèn)控制列表對(duì)應(yīng)的屬性的所有屬性值;關(guān)聯(lián)模塊,用于將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)訪問(wèn)控制列表進(jìn)行關(guān)聯(lián)。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述保存模塊包括第一保存子模塊,用于 在所述每一個(gè)訪問(wèn)控制列表中,使用不同的訪問(wèn)控制表項(xiàng)保存訪問(wèn)控制列表對(duì)應(yīng)的屬性的 不同屬性值。
6.根據(jù)權(quán)利要求4或5所述的裝置,其特征在于,所述關(guān)聯(lián)模塊包括第一關(guān)聯(lián)子模塊, 用于將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)訪問(wèn)控制列表使用與邏輯連接。
7.一種數(shù)據(jù)路由方法,其特征在于,包括如權(quán)利要求1 3任一所述的建立訪問(wèn)控制列 表的方法,以及接收到數(shù)據(jù)后,提取所述數(shù)據(jù)中的所述各個(gè)屬性的值,在所述進(jìn)行關(guān)聯(lián)的各個(gè)訪問(wèn)控 制列表中分別查找與提取的所述各個(gè)屬性的值匹配的屬性值,根據(jù)查找結(jié)果對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述在所述進(jìn)行關(guān)聯(lián)的各個(gè)訪問(wèn)控制列 表中分別查找與提取的所述各個(gè)屬性的值匹配的屬性值包括根據(jù)所述進(jìn)行關(guān)聯(lián)的每一個(gè)訪問(wèn)控制列表對(duì)應(yīng)的屬性,在每一個(gè)訪問(wèn)控制列表的訪問(wèn) 控制表項(xiàng)中查找提取的對(duì)應(yīng)的屬性的值。
9.一種數(shù)據(jù)路由裝置,其特征在于,包括如權(quán)利要求4 6任一所述的建立訪問(wèn)控制列 表的裝置,以及提取模塊,用于在接收到數(shù)據(jù)后,提取所述數(shù)據(jù)中的所述各個(gè)屬性的值; 查找模塊,用于在所述進(jìn)行關(guān)聯(lián)的各個(gè)訪問(wèn)控制列表中分別查找與提取的所述各個(gè)屬 性的值匹配的屬性值;路由模塊,用于根據(jù)所述查找模塊的查找結(jié)果,對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述查找模塊包括第一查找子模塊,用 于根據(jù)所述進(jìn)行關(guān)聯(lián)的每一個(gè)訪問(wèn)控制列表對(duì)應(yīng)的屬性,在每一個(gè)訪問(wèn)控制列表的訪問(wèn)控 制表項(xiàng)中查找提取的對(duì)應(yīng)的屬性的值。
全文摘要
本發(fā)明提供了建立訪問(wèn)控制列表的方法和裝置及數(shù)據(jù)路由方法和裝置。建立訪問(wèn)控制列表的方法包括為匹配規(guī)則中的各個(gè)屬性分別設(shè)置對(duì)應(yīng)的訪問(wèn)控制列表;在每一個(gè)訪問(wèn)控制列表中保存該訪問(wèn)控制列表對(duì)應(yīng)的屬性的所有屬性值;將對(duì)應(yīng)所述匹配規(guī)則中的各個(gè)屬性的各個(gè)訪問(wèn)控制列表進(jìn)行關(guān)聯(lián)。建立訪問(wèn)控制列表的裝置包括設(shè)置模塊、保存模塊和關(guān)聯(lián)模塊。本發(fā)明能夠節(jié)約存儲(chǔ)資源以及提高查找效率。
文檔編號(hào)H04L12/56GK101938423SQ20101028459
公開日2011年1月5日 申請(qǐng)日期2010年9月15日 優(yōu)先權(quán)日2010年9月15日
發(fā)明者李凱 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司