欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

獲取下一跳路由的方法和裝置的制作方法

文檔序號:7692212閱讀:251來源:國知局
專利名稱:獲取下一跳路由的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)管理領(lǐng)域,特別涉及一種獲取下一跳路由的方法和裝置。
技術(shù)背景目前路由器上利用哈希算法選擇下一跳路由的應(yīng)用越來越多,例如在選擇多下一跳路由 時,希望報文流量均勻分布到各個路由上,這時就需要利用哈希算法來均勻選擇多下一跳路 由。具體做法是,接收報文,根據(jù)報文的目的地址查詢路由表獲取報文的下一跳路由數(shù);計 算報文的哈希值,哈希值具體取值范圍為0~(P-1),其中P (P為正然數(shù))為最大可能負(fù)擔(dān)的 下一跳路由數(shù);根據(jù)報文的哈希值查詢下一跳路由的路由信息表得到下一跳路由信息;根據(jù) 下一跳路由信息轉(zhuǎn)發(fā)報文。其中,下一跳路由的路由信息表的所能存儲的下一跳路由的表項 數(shù)取值為N, N (N為正然數(shù))和P相等;路由表存儲報文的目的地址、報文的源地址、源 端口、目的端口等信息。參見圖1,接收報文,根據(jù)根據(jù)報文的目的地址查詢路由表獲取報文的下一跳路由數(shù)M (M為JH整數(shù))為3,分別為A號路由、B號路由和C號路由;計算報文的哈希值,哈希值 具體取值范圍為0~(P-1)=7,此時P取值為8。向下一跳路由的路由路由信息表下發(fā)報文的下 一跳路由信息,分別為A號路由信息、B號路由信息、C號路由信息、A號路由信息、B號 路由信息、C號路由信息、A號路由信息、B號路由信息。如果對報文計算的哈希值為3,則 將路山信息表的首地址加上3,進而選擇A號路由信息;如果對報文計算的哈希值為5,則 將路由信息表的首地址加上5,進而選擇C號路由信息;如果對報文計算的哈希值為7,則 將路由信息表的首地址加上7,進而選擇B號路由信息。由于得到每一個哈希值的概率相同, 因此,選擇流經(jīng)A號路由、B號路由和C號路由的報文流量比為3: 3: 2。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題由于現(xiàn)有技術(shù)中,P取值為2《P《16,且P和下一跳路由的路由信息表的表項數(shù)取值N 必須相等,當(dāng)下一跳路由的路由信息表的表項數(shù)取值N不能被下一跳路由數(shù)M整除時,則會 導(dǎo)致流經(jīng)下一跳路由報文流量分布不均勻。如果提高P的取值,則會增加設(shè)備成本。發(fā)明內(nèi)容為了提高路由負(fù)載的均勻度,本發(fā)明實施例提供了一種獲取下一跳路由的方法和裝置。 所述技術(shù)方案如下一種獲取下一跳路由的方法,所述方法包括 接收報文;根據(jù)所述報文的目的地址査詢路由表獲取所述報文的下一跳路由數(shù),所述下一跳路由數(shù) 至少為兩條;當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除時,計算報文的 哈希值,所述哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的表項數(shù); 根據(jù)所述哈希值獲取對應(yīng)的路由索引; 根據(jù)所述對應(yīng)的路由索引獲取下一跳路由信息。 一種路由索引表的生成方法,包括 接收報文;根據(jù)所述報文的目的地址查詢路由表獲取所述報文的下一跳路由數(shù),所述下一跳路由數(shù) 至少為兩條;當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除時,計算所述報 文的哈希值,所述報文的哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的表項數(shù);根據(jù)所述哈希值的取值個數(shù)建立所述報文的路由索引表,所述路由索引表的中路由索引 的個數(shù)為所述哈希值的取值個數(shù);將所述下一跳路由的路由索引環(huán)填充在所述路由索引表中,直到所述路由索引表的表項 被填滿。--種路山邊界值表的生成方法,包括 接收報文;根據(jù)所述報文的目的地址査詢路由表獲取所述報文的下一跳路由數(shù),所述下一跳路由數(shù) 至少為兩條;當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除時,計算所述報 文的哈希值,所述報文的哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的表項數(shù);根據(jù)所述下一跳路由數(shù)的條數(shù)和所述哈希值的取值個數(shù)生成所述報文的路由邊界值表, 所述路由邊界值表的邊界值的個數(shù)為所述下一跳路由數(shù)的條數(shù),所述路由邊界值表的第一個 邊界值為所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商加上1,所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)減1,所述路由邊界值表的第二個邊界值為所述 商乘2加上2,所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)減2,依次類推, 直到所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)為0,所述路由邊界值表 的最后一個邊界值為所述哈希值的取值個數(shù)。一種獲取下一跳路由的裝置,包括接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)所述報文的目的地址査詢路由表獲取所述報文的下一 跳路由數(shù),所述下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由 數(shù)整除時,計算報文的哈希值,所述哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的表項數(shù);路由索引獲取模塊,用于根據(jù)所述哈希值獲取對應(yīng)的路由索引; 下一跳路由獲取模塊,用于根據(jù)所述對應(yīng)的路由索引獲取下一跳路由信息。 一種路由索引表的生成裝置,包括 接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)所述報文的目的地址査詢路由表獲取所述報文的下一 跳路由數(shù),所述下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由 數(shù)整除時,計算所述報文的哈希值,所述報文的哈希值的取值個數(shù)大于所述下一跳路由的路 由信息表的表項數(shù);路由索引表生成模塊,用于根據(jù)所述哈希值的取值個數(shù)建立所述報文的路由索引表,所 述路由索引表的路由索引的個數(shù)為所述哈希值的取值個數(shù),將所述下一跳路由的路由索引的 地址值循環(huán)填充在所述路由索引表中,直到所述路由索引表的表項被填滿。一種路由邊界值表的生成裝置,包括接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)所述報文的目的地址査詢路由表獲取所述報文的下一 跳路由數(shù),所述下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)所述下一跳路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除 時,計算所述報文的哈希值,所述報文的哈希值的取值個數(shù)大于所述下一跳路由的路由信息 表的表項數(shù);路由邊界值表生成模塊,用于根據(jù)所述下一跳路由數(shù)的條數(shù)和所述哈希值的取值個數(shù)生 成所述報文的路由邊界值表,所述邊界值表的中邊界值的個數(shù)為所述下一跳路由數(shù)的條數(shù), 所述路由邊界值表的第一個邊界值為所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商 加上l,所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)減l,所述路由邊界值 表的第二個邊界值為所述商乘2加上2,所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù) 的商的余數(shù)減2,依次類推,直到所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的 余數(shù)為0,所述路由邊界值表的最后一個邊界值為所述哈希值的取值個數(shù)。本發(fā)明實施例提供了一種獲取下一跳路由的方法和裝置,該方法引入路由索引信息,當(dāng) 哈希值的取值范圍0 (P-1)中的P取值為大于16正整數(shù),且路由信息表中所述存儲的表項 數(shù)N不能被下一跳路由數(shù)M整除時,根據(jù)報文的哈希值獲取路由索引信息,根據(jù)路由索引信 息得到下一跳路由信息,根據(jù)下一跳路由信息轉(zhuǎn)發(fā)報文,能夠達到在現(xiàn)有的設(shè)備基礎(chǔ)上提高 路由負(fù)載均勻度。


圖1是現(xiàn)有技術(shù)提供的根據(jù)哈希值獲取下一跳路由的示意圖;圖2是本發(fā)明實施例提供的一種利用路由索引表獲取下一跳路由的方法的流程圖; 圖3是本發(fā)明實施例提供的一種利用路由索引表獲取下一跳路由的方法的示意圖; 圖4是本發(fā)明實施例提供的一種利用路由邊界值表獲取下一跳路由的方法的示意圖; 圖5是本發(fā)明實施例提供的一種獲取下一跳路由的裝置的結(jié)構(gòu)示意圖; 圖6是本發(fā)明實施例提供的一種路由索引表的生成裝置的結(jié)構(gòu)示意圖; 圖7是本發(fā)明實施例提供的一種路由邊界值表的生成裝置的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進 一步地詳細(xì)描述。本發(fā)明實施例提供了一種獲取下一跳路由的方法,該方法引入路由索引信息,當(dāng)哈希值 的取值范圍0 (P-l)中的P取值為大于16,且下一跳路由的路由信息表中所述存儲的表項 數(shù)N不能被下一跳路由數(shù)M整除時,根據(jù)報文的哈希值獲取路由索引信息,根據(jù)路由索引信 息檢索下一跳路由的路由信息表得到下一跳路由信息,根據(jù)下一跳路由信息轉(zhuǎn)發(fā)報文,能夠 達到在現(xiàn)有設(shè)備基礎(chǔ)上提高路由負(fù)載均勻度的目的。參見圖2,本實施例的具體歩驟如下S101:接收報文,根據(jù)報文的目的地址査詢路由表獲取報文的下一跳路由數(shù)M;S102:判斷下一跳路由的路由信息表的表項數(shù)N是否能被下一跳路由數(shù)M整除,當(dāng)下一跳路由的路由信息表的表項數(shù)N不能被下一跳路由數(shù)M整除時,計算報文的哈希值。其中, 報文的哈希值的取值個數(shù)P大于下一跳路由的路由信息表的表項數(shù)N。S103:根據(jù)報文的哈希值獲取對應(yīng)的路由索引。 根據(jù)報文的哈希值獲取對應(yīng)的路由索引的方法包括第一、根據(jù)報文的哈希值檢索路由索引表獲取路由索引。例如,N取值為8, M取值為3,分別為A號路由、B號路由和C號路由。此時N不能 被M整除。由于現(xiàn)有技術(shù)中P和下一跳路由的路由信息表的表項數(shù)取值N必須相等,即P 取值為8。如果根據(jù)現(xiàn)有的轉(zhuǎn)發(fā)報文的技術(shù),則會導(dǎo)致流經(jīng)下一跳路由的報文流量分布不均 勻。此時,為了改進現(xiàn)有技術(shù)的缺陷,參見圖3,將P取值為128 (128并不是本實施例的唯 一取值,實際還可以是其它數(shù)值,例如P取256)。路由索引表為預(yù)先下發(fā),其被路由索引0、 1、 2循環(huán)填充,直到被填滿。其中,路由索引O對應(yīng)A號路由信息,,路由索引1對應(yīng)B號 路由信息,路由索引2對應(yīng)C號路由信息。此時,計算的報文哈希值為127,路由索引表的 首地址為0,則路由索引表的首地址和報文的哈希值的和為127,該和值對應(yīng)的路由索引為1。 本領(lǐng)域技術(shù)人員可以理解的,根據(jù)報文的哈希值檢索路由索引表獲取路由索引的歩驟具體為 計算報文的哈希值和路由索引表的首地址的和,根據(jù)計算的報文的哈希值和路由索引表的首 地址的和獲取路由索引的地址值,根據(jù)該地址值查詢路由索引表,讀取路由索引表中該地址 值對應(yīng)的路由索引。第二、根據(jù)報文的哈希值檢索路由邊界值表獲取路由索引。例如,N取值為8, M取值為3,分別為A號路由、B號路由和C號路由。此時N不能 被M整除。由于現(xiàn)有技術(shù)中P和下一跳路由信息的表項數(shù)取值N必須相等,即P取值為8。 如果根據(jù)現(xiàn)有的轉(zhuǎn)發(fā)報文的技術(shù),則會導(dǎo)致流經(jīng)下一跳路由的報文流量分布不均勻。此時, 為了改進現(xiàn)有技術(shù)的缺陷,參見圖4,將P取值為128,邊界值表為預(yù)先下發(fā),其存儲有邊界 值,邊界值的個數(shù)為下一跳路由數(shù)3,具體為[43, 86, 128],即路由邊界值表中的邊界值的 個數(shù)與下一跳路由數(shù)的條數(shù)相等。路由邊界值表中的邊界值的計算方式如下用128去除以 3,得到商為42,余數(shù)為2,邊界值表中的邊界值為[42+l, 42x2+2, 128]。將路由邊界值表中的邊界值按照從小到大的順序與報文的哈希值進行逐一比較,如果哈 希值小于43,則對應(yīng)的路由索引為0;如果哈希值大于或等于43且小于86,則對應(yīng)的路由索引 為l;如果哈希值大于或等于86且小于128,則對應(yīng)的路由索引為2。本領(lǐng)域技術(shù)人員可以理解的,用哈希值的取值個數(shù)P除以下一跳路由數(shù)M,得到商和余 數(shù)。將商加l,得到路由邊界值表的第一個邊界值,同時余數(shù)減l;將商乘2加2,得到路由 邊界值表的第二邊界值,同時余數(shù)減2;將商乘3加3,得到路由邊界值表的第三個邊界值, 同時余數(shù)減3,依次類推,直到余數(shù)為O,路由邊界值表的最后一個邊界值即第M個邊界值 為哈希值的取值個數(shù)P。將路由邊界值表中的邊界值按照從小到大的順序與報文的哈希值進行逐一比較,如果哈 希值小于第一個邊界值,則對應(yīng)的路由索引為O;如果哈希值大于或等于第M個邊界值且小于 第M+1個邊界值,則對應(yīng)的路由索引為M。S104:根據(jù)路由索引讀取下一跳路由的路由信息表得到下一跳路由信息。將步驟S103得到的路由索引的地址值乘以下一跳路由的路由信息表的表項大小(例如16 字節(jié))得到一個乘積,將該乘積加上下一跳路由的路由信息表的首地址得到下一跳路由信息 的地址,讀取該地址對應(yīng)的下一跳路由信息。例如,參見圖3和圖4,在歩驟S103中得到的 路由索引為l,根據(jù)路由索引1為報文選擇B號路由信息。S105:根據(jù)下一跳路由信息進行報文轉(zhuǎn)發(fā)。在本實施例中,當(dāng)下一跳路由的路由信息表的所能存儲的表項數(shù)N能被報文的下一跳路 由數(shù)M整除時,則直接根據(jù)報文的哈希值檢索下一跳路由的路由信息表得到下一跳路由信息, 根據(jù)下一跳路由信息轉(zhuǎn)發(fā)報文。本實施例通過引入路由索引信息,當(dāng)下一跳路由的路由信息表的所能存儲的表項數(shù)N不 能被報文的下一跳路由數(shù)M整除時,根據(jù)路由索引信息檢索下一跳路由的路由信息表得到下 一跳路由信息,根據(jù)下一跳路由信息轉(zhuǎn)發(fā)報文,能夠達到在現(xiàn)有設(shè)備基礎(chǔ)上提高路由負(fù)載均 勻度的目的。本發(fā)明實施例提供了一種獲取下一跳路由的裝置,用以獲取轉(zhuǎn)發(fā)報文的下一條路由,具 體可以是路由器。具體的,該裝置的功能描述如下該裝置接收報文,根據(jù)報文的目的地址査詢路由表獲取報文的下一跳路由數(shù),下一跳路 由數(shù)至少為兩條。當(dāng)下一跳路由的路由信息表的表項數(shù)不能被下一跳路由數(shù)整除時,該裝置計算報文的哈 希值,哈希值的取值個數(shù)大于下一跳路由的路由信息表的表項數(shù)。 該裝置根據(jù)報文的哈希值獲取對應(yīng)的路由索引,具體包括-第一,根據(jù)報文的哈希值檢索路由索引表獲取對應(yīng)的路由索引。計算報文的哈希值和路由索引表的首地址的和,根據(jù)計算的哈希值和路由索引表的首地 址的和獲取路由索引的地址值;根據(jù)該地址值査詢路由索引表,讀取路由索引表中地址值對 應(yīng)的路由索引。例如,下一跳路由的路由信息表的表項數(shù)為8,下一跳路由數(shù)為3,此時,下一跳路由的 路由信息表的表項數(shù)不能被下一跳路由數(shù)整除,如果根據(jù)現(xiàn)有的轉(zhuǎn)發(fā)報文的技術(shù),則會導(dǎo)致 流經(jīng)下一跳路由的報文流量分布不均勻。此時,為了改進現(xiàn)有技術(shù)的缺陷,參見圖3,將報 文的哈希值的取值范圍界定為0~127,此時,哈希值的取值個數(shù)為128 (128并不是本實施例 的唯一取值,實際還可以是其它數(shù)值,例如P取256),路由索引表為預(yù)先下發(fā),其被路由索 引0、 1、 2循環(huán)填充,直到被填滿。其中,路由索引O對應(yīng)A號路由信息,,路由索引l對應(yīng) B號路由信息,路由索引2對應(yīng)C號路由信息。此時,計算的報文哈希值為127,路由索引 表的首地址為0,則路由索引表的首地址和報文的哈希值的和為127,該和值對應(yīng)的路由索引 為l。第二、根據(jù)報文的哈希值檢索路由邊界值表獲取對應(yīng)的路由索引。例如,下一跳路由的路由信息表的表項數(shù)為8,下一跳路由數(shù)為3,此時,下一跳路由的 路由信息表的表項數(shù)不能被下一跳路由數(shù)整除,如果根據(jù)現(xiàn)有的轉(zhuǎn)發(fā)報文的技術(shù),則會導(dǎo)致 流經(jīng)下一跳路由的報文流量分布不均勻。此時,為了改進現(xiàn)有技術(shù)的缺陷,參見圖4,將報 文的哈希值的取值范圍界定為0~127,此時,哈希值的取值個數(shù)為128 (128并不是本實施例 的唯一取值,實際還可以是其它數(shù)值,例如P取256),路由邊界值表為預(yù)先下發(fā),其存儲有 邊界值,邊界值的個數(shù)為下一跳路由數(shù)3,具體為[43, 86, 128],即路由邊界值表中的邊界 值的個數(shù)與下一跳路由數(shù)的條數(shù)相等。路由邊界值表中的邊界值的計算方式如下用128去 除以3,得到商為42,余數(shù)為2,邊界值表中的邊界值為[42+l, 42x2+2, 128]。將路由邊界值表中的邊界值按照從小到大的順序與報文的哈希值進行逐一比較,如果哈 希值小于43,則對應(yīng)的路由索引為0;如果哈希值大于或等于43且小于86,則對應(yīng)的路由索引 為l;如果哈希值大于或等于86且小于128,則對應(yīng)的路由索引為2。本領(lǐng)域技術(shù)人員可以理解的,用哈希值的取值個數(shù)除以下一跳路由數(shù),得到商和余數(shù)。 將商加l,得到路由邊界值表的第一個邊界值,同時余數(shù)減l;將商乘2加2,得到路由邊界 值表的第二邊界值,同時余數(shù)減2;將商乘3加3,得到路由邊界值表的第三個邊界值,同時 余數(shù)減3,依次類推,直到余數(shù)為O,路由邊界值表的最后一個邊界值為哈希值的取值個數(shù)。該裝置根據(jù)路由索引檢索下一跳路由的路由信息表獲取下一跳路由信息。具體的,將路 由索引的地址值乘以下一跳路由的路由信息表的表項大小(例如16字節(jié))得到一個乘積,將該乘積加上下一跳路由的路由信息表的首地址得到下一跳路由信息的地址,讀取該地址對應(yīng) 的下一跳路由信息。該裝置根據(jù)下-一跳路由信息進行報文轉(zhuǎn)發(fā)。如圖5所示, 一種典型的獲取下一條路由的裝置包括 接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)報文的目的地址查詢路由表獲取報文的下一跳路由數(shù), 該下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)下一跳路由的路由信息表的表項數(shù)不能被下一跳路由數(shù)整除時, 計算報文的哈希值,該哈希值的取值個數(shù)大于下一跳路由的路由信息表的表項數(shù);路由索引獲取模塊,用于根據(jù)哈希值獲取對應(yīng)的路由索引;下一跳路由獲取模塊,用于根據(jù)對應(yīng)的路由索引獲取下一跳路由信息。其中,路由索引獲取模塊包括路由索引地址值獲取子模塊,用于計算哈希值和路由索引表的首地址的和,根據(jù)計算的 哈希值和路由索引表的首地址的和獲取路由索引的地址值;路由索引獲取子模塊,用于根據(jù)該地址值查詢所述路由索引表,讀取該路由索引表中所 述地址值對應(yīng)的路由索引。路由索引獲取模塊包括比較子模塊,用于將哈希值與邊界值表中的邊界值進行比較;路由索引獲取子模塊,用于當(dāng)哈希值小于第一個邊界值時,獲取對應(yīng)的路由索引為0, 當(dāng)哈希值在第M個邊界值和第(M+l)個邊界值之間時,獲取對應(yīng)的路由索引為M, M為正整數(shù)。進一歩,該下一跳路由獲取模塊包括下一跳路由地址值獲取子模塊,用于將路由索引的地址值乘以下一跳路由的路由信息表 的表項大小,再加上下一跳路由的路由信息表的首地址,得到下一跳路由的地址值;下一跳路由獲取子模塊,用于讀取下一跳路由的地址值對應(yīng)的下一跳路由信息。 本實施例通過引入路由索引信息,當(dāng)下一跳路由的路由信息表的所能存儲的表項數(shù)不能 被報文的下一跳路由數(shù)整除時,根據(jù)路由索引信息檢索下一跳路由的路由信息表得到下一跳 路由信息,根據(jù)下一跳路由信息轉(zhuǎn)發(fā)報文,能夠達到在現(xiàn)有設(shè)備基礎(chǔ)上提高路由負(fù)載均勻度 的目的。本發(fā)明實施例還提供了一種路由索引表的生成裝置,如圖6所示,包括-. 接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)報文的目的地址查詢路由表獲取報文的下一跳路由數(shù), 該下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)下一跳路由的路由信息表的表項數(shù)不能被下一跳路由數(shù)整除時, 計算報文的哈希值,該報文的哈希值的取值個數(shù)大于下一跳路由的路由信息表的表項數(shù);路由索引表生成模塊,用于根據(jù)哈希值的取值個數(shù)建立報文的路由索引表,該路由索引 表的路由索引的個數(shù)為哈希值的取值個數(shù),將下一跳路由的路由索引的地址值循環(huán)填充在路 由索引表中,直到該路由索引表的表項被填滿。本發(fā)明實施例提供了一種路由邊界值表的生成裝置,如圖7所示,包括 接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)報文的目的地址査詢路由表獲取報文的下--跳路由數(shù), 該下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)下一跳路由信息表的表項數(shù)不能被下一跳路由數(shù)整除時,計算 報文的哈希值,該報文的哈希值的取值個數(shù)大于下一跳路由的路由信息表的表項數(shù);路由邊界值生成模塊,用于根據(jù)下一跳路由數(shù)的條數(shù)和哈希值的取值個數(shù)生成報文的路 由邊界值表,該路由邊界值表的中邊界值的個數(shù)為下一跳路由數(shù)的條數(shù),該路由邊界值表的 第一個邊界值為哈希值的取值個數(shù)與下一跳路由數(shù)的條數(shù)的商加上1,該哈希值的取值個數(shù) 與下一跳路由數(shù)的條數(shù)的商的余數(shù)減1,該路由邊界值表的第二個邊界值為所述商乘2加上2, 該哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)減2,依次類推,直到哈希值的 取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)為0,該路由邊界值表的最后一個邊界值為 哈希值的取值個數(shù)。本實施例通過引入路由索引信息,當(dāng)下一跳路由的路由信息表的所能存儲的表項數(shù)不能 被報文的下一跳路由數(shù)整除時,根據(jù)路由索引信息檢索下一跳路由的路由信息表得到下一跳 路由信息,根據(jù)下一跳路由信息轉(zhuǎn)發(fā)報文,能夠達到在現(xiàn)有設(shè)備基礎(chǔ)上提高路由負(fù)載均勻度 的目的。以上實施例提供的技術(shù)方案可以通過硬件和軟件實現(xiàn),軟件存儲在可讀取的存儲介質(zhì)上, 如計算機的軟盤,硬盤或光盤等。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之 內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1. 一種獲取下一跳路由的方法,其特征在于,所述方法包括接收報文;根據(jù)所述報文的目的地址查詢路由表獲取所述報文的下一跳路由數(shù),所述下一跳路由數(shù)至少為兩條;當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除時,計算報文的哈希值,所述哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的表項數(shù);根據(jù)所述哈希值獲取對應(yīng)的路由索引;根據(jù)所述對應(yīng)的路由索引獲取下一跳路由信息。
2、 如權(quán)利要求l所述的獲取下一跳路由的方法,其特征在于,所述根據(jù)所述哈希值獲取 對應(yīng)的路由索引的步驟具體包括計算所述哈希值和路由索引表的首地址的和,根據(jù)所述計算的哈希值和路由索引表的首 地址的和獲取路由索引的地址值;根據(jù)所述地址值查詢所述路由索引表,讀取所述路由索引表中所述地址值對應(yīng)的路由索引。
3、 如權(quán)利要求l所述的獲取下一跳路由的方法,其特征在于,所述根據(jù)所述哈希值獲取 對應(yīng)的路由索引的歩驟具體包括將所述哈希值與路由邊界值表中的邊界值進行比較,當(dāng)所述哈希值小于第一個邊界值時, 獲取對應(yīng)的路由索引為0,當(dāng)所述哈希值在第M個邊界值和第(M+l)個邊界值之間時,獲 取對應(yīng)的路由索引為M, M為正整數(shù)。
4、 如權(quán)利要求2或3所述的獲取下一跳路由的方法,其特征在于,所述根據(jù)所述對應(yīng)的 路由索引獲取下一跳路由信息的步驟具體包括將所述路由索引的地址值乘以所述下一跳路由的路由信息表的表項大小,再加上所述下 一跳路由的路由信息表的首地址,得到所述下一跳路由信息的地址值,讀取所述所述下一跳 路由的路由信息表的下一跳路由信息的地址值對應(yīng)的所述下一跳路由信息。
5、 一種路由索引表的生成方法,其特征在于,包括 接收報文;根據(jù)所述報文的目的地址查詢路由表獲取所述報文的下一跳路由數(shù),所述下一跳路由數(shù) 至少為兩條;當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除時,計算所述報 文的哈希值,所述報文的哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的表項數(shù);根據(jù)所述哈希值的取值個數(shù)建立所述報文的路由索引表,所述路由索引表的中路由索引 的個數(shù)為所述哈希值的取值個數(shù);將所述下一跳路由的路由索引環(huán)填充在所述路由索引表中,直到所述路由索引表的表項 被填滿。
6、 一種路由邊界值表的生成方法,其特征在于,包括 接收報文;根據(jù)所述報文的目的地址査詢路由表獲取所述報文的下一跳路由數(shù),所述下一跳路由數(shù) 至少為兩條;當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除時,計算所述報 文的哈希值,所述報文的哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的表項數(shù);根據(jù)所述下一跳路由數(shù)的條數(shù)和所述哈希值的取值個數(shù)生成所述報文的路由邊界值表, 所述路由邊界值表的邊界值的個數(shù)為所述下一跳路由數(shù)的條數(shù),所述路由邊界值表的第一個 邊界值為所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商加上1,所述哈希值的取值 個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)減1,所述路由邊界值表的第二個邊界值為所述 商乘2加上2,所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)減2,依次類推, 直到所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)為0,所述路由邊界值表 的最后一個邊界值為所述哈希值的取值個數(shù)。
7、 一種獲取下一跳路由的裝置,其特征在于,包括 接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)所述報文的目的地址查詢路由表獲取所述報文的下一 跳路由數(shù),所述下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由 數(shù)整除時,計算報文的哈希值,所述哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的 表項數(shù);路由索引獲取模塊,用于根據(jù)所述哈希值獲取對應(yīng)的路由索引; 下一跳路由獲取模塊,用于根據(jù)所述對應(yīng)的路由索引獲取下一跳路由信息。
8、 如權(quán)利要求7所述的獲取下一跳路由的裝置,其特征在于,所述路由索引獲取模塊包括路由索引地址值獲取子模塊,用于計算所述哈希值和路由索引表的首地址的和,根據(jù)所 述計算的哈希值和路由索引表的首地址的和獲取路由索引的地址值;路由索引獲取子模塊,用于根據(jù)所述地址值查詢所述路由索引表,讀取所述路由索引表 中所述地址值對應(yīng)的路由索引。
9、 如權(quán)利要求7所述的獲取下一跳路由的裝置,其特征在于,所述路由索引獲取模塊包括比較子模塊,用于將所述哈希值與邊界值表中的邊界值進行比較;路由索引獲取子模塊,用于當(dāng)所述哈希值小于第一個邊界值時,獲取對應(yīng)的路由索引為 0,當(dāng)所述哈希值在第M個邊界值和第(M+l)個邊界值之間時,獲取對應(yīng)的路由索引為M, M為正整數(shù)。
10、 如權(quán)利要求8或9所述的獲取下一跳路由的裝置,其特征在于,所述下一跳路由獲 取模塊包括下一跳路由地址值獲取子模塊,用于將所述路由索引的地址值乘以所述下一跳路由的路 由信息表的表項大小,再加上所述下一跳路由的路由信息表的首地址,得到所述下一跳路由 的地址值;下一跳路由獲取子模塊,用于讀取所述下一跳路由的地址值對應(yīng)的所述下一跳路由信息。
11、 一種路由索引表的生成裝置,其特征在于,包括 接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)所述報文的目的地址查詢路由表獲取所述報文的下一跳路由數(shù),所述下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由 數(shù)整除時,計算所述報文的哈希值,所述報文的哈希值的取值個數(shù)大于所述下一跳路由的路 由信息表的表項數(shù);路由索引表生成模塊,用于根據(jù)所述哈希值的取值個數(shù)建立所述報文的路由索引表,所 述路由索引表的路由索引的個數(shù)為所述哈希值的取值個數(shù),將所述下一跳路由的路由索引的 地址值循環(huán)填充在所述路由索引表中,直到所述路由索引表的表項被填滿。
12、 一種路由邊界值表的生成裝置,其特征在于,包括 接收模塊,用于接收報文;下一跳路由數(shù)獲取模塊,用于根據(jù)所述報文的目的地址査詢路由表獲取所述報文的下一 跳路由數(shù),所述下一跳路由數(shù)至少為兩條;哈希值計算模塊,用于當(dāng)所述下一跳路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除 時,計算所述報文的哈希值,所述報文的哈希值的取值個數(shù)大于所述下一跳路由的路由信息 表的表項數(shù);路由邊界值表生成模塊,用于根據(jù)所述下一跳路由數(shù)的條數(shù)和所述哈希值的取值個數(shù)生 成所述報文的路由邊界值表,所述邊界值表的中邊界值的個數(shù)為所述下一跳路由數(shù)的條數(shù), 所述路由邊界值表的第一個邊界值為所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商 加上l,所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的余數(shù)減l,所述路由邊界值 表的第二個邊界值為所述商乘2加上2,所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù) 的商的余數(shù)減2,依次類推,直到所述哈希值的取值個數(shù)與所述下一跳路由數(shù)的條數(shù)的商的 余數(shù)為0,所述路由邊界值表的最后一個邊界值為所述哈希值的取值個數(shù)。
13、 一種路由器,其特征在于,所述路由器包括如權(quán)利要求7-10任意一項權(quán)利要求所述的獲取下一條路由的裝置。
14、 如權(quán)利要求13所述的路由器,其特征在于,所述獲取下一條路由的裝置包括 如權(quán)利要求12所述的路由索引表的生成裝置或如權(quán)利要求13所述的路由邊界值表的生成裝置。
全文摘要
本發(fā)明公開了一種獲取下一跳路由的方法和裝置,屬于網(wǎng)絡(luò)管理領(lǐng)域。所述方法包括接收報文;根據(jù)所述報文的目的地址查詢路由表獲取所述報文的下一跳路由數(shù),所述下一跳路由數(shù)至少為兩條;當(dāng)所述下一跳路由的路由信息表的表項數(shù)不能被所述下一跳路由數(shù)整除時,計算報文的哈希值,所述哈希值的取值個數(shù)大于所述下一跳路由的路由信息表的表項數(shù);根據(jù)所述哈希值獲取對應(yīng)的路由索引;根據(jù)所述對應(yīng)的路由索引獲取下一跳路由信息。所述裝置包括接收模塊、下一跳路由數(shù)獲取模塊、哈希值計算模塊、路由索引獲取模塊和下一跳路由獲取模塊。本發(fā)明提供的技術(shù)方案能夠?qū)⒃诂F(xiàn)有設(shè)備的基礎(chǔ)上提高路由負(fù)載均勻度。
文檔編號H04L12/56GK101282296SQ20081009747
公開日2008年10月8日 申請日期2008年5月27日 優(yōu)先權(quán)日2008年5月27日
發(fā)明者游南林 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
富顺县| 合作市| 郧西县| 林口县| 易门县| 岢岚县| 肥西县| 赣榆县| 土默特左旗| 东山县| 葫芦岛市| 紫云| 江阴市| 东乌珠穆沁旗| 三原县| 大丰市| 巴彦淖尔市| 滨州市| 长葛市| 井陉县| 宜兴市| 靖州| 镇远县| 葵青区| 涟源市| 调兵山市| 濮阳市| 遵义县| 瓦房店市| 中方县| 景洪市| 元谋县| 大洼县| 扶余县| 桑日县| 长汀县| 伊春市| 合江县| 舟曲县| 伽师县| 藁城市|