亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

分布式ipv6路由查找方法和系統(tǒng)與流程

文檔序號(hào):11148092閱讀:413來(lái)源:國(guó)知局
分布式ipv6路由查找方法和系統(tǒng)與制造工藝

本發(fā)明涉及互聯(lián)網(wǎng)路由路由技術(shù)領(lǐng)域,具體涉及一種分布式ipv6路由查找方法和系統(tǒng)。



背景技術(shù):

現(xiàn)有技術(shù)中,針對(duì)前16位種類少,且多以0x2001開(kāi)頭,通過(guò)多層次,多階段逐步解決ipv6存儲(chǔ)空間過(guò)大的問(wèn)題。例如在TSB中,將二叉樹(shù)、段表和路由桶技術(shù)相結(jié)合,提出一種多階段ipv6路由表查找算法。但由于ipv6的飛速發(fā)展,現(xiàn)有主干網(wǎng)中路由項(xiàng)數(shù)成指數(shù)增長(zhǎng),前16位分布變的廣泛,使得不僅僅只有0x2001需要段表,主干網(wǎng)中路由項(xiàng)數(shù)量的快速增長(zhǎng)還使得路由桶技術(shù)不能適用,且ipv6存儲(chǔ)方案空間需求過(guò)大,查找時(shí)間過(guò)長(zhǎng)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明旨在至少解決上述技術(shù)問(wèn)題之一。

為此,本發(fā)明的一個(gè)目的在于提出一種分布式ipv6路由查找方法,以解決現(xiàn)有ipv6存儲(chǔ)方案空間需求過(guò)大,查找時(shí)間過(guò)長(zhǎng)的問(wèn)題。

為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例公開(kāi)了一種分布式ipv6路由查找方法,包括以下步驟:S110:構(gòu)建前綴長(zhǎng)度為32位和前綴長(zhǎng)度為48位的多分支Trie樹(shù);S120:將路由器中所有前綴長(zhǎng)度除了32位與48位的路由項(xiàng)以前綴長(zhǎng)度劃分,并建立哈希表;S130:當(dāng)添加路由項(xiàng)時(shí),判定所述添加路由項(xiàng)的前綴長(zhǎng)度是否為32或48,若是,則將所述添加路由項(xiàng)添加到所述多分支Trie樹(shù)中的對(duì)應(yīng)位置,若不是,則添加到所述哈希表中;S140:當(dāng)轉(zhuǎn)發(fā)報(bào)文時(shí),根據(jù)所述報(bào)文分別在所述多分支Trie樹(shù)和所述哈希表中匹配結(jié)果轉(zhuǎn)發(fā)報(bào)文。

根據(jù)本發(fā)明實(shí)施例的分布式ipv6路由查找方法,將前綴長(zhǎng)度為32位和48位的路由占的總數(shù)較大,故使用多分支Trie樹(shù),極大的提高了查找速度;其它前綴長(zhǎng)度的路由長(zhǎng)度分布廣,但總數(shù)較少,用基于前綴長(zhǎng)度的算法實(shí)現(xiàn)查找,能極大地提高查找速度。

另外,根據(jù)本發(fā)明上述實(shí)施例的分布式ipv6路由查找方法,還可以具有如下附加的技術(shù)特征:

進(jìn)一步地,所述步驟S140進(jìn)一步包括:S141:當(dāng)轉(zhuǎn)發(fā)報(bào)文時(shí),從所述多分支Trie樹(shù)查找是否有匹配的路由項(xiàng),若匹配,則記錄第一匹配路由項(xiàng)和第一匹配路由項(xiàng)的前綴長(zhǎng)度;若沒(méi)有匹配的路由項(xiàng),則進(jìn)入步驟S142;S142:在所述哈希表中進(jìn)行查找,若匹配,則記錄第二匹配路由項(xiàng)和第二匹配路由項(xiàng)的前綴長(zhǎng)度;S143:如果所述報(bào)文在所述多分支Trie樹(shù)和所述哈希表中均無(wú)匹配項(xiàng),則丟且所述報(bào)文;如果所述報(bào)文存在所述第一匹配路由項(xiàng)或所述第二匹配路由項(xiàng),則以所述第一匹配路由項(xiàng)或所述第二匹配路由項(xiàng)轉(zhuǎn)發(fā)所述報(bào)文;如果所述報(bào)文存在所述第一匹配路由項(xiàng)和所述第二匹配路由項(xiàng),則當(dāng)?shù)谝黄ヅ渎酚身?xiàng)的前綴長(zhǎng)度大于第二匹配路由項(xiàng)的前綴長(zhǎng)度時(shí),以所述第一匹配路由項(xiàng)轉(zhuǎn)發(fā)所述報(bào)文;則當(dāng)?shù)谝黄ヅ渎酚身?xiàng)的前綴長(zhǎng)度小于第二匹配路由項(xiàng)的前綴長(zhǎng)度時(shí),以所述第二匹配路由項(xiàng)轉(zhuǎn)發(fā)所述報(bào)文。

進(jìn)一步地,使用二分查找法從所述哈希表中查找匹配項(xiàng)。

進(jìn)一步地,在步驟S142中,所述哈希表中查找路由項(xiàng)的前綴長(zhǎng)度為16位至64位。

為此,本發(fā)明的一個(gè)目的在于提出一種分布式ipv6路由查系統(tǒng),以解決現(xiàn)有ipv6存儲(chǔ)方案空間需求過(guò)大,查找時(shí)間過(guò)長(zhǎng)的問(wèn)題。

為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例公開(kāi)了一種分布式ipv6路由查系統(tǒng),包括:路由轉(zhuǎn)發(fā)表構(gòu)建模塊,所述路由轉(zhuǎn)發(fā)表構(gòu)建模塊用于構(gòu)建前綴長(zhǎng)度為32位和前綴長(zhǎng)度為48位的多分支Trie樹(shù),所述路由轉(zhuǎn)發(fā)表構(gòu)建模塊還用于將路由器中所有前綴長(zhǎng)度除了32位與48位的路由項(xiàng)以前綴長(zhǎng)度劃分,并建立哈希表,所述路由轉(zhuǎn)發(fā)表構(gòu)建模塊還用于當(dāng)添加路由項(xiàng)時(shí),判定所述添加路由項(xiàng)的前綴長(zhǎng)度是否為32或48,若是,則將所述添加路由項(xiàng)添加到所述多分支Trie樹(shù)中的對(duì)應(yīng)位置,若不是,則添加到所述哈希表中;路由轉(zhuǎn)發(fā)表查詢模塊,所述路由轉(zhuǎn)發(fā)表查詢模塊用于分別從所述多分支Trie樹(shù)和所述哈希表中匹配結(jié)果;報(bào)文轉(zhuǎn)發(fā)模塊,用于根據(jù)從所述多分支Trie樹(shù)和所述哈希表中匹配結(jié)果轉(zhuǎn)發(fā)報(bào)文。

根據(jù)本發(fā)明實(shí)施例的分布式ipv6路由查系統(tǒng),將前綴長(zhǎng)度為32位和48位的路由占的總數(shù)較大,故使用多分支Trie樹(shù),極大的提高了查找速度;其它前綴長(zhǎng)度的路由長(zhǎng)度分布廣,但總數(shù)較少,用基于前綴長(zhǎng)度的算法實(shí)現(xiàn)查找,能極大地提高查找速度。

另外,根據(jù)本發(fā)明上述實(shí)施例的分布式ipv6路由查系統(tǒng),還可以具有如下附加的技術(shù)特征:

進(jìn)一步地,所述路由轉(zhuǎn)發(fā)表查詢模塊進(jìn)一步用于:當(dāng)轉(zhuǎn)發(fā)報(bào)文時(shí),從所述多分支Trie樹(shù)查找是否有匹配的路由項(xiàng),若匹配,則記錄第一匹配路由項(xiàng)和第一匹配路由項(xiàng)的前綴長(zhǎng)度,如在所述多分支Trie樹(shù)中沒(méi)有匹配項(xiàng),則在所述哈希表中進(jìn)行查找,若匹配,則記錄第二匹配路由項(xiàng)和第二匹配路由項(xiàng)的前綴長(zhǎng)度;所述報(bào)文轉(zhuǎn)發(fā)模塊進(jìn)一步用于:如果所述報(bào)文在所述多分支Trie樹(shù)和所述哈希表中均無(wú)匹配項(xiàng),則丟且所述報(bào)文;如果所述報(bào)文存在所述第一匹配路由項(xiàng)或所述第二匹配路由項(xiàng),則以所述第一匹配路由項(xiàng)或所述第二匹配路由項(xiàng)轉(zhuǎn)發(fā)所述報(bào)文;如果所述報(bào)文存在所述第一匹配路由項(xiàng)和所述第二匹配路由項(xiàng),則當(dāng)?shù)谝黄ヅ渎酚身?xiàng)的前綴長(zhǎng)度大于第二匹配路由項(xiàng)的前綴長(zhǎng)度時(shí),以所述第一匹配路由項(xiàng)轉(zhuǎn)發(fā)所述報(bào)文;則當(dāng)?shù)谝黄ヅ渎酚身?xiàng)的前綴長(zhǎng)度小于第二匹配路由項(xiàng)的前綴長(zhǎng)度時(shí),以所述第二匹配路由項(xiàng)轉(zhuǎn)發(fā)所述報(bào)文。

進(jìn)一步地,所述路由轉(zhuǎn)發(fā)表查詢模塊使用二分查找法從所述哈希表中查找匹配項(xiàng)。

進(jìn)一步地,所述哈希表中查找路由項(xiàng)的前綴長(zhǎng)度為16位至64位。

本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。

附圖說(shuō)明

本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:

圖1是本發(fā)明一個(gè)實(shí)施例的分布式ipv6路由查找方法的流程圖;

圖2是本發(fā)明一個(gè)實(shí)施例的分布式ipv6路由查找系統(tǒng)的結(jié)構(gòu)框圖。

具體實(shí)施方式

下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。

在本發(fā)明的描述中,需要理解的是,術(shù)語(yǔ)“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。

參照下面的描述和附圖,將清楚本發(fā)明的實(shí)施例的這些和其他方面。在這些描述和附圖中,具體公開(kāi)了本發(fā)明的實(shí)施例中的一些特定實(shí)施方式,來(lái)表示實(shí)施本發(fā)明的實(shí)施例的原理的一些方式,但是應(yīng)當(dāng)理解,本發(fā)明的實(shí)施例的范圍不受此限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。

以下結(jié)合附圖描述本發(fā)明。

圖1是本發(fā)明一個(gè)實(shí)施例的分布式ipv6路由查找方法的流程圖。如圖1所示,一種分布式ipv6路由查找方法,包括以下步驟:

S110:構(gòu)建前綴長(zhǎng)度為32位和前綴長(zhǎng)度為48位的多分支Trie樹(shù)。

具體地,令路由器中32位和48位的路由項(xiàng)為X1。構(gòu)造多分支Trie樹(shù),多分支Trie樹(shù)中第一層為前綴長(zhǎng)度是16位的路由項(xiàng),第二層為前綴長(zhǎng)度是32位的路由項(xiàng),第三層為前綴長(zhǎng)度是48位的路由項(xiàng)。每一層查找16個(gè)比特位。將X1中的路由項(xiàng)添加到Trie樹(shù)中。令Trie樹(shù)中除最后一層的節(jié)點(diǎn)為X2,對(duì)于X2中的每一個(gè)節(jié)點(diǎn)都建立一個(gè)大小為216的數(shù)組,該數(shù)組用于記錄子節(jié)點(diǎn)信息。將查找子節(jié)點(diǎn)對(duì)應(yīng)的16個(gè)比特位數(shù)值化,并記錄到數(shù)組中對(duì)應(yīng)的位置。

S120:將路由器中所有前綴長(zhǎng)度除了32位與48位的路由項(xiàng)以前綴長(zhǎng)度劃分,并建立哈希表。

具體地,在本發(fā)明的一個(gè)示例中,Hash(40)表示前綴長(zhǎng)度為40的所有路由項(xiàng)的Hash表。將第i次查找的前綴長(zhǎng)度記為Si,基于二分查找加入標(biāo)記位(若Si<Si-1,則對(duì)比在Si~Si-1中的前綴項(xiàng),是否有比該節(jié)點(diǎn)更加匹配的路由項(xiàng),若有則在該節(jié)點(diǎn)添加標(biāo)記位。若Si>Si-1,則對(duì)比在Si~2Si-Si-1中的前綴項(xiàng),是否有比該節(jié)點(diǎn)更加匹配的路由項(xiàng),若有則在該節(jié)點(diǎn)添加標(biāo)記位),使之可以進(jìn)行二分查找。

S130:當(dāng)添加路由項(xiàng)時(shí),判定添加路由項(xiàng)的前綴長(zhǎng)度是否為32或48,若是,則將添加路由項(xiàng)添加到多分支Trie樹(shù)中的對(duì)應(yīng)位置,若不是,則添加到哈希表中,并根據(jù)步驟S120加入相應(yīng)的標(biāo)記位。。

S140:當(dāng)轉(zhuǎn)發(fā)報(bào)文時(shí),根據(jù)報(bào)文分別在多分支Trie樹(shù)和哈希表中匹配結(jié)果轉(zhuǎn)發(fā)報(bào)文。

在本發(fā)明的一個(gè)實(shí)施例中,使用二分查找法從哈希表中查找匹配項(xiàng),能極大地提高查找速度。

在本發(fā)明的一個(gè)實(shí)施例中,步驟S140進(jìn)一步包括:

S141:當(dāng)轉(zhuǎn)發(fā)報(bào)文時(shí),從多分支Trie樹(shù)查找是否有匹配的路由項(xiàng),若匹配,則記錄第一匹配路由項(xiàng)和第一匹配路由項(xiàng)的前綴長(zhǎng)度;若沒(méi)有匹配的路由項(xiàng),則進(jìn)入步驟S142。

具體地,令轉(zhuǎn)發(fā)的報(bào)文為S。首先在Trie樹(shù)中查找是否有和S匹配的路由項(xiàng)。若沒(méi)有匹配的路由項(xiàng),則直接進(jìn)行下一步二分查找。若匹配,則記錄下匹配的路由項(xiàng),記為A,A的前綴長(zhǎng)度為i。

S142:在哈希表中進(jìn)行查找,若匹配,則記錄第二匹配路由項(xiàng)和第二匹配路由項(xiàng)的前綴長(zhǎng)度。

具體地,在哈希表中進(jìn)行二分查找。若匹配,則記錄下匹配的路由項(xiàng),記為B,B的前綴長(zhǎng)度為j。

S143:如果報(bào)文在多分支Trie樹(shù)和哈希表中均無(wú)匹配項(xiàng),則丟且報(bào)文;

如果報(bào)文存在第一匹配路由項(xiàng)或第二匹配路由項(xiàng),則以第一匹配路由項(xiàng)或第二匹配路由項(xiàng)轉(zhuǎn)發(fā)報(bào)文;

如果報(bào)文存在第一匹配路由項(xiàng)和第二匹配路由項(xiàng),則當(dāng)?shù)谝黄ヅ渎酚身?xiàng)的前綴長(zhǎng)度大于第二匹配路由項(xiàng)的前綴長(zhǎng)度時(shí),以第一匹配路由項(xiàng)轉(zhuǎn)發(fā)報(bào)文;則當(dāng)?shù)谝黄ヅ渎酚身?xiàng)的前綴長(zhǎng)度小于第二匹配路由項(xiàng)的前綴長(zhǎng)度時(shí),以第二匹配路由項(xiàng)轉(zhuǎn)發(fā)報(bào)文。

具體地,若Trie樹(shù)中與Hash表中都無(wú)匹配項(xiàng),則丟棄報(bào)文。若Trie樹(shù)中與Hash表中有且僅有一項(xiàng)匹配,則以此路由項(xiàng)轉(zhuǎn)發(fā)報(bào)文。若Trie樹(shù)中與Hash表中都有匹配的路由項(xiàng),則比較路由項(xiàng)的前綴長(zhǎng)度。若i>j,以A為匹配項(xiàng)轉(zhuǎn)發(fā)報(bào)文。若i<j,以B為匹配項(xiàng)轉(zhuǎn)發(fā)報(bào)文。

在本發(fā)明的一個(gè)實(shí)施例中,哈希表中查找路由項(xiàng)的前綴長(zhǎng)度為16位至64位。

本發(fā)明實(shí)施例的分布式ipv6路由查找方法,將前綴長(zhǎng)度為32位和48位的路由占的總數(shù)較大,故使用多分支Trie樹(shù),極大的提高了查找速度;其它前綴長(zhǎng)度的路由長(zhǎng)度分布廣,但總數(shù)較少,用基于前綴長(zhǎng)度的算法實(shí)現(xiàn)查找,能極大地提高查找速度。

圖2是本發(fā)明一個(gè)實(shí)施例的分布式ipv6路由查找系統(tǒng)的結(jié)構(gòu)框圖。如圖2所示,一種分布式ipv6路由查找系統(tǒng),包括路由轉(zhuǎn)發(fā)表構(gòu)建模塊210、路由轉(zhuǎn)發(fā)表查詢模塊220和報(bào)文轉(zhuǎn)發(fā)模塊230。

其中,路由轉(zhuǎn)發(fā)表構(gòu)建模塊210用于構(gòu)建前綴長(zhǎng)度為32位和前綴長(zhǎng)度為48位的多分支Trie樹(shù)。路由轉(zhuǎn)發(fā)表構(gòu)建模塊210還用于將路由器中所有前綴長(zhǎng)度除了32位與48位的路由項(xiàng)以前綴長(zhǎng)度劃分,并建立哈希表。路由轉(zhuǎn)發(fā)表構(gòu)建模塊210還用于當(dāng)添加路由項(xiàng)時(shí),判定添加路由項(xiàng)的前綴長(zhǎng)度是否為32或48,若是,則將添加路由項(xiàng)添加到多分支Trie樹(shù)中的對(duì)應(yīng)位置,若不是,則添加到哈希表中

路由轉(zhuǎn)發(fā)表查詢模塊220用于分別從多分支Trie樹(shù)和哈希表中匹配結(jié)果。

報(bào)文轉(zhuǎn)發(fā)模塊230用于根據(jù)從多分支Trie樹(shù)和哈希表中匹配結(jié)果轉(zhuǎn)發(fā)報(bào)文。

在本發(fā)明的一個(gè)實(shí)施例中,路由轉(zhuǎn)發(fā)表查詢模塊220進(jìn)一步用于:當(dāng)轉(zhuǎn)發(fā)報(bào)文時(shí),從多分支Trie樹(shù)查找是否有匹配的路由項(xiàng),若匹配,則記錄第一匹配路由項(xiàng)和第一匹配路由項(xiàng)的前綴長(zhǎng)度,如在多分支Trie樹(shù)中沒(méi)有匹配項(xiàng),則在哈希表中進(jìn)行查找,若匹配,則記錄第二匹配路由項(xiàng)和第二匹配路由項(xiàng)的前綴長(zhǎng)度。

報(bào)文轉(zhuǎn)發(fā)模塊230進(jìn)一步用于:如果報(bào)文在多分支Trie樹(shù)和哈希表中均無(wú)匹配項(xiàng),則丟且報(bào)文;如果報(bào)文存在第一匹配路由項(xiàng)或第二匹配路由項(xiàng),則以第一匹配路由項(xiàng)或第二匹配路由項(xiàng)轉(zhuǎn)發(fā)報(bào)文;如果報(bào)文存在第一匹配路由項(xiàng)和第二匹配路由項(xiàng),則當(dāng)?shù)谝黄ヅ渎酚身?xiàng)的前綴長(zhǎng)度大于第二匹配路由項(xiàng)的前綴長(zhǎng)度時(shí),以第一匹配路由項(xiàng)轉(zhuǎn)發(fā)報(bào)文;則當(dāng)?shù)谝黄ヅ渎酚身?xiàng)的前綴長(zhǎng)度小于第二匹配路由項(xiàng)的前綴長(zhǎng)度時(shí),以第二匹配路由項(xiàng)轉(zhuǎn)發(fā)報(bào)文。

在本發(fā)明的一個(gè)實(shí)施例中,路由轉(zhuǎn)發(fā)表查詢模塊220使用二分查找法從哈希表中查找匹配項(xiàng)。

在本發(fā)明的一個(gè)實(shí)施例中,哈希表中查找路由項(xiàng)的前綴長(zhǎng)度為16位至64位。

需要說(shuō)明的是,本發(fā)明實(shí)施例的分布式ipv6路由查找系統(tǒng)的具體實(shí)施方式與本發(fā)明實(shí)施例的分布式ipv6路由查找方法的具體實(shí)施方式類似,具體請(qǐng)參見(jiàn)方法部分,為了較少冗余,不作贅述。

另外,本發(fā)明實(shí)施例的分布式ipv6路由查找方法和系統(tǒng)的其它構(gòu)成以及作用對(duì)于本領(lǐng)域的技術(shù)人員而言都是已知的,為了減少冗余,不做贅述。

在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。

盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同限定。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1