亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種隧道負載分擔的方法、系統和裝置的制作方法

文檔序號:7917113閱讀:292來源:國知局
專利名稱:一種隧道負載分擔的方法、系統和裝置的制作方法
技術領域
本發(fā)明實施例涉及通信技術領域,特別涉及一種隧道負載分擔的方法、 系統和裝置。
背景技術
在網絡中的某個節(jié)點上,路由轉發(fā)時可能存在2條以上的等價鏈路,為 了保證每條鏈路的流量均勻,通常需要按照某種方法將流量均勻地分布在每 條鏈路上?,F有技術通常使用的是HASH (hash,哈希)算法。此方法就是根據流量 的屬性,例如IPv4 (Internet Protocol version 4 ,因凈爭網協i義X反本4 )才艮文的 IP地址、二層以太報文的MAC (MediaAccess Control,媒體接入控制)地址 等可以標識某一條流量的參數,將不同屬性的流量散列到不同的鏈路上去。 而且,在大多數情況下,流量在傳輸中是需要保證順序的,因此在HASH的 過程中還要保證同一條流一定要選擇同 一個鏈路,以免亂序。隧道技術是使用 一種協議封裝另外一種協議報文的技術,封裝協議本身 也可以被其他封裝協議所封裝或承載。對用戶來說,隧道是其PSTN ( Public Switched Telephone Network, z^共交換電^舌網)/ISDN (Integrated Services Digital Network,綜合業(yè)務數字網)鏈路的邏輯延伸,在使用上與實際物理鏈 路相同?;贗Pv4網絡的隧道是承載在IPv4網絡中的隧道技術,在這種技術中, 用戶才艮文都^皮封裝到IPv4協議內部進行傳輸。現有技術中,網絡中的節(jié)點收到一個IPv4報文,在有多條轉發(fā)路徑、同 時需要保證報文順序時,通常使用IPv4頭中的源IP (Internet Protocol,因特 網協議)和目的IP標識一條數據流。因此,對于承載在IPv4網絡的隧道中的 各種用戶才艮文而言,在網絡側只會使用隧道的公網IPv4地址進行HASH。4釆用上述方法,如果由于網絡布局的原因,導致隧道數目較少或隧道地址不連續(xù),則在IPv4網絡側,遇到需要負載分擔的情形時,會導致HASH的 結果不均勻,將所有用戶或大部分用戶的流量都選擇到一條或少數幾條鏈路 上,而其他鏈路仍然空閑。在用戶流量大的情況下,被選擇的鏈路容易產生 擁塞,發(fā)生丟包現象。現有技術提出了一種隧道負載分擔的方法,可以在負載分擔節(jié)點(例如 IPv4核心節(jié)點)上解析內部隧道協議報文,再根據內部用戶的IP地址進行 HASH,選擇轉發(fā)的鏈路。例如對于L2TP (Layer Two Tunneling Protocol, 二層隧道協議)隧道,負載分擔節(jié)點需要解析IPv4才艮文中的UDP (User Datagram Protocol,用戶數據報協議)端口號、L2TP頭以及內部的私網IPv4 地址等信息,再根據內部的私網IPv4地址進行HASH,選擇轉發(fā)的鏈路。但是,上述隧道負載分擔的方法,判斷內部隧道協議的分支比4交復雜, 比如, 一個用戶才艮文內部可以封裝L2TP、 GRE ( Generic Routing Encapsulation, 通用路由去t裝)、IPSec (Internet Protocol Security extensions, IP十辦i義安全擴 展)等多種隧道的用戶報文。如果負載分擔節(jié)點對報文中封裝的所有報文全 部進行解析,算法復雜度很大,并且在解析內部協議時,需要從外部存儲器 中讀取并進行分析的報文長度很大,導致公網側的核心路由器轉發(fā)性能受到 很大影響。如果公網側的IPv4報文被分片,使用此方案則會導致報文的亂序(接收 到報文的順序與發(fā)送的順序不符)。以GRE報文為例,如圖1所示。不分片續(xù)片中沒有了 GRE頭,無法根據內部協議做HASH,只能根據公網側IPv4 地址進行HASH,有可能和首片選擇不同的轉發(fā)路徑。如果后續(xù)片比較晚到 達,在重組側就會導致分片報文的重組被延誤,后面的不分片報文提前到達, 導致報文產生亂序。發(fā)明內容為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā) 明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前 提下,還可以根據這些附圖獲得其他的附圖。本發(fā)明實施例提供一種隧道負載分擔的方法,以實現隧道數目有限或隧 道地址^t時,將流量均勻地分布到每條鏈路上。為達到上述目的,本發(fā)明實施例一方面提供一種隧道負載分擔的方法, 包括接收隧道的入口節(jié)點發(fā)送的報文,所述報文的報文頭中包含用戶信息; 根據所述用戶信息和所述報文頭中的公網因特網協議IP地址,進行選路, 轉發(fā)所述報文。另一方面,本發(fā)明實施例還提供一種隧道負載分擔的系統,包括隧道的入口節(jié)點,用于獲取用戶的用戶信息,將所述用戶信息封裝在報 文頭中,并發(fā)送攜帶所述報文頭的報文;負載分擔節(jié)點,用于接收所述隧道的入口節(jié)點發(fā)送的報文,根據所述報 文頭中的用戶信息和公網IP地址,進行選路,轉發(fā)所述報文。再一方面,本發(fā)明實施例還提供一種隧道的入口節(jié)點,包括獲取模塊,用于獲取用戶的用戶信息;封裝模塊,用于將所述獲取模塊獲取的用戶信息封裝在報文頭中; 發(fā)送模塊,用于發(fā)送攜帶所述封裝模塊封裝的報文頭的報文 再一方面,本發(fā)明實施例還提供一種負載分擔節(jié)點,包括 接收模塊,用于接收隧道的入口節(jié)點發(fā)送的報文,所述"t艮文的報文頭中 包含用戶信息;報文轉發(fā)模塊,用于根據所述接收模塊接收的報文頭中的用戶信息和公 網IP地址,進行選路,轉發(fā)所述才艮文。與現有技術相比,本發(fā)明實施例具有以下優(yōu)點通過本發(fā)明實施例,負 載分擔節(jié)點接收包含用戶信息的報文,并根據報文頭中的IP地址和用戶信息 進行選路,轉發(fā)該報文。因此,在隧道數目有限或隧道地址分散時,負載分 擔節(jié)點也可以將流量均勾地分布到每條鏈路上。


圖1為現有技術產生報文亂序問題的示意圖;圖2為本發(fā)明實施例隧道負載分擔的方法的流程圖;圖3為本發(fā)明實施例隧道負載分擔的方法的組網示意圖;圖4為本發(fā)明實施例隧道的入口節(jié)點的搮:作流程示意圖;圖5為本發(fā)明實施例IPv4報文頭的結構圖;圖6為本發(fā)明實施例Options域的結構圖;圖7為本發(fā)明實施例隧道負載分擔的系統的結構圖;圖8為本發(fā)明實施例隧道的入口節(jié)點的結構圖;圖9為本發(fā)明實施例負載分擔節(jié)點的結構圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行 清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例, 而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有 做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供了 一種隧道負載分擔的方法,將用戶信息帶到公網側, 公網側負載分擔節(jié)點將報文的外層公網IP地址以及該報文攜帶的用戶信息結 合考慮,選擇轉發(fā)路徑。如圖2所示,為本發(fā)明實施例隧道負載分擔的方法的流程圖,具體包括步驟S201,接收隧道的入口節(jié)點發(fā)送的報文,該報文的報文頭中包含用 戶4言息。在本發(fā)明實施例中,隧道的入口節(jié)點4艮據用戶的IP地址、MAC地址和 會話標識中的一種或幾種,進行哈希獲取該用戶的用戶信息,并將該用戶信 息封裝在報文頭的Options域中。該Options域包括選項類型字段、選項長度字段和選項數據字段,其中, 選項數據字段承載獲取的用戶信息。但是本發(fā)明實施例在獲取用戶信息時并不局限于此,還可以對用戶的其 他標識信息進行哈希獲取用戶的用戶信息。步驟S202,根據用戶信息和報文頭中的公網IP地址,進行選路,轉發(fā)報文。當需要對所述報文進行分片時,負載分擔節(jié)點要將包含用戶信息的 Options域復制到分片后每個報文的報文頭中。上述隧道負載分擔的方法,負載分擔節(jié)點接收包含用戶信息的報文,并 根據報文頭中的IP地址和用戶信息進行選路,轉發(fā)該報文。因此,在隧道數目 有限或隧道地址M時,負載分擔節(jié)點也可以將流量均勻地分布到每條鏈路 上。并且在對報文進行分片時,將包含用戶信息的Options域復制到分片后每 個報文的報文頭中,從而避免了報文亂序問題的產生。如圖3所示,為本發(fā)明實施例隧道負載分擔的方法的組網示意圖,本發(fā)明 實施例以IPv4網絡為例進行說明,圖3中,路由器A為隧道的入口節(jié)點、路由 器B為公網側的負載分擔節(jié)點、路由器C為公網側普通的轉發(fā)節(jié)點和路由器D 為隧道的出口節(jié)點。下面將詳細介紹每個路由器進行的操作。如圖4所示,為本發(fā)明實施例隧道的入口節(jié)點的操作流程示意圖,本發(fā)明 實施例中,隧道的入口節(jié)點為路由器A。具體包括步驟S401,隧道的入口節(jié)點配置是否將用戶信息攜帶到公網側的指示信 息。該指示信息指示隧道的入口節(jié)點是否將用戶信息攜帶到公網側,當該指 示信息指示隧道的入口節(jié)點將用戶信息攜帶到公網側時,該指示信息還可以 進一步指示用戶信息的獲取方式。具體可以為(1 )根據用戶的IP地址進行HASH獲取用戶信息;或者,(2) 根據用戶的MAC地址進行HASH獲取用戶信息;或者,(3) 4艮據隧道建立時的會話標識(例如L2TP隧道)進行HASH獲取用 戶信息。另外,在獲取用戶信息時,還可以將上述3種方式兩兩進行組合,或者同 時使用上述3種方式獲取用戶信息,即本發(fā)明實施例可以根據用戶的IP地址、 MAC地址和會話標識中的 一種或幾種,進行HASH獲取用戶信息。但是本發(fā)明實施例在獲取用戶信息時并不局限于上述3種方式,還可以對 用戶的其他標識信息進行HASH獲取用戶信息。步驟S402,對用戶報文進行入隧道封裝時,獲取用戶信息。在對用戶才艮文進行入隧道封裝時,當步驟S401中配置的指示信息指示隧 道的入口節(jié)點將用戶信息攜帶到公網側時,隧道的入口節(jié)點根據該指示信息 所指示的方式,獲取用戶信息。步驟S403,在封裝公網側IPv4地址時,將步驟S402計算得到的用戶信息 封裝在公網側的IPv4報文頭中。本發(fā)明實施例使用IPv4報文頭中的選項 (Options)域攜帶用戶信息,包括選項(Options)域的IPv4^艮文頭的結構如 圖5所示。本發(fā)明實施例中的Options域的結構如圖6所示,該Options域帶有一個字節(jié) 的選項類型(Option-type)字段, 一個字節(jié)的選項長度(Option-length)字段 和多個字節(jié)的選項數據字段。其中,選項類型(Option-type)字段包含3個域(1) 拷貝(copied)域長度為l比特,在有分片的情形時,指示是否將 Options域拷貝到分片報文中,例如當拷貝域的值為l時,指示將Options域拷 貝到分片報文中;當拷貝域的值為0時,指示不將Options域拷貝到分片報文中。(2) 類別(class)域長度為2比特,當類別域的值為0時,表示控制; 當類別域的值為2時,表示調試和度量;l和3為預留值,以備將來使用。(3) 選項號(number)域長度為5比特,為每一種選項設置一種選項 號用以識別這種選項。本發(fā)明實施例中將拷貝域設置為l,將類別域i殳置為O,選項號定義為6。 因此在本發(fā)明實施例中,選項類型字段的值為134,表示Options域中包含負載 分擔參數。其中,選項長度字段的值是選項類型字段、選項長度字段和選項數據字 段長度的總和。由于本發(fā)明實施例中攜帶的用戶信息是為了在負載分擔節(jié)點 進行選路,而實際組網中鏈路的數目不會很多,同時為了保證IP頭是32比特的 整數倍,因此,本發(fā)明實施例將選項數據字段的長度設為8比特,該選項數據9字段攜帶哈希后的用戶信息(HASH—INFORMATION)。這時,選項長度字 段的值為4。對于公網側的負載分擔節(jié)點路由器B,在接收到路由器嫂送的IPv4報文 之后,對該IPv4報文的報文頭進行解析,查找路由,在發(fā)現需要進行負載分擔 時,路由器B判斷IPv4報文頭中是否帶有Options域。當IPv4報文頭中包含 Options域時,路由器B進一步判斷Options域的選項類型字段中是否包含負載 分擔參數,如果包含,則路由器B根據Options域的選項數據字段中哈希后的用 戶信息(HASH—INFORMATION),以及公網IPv4地址進行選路,轉發(fā)上述 報文,同時對Options域不作修改。當需要對IPv4報文進行分片時,IPv4報文頭中的Options域也會被復制到 分片報文的IPv4報文頭中。對于公網側普通的轉發(fā)節(jié)點路由器C,支持對包含Options域的IPv4報文頭 的解析,對包含上述IPv4報文頭的IPv4報文進行正常轉發(fā),不需要考慮IPv4 才艮文頭中的Options域,對Options域也不作任何修改,將包含上述IPv4報文頭 的IPv44艮文透傳到下一個節(jié)點。當需要對IPv4報文進行分片時,IPv4報文頭中的Options域也會被復制到 分片報文的IPv4報文頭中。對于隧道的出口路由器D,支持對包含Options域的IPv4報文頭的解析,正 常解析包含上述IPv4報文頭的IPv4報文,當該IPv4報文為出隧道報文時,路有 器D對該IPv4報文進行解封裝,剝去外層的IPv4報文頭,然后對該IPv4報文進 行出隧道處理。如圖7所示,為本發(fā)明實施例隧道負載分擔的系統的結構圖,包括隧道的入口節(jié)點71,用于獲取用戶的用戶信息,將用戶信息封裝在才艮文 頭中,并發(fā)送攜帶所述報文頭的^^艮文;負載分擔節(jié)點72,用于接收隧道的入口節(jié)點71發(fā)送的報文,根據報文頭 中的用戶信息和公網IP地址,進行選路,轉發(fā)所述報文。該負載分擔的系統還可以包括轉發(fā)節(jié)點73,用于透傳負載分擔節(jié)點72 轉發(fā)的報文;隧道的出口節(jié)點74,用于接收轉發(fā)節(jié)點73透傳的報文,解析該報文,當 報文為出隧道報文時,對所述報文進行解封裝,去掉該報文的報文頭,并對 所述報文進行出隧道處理。上述隧道負載分擔的系統,負載分擔節(jié)點72接收隧道的入口節(jié)點71發(fā) 送的包含用戶信息的報文,并根據報文頭中的IP地址和用戶信息進行選路, 轉發(fā)該報文。因此,在隧道數目有限或隧道地址分散時,負載分擔節(jié)點72也 可以將流量均勻地分布到每條鏈路上。如圖8所示,為本發(fā)明實施例隧道的入口節(jié)點的結構圖,包括獲取模塊711,用于獲取用戶的用戶信息;封裝模塊712,用于將獲取模塊711獲取的用戶信息封裝在報文頭中;發(fā)送模塊713,用于發(fā)送攜帶封裝模塊712封裝的報文頭的報文。其中,獲取模塊711可以包括哈希子模塊7111,用于根據用戶的IP地址、MAC地址和會話標識中的一種或幾種,進行哈希獲取所述用戶的用戶信息。上述隧道的入口節(jié)點,獲取模塊711獲取用戶的用戶信息,封裝模塊712 將獲取模塊711獲取的用戶信息封裝在報文頭中,由發(fā)送模塊713發(fā)送攜帶 上述報文頭的報文,從而實現了將用戶信息攜帶到公網側,使公網側的負載 分擔節(jié)點72在進行負載分擔時,可以根據用戶信息和公網IP地址進行選^各。如圖9所示,為本發(fā)明實施例負載分擔節(jié)點的結構圖,包括接收模塊721,用于接收隧道的入口節(jié)點71發(fā)送的報文,該報文的報文 頭中包含用戶信息;報文轉發(fā)模塊722,用于根據接收模塊721接收的報文頭中的用戶信息和 爿^網IP地址,進行選路,轉發(fā)所述才艮文。其中,負載分擔節(jié)點72還可以包括復制模塊723,用于在對接收模塊 721接收的報文進行分片時,將接收模塊721接收的報文頭中的Options域復 制到分片后每個報文的報文頭中,該Options域攜帶所述用戶信息。上述負載分擔節(jié)點,接收模塊721接收包含用戶信息的報文,報文轉發(fā) 模塊722根據報文頭中的IP地址和用戶信息進行選路,轉發(fā)該報文。因此,在隧道數目有限或隧道地址分散時,負載分擔節(jié)點72也可以將流量均勻地分 布到每條鏈路上。并且在對報文進行分片時,復制模塊723將包含用戶信息 的Options域復制到分片后每個報文的報文頭中,從而避免了報文亂序問題的 產生。本發(fā)明實施例解決了 IPv4公網側由于隧道數目有限或隧道地址M,導致 負載分擔節(jié)點無法將流量均勻分布到每條鏈路上的問題。本發(fā)明實施例將用 戶信息帶到公網側,使之成為進行負載分擔的依據之一,并不改變隧道對用 戶報文保密的屬性。同時本發(fā)明實施例不限定隧道的具體模型,針對承載于 IPv4網絡的所有隧道。本發(fā)明實施例中,負載分擔節(jié)點可以根據用戶或隧道模 型的需要,靈活地使用用戶的IP地址、MAC地址、會話標識等信息進行選路, 實現IPv4了公網側的靈活負載分擔。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā) 明可以通過硬件實現,也可以可借助軟件加必要的通用硬件平臺的方式來實 現基于這樣的理解,本發(fā)明的技術方案可以以軟件產品的形式體現出來,該 軟件產品可以存儲在一個非易失性存儲介質(可以是CD-ROM, U盤,移動 硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機, 服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領域技術人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的 模塊或流程并不 一定是實施本發(fā)明所必須的。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述 進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一 個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆 分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此, 任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。1權利要求
1、一種隧道負載分擔的方法,其特征在于,包括接收隧道的入口節(jié)點發(fā)送的報文,所述報文的報文頭中包含用戶信息;根據所述用戶信息和所述報文頭中的公網因特網協議IP地址,進行選路,轉發(fā)所述報文。
2、 如權利要求1所述隧道負載分擔的方法,其特征在于,所述用戶信息 由所述隧道的入口節(jié)點根據用戶的IP地址、媒體接入控制MAC地址和會話 標識中的一種或幾種,進行哈希獲取,并且所述用戶信息封裝在所述報文頭 的選項Options域中。
3、 如權利要求2所述隧道負載分擔的方法,其特征在于,在所述4艮據所 述用戶信息和所述報文頭中的公網IP地址,進行選路,轉發(fā)所述報文之前, 還包括在對所述隧道的入口節(jié)點發(fā)送的報文進行分片時,將所述Options域復制 到分片后每個報文的報文頭中。
4、 如權利要求2所述隧道負載分擔的方法,其特征在于,所述Options 域包括選項類型字段、選項長度字段和選項數據字段,所述選項數據字段承 載所述用戶信息。
5、 一種隧道負載分擔的系統,其特征在于,包括隧道的入口節(jié)點,用于獲取用戶的用戶信息,將所述用戶信息封裝在報 文頭中,并發(fā)送攜帶所述報文頭的報文;負載分擔節(jié)點,用于接收所述隧道的入口節(jié)點發(fā)送的報文,根據所述報 文頭中的用戶信息和公網IP地址,進行選路,轉發(fā)所述報文。
6、 如權利要求5所述負載分擔的系統,其特征在于,還包括 轉發(fā)節(jié)點,用于透傳所述負載分擔節(jié)點轉發(fā)的報文; 隧道的出口節(jié)點,用于接收所述轉發(fā)節(jié)點透傳的報文,解析所述報文,當所述報文為出隧道報文時,對所述報文進行解封裝,去掉所述報文的報文 頭,并對所述才艮文進行出隧道處理。
7、 一種隧道的入口節(jié)點,其特征在于,包括 獲取才莫塊,用于獲取用戶的用戶信息;封裝模塊,用于將所述獲取模塊獲取的用戶信息封裝在報文頭中; 發(fā)送模塊,用于發(fā)送攜帶所述封裝模塊封裝的報文頭的報文。
8、 如權利要求7所述隧道的入口節(jié)點,其特征在于,所述獲取模塊包括 哈希子模塊,用于根據用戶的IP地址、媒體接入控制MAC地址和會話標識中的一種或幾種,進行哈希獲取所述用戶的用戶信息。
9、 一種負載分擔節(jié)點,其特征在于,包括接收模塊,用于接收隧道的入口節(jié)點發(fā)送的報文,所述報文的報文頭中 包含用戶信息;報文轉發(fā)模塊,用于根據所述接收模塊接收的報文頭中的用戶信息和公 網IP地址,進4亍選路,轉發(fā)所述才艮文。
10、 如權利要求9所述負載分擔節(jié)點,其特征在于,還包括 復制模塊,用于在對所述接收模塊接收的報文進行分片時,將所述接收模塊接收的報文頭中的Options域復制到分片后每個報文的報文頭中,所述 Options域攜帶所述用戶信息。
全文摘要
本發(fā)明實施例公開了一種隧道負載分擔的方法、系統和裝置,所述隧道負載分擔的方法包括接收隧道的入口節(jié)點發(fā)送的報文,所述報文的報文頭中包含用戶信息;根據所述用戶信息和所述報文頭中的公網因特網協議IP地址,進行選路,轉發(fā)所述報文。本發(fā)明實施例實現了在隧道數目有限或隧道地址分散時,負載分擔節(jié)點也可以將流量均勻地分布到每條鏈路上。并且本發(fā)明實施例在對報文進行分片時,將包含用戶信息的Options域復制到分片后每個報文的報文頭中,從而避免了報文亂序問題的產生。
文檔編號H04L12/46GK101325557SQ200810133299
公開日2008年12月17日 申請日期2008年7月25日 優(yōu)先權日2008年7月25日
發(fā)明者田小輝 申請人:華為技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1