專利名稱:實(shí)現(xiàn)負(fù)載均分的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及凄t悟通信領(lǐng)i或,尤其涉及一種采用FPGA (Field Programmable Gate Array,現(xiàn)場可編程門陣列)實(shí)現(xiàn)負(fù)載均分(Load Balance )的方法和裝置。
背景技術(shù):
隨著電子技術(shù)及互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)設(shè)備運(yùn)行的速 度越來越快,處理能力越來越強(qiáng),同時各個設(shè)備支持的接口標(biāo)準(zhǔn)也
越來越多。由于各個接口標(biāo)準(zhǔn)支持的速率不一樣,就出現(xiàn)多個低速 接口與一個或多個高速4妾口互連的情況。這樣,當(dāng)高速4矣口有^:據(jù)
要發(fā)送時,需要由多個低速接口共同分擔(dān),否則,如果長時間地將 報文只發(fā)送到一個低速接口 ,會導(dǎo)致低速接口擁塞和丟包。這就需 要一種高效的負(fù)載均分的方法,實(shí)現(xiàn)流量在各個^氐速4妄口之間平均 分配。
目前,普遍使用的負(fù)載均分的方法有單次Hash (哈希)運(yùn)算和 多次Hash運(yùn)算。單次Hash運(yùn)算就是利用一次Hash運(yùn)算的結(jié)果確 定報文的出口,多次Hash運(yùn)算采用多次Hash運(yùn)算,逐次縮小選擇 的范圍,最終確定報文的出口。單次Hash運(yùn)算實(shí)現(xiàn)簡單,資源使用 量較小,但是容易出現(xiàn)Hash碰撞;而多次Hash運(yùn)算實(shí)現(xiàn)復(fù)雜度高, 資源利用量大,能在一定程度上避免Hash石並撞。根據(jù)實(shí)現(xiàn)Hash運(yùn) 算的手革殳,又可以分為軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)。軟件實(shí)現(xiàn)是由網(wǎng)絡(luò)處理器根據(jù)報文信息進(jìn)行Hash運(yùn)算,確定報文的出口 ,而硬件實(shí)現(xiàn)就 是利用FPGA根據(jù)報文信息進(jìn)行Hash運(yùn)算,確定報文的出口。軟 件實(shí)現(xiàn)需要由網(wǎng)絡(luò)處理器解析報文信息,這種方法速度較慢,且會 增加網(wǎng)絡(luò)處理器的負(fù)擔(dān)。硬件實(shí)現(xiàn)速度較快,而且硬件實(shí)現(xiàn)不但能 完成負(fù)載均分,還能同時完成各個不同4妻口標(biāo)準(zhǔn)之間的轉(zhuǎn)4灸,所以 得到4交多的應(yīng)用。
現(xiàn)有技術(shù)中一般采用的報文負(fù)載分擔(dān)的實(shí)現(xiàn)方法,性能和效率 較低,支持的報文封裝類型少,不合適網(wǎng)絡(luò)承載內(nèi)容高速發(fā)展的趨 勢;并且使用不合理的Hash運(yùn)算的關(guān)鍵字(Key),報文負(fù)載分擔(dān) 不能滿足"同源同宿"的要求,使得下游設(shè)備容易出現(xiàn)報文亂序的 現(xiàn)象,增加下游設(shè)備處理的難度,或者使用Hash運(yùn)算的關(guān)鍵字位數(shù) 過多,增加運(yùn)算復(fù)雜度且降低效率。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實(shí)現(xiàn)負(fù)載均分的方法,可識別多種 報文類型,通過選擇合理的關(guān)4建字進(jìn)《亍Hash運(yùn)算,實(shí)現(xiàn)高效的負(fù)載均分。
本發(fā)明提供了一種實(shí)現(xiàn)負(fù)載均分的方法,用于在一個高速接口 和多個低速接口之間傳輸報文,包括以下步驟步驟一,從高速接 口接收報文并判別報文的類型;步驟二,根據(jù)報文的類型從報文獲 取Hash運(yùn)算的關(guān)鍵字并利用關(guān)鍵字進(jìn)行Hash運(yùn)算,得到報文出低 速接口的端口號;以及步驟三,將才艮文從對應(yīng)于端口號的低速4妄口
發(fā)送出去。
在步驟一中,根據(jù)報文的封裝協(xié)議類型字段判別報文的類型。其中,報文的類型包括以下至少之一VLAN( Virtual Local Area Network,虛擬、局i或網(wǎng))才艮文、MPLS ( Multi Protocol Label Switch, 多協(xié)議標(biāo)簽交換)才艮文以及IP (Internet Protocol,互耳關(guān)網(wǎng))才艮文。 VLAN才艮文中用于Hash運(yùn)算的關(guān)4建字為標(biāo)簽控制信息;MPLS沖艮文 中用于Hash運(yùn)算的關(guān)4建字為標(biāo)簽值;以及IP才艮文中用于Hash運(yùn)算 的關(guān)《建字為源IPi也址和目的IP;也址。
本發(fā)明還提供了一種實(shí)現(xiàn)負(fù)載均分的設(shè)備,包括高速接口控 制器及緩存區(qū)模塊,用于從高速接口接收報文并分別緩存報文的控 制信息和數(shù)據(jù);報文判別及Hash運(yùn)算模塊,用于判別報文的類型, 并獲取相應(yīng)的關(guān)鍵字用于Hash運(yùn)算,得到報文出低速接口的端口 號,并將報文從高速接口控制器及緩存區(qū)模塊中讀出,發(fā)送到低速 接口控制器及緩存區(qū)模塊;以及低速接口控制器及緩存區(qū)模塊,用 于將報文從對應(yīng)于端口號的低速接口發(fā)送出去。
高速接口控制器及緩存區(qū)模塊包括高速接口控制器子模塊, 用于從高速接口接收報文;內(nèi)部報文緩存區(qū)子模塊,用于緩存報文 的數(shù)據(jù);以及報文控制信息緩存區(qū)子模塊,用于緩存報文控制信息, 報文控制信息包括報文的長度;報文在內(nèi)部報文緩存區(qū)模塊的起 始位置;以及報文的封裝協(xié)議類型字段。
低速接口控制器及緩存區(qū)模塊包括低速接口緩存區(qū)子模塊, 用于緩存報文判別及Hash運(yùn)算模塊送來的數(shù)據(jù);以及低速接口控制 器子模塊,用于將報文從低速接口緩存區(qū)子模塊中讀出并發(fā)送出去。 包括高速接口控制模塊,用于高速接口接收報文的控制;報文判 別及Hash運(yùn)算模塊,用于判別報文的類型,并從報文獲取Hash運(yùn) 算的關(guān)鍵字進(jìn)行Hash運(yùn)算,得到報文出低速接口的端口號;以及低 速接口控制模塊,用于低速接口發(fā)送報文的控制。其中,高速接口控制模塊包括高速接口控制器模塊,用于從 高速接口接收報文;報文控制信息緩存區(qū)模塊,用于緩存報文的長 度、報文在內(nèi)部報文緩存區(qū)模塊的起始位置以及報文的封裝協(xié)議類 型字段;以及內(nèi)部報文緩存區(qū)模塊,用于緩存才艮文的數(shù)據(jù)。
其中,低速接口控制模塊包括低速接口緩存區(qū)模塊,用于緩 存報文判別及Hash運(yùn)算模塊送來的數(shù)據(jù),低速接口緩存區(qū)模塊的數(shù) 量與子低速接口控制器模塊的數(shù)量相同。子低速接口控制器模塊, 用于將報文從低速接口緩存區(qū)模塊讀出并發(fā)送出去。
本發(fā)明提供的實(shí)現(xiàn)負(fù)載均分的方法和裝置,增加了對報文封裝 類型的判別,使得支持的報文封裝類型增多了,更適合于當(dāng)前網(wǎng)絡(luò) 的應(yīng)用;同時采用FPGA實(shí)現(xiàn),提高了處理的速度和報文轉(zhuǎn)發(fā)的效率。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申 請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并 不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中
圖l為根據(jù)本發(fā)明的實(shí)現(xiàn)負(fù)載均分的方法的流程圖2a為本發(fā)明支持的VLAN報文封裝格式;
圖2b為本發(fā)明支持的MPLS報文封裝格式;
圖2c為本發(fā)明支持的IP報文封裝格式;
圖3為根據(jù)本發(fā)明方法的報文判別流程圖4為根據(jù)本發(fā)明方法的具體實(shí)施例的流程圖;以及圖5為根據(jù)本發(fā)明的實(shí)現(xiàn)負(fù)載均分的設(shè)備的結(jié)構(gòu)圖。
具體實(shí)施例方式
下面參考附圖,詳細(xì)i兌明本發(fā)明的具體實(shí)施方式
。 本發(fā)明提供了一種實(shí)現(xiàn)負(fù)載均分的方法,如圖l所示,包括以
下步驟
步驟S102,從高速接口接收4艮文并判別才艮文的類型。
步驟S104,根據(jù)報文的類型從報文獲取Hash運(yùn)算的關(guān)鍵字并 利用關(guān)鍵字進(jìn)行Hash運(yùn)算,得到報文出低速接口的端口號。
步驟S106,將報文從對應(yīng)于端口號的低速接口發(fā)送出去。
由于報文是從高速接口發(fā)送到低速接口 ,流量需要在多個接口 之間均分,否則,如果長時間將才艮文只發(fā)送到一個低速接口時,會 導(dǎo)致低速接口擁塞和丟包。
網(wǎng)絡(luò)上承載的報文,其封裝類型多樣。由于報文類型不同,參 與Hash運(yùn)算的關(guān)^t字也不同,即4吏采用相同的關(guān)4建字,其在才艮文頭 的位置也不同。
本發(fā)明支持的報文封裝類型包括VLAN封裝報文、IP封裝報文 和MPLS去于裝凈艮文,其中
DA表示二層報文封裝目的MAC地址,共6字節(jié);
SA表示二層報文封裝源MAC地址,共6字節(jié);TPID表示封裝協(xié)議類型字段或者IP封裝報文長度,是本發(fā)明
判別報文類型的依據(jù),共2字節(jié);
Type/Length表示上層封裝協(xié)議類型,共2字節(jié); DATA表示報文數(shù)據(jù);以及 FCS表示前向檢驗和,共4字節(jié)。
VLAN報文封裝格式如圖2a所示,TPID為0x8100,表示VLAN 封裝凈艮文。TPID之后帶2字節(jié)的TCI ( Tag Control Information,標(biāo) 簽控制信息),是本發(fā)明用于Hash運(yùn)算的關(guān)考建字。其中Priority表 示才艮文的4尤先纟及,占3比凈爭;CFI (Canonical Format Indicator)表 示總線型的以太網(wǎng)與FDDI、令力牟環(huán)網(wǎng)交換Jt據(jù)時的幀才各式指示, 占1比特;VLAN ID占12比特,表示VLAN的標(biāo)識,范圍1-4094。
MPLS才艮文佳于裝^口圖2b ,斤示,TPID為0x8847,表示MPLS佳'于 裝才艮文。TPID之后帶4字節(jié)的標(biāo)簽信息。其中Label表示標(biāo)簽值, 占20比特,是本發(fā)明用于Hash運(yùn)算的關(guān)鍵字;Exp為保留位,占 3比特;S表示棧底標(biāo)志,占1比特,如果該位為"1",表示只有一 層MPLS標(biāo)簽,否則表示還有MPLS標(biāo)簽,即多層MPLS標(biāo)簽,最 后一層MPLS標(biāo)簽的S為'T,; TTL表示生存時間,占8比特。
IP報文封裝如圖2c所示,對于IP封裝,其TPID字段小于或 等于1500,表示IP封裝報文,該字段表示IP報文的長度,而不是 封裝類型。長度后面緊跟20字節(jié)的IP頭信息,其中第13字節(jié)到第 20字節(jié)表示源IP地址和目的IP地址,是本發(fā)明用于Hash運(yùn)算的
關(guān)鍵字。當(dāng)有報文需要轉(zhuǎn)發(fā)時,首先根據(jù)報文頭封裝信息的TPID字段 判別報文的封裝類型,然后讀取相應(yīng)的關(guān)鍵字作為Hash運(yùn)算的輸入。
在Hash運(yùn)算時,使用一個64比特的輸入寄存器reg[63:0]存放 關(guān)鍵字,當(dāng)關(guān)鍵字的長度不足64比特時(如VLAN報文和MPLS 報文),則將寄存器的高位補(bǔ)"0"。由于出接口的個數(shù)是n (n為2、 4、 8或16)個,可以用m比特來表示,所以Hash運(yùn)算的輸出就是 m比特的端口號,其中m=log2n。算法如下port[m-1:0]表示目的端 口號
Port[m-l:0]=reg[km-l:(k-l)m] XOR reg[(k-l)m-l :(k-2)m] XOR……XORreg[m-l:O],其中k-l,2,……,64/m, XOR表示異
或運(yùn)算。
由于采用FPGA實(shí)現(xiàn),上述運(yùn)算雖然在表面上看有先后順序, 而實(shí)際上m個等式是同時進(jìn)行運(yùn)算的,這跟軟件實(shí)現(xiàn)有才及大的不同。 軟件實(shí)現(xiàn)是順序4丸行的,》文在前面的語句比放在后面的語句先4丸行, 而FPGA實(shí)現(xiàn),則是并行才丸行的,也就是說,語句才丸行的時序跟位 置順序沒有關(guān)系。這也使得采用FPGA實(shí)現(xiàn)比軟件實(shí)現(xiàn)更快速、更 高效。
如圖3所示,對接收報文的判別過程包括以下步驟
步驟S302,讀取報文控制信息,包括報文長度、報文在內(nèi)部報 文緩存區(qū)中的起始位置和報文封裝協(xié)議類型字段。其中報文封裝協(xié) 議類型字段用于判別寺艮文類型。
ii步驟S304,判斷報文封裝協(xié)議類型字段是否為0x8100:如果是 表示該報文是VLAN報文,則執(zhí)行步驟S306;否則執(zhí)行步驟S308, 繼續(xù)判斷該類型字段。
步驟S306,已知報文為VLAN報文,取2字節(jié)的TCI字段作 為Hash運(yùn)算的關(guān)鍵字,將TCI字段賦值給Hash運(yùn)算輸入寄存器reg 的低16比特,reg的高48比特賦值為"0"。然后執(zhí)行步驟S320。
步驟S308,判斷報文封裝協(xié)議類型字段是否為0x8847:如果是 表示該報文是MPLS報文,則執(zhí)行步驟S310;否則執(zhí)行步驟S312, 繼續(xù)判斷該類型字段。
步驟S310,已知報文為MPLS報文,則繼續(xù)判斷棧底標(biāo)志S是 否為"1":如果該標(biāo)志為"1",表示只有一層MPLS封裝,則執(zhí)行 步驟S316;否則,表示有多層MPLS封裝,執(zhí)行步驟S318,表示 不是本發(fā)明支持的報文封裝類型。
步驟S312,判斷報文封裝協(xié)議類型字段是否小于或等于1500: 如果類型字4殳小于或等于1500,表示該,艮文是IP封裝,而且該字 段表示的是1P報文的長度,則執(zhí)行步驟S314;否則該報文不是本 發(fā)明支持的報文封裝類型,執(zhí)行步驟S318。
步驟S314,已知才艮文為IP報文,則耳又32比特源IP地址和32 比特目的IP地址作為Hash運(yùn)算的關(guān)鍵字,輸入到reg。然后執(zhí)行步 驟S320。
步驟S316,已知報文為MPLS報文,則取20比特的標(biāo)簽值字 段作為Hash運(yùn)算的關(guān)鍵字,賦值給reg的低20比特,reg的高44 比特賦值"0"。然后執(zhí)行步驟S320。步驟S318,對于本發(fā)明不支持的報文封裝類型,將Hash運(yùn)算 的關(guān)鍵字賦值為"0",表示不支持的報文,全部發(fā)送到出接口 O(端 口號為0 )。然后#九4于步專聚S320。
步驟S320,才艮文判別操作結(jié)束。
本發(fā)明提供的實(shí)現(xiàn)負(fù)載均分的方法,用于報文在一個高速接口 和多個低速"t妻口之間傳輸,寸氐速4妻口的數(shù)量可以為2、 4、 8或16 個,下面具體i兌明才艮文在一個10G (Gigabit,吉比凈爭)4妻口禾口4個 2.5G接口之間傳輸?shù)奶幚砹鞒?,如圖4所示,包括以下步驟
步驟S402,從1OG接口接收報文。
步驟S404,將報文的控制信息存入報文控制信息緩存區(qū),將報 文的數(shù)據(jù)存入內(nèi)部報文緩存區(qū)。
步驟S406,當(dāng)報文控制信息緩存區(qū)非空時,從其中讀取報文的 控制信息,得到報文的長度、報文在內(nèi)部數(shù)據(jù)緩存區(qū)的起始位置和 報文的封裝協(xié)議類型字段,根據(jù)報文的封裝協(xié)議類型字段判別報文
的類型。
步驟S408,當(dāng)知道報文的類型之后,從內(nèi)部報文緩存區(qū)讀取報 文頭信息。對于本發(fā)明支持的報文類型,其關(guān)鍵字的位置最深的是 IP報文,需要讀取34字節(jié)的數(shù)據(jù)(目的MAC地址6字節(jié),源MAC 地址6字節(jié),封裝協(xié)議類型字段2字節(jié),IP頭信息20字節(jié))。本發(fā) 明讀取一次是16字節(jié),所以最多讀取3次就能得到Hash運(yùn)算所需 的關(guān)鍵字。將得到的關(guān)鍵字輸入到64比特的輸入寄存器reg中,如 果關(guān)4建字的長度不足64比特,則在reg的高4立補(bǔ)"0",出4妾口的端 口號port[l:O]為Port[l]=reg奇比特異或(即reg[63]八reg[61]……八reg[l]);
Port
=reg偶比特異或(即reg[62]Areg[60]……Areg
)。
步驟S410,緩存報文到接口緩存區(qū),得到報文的出接口的端口 號,將報文從內(nèi)部報文緩存區(qū)中讀取,讀取的起始位置從控制信息 中的起始位置字段得到,而讀取的長度由控制信息的報文長度決定, 并將報文寫入port[l:O]所指的接口緩存區(qū)中。為了節(jié)約讀取才艮文的 時間,之前讀取3次得到的報文頭信息被寄存在報文判別及Hash 運(yùn)算模塊中,當(dāng)?shù)玫絧ort[l:O]信息之后,這3拍的數(shù)據(jù)最先寫入接 口緩存區(qū)。
步驟S412,從2.5G接口發(fā)送報文,當(dāng)接口緩存區(qū)非空時,接 口控制器讀取該緩存區(qū)的數(shù)據(jù),并將讀取的數(shù)據(jù)通過2.5G接口發(fā)送 出去。
本發(fā)明還提供了一種實(shí)現(xiàn)負(fù)載均分的設(shè)備,具體結(jié)構(gòu)如圖5所 示,包4舌以下部分
高速4妻口控制器及緩存區(qū)才莫塊501,用于從高速4妻口4妄收才艮文 并分別緩存報文的控制信息和數(shù)據(jù),包括高速接口控制器子模塊 5011,用于從高速接口接收報文;內(nèi)部報文緩存區(qū)子模塊5012,用 于緩存報文的數(shù)據(jù);以及報文控制信息緩存區(qū)子模塊5013,用于緩 存報文控制信息,報文控制信息包括報文的長度、報文在內(nèi)部報文 緩存區(qū)模塊的起始位置以及報文的封裝協(xié)議類型字段。
報文判別及Hash運(yùn)算模塊502,用于判別報文的類型,并獲取 相應(yīng)的關(guān)鍵字用于Hash運(yùn)算,得到報文出低速接口的端口號,并將 報文從內(nèi)部報文緩存區(qū)模塊中讀出,發(fā)送到4氐速接口控制器及緩存
區(qū)模塊。低速接口控制器及緩存區(qū)模塊503,用于將報文從對應(yīng)于端口 號的低速接口發(fā)送出去,包括低速接口緩存區(qū)子模塊5031,用于 緩存報文判別及Hash運(yùn)算模塊送來的數(shù)據(jù);以及低速接口控制器子 模塊5032,用于將才艮文從低速接口緩存區(qū)子模塊中讀出并發(fā)送出去。
本發(fā)明提供的實(shí)現(xiàn)負(fù)載均分的方法和裝置,增加了對才艮文封裝 類型的判別,使得支持的報文封裝類型增多了,更適合于當(dāng)前網(wǎng)絡(luò) 的應(yīng)用;同時采用FPGA實(shí)現(xiàn),提高了處理的速度和報文轉(zhuǎn)發(fā)的效率。
對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在 本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1. 一種實(shí)現(xiàn)負(fù)載均分的方法,用于在一個高速接口和多個低速接口之間傳輸報文,其特征在于,包括以下步驟步驟一,從高速接口接收報文并判別所述報文的類型;步驟二,根據(jù)所述報文的類型從所述報文獲取Hash運(yùn)算的關(guān)鍵字并利用所述關(guān)鍵字進(jìn)行Hash運(yùn)算,得到所述報文出低速接口的端口號;以及步驟三,將所述報文從對應(yīng)于所述端口號的低速接口發(fā)送出去。
2. 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)負(fù)載均分的方法,其特征在于,在 步驟一中,根據(jù)所述報文的封裝協(xié)議類型字段判別所述報文的類型。
3. 根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)負(fù)載均分的方法,其特征在于,所 述報文的類型包括以下至少之一VLAN報文、MPLS報文以 及IP才艮文。
4. 根據(jù)權(quán)利要求3所述的實(shí)現(xiàn)負(fù)載均分的方法,其特征在于,包 括所述VLAN報文中用于所述Hash運(yùn)算的關(guān)鍵字為標(biāo)簽控 制信息;所述MPLS報文中用于所述Hash運(yùn)算的關(guān)鍵字為標(biāo)簽 值;以及所述IP才艮文中用于所述Hash運(yùn)算的關(guān)《建字為源IP i也址 和目的IP》也址。
5. —種實(shí)現(xiàn)負(fù)載均分的設(shè)備,其特征在于,包括高速接口控制器及緩存區(qū)模塊,用于從高速接口接收報文 并分別緩存所述報文的控制信息和數(shù)據(jù);報文判別及Hash運(yùn)算模塊,用于判別所述報文的類型, 并獲取相應(yīng)的關(guān)鍵字用于Hash運(yùn)算,得到報文出低速接口的 端口號,并將所述報文從所述高速接口控制器及緩存區(qū)模塊中讀出,發(fā)送到低速接口控制器及緩存區(qū)模塊;以及低速接口控制器及緩存區(qū)模塊,用于將所述報文從對應(yīng)于 所述端口號的低速接口發(fā)送出去。
6. 根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)負(fù)載均分的設(shè)備,其特征在于,所 述報文判別及Hash運(yùn)算模塊根據(jù)所述報文的封裝協(xié)議類型字 段判別所述報文的類型。
7. 根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)負(fù)載均分的設(shè)備,其特征在于,所 述報文的類型包括以下至少之一VLAN報文、MPLS報文以 及IP才艮文。
8. 根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)負(fù)載均分的設(shè)備,其特征在于,包 括所述VLAN報文中用于所述Hash運(yùn)算的關(guān)鍵字為標(biāo)簽控 制信息;所述MPLS才艮文中用于所述Hash運(yùn)算的關(guān)4建字為標(biāo)簽 值;以及所述IP報文Hash中用于所述Hash運(yùn)算的關(guān)鍵字為源IP i也址和目的IP i也址。
9. 根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)負(fù)載均分的設(shè)備,其特征在于,所述高速接口控制器及緩存區(qū)模塊包括高速接口控制器子模塊,用于從所述高速接口接收報文;內(nèi)部報文緩存區(qū)子模塊,用于緩存所述報文的數(shù)據(jù);以及報文控制信息緩存區(qū)子模塊,用于緩存報文控制信息,所 述報文控制信息包括所述報文的長度;所述報文在所述內(nèi)部報文緩存區(qū)模塊的起始位置;以及所述報文的封裝協(xié)議類型字段。
10. 根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)負(fù)載均分的設(shè)備,其特征在于,所 述低速接口控制器及緩存區(qū)模塊包括低速接口緩存區(qū)子模塊,用于緩存所述報文判別及Hash 運(yùn)算才莫塊送來的^t據(jù);以及低速接口控制器子模塊,用于將所述報文從所述低速接口 緩存區(qū)子模塊中讀出并發(fā)送出去。
全文摘要
本發(fā)明提供了一種實(shí)現(xiàn)負(fù)載均分的方法,用于在一個高速接口和多個低速接口之間傳輸數(shù)據(jù),包括以下步驟步驟一,從高速接口接收報文并判別報文的類型;步驟二,根據(jù)報文的類型從報文獲取Hash運(yùn)算的關(guān)鍵字并利用關(guān)鍵字進(jìn)行Hash運(yùn)算,得到報文出低速接口的端口號;以及步驟三,將報文從對應(yīng)于端口號的低速接口發(fā)送出去。本發(fā)明提供的實(shí)現(xiàn)負(fù)載均分的方法,可識別多種報文類型,通過選擇合理的關(guān)鍵字進(jìn)行Hash運(yùn)算,實(shí)現(xiàn)高效的負(fù)載均分。本發(fā)明還提供了一種實(shí)現(xiàn)負(fù)載均分的設(shè)備。
文檔編號H04L12/56GK101425960SQ20071016591
公開日2009年5月6日 申請日期2007年11月2日 優(yōu)先權(quán)日2007年11月2日
發(fā)明者堃 楊 申請人:中興通訊股份有限公司