專利名稱:IPv6地址存儲(chǔ)和查找方法及相關(guān)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及下一代互聯(lián)網(wǎng)領(lǐng)域,更具體地,涉及一種IPv6地址存儲(chǔ)和查找方法及 相關(guān)設(shè)備。
背景技術(shù):
眾所周知,IPv6地址長度是128比特,而IPv4地址長度是32比特。就地址長度 而言,IPv6比IPv4擴(kuò)大了 4倍;就容量而言,則擴(kuò)大了 296倍。由于IPv6地址容量的急劇 增長,因此需要一種高效可行的IPv6地址存儲(chǔ)和查找方式。
發(fā)明內(nèi)容
本發(fā)明提出了一種IPv6地址存儲(chǔ)和查找方法及相關(guān)設(shè)備,可以在使用有限內(nèi)存 的情況下實(shí)現(xiàn)IPv6地址的高速查找。根據(jù)本發(fā)明的一個(gè)方面,提供了一種IPv6地址存儲(chǔ)方法,包括判斷IPv6地址的 網(wǎng)絡(luò)前綴的長度是否為128比特;如果是,則將IPv6地址存儲(chǔ)在第一存儲(chǔ)區(qū)域中;否則,將 IPv6地址存儲(chǔ)在第二存儲(chǔ)區(qū)域中。優(yōu)選地,將IPv6地址存儲(chǔ)在第一存儲(chǔ)區(qū)域中的步驟包括對(duì)IPv6地址進(jìn)行散列運(yùn) 算并存儲(chǔ)到第一存儲(chǔ)區(qū)域中,第一存儲(chǔ)區(qū)域具有由散列結(jié)構(gòu)和紅黑樹rbtree結(jié)構(gòu)形成的 混合結(jié)構(gòu)。優(yōu)選地,將IPv6地址存儲(chǔ)在第二存儲(chǔ)區(qū)域中的步驟包括將IPv6地址分為第一部 分和第二部分,并分別存儲(chǔ)到第二存儲(chǔ)區(qū)域的第一部分和第二部分中,第二存儲(chǔ)區(qū)域具有 變步長多分支trie樹結(jié)構(gòu)。優(yōu)選地,第二存儲(chǔ)區(qū)域的第一部分和第二部分分別存儲(chǔ)IPv6地址的前64比特和 后64比特,第二存儲(chǔ)區(qū)域的第一部分的步長為16比特,第二存儲(chǔ)區(qū)域的第二部分的步長為 8比特。優(yōu)選地,該方法還包括在配置128比特的IPv6地址訪問權(quán)限屬性時(shí),如果IPv6 地址的訪問權(quán)限屬性與所屬網(wǎng)段的訪問權(quán)限屬性相同,則對(duì)IPv6地址進(jìn)行散列運(yùn)算,在對(duì) 應(yīng)的紅黑樹rbtree結(jié)構(gòu)中查找對(duì)應(yīng)節(jié)點(diǎn),并且如果找到該對(duì)應(yīng)節(jié)點(diǎn),則將其刪除。根據(jù)本發(fā)明的另一方面,提供了一種IPv6地址查找方法,包括判斷IPv6地址的 網(wǎng)絡(luò)前綴的長度是否為128比特;如果是,則在第一存儲(chǔ)區(qū)域中查找該IPv6地址;否則,在 第二存儲(chǔ)區(qū)域中查找該IPv6地址。優(yōu)選地,第一存儲(chǔ)區(qū)域具有由散列結(jié)構(gòu)和紅黑樹rbtree結(jié)構(gòu)形成的混合結(jié)構(gòu),第 二存儲(chǔ)區(qū)域具有變步長多分支trie樹結(jié)構(gòu)。更優(yōu)選地,第二存儲(chǔ)區(qū)域包括具有第一步長的第一部分和具有第二步長的第二部 分,第二存儲(chǔ)區(qū)域的第一部分和第二部分分別存儲(chǔ)IPv6地址的前64比特和后64比特,第 二存儲(chǔ)區(qū)域的第一部分的步長為16比特,第二存儲(chǔ)區(qū)域的第二部分的步長為8比特。根據(jù)本發(fā)明的又一方面,提供了一種IPv6接入控制網(wǎng)關(guān),包括存儲(chǔ)單元,用于存
3儲(chǔ)IPv6地址,所述存儲(chǔ)單元具有第一存儲(chǔ)區(qū)域和第二存儲(chǔ)區(qū)域;以及地址處理單元,判斷 IPv6地址的網(wǎng)絡(luò)前綴的長度是否為128比特,如果是,則在存儲(chǔ)單元的第一存儲(chǔ)區(qū)域中對(duì) IPv6地址進(jìn)行存儲(chǔ)或查找;否則,在存儲(chǔ)單元的第二存儲(chǔ)區(qū)域中對(duì)IPv6地址進(jìn)行存儲(chǔ)或查 找。優(yōu)選地,第一存儲(chǔ)區(qū)域具有由散列結(jié)構(gòu)和紅黑樹rbtree結(jié)構(gòu)形成的混合結(jié)構(gòu),第 二存儲(chǔ)區(qū)域具有變步長多分支trie樹結(jié)構(gòu),第二存儲(chǔ)區(qū)域包括具有第一步長的第一部分 和具有第二步長的第二部分,第二存儲(chǔ)區(qū)域的第一部分和第二部分分別存儲(chǔ)IPv6地址的 前64比特和后64比特,第二存儲(chǔ)區(qū)域的第一部分的步長為16比特,第二存儲(chǔ)區(qū)域的第二 部分的步長為8比特。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)主要在于可以在使用有限內(nèi)存下實(shí)現(xiàn)地址的高 速查找。通過對(duì)IPv6地址網(wǎng)絡(luò)前綴長度的不同進(jìn)行分級(jí)存儲(chǔ),采用hash+rbtree以及變步 長多分支trie樹存儲(chǔ)結(jié)構(gòu),可以在有效減少存儲(chǔ)容量的同時(shí)提高查找效率。
通過下面結(jié)合
本發(fā)明的實(shí)施例,將使本發(fā)明的上述及其它目的、特征和 優(yōu)點(diǎn)更加清楚,其中圖1示出了本發(fā)明中的IPv6地址存儲(chǔ)方法中的A存儲(chǔ)區(qū)域的示意圖;圖2示出了本發(fā)明中的IPv6地址存儲(chǔ)方法中的B存儲(chǔ)區(qū)域的示意圖;圖3示出了根據(jù)本發(fā)明的IPv6地址存儲(chǔ)方法的流程圖;圖4示出了圖3中所示的IPv6地址存儲(chǔ)方法中在A存儲(chǔ)區(qū)域中進(jìn)行存儲(chǔ)的方法 的詳細(xì)流程圖;以及圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的IPv6接入控制網(wǎng)關(guān)的框圖。
具體實(shí)施例方式為了清楚詳細(xì)的闡述本發(fā)明的實(shí)現(xiàn)過程,下面給出了一些本發(fā)明的具體實(shí)施例。 參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明,在描述過程中省略了對(duì)于本發(fā)明來說是不必要 的細(xì)節(jié)和功能,以防止對(duì)本發(fā)明的理解造成混淆。本說明書中所涉及的技術(shù)術(shù)語的定義A存儲(chǔ)區(qū)域——存儲(chǔ)區(qū)域代號(hào),指采用散列(hash)和紅黑樹rbtree存儲(chǔ)方式的存儲(chǔ)區(qū)。主要存 儲(chǔ)用戶IPv6地址及訪問權(quán)限屬性等信息。如圖1所示,IPv6地址網(wǎng)絡(luò)前綴長度為128比 特的IPv6地址經(jīng)過hash運(yùn)算(桶深為65536)后存儲(chǔ)在rbtree中的相應(yīng)位置。B存儲(chǔ)區(qū)域——存儲(chǔ)區(qū)域代號(hào),指采用變步長多分支trie樹存儲(chǔ)方式的存儲(chǔ)區(qū)。主要存儲(chǔ)IPv6 地址段訪問權(quán)限屬性。例如,在本發(fā)明的一個(gè)實(shí)施例中,IPv6地址的網(wǎng)絡(luò)前綴的前64比特 以步長為16存儲(chǔ),后64比特以步長為8存儲(chǔ)。(如圖2所示)。訪問權(quán)限屬性一一對(duì)地址訪問權(quán)限進(jìn)行控制的屬性。參見專利號(hào)為200910089531. 1、發(fā)明名稱為 "IPv6/IPv4地址分級(jí)訪問權(quán)限控制方法和訪問控制網(wǎng)關(guān)”的在先中國專利申請(qǐng),其全體內(nèi)容在此一并引入作為參考。在本發(fā)明中,IPv6地址存儲(chǔ)方法優(yōu)先保證查找的速度,這是因?yàn)椴迦?、刪除的操作 頻率和查找的操作頻率大概相差了 5個(gè)數(shù)量級(jí)。在本發(fā)明中,綜合考慮查找效率和內(nèi)存使用兩者,以獲得總體上最優(yōu)的效率。下面 的表1以網(wǎng)絡(luò)地址前綴為32和72兩種情況為例,列舉了在不同存儲(chǔ)方式下所實(shí)現(xiàn)的內(nèi)存 占用和查找次數(shù)之間的關(guān)系。
權(quán)利要求
一種IPv6地址存儲(chǔ)方法,包括判斷IPv6地址的網(wǎng)絡(luò)前綴的長度是否為128比特;如果是,則將IPv6地址存儲(chǔ)在第一存儲(chǔ)區(qū)域中;否則,將IPv6地址存儲(chǔ)在第二存儲(chǔ)區(qū)域中。
2.如權(quán)利要求1所述的IPv6地址存儲(chǔ)方法,其中,將IPv6地址存儲(chǔ)在第一存儲(chǔ)區(qū)域中 的步驟包括對(duì)IPv6地址進(jìn)行散列運(yùn)算并存儲(chǔ)到第一存儲(chǔ)區(qū)域中,第一存儲(chǔ)區(qū)域具有由散 列結(jié)構(gòu)和紅黑樹rbtree結(jié)構(gòu)形成的混合結(jié)構(gòu)。
3.如權(quán)利要求1所述的IPv6地址存儲(chǔ)方法,其中,將IPv6地址存儲(chǔ)在第二存儲(chǔ)區(qū)域中 的步驟包括將IPv6地址分為第一部分和第二部分,并分別存儲(chǔ)到第二存儲(chǔ)區(qū)域的第一部 分和第二部分中,第二存儲(chǔ)區(qū)域具有變步長多分支trie樹結(jié)構(gòu)。
4.如權(quán)利要求3所述的IPv6地址存儲(chǔ)方法,其中,第二存儲(chǔ)區(qū)域的第一部分和第二部 分分別存儲(chǔ)IPv6地址的前64比特和后64比特,第二存儲(chǔ)區(qū)域的第一部分的步長為16比 特,第二存儲(chǔ)區(qū)域的第二部分的步長為8比特。
5.如權(quán)利要求2所述的IPv6地址存儲(chǔ)方法,還包括在配置128比特的IPv6地址訪 問權(quán)限屬性時(shí),如果IPv6地址的訪問權(quán)限屬性與所屬網(wǎng)段的訪問權(quán)限屬性相同,則對(duì)IPv6 地址進(jìn)行散列運(yùn)算,在對(duì)應(yīng)的紅黑樹rbtree結(jié)構(gòu)中查找對(duì)應(yīng)節(jié)點(diǎn),并且如果找到該對(duì)應(yīng)節(jié) 點(diǎn),則將其刪除。
6.一種IPv6地址查找方法,包括判斷IPv6地址的網(wǎng)絡(luò)前綴的長度是否為128比特;如果是,則在第一存儲(chǔ)區(qū)域中查找該IPv6地址;否則,在第二存儲(chǔ)區(qū)域中查找該IPv6地址。
7.如權(quán)利要求6所述的IPv6地址查找方法,其中,第一存儲(chǔ)區(qū)域具有由散列結(jié)構(gòu)和紅 黑樹rbtree結(jié)構(gòu)形成的混合結(jié)構(gòu),第二存儲(chǔ)區(qū)域具有變步長多分支trie樹結(jié)構(gòu)。
8.如權(quán)利要求7所述的IPv6地址查找方法,其中,第二存儲(chǔ)區(qū)域包括具有第一步長的 第一部分和具有第二步長的第二部分,第二存儲(chǔ)區(qū)域的第一部分和第二部分分別存儲(chǔ)IPv6 地址的前64比特和后64比特,第二存儲(chǔ)區(qū)域的第一部分的步長為16比特,第二存儲(chǔ)區(qū)域 的第二部分的步長為8比特。
9.一種IPv6接入控制網(wǎng)關(guān),包括存儲(chǔ)單元,用于存儲(chǔ)IPv6地址,所述存儲(chǔ)單元具有第一存儲(chǔ)區(qū)域和第二存儲(chǔ)區(qū)域;以及地址處理單元,判斷IPv6地址的網(wǎng)絡(luò)前綴的長度是否為128比特,如果是,則在存儲(chǔ)單 元的第一存儲(chǔ)區(qū)域中對(duì)IPv6地址進(jìn)行存儲(chǔ)或查找;否則,在存儲(chǔ)單元的第二存儲(chǔ)區(qū)域中對(duì) IPv6地址進(jìn)行存儲(chǔ)或查找。
10.如權(quán)利要求9所述的IPv6接入控制網(wǎng)關(guān),其中,第一存儲(chǔ)區(qū)域具有由散列結(jié)構(gòu)和紅 黑樹rbtree結(jié)構(gòu)形成的混合結(jié)構(gòu),第二存儲(chǔ)區(qū)域具有變步長多分支trie樹結(jié)構(gòu),第二存儲(chǔ) 區(qū)域包括具有第一步長的第一部分和具有第二步長的第二部分,第二存儲(chǔ)區(qū)域的第一部分 和第二部分分別存儲(chǔ)IPv6地址的前64比特和后64比特,第二存儲(chǔ)區(qū)域的第一部分的步長 為16比特,第二存儲(chǔ)區(qū)域的第二部分的步長為8比特。
全文摘要
本發(fā)明提出了一種IPv6地址存儲(chǔ)和查找方法,通過對(duì)IPv6地址網(wǎng)絡(luò)前綴長度的判斷來進(jìn)行分區(qū)存儲(chǔ)。此外,本發(fā)明還提出了一種IPv6接入控制網(wǎng)關(guān),使用上述IPv6地址存儲(chǔ)方法,在IPv6網(wǎng)絡(luò)通信系統(tǒng)中實(shí)現(xiàn)對(duì)用戶的接入權(quán)限控制。本發(fā)明在有效減少存儲(chǔ)容量的同時(shí)提高了查找效率。
文檔編號(hào)H04L29/12GK101945139SQ20101021294
公開日2011年1月12日 申請(qǐng)日期2010年6月30日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者吳建平, 李星, 胡松, 郭志強(qiáng), 黃友俊 申請(qǐng)人:賽爾網(wǎng)絡(luò)有限公司