專利名稱:在路由設(shè)備中為分組選擇路由的方法
本申請(qǐng)要求2001年12月28日提交的韓國(guó)申請(qǐng)P2000-84709的優(yōu)先權(quán),在本文中結(jié)合作為參考。
圖1說(shuō)明包含典型路由設(shè)備10的網(wǎng)絡(luò)系統(tǒng)。主處理器1檢查是否通過(guò)端口6接收到了分組。當(dāng)路由設(shè)備10收到分組時(shí)(該分組的目標(biāo)地址設(shè)置為另一個(gè)節(jié)點(diǎn)或另一個(gè)路由設(shè)備(例如,R2)),主處理器1將該分組發(fā)送到包含在路由設(shè)備10中的協(xié)議層2。協(xié)議層2可以是IP(互聯(lián)網(wǎng)協(xié)議)層2A、IPX(內(nèi)聯(lián)網(wǎng)分組交換)層2B、橋接器層2C等等的任何一個(gè)。
例如,當(dāng)IP層2A收到來(lái)自主處理器1的分組時(shí),它開(kāi)始確定是否處理該分組。一旦它決定處理該分組,則IP層2A將這些分組發(fā)送到頂層應(yīng)用模塊3。
另一方面,如果它決定不處理該分組,則檢驗(yàn)該分組的目標(biāo)地址。例如,IP層2A通過(guò)搜索路由表4的IP路由表4A獲得對(duì)應(yīng)于該分組目標(biāo)地址的接口號(hào)。而且它將該分組發(fā)送到所找到的接口。然后該分組被傳送到相應(yīng)于該分組目標(biāo)地址的節(jié)點(diǎn)或路由設(shè)備。
如上所述,分組經(jīng)過(guò)包含主處理器1和IP層2A的路由選擇路徑,如圖2所示。因?yàn)檫@種路由選擇路徑的形成與分組各自的特性無(wú)關(guān),所以路由設(shè)備10的分組處理速度低。因此,路由設(shè)備的性能降低。
雖然非常希望提供一種根據(jù)每個(gè)分組的特性設(shè)置路由選擇路徑的方法,但現(xiàn)在還沒(méi)有這樣的方法可以用于現(xiàn)有的路由設(shè)備。
本發(fā)明的一個(gè)目的是提供一種在路由設(shè)備中為分組選擇路由的方法,其中路由選擇路徑與每個(gè)數(shù)據(jù)分組的特性相關(guān)。
本發(fā)明的另一個(gè)目的是提供一種為分組選擇路由的方法,它通過(guò)最小化每個(gè)分組的數(shù)據(jù)處理時(shí)間而優(yōu)化路由設(shè)備的路由選擇性能。
本發(fā)明的其它優(yōu)點(diǎn)、目的和特征部分將在以下的說(shuō)明書(shū)中進(jìn)行闡述,部分則對(duì)于本領(lǐng)域的技術(shù)人員經(jīng)過(guò)對(duì)以下內(nèi)容的檢驗(yàn)后會(huì)變得明了,或者通過(guò)本發(fā)明的實(shí)踐而體會(huì)到。本發(fā)明的目的和其它優(yōu)點(diǎn)可以通過(guò)說(shuō)明書(shū)和權(quán)利要求書(shū)以及附圖所具體指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
為了實(shí)現(xiàn)這些目的和其他優(yōu)點(diǎn),根據(jù)本發(fā)明的目的,正如這里所體現(xiàn)并詳細(xì)描述的,一種在路由設(shè)備中為分組選擇路由的方法包括(a)接收包含目標(biāo)地址的分組,(b)檢驗(yàn)?zāi)繕?biāo)地址是否屬于該路由設(shè)備,(c)如果目標(biāo)地址不屬于該路由設(shè)備,則檢驗(yàn)?zāi)繕?biāo)地址是否與新近地址相同,和(d)如果目標(biāo)地址與新近地址相同則將分組傳送到新近接口。其中的路由設(shè)備具有主處理器,主處理器包含主緩存表和瞬時(shí)緩存表。
本方法還包括如下步驟(e)如果在步驟(c)確定目標(biāo)地址與新近地址不同,則計(jì)算目標(biāo)地址的散列密鑰值(N),(f)檢驗(yàn)?zāi)繕?biāo)地址是否與存儲(chǔ)在主緩存表的第N個(gè)緩存地址相同,和(g)如果目標(biāo)地址與第N個(gè)緩存地址相同則將分組傳送到對(duì)應(yīng)于第N個(gè)緩存地址的第一接口。
最后,該方法包括步驟(h)將存儲(chǔ)在瞬時(shí)緩存表中的新近地址和新近接口分別重新設(shè)置成第N個(gè)緩存地址和第一接口。
在本發(fā)明的另一個(gè)方面,一種在路由設(shè)備中為分組選擇路由的方法包括(a)接收包含目標(biāo)IP地址的分組,(b)檢驗(yàn)?zāi)繕?biāo)IP地址是否屬于該路由設(shè)備,(c)如果目標(biāo)IP地址不屬于該路由設(shè)備,則檢驗(yàn)?zāi)繕?biāo)IP地址是否與當(dāng)前IP地址相同,和(d)如果目標(biāo)IP地址與當(dāng)前IP地址相同則將分組傳送到當(dāng)前IP接口。其中的路由設(shè)備具有主處理器,主處理器包含主緩存表和瞬時(shí)緩存表。
該方法還包括步驟(e)如果在步驟(c)確定目標(biāo)IP地址與當(dāng)前IP地址不同,則計(jì)算目標(biāo)IP地址的散列密鑰值(N),(f)檢驗(yàn)?zāi)繕?biāo)IP地址是否與存儲(chǔ)在主緩存表的第N個(gè)緩存IP地址相同,和(g)如果目標(biāo)IP地址與第N個(gè)緩存IP地址相同則將分組傳送到對(duì)應(yīng)于第N個(gè)緩存IP地址的第一IP接口。
最后,該方法包括步驟(h)將存儲(chǔ)在瞬時(shí)緩存表的當(dāng)前IP地址和當(dāng)前IP接口分別重新設(shè)置成第N個(gè)緩存IP地址和第一IP接口。
可以理解本發(fā)明的上面的概述和下面的詳細(xì)說(shuō)明是示例性的和說(shuō)明性的,旨在對(duì)權(quán)利要求所限定的本發(fā)明作進(jìn)一步解釋。
優(yōu)選實(shí)施例詳述以下詳細(xì)說(shuō)明本發(fā)明的優(yōu)選實(shí)施例,在附圖中說(shuō)明了這些實(shí)施例。相同的標(biāo)號(hào)在所有的附圖中用于表示相同或類似的部件。
圖3說(shuō)明了包含根據(jù)本發(fā)明的路由設(shè)備20的網(wǎng)絡(luò)系統(tǒng)。由圖可見(jiàn),該裝置包括主處理器11、協(xié)議層12、頂層應(yīng)用模塊13和路由表14。
協(xié)議層12可以包括IP(互聯(lián)網(wǎng)協(xié)議)層12A、IPX(內(nèi)聯(lián)網(wǎng)分組交換)層12B、橋接器層12C等等的任何一個(gè)。
包含在本發(fā)明路由設(shè)備20中的主處理器11包括主緩存表11A和瞬時(shí)緩存表11B。主緩存表11A另外存儲(chǔ)一些存在路由表14中的核心信息。
例如,在路由表14存儲(chǔ)各種信息的情況下,例如目標(biāo)互聯(lián)網(wǎng)協(xié)議(IP)地址、子集掩碼、網(wǎng)關(guān)、量度、協(xié)議和接口,主緩存表11A另外存儲(chǔ)包含緩存IP地址和接口的核心信息。當(dāng)然,存儲(chǔ)在主緩存表11A的緩存IP地址等同于存在路由表14(例如IP路由表14A)中的目標(biāo)地址。
另外,瞬時(shí)緩存表11B存儲(chǔ)新近地址和與路由設(shè)備20進(jìn)行的最近的分組傳輸相關(guān)的相應(yīng)接口。
當(dāng)路由設(shè)備20收到來(lái)自另一個(gè)節(jié)點(diǎn)或路由設(shè)備的分組時(shí),主處理器11能夠在不需要傳送分組到協(xié)議層12的情況下,利用兩個(gè)表(11A和11B)完成分組傳輸處理。
在圖1所示的現(xiàn)有路由設(shè)備中,所有的核心信息存儲(chǔ)在路由表4中,因此,每個(gè)分組必須通過(guò)包含主處理器1和IP層2A的路由選擇路徑而傳輸。
另一方面,在本發(fā)明的路由設(shè)備中,與確定分組選擇路由有關(guān)的核心信息不僅存儲(chǔ)在與協(xié)議層12相連的路由表14中,而且存儲(chǔ)在主處理器11所包含的主緩存表11A和瞬時(shí)緩存表11B中。
因此,可以選擇只包括主處理器11的路由選擇路徑或包括主處理器11和協(xié)議層12的另一條路由選擇路徑來(lái)傳輸分組。該選擇取決于分組的特性。
例如,如圖4所示,只包括主處理器11的路由選擇路徑可用于傳送分組。結(jié)果可以減少處理分組所需的時(shí)間。
現(xiàn)在將詳細(xì)說(shuō)明根據(jù)本發(fā)明的在路由設(shè)備中為分組選擇路由的方法,該方法的例子在圖5中示出。
首先,路由設(shè)備20的主處理器11周期地檢驗(yàn)每個(gè)端口6是否收到分組(S1)。如果沒(méi)有收到分組,則等待直到預(yù)定的時(shí)間過(guò)去(S2),并在每個(gè)端口再次重復(fù)步驟S1。
如果在步驟S1確定通過(guò)端口收到分組,則主處理器11檢驗(yàn)分組的目標(biāo)地址(例如,目標(biāo)IP地址)是否屬于該路由設(shè)備(S3)。也就是說(shuō),主處理器11檢驗(yàn)該分組是否應(yīng)當(dāng)傳送到另一個(gè)節(jié)點(diǎn)或路由設(shè)備。例如,主處理器11通過(guò)搜索14個(gè)字節(jié)的IP報(bào)頭之后得到分組的目標(biāo)地址(例如,IP地址)。
如果收到的分組目標(biāo)地址(例如,IP地址)屬于包含主處理器11的路由設(shè)備20,則主處理器11確定該分組應(yīng)當(dāng)在協(xié)議層12(例如,IP層12A)處理。因此,它把分組發(fā)送到協(xié)議層12(例如,IP層)(S20)。
當(dāng)協(xié)議層12收到來(lái)自主處理器11的分組時(shí),IP層12開(kāi)始確定分組是否在協(xié)議層(例如,IP層)12處理(選擇路由)(S21)。
如果否,則協(xié)議層12將分組發(fā)送到頂層應(yīng)用模塊(TAM)13(S22)。否則,協(xié)議層12通過(guò)搜索路由表14(例如,IP路由表14A)而找到對(duì)應(yīng)于分組目標(biāo)地址的接口(S23),并將該分組發(fā)送到所找到的接口(S24)。
再回到步驟S3,如果分組的目標(biāo)地址對(duì)應(yīng)于另一個(gè)路由設(shè)備,則主處理器11檢驗(yàn)分組的目標(biāo)地址是否是單點(diǎn)傳送(S4)。
如果否(例如,多點(diǎn)傳送、廣播等等),則主處理器11向協(xié)議層12發(fā)送分組(S20)。然后協(xié)議層12重復(fù)步驟S21到S24。
否則,主處理器11搜索存儲(chǔ)在瞬時(shí)緩存表11B中的核心信息(S5),檢驗(yàn)分組的目標(biāo)地址是否與瞬時(shí)緩存表11B中的新近地址相同(S6)。如前所述,新近地址表示與路由設(shè)備最近進(jìn)行的分組傳輸相關(guān)的地址。
如果分組的目標(biāo)地址與瞬時(shí)緩存表11B中存儲(chǔ)的新近地址相同,則主處理器11找到對(duì)應(yīng)于新近地址的接口并將分組發(fā)送到所找到的接口(S7)。
另一方面,如果分組的目標(biāo)地址不同于瞬時(shí)緩存表11B中存儲(chǔ)的新近地址,則主處理器11利用散列函數(shù)得到對(duì)應(yīng)于目標(biāo)地址的散列密鑰(S8)。
例如,可以由下面的等式1得到散列密鑰K=(N1+N2+N3+N4)/T其中,K和T表示散列密鑰和主緩存表11A的大小,N1、N2、N3和N4表示分組目標(biāo)地址的第1、第2、第3和第4字節(jié)。
此后,主處理器11通過(guò)搜索主緩存表11A找到對(duì)應(yīng)于計(jì)算出的散列密鑰的緩存地址(S9)。例如,如果散列密鑰是4,則在主緩存表11A的第4入口找到緩存地址。如果散列密鑰15,則在主緩存表11A的第15入口找到緩存地址。
接下來(lái),主處理器11檢驗(yàn)分組的目標(biāo)地址是否與在步驟S9找到的緩存地址相同(S10)。
例如,如果散列密鑰是4,則主處理器11檢驗(yàn)屬于主緩存表11A第4入口的緩存地址是否與分組的目標(biāo)地址相同。
如果分組的目標(biāo)地址不同于在步驟S9找到的緩存IP地址,則主處理器11判斷主緩存表11A中沒(méi)有目標(biāo)地址。因此,它將分組發(fā)送到協(xié)議層12(S30)。
當(dāng)協(xié)議層12收到分組時(shí),協(xié)議層12開(kāi)始確定分組是否應(yīng)該在協(xié)議層12中處理(S31)。
如果否,則協(xié)議層12將分組發(fā)送到頂層應(yīng)用模塊(TAM)12(S32)。否則,協(xié)議層12通過(guò)搜索路由表14(例如,IP路由表14A)找到對(duì)應(yīng)于分組目標(biāo)地址的接口(S33),并將分組發(fā)送到所找到的接口(S34)。
接下來(lái),主處理器11將與步驟S34中進(jìn)行的分組傳送處理相關(guān)的地址和接口存儲(chǔ)在主緩存表11A中(S55)。還將同樣的信息存儲(chǔ)在瞬時(shí)緩存表11B中(S36)。相應(yīng)地,瞬時(shí)緩存表11B包含與最新的分組傳送信息相關(guān)的新近地址和接口。
回到步驟S10,如果在步驟S10中確定分組的目標(biāo)地址與步驟S9找到的緩存地址相同,則主處理器11將分組發(fā)送到對(duì)應(yīng)于緩存地址的接口(S11)。
同樣,主處理器11將與步驟S11中進(jìn)行的分組傳送處理相關(guān)的接口和緩存地址存儲(chǔ)到瞬時(shí)緩存表11B中(S12)。
總而言之,與確定路由選擇路徑相關(guān)的核心信息不僅存儲(chǔ)在協(xié)議層12的路由表14中,而且存儲(chǔ)在包含在主處理器11中的瞬時(shí)緩存表(11A和11B)之中。因?yàn)榻o定分組的路由路徑的選擇取決于分組的特性,所以減少了分組的數(shù)據(jù)處理時(shí)間。結(jié)果,增強(qiáng)了路由設(shè)備的路由選擇性能。
對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),很顯然可以對(duì)本發(fā)明進(jìn)行各種修改和變化。因此,在所附權(quán)利要求及其等同物的范圍內(nèi),本發(fā)明包括對(duì)本發(fā)明的各種改進(jìn)和變化。
權(quán)利要求
1.一種在路由設(shè)備中為分組選擇路由的方法,所述路由設(shè)備具有包含主緩存表和瞬時(shí)緩存表的主處理器,所述瞬時(shí)緩存表存儲(chǔ)與所述路由設(shè)備進(jìn)行的最新分組傳輸處理相關(guān)的新近地址和新近接口,該方法包括步驟(a)接收分組,該分組包含其目標(biāo)地址;(b)檢驗(yàn)所述目標(biāo)地址是否屬于所述路由設(shè)備;(c)如果所述目標(biāo)地址不屬于所述路由設(shè)備,則檢驗(yàn)所述目標(biāo)地址是否與所述新近地址相同;和(d)如果所述目標(biāo)地址與所述新近地址相同則將所述分組傳送到所述新近接口。
2.根據(jù)權(quán)利要求1所述的方法,還包括步驟(e)如果在步驟(c)確定所述目標(biāo)地址與所述新近地址不同,則計(jì)算所述目標(biāo)地址的散列密鑰值(N);(f)檢驗(yàn)所述目標(biāo)地址是否與存儲(chǔ)在所述主緩存表中的第N個(gè)緩存地址相同;和(g)如果所述目標(biāo)地址與所述第N個(gè)緩存地址相同,則將所述分組傳送到對(duì)應(yīng)于所述第N個(gè)緩存地址的第一接口。
3.根據(jù)權(quán)利要求2所述的方法,還包括步驟(h)將存儲(chǔ)在所述瞬時(shí)緩存表中的所述新近地址和新近接口分別重新設(shè)置成所述第N個(gè)緩存地址和所述第一接口。
4.根據(jù)權(quán)利要求1所述的方法,還包括步驟如果在步驟(b)確定所述目標(biāo)地址屬于所述路由設(shè)備,則將所述分組發(fā)送到包含在所述路由設(shè)備中的協(xié)議層,所述協(xié)議層與路由表連接。
5.根據(jù)權(quán)利要求4所述的方法,還包括將所述分組發(fā)送到包含在所述路由設(shè)備中的頂層應(yīng)用模塊的步驟。
6.根據(jù)權(quán)利要求4所述的方法,還包括將所述分組傳送到對(duì)應(yīng)于所述目標(biāo)地址的第一接口的步驟。
7.根據(jù)權(quán)利要求6所述的方法,其中,通過(guò)搜索所述路由表而找到對(duì)應(yīng)于所述目標(biāo)地址的所述第一接口。
8.根據(jù)權(quán)利要求2所述的方法,還包括步驟如果在步驟(f)確定所述目標(biāo)地址不同于所述第N個(gè)緩存地址,則將所述分組發(fā)送到包含在所述路由設(shè)備中的協(xié)議層,所述協(xié)議層與路由表連接。
9.根據(jù)權(quán)利要求8所述的方法,還包括將所述分組發(fā)送到包含在所述路由設(shè)備中的頂層應(yīng)用模塊的步驟。
10.根據(jù)權(quán)利要求8所述的方法,還包括將所述分組傳送到對(duì)應(yīng)于所述目標(biāo)地址的第二接口的步驟。
11.根據(jù)權(quán)利要求10所述的方法,其中,通過(guò)搜索所述路由表而找到對(duì)應(yīng)于所述目標(biāo)地址的所述第二接口。
12.根據(jù)權(quán)利要求10所述的方法,還包括步驟將所述目標(biāo)地址和所述第二接口存儲(chǔ)到所述主緩存表中;和將所述瞬時(shí)緩存表存儲(chǔ)的所述新近地址和新近接口重新設(shè)置成所述目標(biāo)地址和所述第二接口。
13.根據(jù)權(quán)利要求2所述的方法,其中所述散列密鑰是這樣確定的K=(N1+N2+N3+N4)/T其中K表示所述散列密鑰值,T表示所述主緩存表的大小,和N1到N4分別表示所述目標(biāo)地址的第一、第二、第三和第四字節(jié)數(shù)據(jù)。
14.一種在路由設(shè)備中為分組選擇路由的方法,所述路由設(shè)備具有包含主緩存表和瞬時(shí)緩存表的主處理器,所述瞬時(shí)緩存表存儲(chǔ)與所述路由設(shè)備進(jìn)行的最新分組傳輸處理相關(guān)的新近地址和新近接口,該方法包括步驟(a)接收分組,該分組包含它自己的目標(biāo)IP地址;(b)檢驗(yàn)所述目標(biāo)IP地址是否屬于所述路由設(shè)備;(c)如果所述目標(biāo)IP地址不屬于所述路由設(shè)備,則檢驗(yàn)所述目標(biāo)IP地址是否與所述當(dāng)前IP地址相同,和(d)如果所述目標(biāo)IP地址與所述當(dāng)前IP地址相同,則將所述分組傳送到所述當(dāng)前IP接口。
15.根據(jù)權(quán)利要求14所述的方法,還包括步驟(e)如果在步驟(c)確定所述目標(biāo)IP地址與所述當(dāng)前IP地址不同,則計(jì)算所述目標(biāo)IP地址的散列密鑰值(N);(f)檢驗(yàn)所述目標(biāo)IP地址是否與存儲(chǔ)在所述主緩存表中的第N個(gè)緩存IP地址相同;和(g)如果所述目標(biāo)IP地址與所述第N個(gè)緩存IP地址相同,則將所述分組傳送到對(duì)應(yīng)于所述第N個(gè)緩存IP地址的第一IP接口。
16.根據(jù)權(quán)利要求15所述的方法,還包括步驟(h)將存儲(chǔ)在所述瞬時(shí)緩存表中的所述當(dāng)前IP地址和當(dāng)前IP接口分別重新設(shè)置成所述第N個(gè)緩存IP地址和所述第一IP接口。
17.根據(jù)權(quán)利要求14所述的方法,還包括如下步驟如果在步驟(b)確定所述目標(biāo)IP地址屬于所述路由設(shè)備,則將所述分組發(fā)送到包含在所述路由設(shè)備中的IP層,所述IP層與IP路由表連接。
18.根據(jù)權(quán)利要求17所述的方法,還包括如下步驟將所述分組傳送到對(duì)應(yīng)于所述目標(biāo)IP地址的第一IP接口,通過(guò)搜索所述IP路由表而找到對(duì)應(yīng)于所述目標(biāo)IP地址的所述第一IP接口。
19.根據(jù)權(quán)利要求15所述的方法,還包括如下步驟如果在步驟(f)確定所述目標(biāo)IP地址不同于所述第N個(gè)緩存IP地址,則將所述分組發(fā)送到在所述路由設(shè)備中所包含的協(xié)議層,所述IP層與IP路由表相連接。
20.根據(jù)權(quán)利要求19所述的方法,還包括如下步驟將所述分組傳送到對(duì)應(yīng)于所述目標(biāo)IP地址的第二IP接口,其中通過(guò)搜索所述路由表找到對(duì)應(yīng)于所述目標(biāo)IP地址的所述第二IP接口。
21.根據(jù)權(quán)利要求20所述的方法,還包括步驟將所述目標(biāo)IP地址和所述第二IP接口存儲(chǔ)到所述主緩存表;和將所述瞬時(shí)緩存表存儲(chǔ)的所述當(dāng)前IP地址和當(dāng)前IP接口重新設(shè)置成所述目標(biāo)IP地址和所述第二IP接口。
全文摘要
一種在路由設(shè)備中為分組選擇路由的方法,其中的路由設(shè)備具有包含主緩存表和瞬時(shí)緩存表的主處理器,瞬時(shí)緩存表存儲(chǔ)與路由設(shè)備進(jìn)行的最新分組傳輸處理相關(guān)的新近地址和新近接口,該方法包括:接收包含目標(biāo)地址的分組,檢驗(yàn)?zāi)繕?biāo)地址是否屬于該路由設(shè)備,如果目標(biāo)地址不屬于該路由設(shè)備,則檢驗(yàn)?zāi)繕?biāo)地址是否與新近地址相同,如果目標(biāo)地址與新近地址相同則將分組傳送到新近接口。結(jié)果,與確定路由選擇路徑相關(guān)的核心信息不僅存入?yún)f(xié)議層的路由表,而且存入包含在主處理器中的瞬時(shí)緩存表。因?yàn)楦鶕?jù)分組的特性為給定分組選擇路由路徑,所以減少了分組的數(shù)據(jù)處理時(shí)間。結(jié)果,增強(qiáng)了路由設(shè)備的路由選擇性能。
文檔編號(hào)H04L12/56GK1362820SQ0114483
公開(kāi)日2002年8月7日 申請(qǐng)日期2001年12月27日 優(yōu)先權(quán)日2000年12月28日
發(fā)明者樸成旭 申請(qǐng)人:Lg電子株式會(huì)社