專利名稱:一種隧道負(fù)載分擔(dān)的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,特別涉及一種隧道負(fù)載分擔(dān)的方法、 系統(tǒng)和裝置。
背景技術(shù):
在網(wǎng)絡(luò)中的某個(gè)節(jié)點(diǎn)上,路由轉(zhuǎn)發(fā)時(shí)可能存在2條以上的等價(jià)鏈路,為 了保證每條鏈路的流量均勻,通常需要按照某種方法將流量均勻地分布在每 條鏈路上?,F(xiàn)有技術(shù)通常使用的是HASH (hash,哈希)算法。此方法就是根據(jù)流量 的屬性,例如IPv4 (Internet Protocol version 4 ,因凈爭(zhēng)網(wǎng)協(xié)i義X反本4 )才艮文的 IP地址、二層以太報(bào)文的MAC (MediaAccess Control,媒體接入控制)地址 等可以標(biāo)識(shí)某一條流量的參數(shù),將不同屬性的流量散列到不同的鏈路上去。 而且,在大多數(shù)情況下,流量在傳輸中是需要保證順序的,因此在HASH的 過程中還要保證同一條流一定要選擇同 一個(gè)鏈路,以免亂序。隧道技術(shù)是使用 一種協(xié)議封裝另外一種協(xié)議報(bào)文的技術(shù),封裝協(xié)議本身 也可以被其他封裝協(xié)議所封裝或承載。對(duì)用戶來說,隧道是其PSTN ( Public Switched Telephone Network, z^共交換電^舌網(wǎng))/ISDN (Integrated Services Digital Network,綜合業(yè)務(wù)數(shù)字網(wǎng))鏈路的邏輯延伸,在使用上與實(shí)際物理鏈 路相同。基于IPv4網(wǎng)絡(luò)的隧道是承載在IPv4網(wǎng)絡(luò)中的隧道技術(shù),在這種技術(shù)中, 用戶才艮文都^皮封裝到IPv4協(xié)議內(nèi)部進(jìn)行傳輸。現(xiàn)有技術(shù)中,網(wǎng)絡(luò)中的節(jié)點(diǎn)收到一個(gè)IPv4報(bào)文,在有多條轉(zhuǎn)發(fā)路徑、同 時(shí)需要保證報(bào)文順序時(shí),通常使用IPv4頭中的源IP (Internet Protocol,因特 網(wǎng)協(xié)議)和目的IP標(biāo)識(shí)一條數(shù)據(jù)流。因此,對(duì)于承載在IPv4網(wǎng)絡(luò)的隧道中的 各種用戶才艮文而言,在網(wǎng)絡(luò)側(cè)只會(huì)使用隧道的公網(wǎng)IPv4地址進(jìn)行HASH。4釆用上述方法,如果由于網(wǎng)絡(luò)布局的原因,導(dǎo)致隧道數(shù)目較少或隧道地址不連續(xù),則在IPv4網(wǎng)絡(luò)側(cè),遇到需要負(fù)載分擔(dān)的情形時(shí),會(huì)導(dǎo)致HASH的 結(jié)果不均勻,將所有用戶或大部分用戶的流量都選擇到一條或少數(shù)幾條鏈路 上,而其他鏈路仍然空閑。在用戶流量大的情況下,被選擇的鏈路容易產(chǎn)生 擁塞,發(fā)生丟包現(xiàn)象?,F(xiàn)有技術(shù)提出了一種隧道負(fù)載分擔(dān)的方法,可以在負(fù)載分擔(dān)節(jié)點(diǎn)(例如 IPv4核心節(jié)點(diǎn))上解析內(nèi)部隧道協(xié)議報(bào)文,再根據(jù)內(nèi)部用戶的IP地址進(jìn)行 HASH,選擇轉(zhuǎn)發(fā)的鏈路。例如對(duì)于L2TP (Layer Two Tunneling Protocol, 二層隧道協(xié)議)隧道,負(fù)載分擔(dān)節(jié)點(diǎn)需要解析IPv4才艮文中的UDP (User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)端口號(hào)、L2TP頭以及內(nèi)部的私網(wǎng)IPv4 地址等信息,再根據(jù)內(nèi)部的私網(wǎng)IPv4地址進(jìn)行HASH,選擇轉(zhuǎn)發(fā)的鏈路。但是,上述隧道負(fù)載分擔(dān)的方法,判斷內(nèi)部隧道協(xié)議的分支比4交復(fù)雜, 比如, 一個(gè)用戶才艮文內(nèi)部可以封裝L2TP、 GRE ( Generic Routing Encapsulation, 通用路由去t裝)、IPSec (Internet Protocol Security extensions, IP十辦i義安全擴(kuò) 展)等多種隧道的用戶報(bào)文。如果負(fù)載分擔(dān)節(jié)點(diǎn)對(duì)報(bào)文中封裝的所有報(bào)文全 部進(jìn)行解析,算法復(fù)雜度很大,并且在解析內(nèi)部協(xié)議時(shí),需要從外部存儲(chǔ)器 中讀取并進(jìn)行分析的報(bào)文長(zhǎng)度很大,導(dǎo)致公網(wǎng)側(cè)的核心路由器轉(zhuǎn)發(fā)性能受到 很大影響。如果公網(wǎng)側(cè)的IPv4報(bào)文被分片,使用此方案則會(huì)導(dǎo)致報(bào)文的亂序(接收 到報(bào)文的順序與發(fā)送的順序不符)。以GRE報(bào)文為例,如圖1所示。不分片續(xù)片中沒有了 GRE頭,無法根據(jù)內(nèi)部協(xié)議做HASH,只能根據(jù)公網(wǎng)側(cè)IPv4 地址進(jìn)行HASH,有可能和首片選擇不同的轉(zhuǎn)發(fā)路徑。如果后續(xù)片比較晚到 達(dá),在重組側(cè)就會(huì)導(dǎo)致分片報(bào)文的重組被延誤,后面的不分片報(bào)文提前到達(dá), 導(dǎo)致報(bào)文產(chǎn)生亂序。發(fā)明內(nèi)容為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前 提下,還可以根據(jù)這些附圖獲得其他的附圖。本發(fā)明實(shí)施例提供一種隧道負(fù)載分擔(dān)的方法,以實(shí)現(xiàn)隧道數(shù)目有限或隧 道地址^t時(shí),將流量均勻地分布到每條鏈路上。為達(dá)到上述目的,本發(fā)明實(shí)施例一方面提供一種隧道負(fù)載分擔(dān)的方法, 包括接收隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文,所述報(bào)文的報(bào)文頭中包含用戶信息; 根據(jù)所述用戶信息和所述報(bào)文頭中的公網(wǎng)因特網(wǎng)協(xié)議IP地址,進(jìn)行選路, 轉(zhuǎn)發(fā)所述報(bào)文。另一方面,本發(fā)明實(shí)施例還提供一種隧道負(fù)載分擔(dān)的系統(tǒng),包括隧道的入口節(jié)點(diǎn),用于獲取用戶的用戶信息,將所述用戶信息封裝在報(bào) 文頭中,并發(fā)送攜帶所述報(bào)文頭的報(bào)文;負(fù)載分擔(dān)節(jié)點(diǎn),用于接收所述隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文,根據(jù)所述報(bào) 文頭中的用戶信息和公網(wǎng)IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)所述報(bào)文。再一方面,本發(fā)明實(shí)施例還提供一種隧道的入口節(jié)點(diǎn),包括獲取模塊,用于獲取用戶的用戶信息;封裝模塊,用于將所述獲取模塊獲取的用戶信息封裝在報(bào)文頭中; 發(fā)送模塊,用于發(fā)送攜帶所述封裝模塊封裝的報(bào)文頭的報(bào)文 再一方面,本發(fā)明實(shí)施例還提供一種負(fù)載分擔(dān)節(jié)點(diǎn),包括 接收模塊,用于接收隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文,所述"t艮文的報(bào)文頭中 包含用戶信息;報(bào)文轉(zhuǎn)發(fā)模塊,用于根據(jù)所述接收模塊接收的報(bào)文頭中的用戶信息和公 網(wǎng)IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)所述才艮文。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)通過本發(fā)明實(shí)施例,負(fù) 載分擔(dān)節(jié)點(diǎn)接收包含用戶信息的報(bào)文,并根據(jù)報(bào)文頭中的IP地址和用戶信息 進(jìn)行選路,轉(zhuǎn)發(fā)該報(bào)文。因此,在隧道數(shù)目有限或隧道地址分散時(shí),負(fù)載分 擔(dān)節(jié)點(diǎn)也可以將流量均勾地分布到每條鏈路上。
圖1為現(xiàn)有技術(shù)產(chǎn)生報(bào)文亂序問題的示意圖;圖2為本發(fā)明實(shí)施例隧道負(fù)載分擔(dān)的方法的流程圖;圖3為本發(fā)明實(shí)施例隧道負(fù)載分擔(dān)的方法的組網(wǎng)示意圖;圖4為本發(fā)明實(shí)施例隧道的入口節(jié)點(diǎn)的搮:作流程示意圖;圖5為本發(fā)明實(shí)施例IPv4報(bào)文頭的結(jié)構(gòu)圖;圖6為本發(fā)明實(shí)施例Options域的結(jié)構(gòu)圖;圖7為本發(fā)明實(shí)施例隧道負(fù)載分擔(dān)的系統(tǒng)的結(jié)構(gòu)圖;圖8為本發(fā)明實(shí)施例隧道的入口節(jié)點(diǎn)的結(jié)構(gòu)圖;圖9為本發(fā)明實(shí)施例負(fù)載分擔(dān)節(jié)點(diǎn)的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例, 而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有 做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供了 一種隧道負(fù)載分擔(dān)的方法,將用戶信息帶到公網(wǎng)側(cè), 公網(wǎng)側(cè)負(fù)載分擔(dān)節(jié)點(diǎn)將報(bào)文的外層公網(wǎng)IP地址以及該報(bào)文攜帶的用戶信息結(jié) 合考慮,選擇轉(zhuǎn)發(fā)路徑。如圖2所示,為本發(fā)明實(shí)施例隧道負(fù)載分擔(dān)的方法的流程圖,具體包括步驟S201,接收隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文,該報(bào)文的報(bào)文頭中包含用 戶4言息。在本發(fā)明實(shí)施例中,隧道的入口節(jié)點(diǎn)4艮據(jù)用戶的IP地址、MAC地址和 會(huì)話標(biāo)識(shí)中的一種或幾種,進(jìn)行哈希獲取該用戶的用戶信息,并將該用戶信 息封裝在報(bào)文頭的Options域中。該Options域包括選項(xiàng)類型字段、選項(xiàng)長(zhǎng)度字段和選項(xiàng)數(shù)據(jù)字段,其中, 選項(xiàng)數(shù)據(jù)字段承載獲取的用戶信息。但是本發(fā)明實(shí)施例在獲取用戶信息時(shí)并不局限于此,還可以對(duì)用戶的其 他標(biāo)識(shí)信息進(jìn)行哈希獲取用戶的用戶信息。步驟S202,根據(jù)用戶信息和報(bào)文頭中的公網(wǎng)IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)報(bào)文。當(dāng)需要對(duì)所述報(bào)文進(jìn)行分片時(shí),負(fù)載分擔(dān)節(jié)點(diǎn)要將包含用戶信息的 Options域復(fù)制到分片后每個(gè)報(bào)文的報(bào)文頭中。上述隧道負(fù)載分擔(dān)的方法,負(fù)載分擔(dān)節(jié)點(diǎn)接收包含用戶信息的報(bào)文,并 根據(jù)報(bào)文頭中的IP地址和用戶信息進(jìn)行選路,轉(zhuǎn)發(fā)該報(bào)文。因此,在隧道數(shù)目 有限或隧道地址M時(shí),負(fù)載分擔(dān)節(jié)點(diǎn)也可以將流量均勻地分布到每條鏈路 上。并且在對(duì)報(bào)文進(jìn)行分片時(shí),將包含用戶信息的Options域復(fù)制到分片后每 個(gè)報(bào)文的報(bào)文頭中,從而避免了報(bào)文亂序問題的產(chǎn)生。如圖3所示,為本發(fā)明實(shí)施例隧道負(fù)載分擔(dān)的方法的組網(wǎng)示意圖,本發(fā)明 實(shí)施例以IPv4網(wǎng)絡(luò)為例進(jìn)行說明,圖3中,路由器A為隧道的入口節(jié)點(diǎn)、路由 器B為公網(wǎng)側(cè)的負(fù)載分擔(dān)節(jié)點(diǎn)、路由器C為公網(wǎng)側(cè)普通的轉(zhuǎn)發(fā)節(jié)點(diǎn)和路由器D 為隧道的出口節(jié)點(diǎn)。下面將詳細(xì)介紹每個(gè)路由器進(jìn)行的操作。如圖4所示,為本發(fā)明實(shí)施例隧道的入口節(jié)點(diǎn)的操作流程示意圖,本發(fā)明 實(shí)施例中,隧道的入口節(jié)點(diǎn)為路由器A。具體包括步驟S401,隧道的入口節(jié)點(diǎn)配置是否將用戶信息攜帶到公網(wǎng)側(cè)的指示信 息。該指示信息指示隧道的入口節(jié)點(diǎn)是否將用戶信息攜帶到公網(wǎng)側(cè),當(dāng)該指 示信息指示隧道的入口節(jié)點(diǎn)將用戶信息攜帶到公網(wǎng)側(cè)時(shí),該指示信息還可以 進(jìn)一步指示用戶信息的獲取方式。具體可以為(1 )根據(jù)用戶的IP地址進(jìn)行HASH獲取用戶信息;或者,(2) 根據(jù)用戶的MAC地址進(jìn)行HASH獲取用戶信息;或者,(3) 4艮據(jù)隧道建立時(shí)的會(huì)話標(biāo)識(shí)(例如L2TP隧道)進(jìn)行HASH獲取用 戶信息。另外,在獲取用戶信息時(shí),還可以將上述3種方式兩兩進(jìn)行組合,或者同 時(shí)使用上述3種方式獲取用戶信息,即本發(fā)明實(shí)施例可以根據(jù)用戶的IP地址、 MAC地址和會(huì)話標(biāo)識(shí)中的 一種或幾種,進(jìn)行HASH獲取用戶信息。但是本發(fā)明實(shí)施例在獲取用戶信息時(shí)并不局限于上述3種方式,還可以對(duì) 用戶的其他標(biāo)識(shí)信息進(jìn)行HASH獲取用戶信息。步驟S402,對(duì)用戶報(bào)文進(jìn)行入隧道封裝時(shí),獲取用戶信息。在對(duì)用戶才艮文進(jìn)行入隧道封裝時(shí),當(dāng)步驟S401中配置的指示信息指示隧 道的入口節(jié)點(diǎn)將用戶信息攜帶到公網(wǎng)側(cè)時(shí),隧道的入口節(jié)點(diǎn)根據(jù)該指示信息 所指示的方式,獲取用戶信息。步驟S403,在封裝公網(wǎng)側(cè)IPv4地址時(shí),將步驟S402計(jì)算得到的用戶信息 封裝在公網(wǎng)側(cè)的IPv4報(bào)文頭中。本發(fā)明實(shí)施例使用IPv4報(bào)文頭中的選項(xiàng) (Options)域攜帶用戶信息,包括選項(xiàng)(Options)域的IPv4^艮文頭的結(jié)構(gòu)如 圖5所示。本發(fā)明實(shí)施例中的Options域的結(jié)構(gòu)如圖6所示,該Options域帶有一個(gè)字節(jié) 的選項(xiàng)類型(Option-type)字段, 一個(gè)字節(jié)的選項(xiàng)長(zhǎng)度(Option-length)字段 和多個(gè)字節(jié)的選項(xiàng)數(shù)據(jù)字段。其中,選項(xiàng)類型(Option-type)字段包含3個(gè)域(1) 拷貝(copied)域長(zhǎng)度為l比特,在有分片的情形時(shí),指示是否將 Options域拷貝到分片報(bào)文中,例如當(dāng)拷貝域的值為l時(shí),指示將Options域拷 貝到分片報(bào)文中;當(dāng)拷貝域的值為0時(shí),指示不將Options域拷貝到分片報(bào)文中。(2) 類別(class)域長(zhǎng)度為2比特,當(dāng)類別域的值為0時(shí),表示控制; 當(dāng)類別域的值為2時(shí),表示調(diào)試和度量;l和3為預(yù)留值,以備將來使用。(3) 選項(xiàng)號(hào)(number)域長(zhǎng)度為5比特,為每一種選項(xiàng)設(shè)置一種選項(xiàng) 號(hào)用以識(shí)別這種選項(xiàng)。本發(fā)明實(shí)施例中將拷貝域設(shè)置為l,將類別域i殳置為O,選項(xiàng)號(hào)定義為6。 因此在本發(fā)明實(shí)施例中,選項(xiàng)類型字段的值為134,表示Options域中包含負(fù)載 分擔(dān)參數(shù)。其中,選項(xiàng)長(zhǎng)度字段的值是選項(xiàng)類型字段、選項(xiàng)長(zhǎng)度字段和選項(xiàng)數(shù)據(jù)字 段長(zhǎng)度的總和。由于本發(fā)明實(shí)施例中攜帶的用戶信息是為了在負(fù)載分擔(dān)節(jié)點(diǎn) 進(jìn)行選路,而實(shí)際組網(wǎng)中鏈路的數(shù)目不會(huì)很多,同時(shí)為了保證IP頭是32比特的 整數(shù)倍,因此,本發(fā)明實(shí)施例將選項(xiàng)數(shù)據(jù)字段的長(zhǎng)度設(shè)為8比特,該選項(xiàng)數(shù)據(jù)9字段攜帶哈希后的用戶信息(HASH—INFORMATION)。這時(shí),選項(xiàng)長(zhǎng)度字 段的值為4。對(duì)于公網(wǎng)側(cè)的負(fù)載分擔(dān)節(jié)點(diǎn)路由器B,在接收到路由器嫂送的IPv4報(bào)文 之后,對(duì)該IPv4報(bào)文的報(bào)文頭進(jìn)行解析,查找路由,在發(fā)現(xiàn)需要進(jìn)行負(fù)載分擔(dān) 時(shí),路由器B判斷IPv4報(bào)文頭中是否帶有Options域。當(dāng)IPv4報(bào)文頭中包含 Options域時(shí),路由器B進(jìn)一步判斷Options域的選項(xiàng)類型字段中是否包含負(fù)載 分擔(dān)參數(shù),如果包含,則路由器B根據(jù)Options域的選項(xiàng)數(shù)據(jù)字段中哈希后的用 戶信息(HASH—INFORMATION),以及公網(wǎng)IPv4地址進(jìn)行選路,轉(zhuǎn)發(fā)上述 報(bào)文,同時(shí)對(duì)Options域不作修改。當(dāng)需要對(duì)IPv4報(bào)文進(jìn)行分片時(shí),IPv4報(bào)文頭中的Options域也會(huì)被復(fù)制到 分片報(bào)文的IPv4報(bào)文頭中。對(duì)于公網(wǎng)側(cè)普通的轉(zhuǎn)發(fā)節(jié)點(diǎn)路由器C,支持對(duì)包含Options域的IPv4報(bào)文頭 的解析,對(duì)包含上述IPv4報(bào)文頭的IPv4報(bào)文進(jìn)行正常轉(zhuǎn)發(fā),不需要考慮IPv4 才艮文頭中的Options域,對(duì)Options域也不作任何修改,將包含上述IPv4報(bào)文頭 的IPv44艮文透?jìng)鞯较乱粋€(gè)節(jié)點(diǎn)。當(dāng)需要對(duì)IPv4報(bào)文進(jìn)行分片時(shí),IPv4報(bào)文頭中的Options域也會(huì)被復(fù)制到 分片報(bào)文的IPv4報(bào)文頭中。對(duì)于隧道的出口路由器D,支持對(duì)包含Options域的IPv4報(bào)文頭的解析,正 常解析包含上述IPv4報(bào)文頭的IPv4報(bào)文,當(dāng)該IPv4報(bào)文為出隧道報(bào)文時(shí),路有 器D對(duì)該IPv4報(bào)文進(jìn)行解封裝,剝?nèi)ネ鈱拥腎Pv4報(bào)文頭,然后對(duì)該IPv4報(bào)文進(jìn) 行出隧道處理。如圖7所示,為本發(fā)明實(shí)施例隧道負(fù)載分擔(dān)的系統(tǒng)的結(jié)構(gòu)圖,包括隧道的入口節(jié)點(diǎn)71,用于獲取用戶的用戶信息,將用戶信息封裝在才艮文 頭中,并發(fā)送攜帶所述報(bào)文頭的^^艮文;負(fù)載分擔(dān)節(jié)點(diǎn)72,用于接收隧道的入口節(jié)點(diǎn)71發(fā)送的報(bào)文,根據(jù)報(bào)文頭 中的用戶信息和公網(wǎng)IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)所述報(bào)文。該負(fù)載分擔(dān)的系統(tǒng)還可以包括轉(zhuǎn)發(fā)節(jié)點(diǎn)73,用于透?jìng)髫?fù)載分擔(dān)節(jié)點(diǎn)72 轉(zhuǎn)發(fā)的報(bào)文;隧道的出口節(jié)點(diǎn)74,用于接收轉(zhuǎn)發(fā)節(jié)點(diǎn)73透?jìng)鞯膱?bào)文,解析該報(bào)文,當(dāng) 報(bào)文為出隧道報(bào)文時(shí),對(duì)所述報(bào)文進(jìn)行解封裝,去掉該報(bào)文的報(bào)文頭,并對(duì) 所述報(bào)文進(jìn)行出隧道處理。上述隧道負(fù)載分擔(dān)的系統(tǒng),負(fù)載分擔(dān)節(jié)點(diǎn)72接收隧道的入口節(jié)點(diǎn)71發(fā) 送的包含用戶信息的報(bào)文,并根據(jù)報(bào)文頭中的IP地址和用戶信息進(jìn)行選路, 轉(zhuǎn)發(fā)該報(bào)文。因此,在隧道數(shù)目有限或隧道地址分散時(shí),負(fù)載分擔(dān)節(jié)點(diǎn)72也 可以將流量均勻地分布到每條鏈路上。如圖8所示,為本發(fā)明實(shí)施例隧道的入口節(jié)點(diǎn)的結(jié)構(gòu)圖,包括獲取模塊711,用于獲取用戶的用戶信息;封裝模塊712,用于將獲取模塊711獲取的用戶信息封裝在報(bào)文頭中;發(fā)送模塊713,用于發(fā)送攜帶封裝模塊712封裝的報(bào)文頭的報(bào)文。其中,獲取模塊711可以包括哈希子模塊7111,用于根據(jù)用戶的IP地址、MAC地址和會(huì)話標(biāo)識(shí)中的一種或幾種,進(jìn)行哈希獲取所述用戶的用戶信息。上述隧道的入口節(jié)點(diǎn),獲取模塊711獲取用戶的用戶信息,封裝模塊712 將獲取模塊711獲取的用戶信息封裝在報(bào)文頭中,由發(fā)送模塊713發(fā)送攜帶 上述報(bào)文頭的報(bào)文,從而實(shí)現(xiàn)了將用戶信息攜帶到公網(wǎng)側(cè),使公網(wǎng)側(cè)的負(fù)載 分擔(dān)節(jié)點(diǎn)72在進(jìn)行負(fù)載分擔(dān)時(shí),可以根據(jù)用戶信息和公網(wǎng)IP地址進(jìn)行選^各。如圖9所示,為本發(fā)明實(shí)施例負(fù)載分擔(dān)節(jié)點(diǎn)的結(jié)構(gòu)圖,包括接收模塊721,用于接收隧道的入口節(jié)點(diǎn)71發(fā)送的報(bào)文,該報(bào)文的報(bào)文 頭中包含用戶信息;報(bào)文轉(zhuǎn)發(fā)模塊722,用于根據(jù)接收模塊721接收的報(bào)文頭中的用戶信息和 爿^網(wǎng)IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)所述才艮文。其中,負(fù)載分擔(dān)節(jié)點(diǎn)72還可以包括復(fù)制模塊723,用于在對(duì)接收模塊 721接收的報(bào)文進(jìn)行分片時(shí),將接收模塊721接收的報(bào)文頭中的Options域復(fù) 制到分片后每個(gè)報(bào)文的報(bào)文頭中,該Options域攜帶所述用戶信息。上述負(fù)載分擔(dān)節(jié)點(diǎn),接收模塊721接收包含用戶信息的報(bào)文,報(bào)文轉(zhuǎn)發(fā) 模塊722根據(jù)報(bào)文頭中的IP地址和用戶信息進(jìn)行選路,轉(zhuǎn)發(fā)該報(bào)文。因此,在隧道數(shù)目有限或隧道地址分散時(shí),負(fù)載分擔(dān)節(jié)點(diǎn)72也可以將流量均勻地分 布到每條鏈路上。并且在對(duì)報(bào)文進(jìn)行分片時(shí),復(fù)制模塊723將包含用戶信息 的Options域復(fù)制到分片后每個(gè)報(bào)文的報(bào)文頭中,從而避免了報(bào)文亂序問題的 產(chǎn)生。本發(fā)明實(shí)施例解決了 IPv4公網(wǎng)側(cè)由于隧道數(shù)目有限或隧道地址M,導(dǎo)致 負(fù)載分擔(dān)節(jié)點(diǎn)無法將流量均勻分布到每條鏈路上的問題。本發(fā)明實(shí)施例將用 戶信息帶到公網(wǎng)側(cè),使之成為進(jìn)行負(fù)載分擔(dān)的依據(jù)之一,并不改變隧道對(duì)用 戶報(bào)文保密的屬性。同時(shí)本發(fā)明實(shí)施例不限定隧道的具體模型,針對(duì)承載于 IPv4網(wǎng)絡(luò)的所有隧道。本發(fā)明實(shí)施例中,負(fù)載分擔(dān)節(jié)點(diǎn)可以根據(jù)用戶或隧道模 型的需要,靈活地使用用戶的IP地址、MAC地址、會(huì)話標(biāo)識(shí)等信息進(jìn)行選路, 實(shí)現(xiàn)IPv4了公網(wǎng)側(cè)的靈活負(fù)載分擔(dān)。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可以通過硬件實(shí)現(xiàn),也可以可借助軟件加必要的通用硬件平臺(tái)的方式來實(shí) 現(xiàn)基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該 軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM, U盤,移動(dòng) 硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī), 服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的 模塊或流程并不 一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述 進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一 個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆 分成多個(gè)子模塊。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。1權(quán)利要求
1、一種隧道負(fù)載分擔(dān)的方法,其特征在于,包括接收隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文,所述報(bào)文的報(bào)文頭中包含用戶信息;根據(jù)所述用戶信息和所述報(bào)文頭中的公網(wǎng)因特網(wǎng)協(xié)議IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)所述報(bào)文。
2、 如權(quán)利要求1所述隧道負(fù)載分擔(dān)的方法,其特征在于,所述用戶信息 由所述隧道的入口節(jié)點(diǎn)根據(jù)用戶的IP地址、媒體接入控制MAC地址和會(huì)話 標(biāo)識(shí)中的一種或幾種,進(jìn)行哈希獲取,并且所述用戶信息封裝在所述報(bào)文頭 的選項(xiàng)Options域中。
3、 如權(quán)利要求2所述隧道負(fù)載分擔(dān)的方法,其特征在于,在所述4艮據(jù)所 述用戶信息和所述報(bào)文頭中的公網(wǎng)IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)所述報(bào)文之前, 還包括在對(duì)所述隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文進(jìn)行分片時(shí),將所述Options域復(fù)制 到分片后每個(gè)報(bào)文的報(bào)文頭中。
4、 如權(quán)利要求2所述隧道負(fù)載分擔(dān)的方法,其特征在于,所述Options 域包括選項(xiàng)類型字段、選項(xiàng)長(zhǎng)度字段和選項(xiàng)數(shù)據(jù)字段,所述選項(xiàng)數(shù)據(jù)字段承 載所述用戶信息。
5、 一種隧道負(fù)載分擔(dān)的系統(tǒng),其特征在于,包括隧道的入口節(jié)點(diǎn),用于獲取用戶的用戶信息,將所述用戶信息封裝在報(bào) 文頭中,并發(fā)送攜帶所述報(bào)文頭的報(bào)文;負(fù)載分擔(dān)節(jié)點(diǎn),用于接收所述隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文,根據(jù)所述報(bào) 文頭中的用戶信息和公網(wǎng)IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)所述報(bào)文。
6、 如權(quán)利要求5所述負(fù)載分擔(dān)的系統(tǒng),其特征在于,還包括 轉(zhuǎn)發(fā)節(jié)點(diǎn),用于透?jìng)魉鲐?fù)載分擔(dān)節(jié)點(diǎn)轉(zhuǎn)發(fā)的報(bào)文; 隧道的出口節(jié)點(diǎn),用于接收所述轉(zhuǎn)發(fā)節(jié)點(diǎn)透?jìng)鞯膱?bào)文,解析所述報(bào)文,當(dāng)所述報(bào)文為出隧道報(bào)文時(shí),對(duì)所述報(bào)文進(jìn)行解封裝,去掉所述報(bào)文的報(bào)文 頭,并對(duì)所述才艮文進(jìn)行出隧道處理。
7、 一種隧道的入口節(jié)點(diǎn),其特征在于,包括 獲取才莫塊,用于獲取用戶的用戶信息;封裝模塊,用于將所述獲取模塊獲取的用戶信息封裝在報(bào)文頭中; 發(fā)送模塊,用于發(fā)送攜帶所述封裝模塊封裝的報(bào)文頭的報(bào)文。
8、 如權(quán)利要求7所述隧道的入口節(jié)點(diǎn),其特征在于,所述獲取模塊包括 哈希子模塊,用于根據(jù)用戶的IP地址、媒體接入控制MAC地址和會(huì)話標(biāo)識(shí)中的一種或幾種,進(jìn)行哈希獲取所述用戶的用戶信息。
9、 一種負(fù)載分擔(dān)節(jié)點(diǎn),其特征在于,包括接收模塊,用于接收隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文,所述報(bào)文的報(bào)文頭中 包含用戶信息;報(bào)文轉(zhuǎn)發(fā)模塊,用于根據(jù)所述接收模塊接收的報(bào)文頭中的用戶信息和公 網(wǎng)IP地址,進(jìn)4亍選路,轉(zhuǎn)發(fā)所述才艮文。
10、 如權(quán)利要求9所述負(fù)載分擔(dān)節(jié)點(diǎn),其特征在于,還包括 復(fù)制模塊,用于在對(duì)所述接收模塊接收的報(bào)文進(jìn)行分片時(shí),將所述接收模塊接收的報(bào)文頭中的Options域復(fù)制到分片后每個(gè)報(bào)文的報(bào)文頭中,所述 Options域攜帶所述用戶信息。
全文摘要
本發(fā)明實(shí)施例公開了一種隧道負(fù)載分擔(dān)的方法、系統(tǒng)和裝置,所述隧道負(fù)載分擔(dān)的方法包括接收隧道的入口節(jié)點(diǎn)發(fā)送的報(bào)文,所述報(bào)文的報(bào)文頭中包含用戶信息;根據(jù)所述用戶信息和所述報(bào)文頭中的公網(wǎng)因特網(wǎng)協(xié)議IP地址,進(jìn)行選路,轉(zhuǎn)發(fā)所述報(bào)文。本發(fā)明實(shí)施例實(shí)現(xiàn)了在隧道數(shù)目有限或隧道地址分散時(shí),負(fù)載分擔(dān)節(jié)點(diǎn)也可以將流量均勻地分布到每條鏈路上。并且本發(fā)明實(shí)施例在對(duì)報(bào)文進(jìn)行分片時(shí),將包含用戶信息的Options域復(fù)制到分片后每個(gè)報(bào)文的報(bào)文頭中,從而避免了報(bào)文亂序問題的產(chǎn)生。
文檔編號(hào)H04L12/46GK101325557SQ200810133299
公開日2008年12月17日 申請(qǐng)日期2008年7月25日 優(yōu)先權(quán)日2008年7月25日
發(fā)明者田小輝 申請(qǐng)人:華為技術(shù)有限公司