專利名稱:在具有多徑路由的面向分組的網(wǎng)絡(luò)中借助對(duì)應(yīng)于額定業(yè)務(wù)分配的散列碼進(jìn)行業(yè)務(wù)分配的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在具有多徑路由的、用節(jié)點(diǎn)和鏈路構(gòu)成的面向分組的網(wǎng)絡(luò)中的節(jié)點(diǎn)處確定業(yè)務(wù)分配的方法和節(jié)點(diǎn)。
用于通過(guò)面向分組的網(wǎng)絡(luò)傳輸實(shí)時(shí)業(yè)務(wù)、例如語(yǔ)音業(yè)務(wù)的方法的研發(fā)是網(wǎng)絡(luò)專家、交換技術(shù)人員和因特網(wǎng)專家的主要的活動(dòng)領(lǐng)域。
目前,線路交換的語(yǔ)音網(wǎng)和基于分組的數(shù)據(jù)網(wǎng)并存。出于經(jīng)濟(jì)的考慮,通過(guò)統(tǒng)一的網(wǎng)絡(luò)來(lái)傳輸語(yǔ)音和數(shù)據(jù)是值得去追求的。針對(duì)面向分組的網(wǎng)絡(luò)的最常見(jiàn)的類型,已經(jīng)研發(fā)了不同的協(xié)議或方法,其中這些面向分組的網(wǎng)絡(luò)基于因特網(wǎng)協(xié)議并且因此也被稱為IP網(wǎng),這些協(xié)議或方法應(yīng)允許通過(guò)IP網(wǎng)的具有傳統(tǒng)網(wǎng)絡(luò)中慣常的語(yǔ)音質(zhì)量的語(yǔ)音傳輸。在此情況下,應(yīng)克服原來(lái)的IP網(wǎng)在傳輸實(shí)時(shí)業(yè)務(wù)(例如語(yǔ)音)方面的多個(gè)不足。
傳統(tǒng)的IP網(wǎng)根據(jù)“盡力而為(best-effort)”方法來(lái)輸送數(shù)據(jù)包。通過(guò)節(jié)點(diǎn)或路由器根據(jù)包含在包報(bào)頭中的目標(biāo)地址來(lái)進(jìn)行數(shù)據(jù)包的繼續(xù)交換。路由判斷是局部的。單個(gè)節(jié)點(diǎn)獨(dú)立地起作用。數(shù)據(jù)包的傳輸質(zhì)量關(guān)鍵性地取決于在傳輸范圍中所經(jīng)過(guò)的節(jié)點(diǎn)處的條件。因此,在過(guò)載的節(jié)點(diǎn)處可能出現(xiàn)太明顯的延遲,甚至出現(xiàn)丟包,因此語(yǔ)音傳輸?shù)馁|(zhì)量特征不能被保證。
減小在傳輸路徑中容易出現(xiàn)瓶頸的弱點(diǎn)以及改善業(yè)務(wù)分配的一個(gè)可能性是通過(guò)多于一條的路徑來(lái)傳輸業(yè)務(wù)。在OSPF(開(kāi)放式最短路徑優(yōu)先)標(biāo)準(zhǔn)的范圍中所定義的ECMP(等成本多路徑)方案中規(guī)定,通過(guò)多個(gè)在度量的意義上相同長(zhǎng)度的或者具有相同成本(通常實(shí)現(xiàn)所謂的最小成本路由)的路徑來(lái)傳輸業(yè)務(wù)。
通常將下面兩種策略之一用于沿著該路徑的分配1.按照包來(lái)分配包被單個(gè)地分配到輸出端上(例如利用所謂的加權(quán)輪轉(zhuǎn)策略)。在此情況下雖然形成優(yōu)化的和確定性的業(yè)務(wù)分配。但是會(huì)出現(xiàn)一個(gè)通信關(guān)系的包的順序的調(diào)換,因?yàn)檫@些包在它們到達(dá)目的地之前經(jīng)過(guò)不同的路徑。
2.按照流來(lái)分配根據(jù)業(yè)務(wù)流(Flows)來(lái)進(jìn)行分配,使得一個(gè)通信關(guān)系的包都采用相同的輸出端。這里,雖然業(yè)務(wù)分配的粒度或精度較差,但在將包分配給路徑的情況下選擇路徑時(shí)的自由度受到流所屬性的限制。為此,該策略確保在每個(gè)通信關(guān)系之內(nèi)的包順序。
在此情況下,流的概念經(jīng)常通過(guò)以下方式來(lái)定義,即將這樣的包分配給相同的流,對(duì)于這些包來(lái)說(shuō)源地址信息和目標(biāo)地址信息(例如I P地址或IP地址與端口號(hào)一起)一致。
通常將散列碼用于第二種變型方案、即按照流來(lái)分配的可行的并可升級(jí)的實(shí)現(xiàn)。在此,散列碼是通過(guò)散列函數(shù)產(chǎn)生的在散列函數(shù)值域內(nèi)的數(shù)。散列函數(shù)將字符串或者數(shù)字序列映射到固定的值域上或者具有固定長(zhǎng)度的比特序列上。散列函數(shù)通常也被用于密碼術(shù)方法。在分配到不同路徑上的情況下,根據(jù)IP包(例如源和/或目標(biāo)地址)的報(bào)頭產(chǎn)生散列碼。于是,該散列碼決定業(yè)務(wù)分配。在使用源地址和目標(biāo)地址作為散列碼計(jì)算的輸入值時(shí),源-目標(biāo)通信關(guān)系或流的所有包自動(dòng)獲得相同的散列碼,并因此被引導(dǎo)到相同的輸出端上。已知這樣的方法,這些方法導(dǎo)致這些散列碼在所允許的散列碼的范圍上均勻分布。這樣的方法例如在Z.Cao,Z.Wang和E.Zegura所著的出版物“Performance of hashing-baseds chemes for Internet loading-balancing”中進(jìn)行了描述,其中該出版物于2000年3月在紐約IEEE計(jì)算機(jī)通信會(huì)議(IEEE Infocom2000)的會(huì)議記錄中被公開(kāi)。
較新的方案在于,進(jìn)行比在ECMP方案中更靈活的業(yè)務(wù)分配。這種更靈活的分配的兩個(gè)主要方面在于·不同于在兩個(gè)點(diǎn)之間規(guī)定到不分岔的路徑上的固定分配的ECMP,應(yīng)允許沿著分岔的多徑路由或多徑路徑的路由。在此,在理想情況下,由節(jié)點(diǎn)獨(dú)立地進(jìn)行分配,即流到鏈路上的局部分配在全局上是不確定的。
·考慮到快速的故障反應(yīng)(例如鏈路故障),在路由判斷情況下單個(gè)節(jié)點(diǎn)的提高的獨(dú)立性也是重要的。與作為故障反應(yīng)必須重新確定整個(gè)路徑的ECMP方法不同,多徑路由的局部改變應(yīng)該是可能的。
在這樣擴(kuò)展為靈活的多徑路由的情況下,在將散列碼應(yīng)用于業(yè)務(wù)分配時(shí)出現(xiàn)方法所固有的困難。所描述的散列方法的基本問(wèn)題是,節(jié)點(diǎn)根據(jù)散列碼將包遞交到離開(kāi)該節(jié)點(diǎn)的鏈路(在下面,一個(gè)節(jié)點(diǎn)的屬于多徑路由的鏈路也被稱為路徑扇(Wegefaecher))的輸出端,并且因此也根據(jù)散列碼將包分類。當(dāng)于連接在輸出端上的后續(xù)節(jié)點(diǎn)中將相同的用于形成散列碼的函數(shù)再次應(yīng)用于包的時(shí)候,因此結(jié)果可能不再是均勻分布的。更確切地說(shuō),該函數(shù)僅僅還產(chǎn)生通過(guò)在前一節(jié)點(diǎn)中的分類已經(jīng)預(yù)期的散列碼的值域。由此不再保證合理的業(yè)務(wù)分配。
在最一般的情況下,在具有多徑路由的IP網(wǎng)中不必端對(duì)端地分離地引導(dǎo)多徑扇的單個(gè)路徑。因此出現(xiàn)在網(wǎng)絡(luò)節(jié)點(diǎn)中,事先已經(jīng)基于散列碼被分配并因此被分類的業(yè)務(wù)集中到一起(因此在節(jié)點(diǎn)中進(jìn)行分配時(shí)不僅包根據(jù)其散列碼被分類,而且這種被分類的包流也被聚集到一起)。在所有情況下,這導(dǎo)致在該節(jié)點(diǎn)中與均勻分配的粗略的偏差,使得因此不再保證所希望的業(yè)務(wù)到多徑路徑扇的離開(kāi)的鏈路上的分配。
本發(fā)明的任務(wù)在于,給出一種方法,該方法能夠針對(duì)任意的多徑路由方法借助散列碼實(shí)現(xiàn)業(yè)務(wù)分配。
該任務(wù)通過(guò)權(quán)利要求1來(lái)解決。
根據(jù)本發(fā)明,從一個(gè)或多個(gè)起始節(jié)點(diǎn)(例如網(wǎng)絡(luò)的邊緣節(jié)點(diǎn))出發(fā)持續(xù)地進(jìn)行多徑路由,并且根據(jù)所期望的業(yè)務(wù)分布(即業(yè)務(wù)在網(wǎng)絡(luò)中的分布)或業(yè)務(wù)分配(即在節(jié)點(diǎn)處的業(yè)務(wù)的分配)確定散列碼的與節(jié)點(diǎn)有關(guān)的值域,其中這些散列碼保證對(duì)應(yīng)于額定業(yè)務(wù)分配的業(yè)務(wù)分配。在此情況下,起始節(jié)點(diǎn)的特征在于,根據(jù)散列碼的業(yè)務(wù)量分配是已知的,其中在屬于流的包的傳輸過(guò)程中通過(guò)多徑路由確定該散列碼。借助于已知的通過(guò)一個(gè)或多個(gè)起始節(jié)點(diǎn)的業(yè)務(wù)量分配,對(duì)于后續(xù)節(jié)點(diǎn)來(lái)說(shuō)可根據(jù)散列碼來(lái)確定業(yè)務(wù)量分配或業(yè)務(wù)容量分配,并且可以確定在額定業(yè)務(wù)分配意義上的業(yè)務(wù)分配的值域。以這種方式可以沿多徑路由逐節(jié)點(diǎn)地確定散列碼的值域,并為對(duì)應(yīng)于業(yè)務(wù)的額定分配的業(yè)務(wù)分配確定這些值域到鏈路的分配。被引導(dǎo)到鏈路上的業(yè)務(wù)的總量或總?cè)萘吭诖饲闆r下通過(guò)被分配給該鏈路的散列碼值域的業(yè)務(wù)量的積分得到。額定分配可以例如通過(guò)業(yè)務(wù)模型或業(yè)務(wù)矩陣來(lái)確定。
利用本發(fā)明方法,可以按照網(wǎng)絡(luò)中的額定業(yè)務(wù)分配、針對(duì)任意的具有業(yè)務(wù)分配的多徑路由并借助于散列碼來(lái)確定(確定性的)業(yè)務(wù)分配。在此,例如可以為每個(gè)離開(kāi)的鏈路分配一個(gè)值域。通過(guò)在額定業(yè)務(wù)分配意義上的散列碼值域的確定來(lái)避免由于將相同的散列函數(shù)應(yīng)用于彼此相繼的節(jié)點(diǎn)而引起的可能的失真。通常,在本發(fā)明方法中,相同流的包跟隨相同的路徑,因此避免了用于包的重新排序(英語(yǔ)稱為resequencing)的附加花費(fèi)。
為計(jì)算散列碼的值域,有利的是在一個(gè)或多個(gè)起始節(jié)點(diǎn)中作為散列碼的函數(shù)的業(yè)務(wù)量密度是均勻分布的。散列碼的計(jì)算例如借助標(biāo)識(shí)流的地址信息、例如源地址和目標(biāo)地址或由源地址和端口號(hào)以及目標(biāo)地址和端口號(hào)組成的二元組來(lái)進(jìn)行。
下面,借助附圖在實(shí)施例的范圍內(nèi)更詳細(xì)地闡述本發(fā)明主題。
圖1示出了具有節(jié)點(diǎn)和鏈路的網(wǎng)絡(luò)部分,圖2示出了節(jié)點(diǎn)A處在散列碼上的業(yè)務(wù)分布以及節(jié)點(diǎn)B處的業(yè)務(wù)分布,圖3示出了在節(jié)點(diǎn)C中聚集的業(yè)務(wù),圖4示出了對(duì)散列碼積分的業(yè)務(wù)。
圖1示出了具有節(jié)點(diǎn)A、B、C、D和E以及一些通過(guò)箭頭來(lái)表示的鏈路的網(wǎng)絡(luò)部分。節(jié)點(diǎn)標(biāo)識(shí)A和B之后的數(shù)字說(shuō)明相關(guān)的業(yè)務(wù)容量,其中這些節(jié)點(diǎn)將該業(yè)務(wù)容量提供到該網(wǎng)絡(luò)中,也就是說(shuō)經(jīng)過(guò)節(jié)點(diǎn)B的業(yè)務(wù)是經(jīng)過(guò)節(jié)點(diǎn)A的業(yè)務(wù)的三倍。圖2示出了在節(jié)點(diǎn)A(上方)和節(jié)點(diǎn)B(下方)上均勻分布的業(yè)務(wù)。橫坐標(biāo)表示散列碼HC,這些散列碼在標(biāo)準(zhǔn)化的示圖中應(yīng)該位于范圍0..1中??v坐標(biāo)給出業(yè)務(wù)密度V(HC),也即該曲線描述了業(yè)務(wù)在散列碼HC的(標(biāo)準(zhǔn)化的)分布。積分、即在矩形曲線下方的面積對(duì)應(yīng)于相應(yīng)節(jié)點(diǎn)的業(yè)務(wù)容量。圖3示出了當(dāng)在A和B中業(yè)務(wù)分別有一半如下被分配到兩個(gè)所示出的鏈路上時(shí)在節(jié)點(diǎn)C中出現(xiàn)的業(yè)務(wù)從A向C分別發(fā)送散列碼<=0.5的業(yè)務(wù),并且從B向C發(fā)送具有0.5<散列碼<=1的散列碼HC的業(yè)務(wù)。顯而易見(jiàn)的是,在節(jié)點(diǎn)C中的業(yè)務(wù)的散列碼HC因此不再是均勻地分布的。當(dāng)在通過(guò)節(jié)點(diǎn)C分配業(yè)務(wù)的情況下從均勻分配出發(fā)時(shí),不再保證所期望的業(yè)務(wù)從C向D和E的分配。
根據(jù)本發(fā)明,從多徑路由的節(jié)點(diǎn)A和B出發(fā)A)在第一步驟中,在后續(xù)節(jié)點(diǎn)C中根據(jù)業(yè)務(wù)量和預(yù)給定的額定分配權(quán)重計(jì)算業(yè)務(wù)容量在散列碼HC上產(chǎn)生的分布。
B)在第二步驟中,通過(guò)該分布的(逐段的)積分確定,應(yīng)在何處設(shè)置所考察的節(jié)點(diǎn)中的散列碼邊界,以便實(shí)現(xiàn)所期望的額定分配權(quán)重。如果w是所期望的分配權(quán)重以及IV(HC)是業(yè)務(wù)容量V(HC)在散列碼HC上的歸一化的累積或積分分布,則
w=V(HC1)-V(HC2)其中HC1..HC2是被導(dǎo)向輸出端的散列碼的范圍,該輸出端應(yīng)獲得權(quán)重w。如果僅僅使用兩個(gè)輸出端,則對(duì)于下面的部分來(lái)說(shuō)HC1總是等于出現(xiàn)的最小散列碼HC_min,而對(duì)于上面的部分來(lái)說(shuō)HC2總是等于出現(xiàn)的最大散列碼HC_max。如果應(yīng)將業(yè)務(wù)分配到多于兩個(gè)的鏈路上,那么應(yīng)針對(duì)這些鏈路以HC_min或HC_max開(kāi)始連續(xù)地計(jì)算HC1或HC2的值。
圖3示出了在節(jié)點(diǎn)C中業(yè)務(wù)容量在散列碼上所形成的累積分布。此外還畫(huà)出了邊界HCD=0.67(涉及歸一化的散列碼HC),其中在C中必須調(diào)整該邊界,以便在通向D(wD=0.5)和E(wE=0.5)的鏈路上實(shí)現(xiàn)半對(duì)半分配。比較為了半對(duì)半分配,在節(jié)點(diǎn)A和B中應(yīng)設(shè)置HCD=0.5。圖4示出了在節(jié)點(diǎn)C中的積分的業(yè)務(wù)IV(HC),其中整個(gè)業(yè)務(wù)被歸一化。由該圖得到,散列碼值域的邊界應(yīng)被確定為HC_min=0以及HC_max=0.67,或在HC_min=0.67時(shí)HC_max=1,以便調(diào)整被引導(dǎo)通過(guò)節(jié)點(diǎn)C的業(yè)務(wù)到兩個(gè)后續(xù)節(jié)點(diǎn)D和E上的均勻分配。
可以連續(xù)地針對(duì)沿多徑路由的所有節(jié)點(diǎn)來(lái)執(zhí)行針對(duì)節(jié)點(diǎn)C所描述的步驟1和2,直到到達(dá)目標(biāo)節(jié)點(diǎn)(也即該方法“遍歷”多徑路由)。
對(duì)于多徑路由中的每個(gè)節(jié)點(diǎn)來(lái)說(shuō),結(jié)果是應(yīng)在其邊緣處針對(duì)所期望的額定業(yè)務(wù)分配權(quán)重進(jìn)行調(diào)整的散列碼邊界。
權(quán)利要求
1.用于在具有多徑路由的、用節(jié)點(diǎn)(A,B,C,D,E)和鏈路構(gòu)成的面向分組的網(wǎng)絡(luò)中的節(jié)點(diǎn)(C)處確定業(yè)務(wù)分配的方法,其中在所述網(wǎng)絡(luò)的節(jié)點(diǎn)(A,B,C)處按照借助包所包含的地址信息構(gòu)成的散列碼(HC)將所述包分配到至少兩個(gè)離開(kāi)的鏈路上,因此-為應(yīng)沿著多徑路由引導(dǎo)的業(yè)務(wù)確定該業(yè)務(wù)沿著該路由的額定分配,-從所述多徑路由的一個(gè)或多個(gè)起始節(jié)點(diǎn)出發(fā),沿著所述多徑路由針對(duì)至少一個(gè)具有至少兩個(gè)屬于所述多徑路由的離開(kāi)的鏈路的節(jié)點(diǎn)(A,B,C),-在從前面的節(jié)點(diǎn)(A,B)引導(dǎo)到相應(yīng)節(jié)點(diǎn)的業(yè)務(wù)的基礎(chǔ)上,根據(jù)所述散列碼(HC)的值域來(lái)確定在所述多徑路由上被引導(dǎo)到該節(jié)點(diǎn)的業(yè)務(wù)的分配(V(HC)),-按照所述業(yè)務(wù)的額定分配確定所述散列碼(HC)的值域段到所述多徑路由的離開(kāi)的鏈路的分配。
2.根據(jù)權(quán)利要求1的方法,其特征在于在起始節(jié)點(diǎn)(A,B)處,所述散列碼(HC)在其值域中是均勻分布的。
3.根據(jù)權(quán)利要求1或2的方法,其特征在于根據(jù)源地址和目標(biāo)地址構(gòu)成所述散列碼。
4.根據(jù)前述權(quán)利要求之一的方法,其特征在于為每一個(gè)離開(kāi)的鏈路分配恰好一個(gè)值域段。
全文摘要
根據(jù)本發(fā)明方法,在面向分組的網(wǎng)絡(luò)中,沿著多徑路由在節(jié)點(diǎn)(C)處根據(jù)網(wǎng)絡(luò)中預(yù)定的業(yè)務(wù)分配來(lái)確定業(yè)務(wù)分配的散列碼值域。在此情況下,從一個(gè)或多個(gè)起始節(jié)點(diǎn)(A,B)出發(fā),持續(xù)地沿著多徑路由針對(duì)具有分支的每一個(gè)節(jié)點(diǎn)(A,B,C)確定作為散列碼(HC)的函數(shù)的業(yè)務(wù)分配(V(HC)),并且確定散列碼(HC)的值域到離開(kāi)的鏈路的分配。本發(fā)明的優(yōu)點(diǎn)是,能夠在基于散列碼(HC)進(jìn)行分配的情況下實(shí)現(xiàn)業(yè)務(wù)沿著任意的多徑路由的所希望的分配。
文檔編號(hào)H04L29/06GK1799232SQ200480015549
公開(kāi)日2006年7月5日 申請(qǐng)日期2004年6月1日 優(yōu)先權(quán)日2003年6月3日
發(fā)明者G·肖爾邁爾, C·溫克勒 申請(qǐng)人:西門子公司