專利名稱:一種負(fù)載分擔(dān)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其是涉及一種負(fù)載分擔(dān)的方法。
背景技術(shù):
在實(shí)際網(wǎng)絡(luò)中,由于節(jié)點(diǎn)之間的拓?fù)潢P(guān)系比較復(fù)雜,經(jīng)常會(huì)出現(xiàn)到一個(gè)目的地有多條路的情況。多條路可能都可以到達(dá),并且相互之間是對(duì)等的,即都會(huì)形成路由。這樣到一個(gè)目的地就會(huì)有多條等價(jià)路由出現(xiàn)。
如圖1所示,從節(jié)點(diǎn)R1到R8,可以有三條路,如果路由計(jì)算將這三條路作為等價(jià)路由對(duì)待,那么在R1節(jié)點(diǎn),一個(gè)報(bào)文就面臨三個(gè)選擇。
第一條路R1-》R2-》R3-》R4-》R8第二條路R1-》R5-》R8第三條路R1-》R6-》R7-》R8對(duì)于網(wǎng)上的流量,有時(shí)會(huì)為了實(shí)現(xiàn)鏈路備份或者擴(kuò)大流量,也會(huì)采用分擔(dān)的方式,即去往同一個(gè)地方會(huì)出現(xiàn)多條路徑,多條路上都有流量存在,相互之間是流量分擔(dān)的,即負(fù)載分擔(dān)。負(fù)載分擔(dān)的第一個(gè)目標(biāo)是盡量把流量分的均衡,多個(gè)鏈路都可以充分發(fā)揮作用。
負(fù)載分擔(dān)在很多地方都會(huì)出現(xiàn)。比如我們最常見(jiàn)的IP路由器上,或者標(biāo)簽交換路徑(LSP)的交換設(shè)備上。
在下一代網(wǎng)絡(luò)中,采用的多網(wǎng)融合的方案,即在一張網(wǎng)絡(luò)上傳送多種業(yè)務(wù),對(duì)于同一個(gè)下一跳路由器可能會(huì)有一個(gè)或者多個(gè)路徑出現(xiàn),如果對(duì)于同一個(gè)流分配到不同的路徑上,同一個(gè)流的概念是從同一個(gè)源來(lái)并去往同一個(gè)目的地,并且有一些共同特征的數(shù)據(jù)包的集合,因?yàn)椴煌穆窂浇?jīng)過(guò)的節(jié)點(diǎn)數(shù)量不同,經(jīng)過(guò)的傳輸鏈路距離不同、不同節(jié)點(diǎn)的擁塞程度和緩存大大小不同,會(huì)造成不同路徑的時(shí)延也不同,此時(shí)同一個(gè)流到達(dá)目的地的時(shí)間就可能出現(xiàn)不同,可能出現(xiàn)亂序。
對(duì)于使用傳輸控制協(xié)議(TCP)傳送的流量,亂序在目的節(jié)點(diǎn)會(huì)被認(rèn)為是報(bào)文丟失,會(huì)出現(xiàn)重傳,造成網(wǎng)絡(luò)流量變大,嚴(yán)重的會(huì)出現(xiàn)TCP斷連接。同時(shí)如果是傳送的實(shí)時(shí)業(yè)務(wù),比如因特網(wǎng)語(yǔ)音通信(Voice Over IP;VOIP),對(duì)于終端用戶,話音質(zhì)量會(huì)不可忍受,會(huì)出現(xiàn)斷斷續(xù)續(xù)或者不清楚的現(xiàn)象。
因此,在下一代網(wǎng)絡(luò)中,路由器轉(zhuǎn)發(fā)時(shí),將同一個(gè)流使用同一個(gè)路徑轉(zhuǎn)發(fā)是非常重要的一個(gè)特性。因此負(fù)載分擔(dān)的第二個(gè)要求是,同一個(gè)流不能出現(xiàn)亂序。
目前,現(xiàn)有技術(shù)是按照流實(shí)現(xiàn)負(fù)載分擔(dān)的方法,其利用了D.Thaler提出的哈希門(mén)限算法。哈希門(mén)限算法,是通過(guò)將報(bào)文頭中的域進(jìn)行Hash,得到的Hash值作為流的標(biāo)識(shí),對(duì)于IP報(bào)文一般使用源IP地址和目的IP地址進(jìn)行Hash。在負(fù)載分擔(dān)時(shí),Hash算法可采用CRC16的算法進(jìn)行。
在負(fù)載分擔(dān)時(shí),對(duì)Hash值設(shè)置多個(gè)門(mén)限,比如有8個(gè)等價(jià)路由,Hash值為0~65535,那么就將0~65535八等分,Hash值落在第一個(gè)區(qū)間內(nèi),就走第一條路,Hash值落在第n個(gè)區(qū)間內(nèi)就走第n條路。
當(dāng)由于路由變化需要增加路徑時(shí),同時(shí)修改門(mén)限值,比如從3條路徑變?yōu)?條路徑,那么用65535除以4,然后再乘以n就得到了第n條路徑的區(qū)間。說(shuō)明如下假定原來(lái)有3條等價(jià)路由(3個(gè)下一跳),其門(mén)限設(shè)置如下
0218454369065535現(xiàn)在增加一個(gè)下一跳,變?yōu)?個(gè)下一跳,此時(shí)分配關(guān)系的變化如下所示
016383327674915165535這樣就實(shí)現(xiàn)了按照流的負(fù)載分擔(dān)。
在現(xiàn)有技術(shù)中,在負(fù)載分擔(dān)的下一跳較多時(shí),因?yàn)槊看味家x取Hash門(mén)限,那么在高速設(shè)備中會(huì)出現(xiàn)對(duì)某一快存儲(chǔ)區(qū)的訪問(wèn)競(jìng)爭(zhēng),導(dǎo)致出現(xiàn)瓶頸,所以高速設(shè)備的性能很難做到很高。同時(shí),由于路由的變化,在下一跳需要增加刪除路徑時(shí),會(huì)出現(xiàn)大量流更換路徑,造成潛在的不必要的大量亂序。下面詳細(xì)說(shuō)明這個(gè)問(wèn)題。
其中改變下一跳的流標(biāo)識(shí)(ID)范圍為如下所示,其中圖中灰色部分為改變路徑的部分。
總共改變路徑的流的比例為((65535-49151)+(43690-32767)+21845-16383))/65536=50%但當(dāng)我們?cè)黾恿艘粭l路徑(下一跳)時(shí),最多只需要有25%的流量改變路徑到這條路上即可,也就是說(shuō)有50%-25%=25%的流量不需要改變路徑。
改變路徑,就意味著在切換的時(shí)間段內(nèi),這些流可能會(huì)出現(xiàn)亂序。我們通過(guò)上述例子可以看到,使用這種方法,除了需要切換的流量外,還有很大比例的流量被誤切換了路徑,出現(xiàn)了不必要的亂序。亂序?qū)τ赥CP流量就會(huì)帶來(lái)重傳,對(duì)于語(yǔ)音等,就意味著出現(xiàn)質(zhì)量下降。這個(gè)問(wèn)題,在減少路徑(下一跳時(shí))也同樣存在。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的是在提供一種負(fù)載分擔(dān)的方法,使得在實(shí)現(xiàn)負(fù)載分擔(dān)的同時(shí),能優(yōu)化高速設(shè)備的處理性能,同時(shí)解決由于路徑變化時(shí)所導(dǎo)致的大比例誤亂序問(wèn)題。
本發(fā)明提供一種負(fù)載分擔(dān)的方法,具體包括如下步驟,A.當(dāng)通信設(shè)備所接收?qǐng)?bào)文的下一跳路徑多于一條時(shí),根據(jù)通信設(shè)備所支持的最大負(fù)載分擔(dān)的數(shù)量值得到所需流的數(shù)量,所述流的數(shù)量大于等于所述的最大路徑值,并為每個(gè)流分配流標(biāo)識(shí)。
B.通信設(shè)備根據(jù)所述報(bào)文的目的地址和所述的流標(biāo)識(shí)來(lái)使每個(gè)流唯一對(duì)應(yīng)一條確定的下一跳路徑;C.通信設(shè)備根據(jù)所述的下一跳路徑進(jìn)行所述報(bào)文的負(fù)載分擔(dān)轉(zhuǎn)發(fā)。
所述的步驟A中流的數(shù)量值是1至最大路徑值的公倍數(shù)。
所述的步驟A中的流的數(shù)量值,根據(jù)流量分配比例的誤差要求,取接近1至最大路徑值的公倍數(shù)的2的整次冪的值。
所述的流標(biāo)識(shí)是根據(jù)所述報(bào)文頭的域的內(nèi)容通過(guò)哈希算法得出的。
所述的報(bào)文頭的域包括但不限于源地址、目的地址、報(bào)文生存時(shí)間、源端口號(hào)、目的端口號(hào)、協(xié)議類型之一或任意組合。
所述的步驟B具體包括,B1、在所述路由的路由表中設(shè)置負(fù)載分擔(dān)表,所述的負(fù)載分擔(dān)表包括流標(biāo)識(shí)和下一跳標(biāo)識(shí);B2、通信設(shè)備根據(jù)所述報(bào)文的目的地址和所述的流標(biāo)識(shí)在所述的負(fù)載分擔(dān)表中查找下一跳路徑。
步驟B中所述流標(biāo)識(shí)和下一跳路徑的對(duì)應(yīng)關(guān)系中,所述的下一跳路徑根據(jù)不同路徑所需分擔(dān)的流量比例來(lái)對(duì)應(yīng)一個(gè)或多個(gè)流標(biāo)識(shí)。
當(dāng)路徑需要?jiǎng)h除或增加時(shí),根據(jù)所述的比例修改流標(biāo)識(shí)和路徑的對(duì)應(yīng)關(guān)系。
還包括根據(jù)所述流標(biāo)識(shí)改變路徑數(shù)最少來(lái)改變流標(biāo)識(shí)與路徑的對(duì)應(yīng)關(guān)系。
所述的最大路徑值發(fā)生改變時(shí),要重新計(jì)算流的數(shù)量并得出流標(biāo)識(shí),并且要初始化負(fù)載分擔(dān)流標(biāo)識(shí)和路徑所對(duì)應(yīng)的負(fù)載分擔(dān)表。
由上述本發(fā)明提供的技術(shù)方案可以看出,通過(guò)對(duì)數(shù)據(jù)報(bào)文進(jìn)行Hash得到有限的流標(biāo)識(shí),且每個(gè)流標(biāo)識(shí)值唯一對(duì)應(yīng)一條確定的下一跳路徑,這樣路由其可以直接選取路徑標(biāo)識(shí),不用讀取門(mén)限值從而確定對(duì)應(yīng)的路徑標(biāo)識(shí)。這樣,就避免的讀取門(mén)限值造成的對(duì)訪問(wèn)同一塊內(nèi)存帶來(lái)的高速設(shè)備的性能瓶頸。所以本發(fā)明的負(fù)載分擔(dān)方法適合高速設(shè)備使用。同時(shí),當(dāng)由于路由發(fā)生變化而帶來(lái)的下一跳路徑增加或減少時(shí),通過(guò)按照流標(biāo)識(shí)改變路徑數(shù)最少來(lái)更改流標(biāo)識(shí)的路徑可以解決現(xiàn)有技術(shù)中在增刪負(fù)載分擔(dān)路徑時(shí),帶來(lái)的大量流出現(xiàn)誤亂序問(wèn)題,同時(shí),本發(fā)明也可以解決非等分的負(fù)載分擔(dān)問(wèn)題。
圖1為現(xiàn)有網(wǎng)絡(luò)中路由器的拓?fù)涫疽鈭D;圖2為本發(fā)明的方法流程圖;圖3是本發(fā)明的一實(shí)施例的方法示意圖。
具體實(shí)施例方式
本發(fā)明提供了一種負(fù)載分擔(dān)的方法,其核心思想是通過(guò)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),消除讀取門(mén)限值的過(guò)程,提高高速設(shè)備的處理性能。并且通過(guò)路徑數(shù)量變化時(shí),對(duì)改變路徑路由精確比例的控制,完全或者在可以接受的范圍內(nèi)消除誤亂序問(wèn)題。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)表達(dá)得更加清楚明白,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說(shuō)明參見(jiàn)圖2,
步驟201、當(dāng)通信設(shè)備所接收?qǐng)?bào)文的下一跳路徑多于一條時(shí),根據(jù)通信設(shè)備所支持的最大負(fù)載分擔(dān)的數(shù)量值得到所需流的數(shù)量,并為每個(gè)流分配流標(biāo)識(shí)。
本發(fā)明中,所述的Hash計(jì)算的輸入值是數(shù)據(jù)報(bào)文頭的域的內(nèi)容,所述的報(bào)文頭中的域可以是報(bào)文頭中域的內(nèi)容,輸出值是一個(gè)流標(biāo)識(shí)。所述的報(bào)文頭的域包括但不限于源地址、目的地址、報(bào)文生存時(shí)間、源端口號(hào)、目的端口號(hào)、協(xié)議類型之一或任意組合。
假設(shè)將數(shù)據(jù)流一共分為N個(gè),HASH算法直接得到的是0至N-1的值,每個(gè)值直接對(duì)應(yīng)一個(gè)路徑。
N的值可以這樣選取假定路由表中下一跳最大支持L條路徑,所述的最大路徑值是一個(gè)預(yù)先已經(jīng)設(shè)定好的值,可以是通過(guò)命令行設(shè)定的,也可以是通過(guò)網(wǎng)管來(lái)設(shè)定的;如果最大路徑值發(fā)生改變,要重新通過(guò)HASH計(jì)算最大流標(biāo)識(shí)數(shù)量,并且要初始化負(fù)載分擔(dān)流標(biāo)識(shí)和路徑所對(duì)應(yīng)的負(fù)載分擔(dān)表(LBT);如果為了保證負(fù)載均衡,理論上N應(yīng)該能夠被1~L整除,例如下一跳支持X條有效路由,則數(shù)據(jù)流0~N被整數(shù)倍地平均分配到X條有效路由中。下面我們以下一跳最大支持路徑L=3來(lái)說(shuō)明N值的選取,當(dāng)L=3時(shí), N理論上最小取值應(yīng)為6,因?yàn)槔又挟?dāng)下一跳為3條路徑,數(shù)據(jù)流的數(shù)量若要實(shí)現(xiàn)負(fù)載均衡,則數(shù)據(jù)流的數(shù)量應(yīng)能夠被3整除;由于L為3時(shí)下一跳最大支持路徑,則當(dāng)下一跳為2條路徑時(shí),數(shù)據(jù)流的數(shù)量應(yīng)能夠被2整除,才能實(shí)現(xiàn)負(fù)載均衡。所以在例子中,整個(gè)數(shù)據(jù)包的傳送若要實(shí)現(xiàn)負(fù)載均衡,則數(shù)據(jù)流N的值應(yīng)同時(shí)能被2和3整除,即當(dāng)L=3時(shí),N理論上最小取值應(yīng)為6。同理,當(dāng)L=16時(shí),一般下一跳最大支持路徑數(shù)目都不會(huì)超過(guò)這個(gè)值,即正常情況下在8以內(nèi),N的值理論上最小取值為9×5×7×11×13×16,其中16×9×5×7包括了當(dāng)N=1、2、3、4、6、8、10、12或14的情形。
當(dāng)最大支持的負(fù)載分擔(dān)路徑在2至8時(shí)數(shù)據(jù)流N的最小取值如下所示。
從中我們可以看出,當(dāng)L的取值越大時(shí),數(shù)據(jù)流N的最小取值增長(zhǎng)速度很快,這樣計(jì)算出來(lái)的N值會(huì)很大,如果計(jì)算機(jī)內(nèi)存夠大,則可以按照這個(gè)來(lái)設(shè)計(jì),但在實(shí)際中,我們可以適當(dāng)簡(jiǎn)化為,選取一個(gè)L的若干倍的值作為N即可。因?yàn)樵诟咚僭O(shè)備中通過(guò)Hash算法得出來(lái)得值一般為2的整次冪,所以可以選取一個(gè)大于L的2的整次冪來(lái)作為N,例如可以按照如下來(lái)進(jìn)行近似選取
步驟202、通信設(shè)備根據(jù)所述報(bào)文的目的地址和所述的流標(biāo)識(shí)來(lái)使每個(gè)流唯一對(duì)應(yīng)一條確定的下一跳路徑;通信設(shè)備中流標(biāo)識(shí)對(duì)應(yīng)的下一跳路徑在查找之前已經(jīng)是唯一確定的。我們可以在路由表中初始化設(shè)置一個(gè)負(fù)載分擔(dān)表,所述的負(fù)載分擔(dān)表至少包括流標(biāo)識(shí)和下一跳標(biāo)識(shí)兩個(gè)字段;通信設(shè)備根據(jù)所述報(bào)文的目的地址和所述的流標(biāo)識(shí)的值在負(fù)載分擔(dān)表中確定下一跳路徑。需要說(shuō)明的是,一個(gè)流標(biāo)識(shí)唯一對(duì)應(yīng)一
表九5、流索引表對(duì)象(STTB,可選)的定義見(jiàn)表十,該STTB用于對(duì)HMF文件體中提供的多個(gè)流數(shù)據(jù)進(jìn)行索引,從而為查找到適合的流數(shù)據(jù)提供方便,HMHD中只設(shè)置一個(gè)STTB。
表十其中,每個(gè)索引項(xiàng)的結(jié)構(gòu)如表十一所示
表十一6、擴(kuò)展信息對(duì)象(INFO,可選)的定義見(jiàn)表十二,該INFO用于存放HMF文件的一些擴(kuò)展描述,比如版權(quán)信息、內(nèi)容簡(jiǎn)介、維護(hù)信息和更新信息等,一個(gè)HMF文件頭可以設(shè)置0個(gè)到多個(gè)INFO。
表十二由上述定義看出,由于設(shè)置有以對(duì)象為基本結(jié)構(gòu)單元的HMF文件頭,沒(méi)有多條路徑,表項(xiàng)同一般的FIB一樣,取NH轉(zhuǎn)發(fā);當(dāng)負(fù)載分擔(dān)標(biāo)志位LF為1時(shí),表明有多條路徑,需要通過(guò)負(fù)載分擔(dān)表指針LP來(lái)查找負(fù)載分擔(dān)表(LBT)從而進(jìn)行負(fù)載分擔(dān)。
當(dāng)負(fù)載分擔(dān)標(biāo)志位LF為1時(shí),表明有多條路徑,需要通過(guò)負(fù)載分擔(dān)表指針LP來(lái)進(jìn)行負(fù)載分擔(dān)。負(fù)載分擔(dān)表指針LP通過(guò)查找負(fù)載分擔(dān)表,來(lái)獲得確定得下一跳路徑。所述的負(fù)載分擔(dān)表包括目的地址、流標(biāo)識(shí)和下一跳標(biāo)識(shí)三個(gè)字段;例如,負(fù)載分擔(dān)表如下表所示,
我們以下一跳最大支持路徑L=4為例說(shuō)明,所對(duì)應(yīng)的數(shù)據(jù)流N的值為16,那么每個(gè)流標(biāo)識(shí)對(duì)應(yīng)一條確定的路徑。當(dāng)下一跳有4條路徑時(shí),以NH1、NH2、NH3和NH4分別代替,為了實(shí)現(xiàn)負(fù)載分擔(dān),則數(shù)據(jù)流被平均分配到這4條路徑上,而且數(shù)據(jù)流是否按照順序被分配到這4條路徑上與負(fù)載均衡沒(méi)有關(guān)系。例如,當(dāng)下一跳有4條路徑時(shí),每個(gè)流標(biāo)識(shí)與下一條路徑的對(duì)應(yīng)關(guān)系可以如下表所示,
同時(shí),我們根據(jù)流標(biāo)識(shí)改變路徑數(shù)最少原則來(lái)改變路徑可以解決了在增刪負(fù)載分擔(dān)路徑時(shí),帶來(lái)的大量流出現(xiàn)誤亂序問(wèn)題。下面我們結(jié)合上例來(lái)具體說(shuō)明一下,當(dāng)上例中的下一跳的路徑由4個(gè)變?yōu)?個(gè)時(shí),比如NH4斷掉了,則現(xiàn)在還有3條路徑,分別為NH1、NH2和NH3,此時(shí)如果要實(shí)現(xiàn)負(fù)載分擔(dān),數(shù)據(jù)流標(biāo)識(shí)0至15需要被平均分配到NH1、NH2和NH3上,根據(jù)流標(biāo)識(shí)改變路徑最少原則,則需要變化的路徑應(yīng)為將NH4的4條流標(biāo)識(shí)盡可能平均分配到NH1、NH2和NH3上即可,則我們需要將NH1至NH3的每個(gè)路徑上增加一個(gè)流標(biāo)識(shí),同時(shí)還要有一個(gè)路徑再增加一個(gè)流標(biāo)識(shí),我們可以任選一個(gè),比如NH1增加兩個(gè)。通過(guò)變化后的可能分配如下
即原來(lái)走NH4的流,目前分別走NH1至NH3了,并且相對(duì)均勻,達(dá)到了負(fù)載分擔(dān)的效果,被改變流的比例為4/16=25%,且沒(méi)有誤亂序的出現(xiàn)。
當(dāng)上例中的下一跳的路徑由4個(gè)變?yōu)?個(gè)時(shí),比如增加了NH5,此時(shí)如果要實(shí)現(xiàn)負(fù)載分擔(dān),數(shù)據(jù)流標(biāo)識(shí)0至15應(yīng)被盡可能地分配到NH1、NH2、NH3、NH4和NH5上。根據(jù)流標(biāo)識(shí)改變路徑最少原則,則需要變化的路徑應(yīng)為將NH1、NH2、NH3和NH4中的任意3條路徑各取出一個(gè)流標(biāo)識(shí)分配到NH5上即可。通過(guò)變化后的可能分配如下
即在NH1、NH2和NH4中各取出一個(gè)流標(biāo)識(shí)分配給NH5,則被改變的流的比例為3/16=18.75%,且沒(méi)有誤亂序的出現(xiàn)。
需要說(shuō)明的是,每個(gè)流標(biāo)識(shí)和下一條路徑的對(duì)應(yīng)關(guān)系,只是滿足比例上的對(duì)應(yīng)關(guān)系即可,不需要順序排列,所述的比例是指不同路徑所需分擔(dān)的流量的比例。因?yàn)樵趯?shí)際路徑中,比如TE LSP隧道等,不同的路徑要求分擔(dān)的流量比例大小不是等分的,比如有3條路徑NH1~NH3,分別分擔(dān)20%、20%、60%的流量,則可以將NH1、NH2各分配3個(gè)流標(biāo)識(shí),NH3分配10個(gè)流標(biāo)識(shí),就可以達(dá)到分擔(dān)的目的。所以我們可以對(duì)流標(biāo)識(shí)根據(jù)實(shí)際需要的比例進(jìn)行分配,從而達(dá)到負(fù)載合理分擔(dān)的效果。同時(shí),當(dāng)由于路由變化,需要增加刪除路徑時(shí),同樣按照所述比例進(jìn)行,并且按照流標(biāo)識(shí)改變路徑最少原則來(lái)實(shí)現(xiàn)負(fù)載分擔(dān),而不是順序的對(duì)流標(biāo)識(shí)進(jìn)行分配路徑,可以解決在下一跳路徑增加或刪除時(shí)為了實(shí)現(xiàn)負(fù)載分擔(dān)而帶來(lái)的大量流出現(xiàn)誤亂序問(wèn)題。
同時(shí),在所述的例子中,當(dāng)下一跳路徑由2條變?yōu)?條時(shí),需要修改所有的流標(biāo)識(shí)對(duì)應(yīng)所述的唯一的路徑并將FIB表中的LF標(biāo)志位變?yōu)?。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種負(fù)載分擔(dān)的方法,其特征在于,A、當(dāng)通信設(shè)備所接收?qǐng)?bào)文的下一跳路徑多于一條時(shí),根據(jù)通信設(shè)備所支持的最大負(fù)載分擔(dān)的數(shù)量值得到所需流的數(shù)量,所述流的數(shù)量大于等于所述的最大路徑值,并為每個(gè)流分配流標(biāo)識(shí);B、通信設(shè)備根據(jù)所述報(bào)文的目的地址和所述的流標(biāo)識(shí)來(lái)使每個(gè)流唯一對(duì)應(yīng)一條確定的下一跳路徑;C、通信設(shè)備根據(jù)所述的下一跳路徑進(jìn)行所述報(bào)文的負(fù)載分擔(dān)轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的一種負(fù)載分擔(dān)的方法,其特征在于,所述的步驟A中流的數(shù)量值是1至最大路徑值的公倍數(shù)。
3.根據(jù)權(quán)利要求1所述的一種負(fù)載分擔(dān)的方法,其特征在于,所述的步驟A中的流的數(shù)量值,根據(jù)流量分配比例的誤差要求,取接近1至最大路徑值的公倍數(shù)的2的整次冪的值。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的流標(biāo)識(shí)是根據(jù)所述報(bào)文頭的域的內(nèi)容通過(guò)哈希算法得出的。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述的報(bào)文頭的域包括但不限于源地址、目的地址、報(bào)文生存時(shí)間、源端口號(hào)、目的端口號(hào)、協(xié)議類型之一或任意組合。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的步驟B具體包括,B1、在所述路由的路由表中設(shè)置負(fù)載分擔(dān)表,所述的負(fù)載分擔(dān)表包括流標(biāo)識(shí)和下一跳標(biāo)識(shí);B2、通信設(shè)備根據(jù)所述報(bào)文的目的地址和所述的流標(biāo)識(shí)在所述的負(fù)載分擔(dān)表中查找下一跳路徑。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B中所述流標(biāo)識(shí)和下一跳路徑的對(duì)應(yīng)關(guān)系中,所述的下一跳路徑根據(jù)不同路徑所需分擔(dān)的流量比例來(lái)對(duì)應(yīng)一個(gè)或多個(gè)流標(biāo)識(shí)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,當(dāng)路徑需要?jiǎng)h除或增加時(shí),根據(jù)所述的比例修改流標(biāo)識(shí)和路徑的對(duì)應(yīng)關(guān)系。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,還包括根據(jù)所述流標(biāo)識(shí)改變路徑數(shù)最少來(lái)改變流標(biāo)識(shí)與路徑的對(duì)應(yīng)關(guān)系。
10.根據(jù)權(quán)利要求1中所述的方法,其特征在于,所述的最大路徑值發(fā)生改變時(shí),要重新計(jì)算流的數(shù)量并得出流標(biāo)識(shí),并且要初始化負(fù)載分擔(dān)流標(biāo)識(shí)和路徑所對(duì)應(yīng)的負(fù)載分擔(dān)表。
全文摘要
本發(fā)明公開(kāi)了一種負(fù)載分擔(dān)的方法,當(dāng)通信設(shè)備所接收?qǐng)?bào)文的下一跳路徑多于一條時(shí),根據(jù)通信設(shè)備所支持的最大負(fù)載分擔(dān)的數(shù)量值得到所需流的數(shù)量,并為每個(gè)流分配流標(biāo)識(shí)。且每個(gè)流標(biāo)識(shí)值唯一對(duì)應(yīng)一條確定的下一跳路徑,這樣路由可以直接選取路徑標(biāo)識(shí),不用讀取門(mén)限值從而確定對(duì)應(yīng)的路徑標(biāo)識(shí),從而避免讀取門(mén)限值造成的對(duì)訪問(wèn)同一塊內(nèi)存帶來(lái)的性能瓶頸。所以本發(fā)明的負(fù)載分擔(dān)方法適合高速設(shè)備使用。同時(shí),當(dāng)由于路由發(fā)生變化而帶來(lái)的下一跳路徑增加或減少時(shí),通過(guò)按照流標(biāo)識(shí)改變路徑數(shù)最少原則來(lái)更改流標(biāo)識(shí)與路徑的對(duì)應(yīng)關(guān)系可以解決現(xiàn)有技術(shù)中在增刪負(fù)載分擔(dān)路徑時(shí),帶來(lái)的大量流出現(xiàn)誤亂序問(wèn)題,此外,本發(fā)明也可以解決非等分的負(fù)載分擔(dān)問(wèn)題。
文檔編號(hào)H04L12/56GK1859286SQ20051010168
公開(kāi)日2006年11月8日 申請(qǐng)日期2005年11月19日 優(yōu)先權(quán)日2005年11月19日
發(fā)明者劉少偉 申請(qǐng)人:華為技術(shù)有限公司