欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種負載分擔方法和設備的制作方法

文檔序號:7656171閱讀:140來源:國知局

專利名稱::一種負載分擔方法和設備的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及通信報文的路由
技術(shù)領(lǐng)域
,特別涉及一種負載分擔方法和設備。
背景技術(shù)
:目前實現(xiàn)路有負載分擔的主要有等價路由技術(shù)和非等價路由技術(shù)。其中,非等價路由技術(shù)為到一個目的地存在通過幾個不同鏈路的路徑,這些路徑具有不同的開銷,IP報文在這幾個鏈路間按照鏈路的開銷,按比例輪流發(fā)送。非等價路由技術(shù)實現(xiàn)的負載分擔,其優(yōu)點是進一步提高鏈路利用率,缺點是協(xié)議及廠商支持相當少,容易引起路由環(huán)路,不推薦使用。等價路由技術(shù)為去往目的地有多條開銷相同的路徑,報文可以被分發(fā)到不同路徑上,以便實現(xiàn)對于流量的負載分擔。其中利用等價路由技術(shù)實現(xiàn)負載分擔有兩種基本方式,分別是逐包轉(zhuǎn)發(fā)和逐流轉(zhuǎn)發(fā)。逐包轉(zhuǎn)發(fā)是指每個包單獨的選擇傳送路徑。圖1即為逐包轉(zhuǎn)發(fā)進行負載分擔的示意圖。如圖1所示,系統(tǒng)中設置有A、B、C、D四個交換機,存在兩條數(shù)據(jù)流到達交換機B,每條數(shù)據(jù)流各有三個數(shù)據(jù)包,其中,由數(shù)據(jù)包1、數(shù)據(jù)包2和數(shù)據(jù)包3組成的數(shù)據(jù)流為第一數(shù)據(jù)流,由數(shù)據(jù)包4、數(shù)據(jù)包5和數(shù)據(jù)包6組成的數(shù)據(jù)流為第二數(shù)據(jù)流。在采用逐包轉(zhuǎn)發(fā)時,屬于一個數(shù)據(jù)流的不同數(shù)據(jù)包可能通過不同的路徑轉(zhuǎn)發(fā),當它們到達目的節(jié)點時,可能會導致報文的亂序。例如,交換機B將l,4,6轉(zhuǎn)發(fā)給A,將2,3,5轉(zhuǎn)發(fā)給C,那么假設交換機C轉(zhuǎn)發(fā)的速度快,那么D就會先收到數(shù)據(jù)包2,3,5,對于兩條流來說都是亂序而且是不完整的,需要等經(jīng)過A的數(shù)據(jù)包到達后重新組合。逐流轉(zhuǎn)發(fā)是指每條流選用單獨的傳送路徑。圖2即為逐流轉(zhuǎn)發(fā)進行負載分擔的示意圖。如圖2所示,系統(tǒng)中交換機的配置與圖1所示的相同,同樣有兩條數(shù)據(jù)流到達交換機B,分別為由數(shù)據(jù)包l、數(shù)據(jù)包2和數(shù)據(jù)包3組成的第一數(shù)據(jù)流,以及由數(shù)據(jù)包4、數(shù)據(jù)包5和數(shù)據(jù)包6組成的第二數(shù)據(jù)流。在采用逐流轉(zhuǎn)發(fā)時,一般是根據(jù)每條流的源IP進行哈西(HASH),找到與該數(shù)據(jù)流對應的出接口,然后將報文從找到的出接口轉(zhuǎn)發(fā)出去。這種方式下,有可能存在多條流同時哈西(HASH)到一個出接口,而其它的路徑空閑,沒有報文可以傳輸。例如,有可能像圖2所示,將第一和第二數(shù)據(jù)流都哈西到B-C之間的路徑上,而B-A-C這段路徑,雖然和B-C之間的路徑是等價的,但是對于第一和第二數(shù)據(jù)流的轉(zhuǎn)發(fā)來說,B-A-C這段路徑并沒有起到負載分擔的作用。由上述對逐包轉(zhuǎn)發(fā)和逐流轉(zhuǎn)發(fā)的描述可見,對于逐包方式進行負載分擔,能夠?qū)崿F(xiàn)精確的負載分擔,但是報文容易亂序;對于逐流方式進行負載分擔,能夠保證報文順序,但不能根據(jù)網(wǎng)絡的狀況作出調(diào)整,有可能使多條流同時占用一條路徑,不能有效地進行負載分擔。
發(fā)明內(nèi)容有鑒于此,本發(fā)明提供一種負載分擔方法和設備,能夠既保證報文的有序傳輸,又保證精確的負載分擔。為實現(xiàn)上述目的,本發(fā)明采用如下的技術(shù)方案一種負載分擔方法,預先為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加纟又^直,該方法包4舌獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息;根據(jù)獲取的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值;在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,若確定進行負載分擔,則確定能夠進行負載分擔的各個出接口,并根據(jù)指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值,在所述各個出接口中選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā)。較佳地,所述獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息為接收按照統(tǒng)計流上報機制上報的統(tǒng)計信息。較佳地,所述獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息為按照預設的機制查詢數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息。較佳地,在確定所述各個出接口后,選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口前,該方法進一步包括查詢當前數(shù)據(jù)流的統(tǒng)計信息,并更新報文轉(zhuǎn)發(fā)信息對應的力口才又^f直;所述根據(jù)指向各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇出接口為根據(jù)更新后指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇出接口。較佳地,所述根據(jù)獲取的統(tǒng)計信息更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值為根據(jù)獲取的統(tǒng)計信息中包括的報文轉(zhuǎn)發(fā)信息和該報文轉(zhuǎn)發(fā)信息對應的報文轉(zhuǎn)發(fā)量,更新相應報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。較佳地,所述報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的目的IP地址和出接口。較佳地,所述為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值為當創(chuàng)建任意等價路由時,為該等價路由的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值,并將該加權(quán)值置為初始值。較佳地,所述報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的出接口。較佳地,所述為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值為當創(chuàng)建路由時,為該報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值,并將該加權(quán)值置為初始^f直。較佳地,所述加權(quán)值為累計轉(zhuǎn)發(fā)報文量;所述更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值為提取統(tǒng)計信息中包括的報文轉(zhuǎn)發(fā)信息和報文轉(zhuǎn)發(fā)信息對應的報文轉(zhuǎn)發(fā)量,將該報文轉(zhuǎn)發(fā)量累加到相應出接口對應的加權(quán)值中。較佳地,所述根據(jù)指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口為按照負載分擔比例,在所述報文轉(zhuǎn)發(fā)信息對應的加權(quán)值中選擇一個加權(quán)值,并將該加權(quán)值對應報文轉(zhuǎn)發(fā)信息所指向的出接口作為進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口。較佳地,當所述負載分擔比例為等比例分擔時,所述選擇一個加權(quán)值為,選擇加權(quán)值中最小的一個。較佳地,當報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的目的IP地址和出接口時,該方法進一步包括當加權(quán)轉(zhuǎn)發(fā)表中的任意加權(quán)值超出最高門限時,確定與該加權(quán)值對應的報文轉(zhuǎn)發(fā)信息所指向出接口到達同一目的地的所有出接口,將指向確定的所有出接口的報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置為初始值;或者,定時將加權(quán)轉(zhuǎn)發(fā)表中的所有加權(quán)值置為初始值;或者,當增加或修改任意一條等價路由的信息時,確定與該等價路由相關(guān)的所有報文轉(zhuǎn)發(fā)信息,將確定的所有報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置為初始值;或者,當刪除任意一條等價路由的信息時,在加權(quán)轉(zhuǎn)發(fā)表中刪除該等價路由的對應的表項;當報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的出接口時,該方法進一步包括當加權(quán)轉(zhuǎn)發(fā)表中的任意加權(quán)值超出最高門限或者到達定時時間時,將加權(quán)轉(zhuǎn)發(fā)表中的所有加權(quán)值置為初始值;或者,當路由表中對應一出接口的所有路由項均刪除后,在加權(quán)轉(zhuǎn)發(fā)表中刪除該出接口對應的表項。較佳地,所述確定到達數(shù)據(jù)流目的地的各個出接口為將以數(shù)據(jù)流目的地為索引查找到的對應的出接口,確定為所述到達報文目的地的各個出接口。較佳地,所述將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā)包括在對任意數(shù)據(jù)流的首個到達報文進行轉(zhuǎn)發(fā)時,將該報文從所述選擇的出接口轉(zhuǎn)發(fā),并進一步將數(shù)據(jù)流信息和選擇的出接口信息對應保存在快速轉(zhuǎn)發(fā)表中;在對數(shù)據(jù)流后續(xù)報文進行轉(zhuǎn)發(fā)時,利用快速轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)。一種網(wǎng)絡中的交換設備,包括管理單元、出接口選擇單元和數(shù)據(jù)流轉(zhuǎn)發(fā)單元,管理單元,用于為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置并保存對應的加權(quán)值,獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息;并根據(jù)獲取的統(tǒng)計信息,更新保存的報文轉(zhuǎn)發(fā)信息對應的加權(quán)值;數(shù)據(jù)流轉(zhuǎn)發(fā)單元,用于在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,確定是否進行負載分擔,并確定能夠進行負載分擔的各個出接口,通知所述出接口選擇單元在確定的各個出接口中選擇一個,接收所述出接口選擇單元返回的出接口,將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā);出接口選擇單元,用于接收數(shù)據(jù)流轉(zhuǎn)發(fā)單元的選擇出接口通知,根據(jù)所述管理單元保存的指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,返回給所述數(shù)據(jù)流轉(zhuǎn)發(fā)單元。較佳地,所述管理單元包括統(tǒng)計信息接收子單元和加權(quán)值管理子單元;所述統(tǒng)計信息接收子單元,用于接收按照統(tǒng)計流上報機制上報的統(tǒng)計信息,并提供給所述加權(quán)值管理子單元;所述加權(quán)值管理子單元,用于設置并保存報文轉(zhuǎn)發(fā)信息對應的加權(quán)值,并根據(jù)統(tǒng)計信息接收子單元提供的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。較佳地,所述管理單元包括統(tǒng)計信息查詢子單元和加權(quán)值管理子單元;所述統(tǒng)計信息查詢子單元,用于預設的機制查詢數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息,并將統(tǒng)計信息提供給所述加權(quán)值管理子單元;所述加權(quán)值管理子單元,用于設置并保存報文轉(zhuǎn)發(fā)信息對應的加權(quán)值,并根據(jù)統(tǒng)計信息接收子單元提供的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。由上述技術(shù)方案可見,在本發(fā)明中,預先為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值。獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息,根據(jù)該統(tǒng)計信息更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。從而使報文轉(zhuǎn)發(fā)信息的加權(quán)值能夠反映數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計狀況。在進行報文轉(zhuǎn)發(fā)時,若確定進行負載分擔,則確定到達數(shù)據(jù)流目的地的各個出接口,并根據(jù)指向各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值,在所述各個出接口中選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā)。由于加權(quán)值反映了數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計狀況,也就是負載狀況,因此,根據(jù)加權(quán)值選擇的出接口能夠更準確地平衡負載。同時,由于在進行轉(zhuǎn)發(fā)時,將整條數(shù)據(jù)流從選擇的出接口轉(zhuǎn)發(fā),因此保證了報文傳輸?shù)挠行蛐?。圖1為逐包轉(zhuǎn)發(fā)進行負載分擔的示意圖。圖2為逐流轉(zhuǎn)發(fā)進行負載分擔的示意圖。圖3為本發(fā)明提供的負載分擔方法的總體流程圖。圖4為本發(fā)明提供的交換設備總體結(jié)構(gòu)圖。圖5為本發(fā)明實施例一中負載分擔方法的具體流程圖。圖6為本發(fā)明實施例一中交換設備的具體結(jié)構(gòu)圖。圖7為本發(fā)明實施例二中負載分擔方法的具體流程圖。圖8為本發(fā)明實施例二中交換設備的具體流程圖。具體實施例方式為使本發(fā)明的目的、技術(shù)手段和優(yōu)點更加清楚明白,以下結(jié)合附圖對本發(fā)明做進一步詳細描述。本發(fā)明的基本思想是借助網(wǎng)絡中的流統(tǒng)計的反饋信息,來動態(tài)調(diào)整每條流的出接口,以達到平衡負載的目的。目前,流統(tǒng)計技術(shù)可以統(tǒng)計出網(wǎng)絡中的各種流量,并每條活躍的流建立一個表項,存放到緩存(Cache)中,Cache中一般會包括如表1所示的內(nèi)容。通過該表格中的前五項(即源IP、目的IP、協(xié)議號、源端口和目的端口)就可以區(qū)分唯——個流,當然,為進一步細化流的特征,在區(qū)分流時還可以進一步通過該表沖各中的其它表項的內(nèi)容。Cache中記錄的信息,應該包括這個表格中的字段,但不只局限于這些字段。<table>tableseeoriginaldocumentpage12</column></row><table>表1Cache中這些表項,并不會被永久存儲,會根據(jù)某種機制定期上報,上報的同時刪除表項。具體上報的機制包括長連接超時上報、非活躍流上報、緩存滿上報和流終止上報。通過上述上報機制,便能夠獲取各個流轉(zhuǎn)發(fā)的統(tǒng)計信息,即報文轉(zhuǎn)發(fā)量信息。具體在本發(fā)明中,為報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值,其中,報文轉(zhuǎn)發(fā)信息指向特定的出接口,加權(quán)值根據(jù)流統(tǒng)計信息進行設置和更新;當進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,根據(jù)指向出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值,選擇合適的出接口進行轉(zhuǎn)發(fā),從而實現(xiàn)逐流轉(zhuǎn)發(fā)、并平衡負載的目的。具體在實施時,報文轉(zhuǎn)發(fā)信息和相應的加權(quán)值的對應關(guān)系可以利用表格的形式存儲,將存儲該對應關(guān)系的表格稱為加權(quán)轉(zhuǎn)發(fā)表。圖3為本發(fā)明提供的負載分擔方法的總體流程圖。如圖3所示,該方法包括步驟301,預先為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值。步驟302,獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息,并根據(jù)該統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。步驟303,在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,若確定進行負載分擔,則確定能夠進行負載分擔的各個出接口,并根據(jù)指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值,選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口并轉(zhuǎn)發(fā)數(shù)據(jù)流。至此,本發(fā)明提供的負載分擔方法流程結(jié)束。由上述流程可見,整個本發(fā)明的負載分擔方法包括兩個過程報文轉(zhuǎn)發(fā)信息和其對應加權(quán)值的建立和維護過程,該過程包括步驟301和步驟302;以及,根據(jù)報文轉(zhuǎn)發(fā)信息和其對應加權(quán)值進行數(shù)據(jù)流轉(zhuǎn)發(fā)的過程,包括步驟303。其中,步驟301代表的報文轉(zhuǎn)發(fā)信息和其對應加4又值建立過程在步驟302和步驟303之前執(zhí)行,而步驟302代表的報文轉(zhuǎn)發(fā)信息和其對應加權(quán)值維護和更新過程與步驟303代表的根據(jù)報文轉(zhuǎn)發(fā)信息和其對應加權(quán)值進行數(shù)據(jù)流轉(zhuǎn)發(fā)過程,二者的執(zhí)行順序并非固定,可以互相穿插。圖4為本發(fā)明提供的交換設備總體結(jié)構(gòu)圖。如圖4所示,該交換設備包括管理單元、出接口選擇單元和數(shù)據(jù)流轉(zhuǎn)發(fā)單元。在該交換設備中,管理單元,用于為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置并保存對應的加權(quán)值,獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息;并根據(jù)獲取的統(tǒng)計信息,更新保存的報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。數(shù)據(jù)流轉(zhuǎn)發(fā)單元,用于在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,確定是否進行負載分擔,并確定能夠進行負載分擔的各個出接口,通知所述出接口選擇單元在確定的各個出接口中選擇一個,接收出接口選擇單元返回的出接口,將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā)。出接口選擇單元,用于接收數(shù)據(jù)流轉(zhuǎn)發(fā)單元的選擇出接口通知,并根據(jù)所述管理單元保存的指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,返回給數(shù)據(jù)流轉(zhuǎn)發(fā)單元。上述即為本發(fā)明提供的負載分擔方法和交換設備的總體描述。在上述本發(fā)明的方法流程中,進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息的方式可以有兩種,一種是被動接收流統(tǒng)計后上報的統(tǒng)計信息,另一種是主動查詢流統(tǒng)計后的統(tǒng)計信息。對于第一種被動接收的方式,由前述關(guān)于現(xiàn)有流統(tǒng)計技術(shù)的描述可見,流統(tǒng)計結(jié)果的上報是一種條件驅(qū)動的上報,并不是在統(tǒng)計結(jié)果變化后進行完全實時上報,這樣就會造成加權(quán)值不能完全實時地反映流統(tǒng)計狀況。對于第二種主動查詢的方式,也是在某種查詢條件滿足(例如,定時時間到或流統(tǒng)計信息更新消息到時)時,進行查詢,其加權(quán)值也可能不能實時反映流統(tǒng)計狀況。因此,優(yōu)選地,還可以在進行數(shù)據(jù)轉(zhuǎn)發(fā)時,進一步通過實時查詢的方式獲取實時流統(tǒng)計結(jié)果,以更準確地進行負載分擔。具體實現(xiàn)方式將在后面的實施方式中進行描述。另外,在上述本發(fā)明的流程中,按照負載分擔的范圍可以分為物理鏈路分擔和物理鏈路內(nèi)的每目的地分擔。具體地,所謂物理鏈路是指某出接口對應的一條真實的物理承載路徑,例如,圖1的交換機B中,到達交換機A的出接口所對應的3各徑是一條物理鏈路,到達交換才幾C的出接口所對應的路徑是另一條物理鏈路,物理鏈路與出接口——對應。物理鏈路分擔是指根據(jù)流統(tǒng)計結(jié)果中每條物理鏈路上所承載的總的報文轉(zhuǎn)發(fā)量,選擇一個出接口;物理鏈路內(nèi)的每目的地分擔是指,根據(jù)數(shù)據(jù)流的目的地和流統(tǒng)計結(jié)果中每條物理鏈路上承載到該目的地的報文轉(zhuǎn)發(fā)量,選擇合適的出接口。相應地,對于物理鏈路分擔,報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的出接口,也就是根據(jù)任意物理鏈路上的總報文轉(zhuǎn)發(fā)量設置相應出接口對應的加權(quán)值;對于物理鏈路內(nèi)的每目的地分擔,報文轉(zhuǎn)發(fā)信息包括目的IP地址和出接口,也就是根據(jù)任意物理鏈路上到達指定目的地的報文轉(zhuǎn)發(fā)量設置到達相應目的地的出接口對應的加權(quán)值。在接下來的具體實施例中,分別對物理鏈路內(nèi)的每目的地分擔和物理鏈路分擔下,本發(fā)明的具體實施方式做進一步詳細描述。在下面的實施例中,報文轉(zhuǎn)發(fā)信息和相應加權(quán)值保存在建立的加權(quán)轉(zhuǎn)發(fā)表中。實施例一本實施例中采用物理鏈路內(nèi)的每目的地分擔方式。整個負載分擔過程包括加權(quán)轉(zhuǎn)發(fā)表的建立和維護過程以及利用加權(quán)轉(zhuǎn)發(fā)表進行數(shù)據(jù)流轉(zhuǎn)發(fā)的過程。獲取報文統(tǒng)計信息的方式為接收上報的統(tǒng)計信息。圖5為本發(fā)明實施例一中負載分擔方法的具體流程圖。如圖5所示,該流程包括步驟501,預先建立加權(quán)轉(zhuǎn)發(fā)表,用于保存報文轉(zhuǎn)發(fā)信息和該報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。在本實施例的每目的地分擔方式中,加權(quán)轉(zhuǎn)發(fā)表如表2所示,其中,報文轉(zhuǎn)發(fā)信息包括目的IP地址和出接口,本實施例中加權(quán)值為計數(shù)值(Counter)。報文轉(zhuǎn)發(fā)信息計數(shù)值(counter)目的IPi也址(dest)輸出接口(outputinterface)1.2.3.0/24ethernet0歸Oethernet11100serial012008.2.3.4/24ethernet01100serial1川Oethernet21210ethernet31410表2步驟502,當?shù)葍r路由創(chuàng)建時,在加權(quán)轉(zhuǎn)發(fā)表中加入該等價路由對應出接口的報文轉(zhuǎn)發(fā)信息,并將對應的加權(quán)值置0。具體判斷創(chuàng)建的路由是否為等價路由的方式為以創(chuàng)建路由的目的IP地址為索引,在路由表中查找到達該目的IP地址是否存在其它路由信息,若存在,則確定創(chuàng)建的路由是等價路由。將該等價路由對應出接口的報文轉(zhuǎn)發(fā)信息加入加權(quán)轉(zhuǎn)發(fā)表中,具體地,若在路由表中加入一個表項為目的IP地址1.2.3.0/24和出接口serial1,則以該目的IP地址1.2.3.0/24為索引,在路由表中查找到達該目的IP地址是否存在其他路由信息,查找結(jié)果為存在其他的路由信息,則表明增加的這一條路由是等價路由,那么在表l所示的路由表中加入報文轉(zhuǎn)發(fā)信息,包括目的IP地址1.2.3.0/24、出接口serial1,并將該報文轉(zhuǎn)發(fā)信息所對應的Counter設置為0。步驟503,當有流統(tǒng)計結(jié)果上報時,接收該流統(tǒng)計結(jié)果。本步驟中,如前所述,流統(tǒng)計結(jié)果上報有四種機制,當達到任意一個條件時,上報流統(tǒng)計結(jié)果。上報的流統(tǒng)計結(jié)果可以采用表1所示的結(jié)構(gòu),即由九元組構(gòu)成。當然,也可以將流統(tǒng)計時記錄的該流其他統(tǒng)計信息也一同上才艮。其中,可以包括一個或多個流的統(tǒng)計信息。易知,在該上報的流統(tǒng)計結(jié)果中包括前述的報文轉(zhuǎn)發(fā)信息,即包括目的IP地址和出接口,并且包括該流在相應出接口上的報文轉(zhuǎn)發(fā)量。步驟504,根據(jù)接收的流統(tǒng)計結(jié)果中包括的報文轉(zhuǎn)發(fā)信息和報文轉(zhuǎn)發(fā)量,更新加權(quán)轉(zhuǎn)發(fā)表中相應4艮文轉(zhuǎn)發(fā)信息對應的加權(quán)值。本步驟是對加權(quán)轉(zhuǎn)發(fā)表中的加權(quán)值進行更新的步驟。在每次接收到上報的流統(tǒng)計結(jié)果后,確定該結(jié)果中包括的流信息的數(shù)量,并針對每個數(shù)據(jù)流,以該數(shù)據(jù)流的目的IP地址和出接口為索引,在加權(quán)轉(zhuǎn)發(fā)表中查找該目的IP地址和出接口對應的Counter,將該數(shù)據(jù)流中包括的板文轉(zhuǎn)發(fā)量累加到查找到的Counter值上。這樣,就可以根據(jù)上報的流統(tǒng)計結(jié)果更新加權(quán)轉(zhuǎn)發(fā)表了。步驟505,當滿足預設的老化條件時,將加權(quán)轉(zhuǎn)發(fā)表中相應報文轉(zhuǎn)發(fā)信息對應的加;k值置0。本步驟是對加權(quán)轉(zhuǎn)發(fā)表中的加權(quán)值進行老化的步驟。具體預設的老化條件和具體老化方式可以為當加權(quán)轉(zhuǎn)發(fā)表中的任意加權(quán)值超出最高門限時,該最高門限可以是預先設置的,確定與該加權(quán)值對應的"l艮文轉(zhuǎn)發(fā)信息所指向的出接口到達同一目的地的所有出接口,將指向確定的所有出接口的報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置0,例如在表2中,當?shù)谌械腃ounter值溢出時,沖艮據(jù)該加權(quán)值對應報文轉(zhuǎn)發(fā)信息中的目的IP地址,在加權(quán)轉(zhuǎn)發(fā)表中找到到達該目的IP地址的其他報文轉(zhuǎn)發(fā)信息,也就是第二行和第一行,則將前三行的報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置0;和/或,定時將加權(quán)轉(zhuǎn)發(fā)表中的所有加權(quán)值置0;和/或,當增加或修改任意一條等價路由的信息時,確定與該等價^各由相關(guān)的所有報文轉(zhuǎn)發(fā)信息,并將這些報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置0,例如在表2中,增加到達目的IP地址為8.2.3.4/24的一條等價路由信息,則根據(jù)該等價路由的目的IP地址,在加權(quán)轉(zhuǎn)發(fā)表中找到到達該目的IP地址的其他報文轉(zhuǎn)發(fā)信息,也就是第四、五、六、七行,則將這四行的加權(quán)值置0;當刪除任意一條等價路由的信息時,在加權(quán)轉(zhuǎn)發(fā)表中確定該等價路由對應的表項,并將該表項刪除,例如,目的IP地址8.2.3.4/24、出接口ethernet3的路由信息由路由表中刪除,于是在表2中找到該轉(zhuǎn)發(fā)信息的表項,即表2中的最后一項,將該項刪除。上述步驟501~502為加權(quán)轉(zhuǎn)發(fā)表中表項的建立過程,步驟503~504為加權(quán)轉(zhuǎn)發(fā)表中表項的更新和維護過程,步驟505為加權(quán)轉(zhuǎn)發(fā)表中表項的老化過程。在上述三個過程中,相互間可以穿插進行,不一定按照步驟501~505的順序執(zhí)行。下面對本實施例中根據(jù)加權(quán)轉(zhuǎn)發(fā)表進行數(shù)據(jù)流轉(zhuǎn)發(fā)的過程進行詳細描述。本發(fā)明是基于逐流轉(zhuǎn)發(fā)的機制,從而實現(xiàn)報文按序轉(zhuǎn)發(fā)的,因此進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,是將整條數(shù)據(jù)流的所有報文由一個出接口轉(zhuǎn)發(fā)。根據(jù)現(xiàn)有的實現(xiàn)方式可知,通常這種逐流轉(zhuǎn)發(fā)的機制,在接收到某報文時,首先判斷是否為新的數(shù)據(jù)流,若是,則根據(jù)該數(shù)據(jù)流的目的IP地址在路由表中確定出接口,然后會在快速轉(zhuǎn)發(fā)表中相應保存該數(shù)據(jù)流的相應信息和轉(zhuǎn)發(fā)的出接口,在對該數(shù)據(jù)流中后續(xù)報文進行轉(zhuǎn)發(fā)時,可以直接在快速轉(zhuǎn)發(fā)表中查詢該數(shù)據(jù)流被轉(zhuǎn)發(fā)的出接口,從而使后續(xù)報文也從相同的出接口轉(zhuǎn)發(fā)出去,進而實現(xiàn)提高轉(zhuǎn)發(fā)效率的目的。本發(fā)明中對整條數(shù)據(jù)流的轉(zhuǎn)發(fā)機制與上述方式類似,接下來進行詳細描述,包括步驟506,接收待轉(zhuǎn)發(fā)的報文。步驟507,判斷是否為新的數(shù)據(jù)流,若是,則執(zhí)行步驟509,否則執(zhí)行步驟508。本步驟中,判斷是否為新數(shù)據(jù)流的方式為依據(jù)報文中的七元組進行判斷,七元組中只要有一個字段不同,則判定該數(shù)據(jù)流為新的數(shù)據(jù)流。其中,報文的七元組包括<源IP地址,目的IP地址,源端口,目的端口,IP層協(xié)議類型,ToS服務類型,輸入物理端口>。步驟508,查快速轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā),并結(jié)束本流程。在快速轉(zhuǎn)發(fā)表中保存有已存在數(shù)據(jù)流的報文轉(zhuǎn)發(fā)信息,當確定轉(zhuǎn)發(fā)的報文屬于已存在的翁:據(jù)流時,可以不通過加權(quán)轉(zhuǎn)發(fā)表或^各由表查詢出接口,而直接到快速轉(zhuǎn)發(fā)表中進行查找,能夠大大提高轉(zhuǎn)發(fā)效率。步驟509,根據(jù)待轉(zhuǎn)發(fā)報文的目的IP地址判斷是否進行負載分擔,如果是,則執(zhí)行步驟511,否則^丸行步驟510。本步驟中,首先判斷是否能夠進行負載分擔,也就是判斷是否存在等價路由的方式,具體可以為以待轉(zhuǎn)發(fā)報文的目的IP地址(也就是數(shù)據(jù)流的目的地)為索引,在路由表或加權(quán)轉(zhuǎn)發(fā)表中查找對應的出接口是否為多個,若是多個,則確定存在等價路由,否則確定不存在等價路由。當確定能夠進行負載分擔后,再根據(jù)預先設定的策略確定是否進行負載分擔。例如,可以通過指令的方式設定進行負載分擔或不進行負載分擔。步驟510,查找路由表轉(zhuǎn)發(fā)。對于不存在等價路由的數(shù)據(jù)流,查找路由表轉(zhuǎn)發(fā),,并結(jié)束本流程。步驟511,根據(jù)目的IP地址查找加權(quán)轉(zhuǎn)發(fā)表,比較到該目的IP地址所有出接口的Counter值,選擇一個出接口。本步驟中,根據(jù)待轉(zhuǎn)發(fā)報文的目的IP地址,查找加權(quán)轉(zhuǎn)發(fā)表,其中,到報文目的IP地址的所有報文轉(zhuǎn)發(fā)信息對應的Counter值的大小,也就反應根據(jù)上報的流統(tǒng)計結(jié)果確定的目前轉(zhuǎn)發(fā)報文量的大小。在選擇出接口時,按照負載分擔比例,根據(jù)Counter值的大小,選擇一個Counter值,并將該值對應報文轉(zhuǎn)發(fā)信息所指向的出接口作為本數(shù)據(jù)流的轉(zhuǎn)發(fā)出接口。例如,當負載分擔比例為等比例分擔時,也就是,各個等價路由上分擔的報文量相等時,選擇最小的一個Counter值;當根據(jù)應用需要將負載分擔比例設為1:2,且當前兩個等價路由報文轉(zhuǎn)發(fā)信息對應的Counter值分別為58和100時,選擇Counter值為100的報文轉(zhuǎn)發(fā)信息所對應的出接口作為報文轉(zhuǎn)發(fā)的出接口。步驟512,將步驟511中選擇出接口的報文轉(zhuǎn)發(fā)信息,下發(fā)到快速轉(zhuǎn)發(fā)表中,以便對于該流的后續(xù)報文可以直接通過快速轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)。步驟513,從步驟511中選擇的出接口轉(zhuǎn)發(fā)報文。至此,本實施例中基于逐流轉(zhuǎn)發(fā)的負載分擔方法流程結(jié)束。其中,步驟502~505的加權(quán)轉(zhuǎn)發(fā)表更新維護過程與步驟506~513的報文轉(zhuǎn)發(fā)過程可以相互穿插進行。圖6為本發(fā)明實施例一中交換設備的具體流程圖,該交換設備為圖4所示交換設備的一種具體實施方式。如圖6所示,該交換設備包括加權(quán)轉(zhuǎn)發(fā)表管理單元、出接口選擇單元和數(shù)據(jù)流轉(zhuǎn)發(fā)單元。其中,加權(quán)轉(zhuǎn)發(fā)表管理單元包括統(tǒng)計信息接收子單元和加權(quán)值管理子單元。在該交換設備中,加權(quán)轉(zhuǎn)發(fā)表管理單元中的統(tǒng)計信息接收子單元,用于接收按照統(tǒng)計流上報機制上報的統(tǒng)計信息,并提供給加權(quán)值管理子單元。加權(quán)值管理子單元,用于設置并保存報文轉(zhuǎn)發(fā)信息對應的加權(quán)值,并根據(jù)統(tǒng)計信息接收子單元提供的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。.數(shù)據(jù)流轉(zhuǎn)發(fā)單元,用于在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,確定是否進行負載分擔,并確定能夠進行負載分擔的各個出接口,通知出接口選擇單元在確定的各個出接口中選擇一個,接收所述出接口選擇單元返回的出接口,將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā)。出接口選擇單元,用于接收數(shù)據(jù)流轉(zhuǎn)發(fā)單元的選擇出接口通知,并根據(jù)加權(quán)值管理子單元保存的指向所述各個出接口的報X轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,返回給數(shù)據(jù)流轉(zhuǎn)發(fā)單元。在上述方法流程和交換設備的具體實現(xiàn)中,通過在加權(quán)轉(zhuǎn)發(fā)表中,根據(jù)上報的流統(tǒng)計結(jié)果,利用加權(quán)值記錄出接口的報文轉(zhuǎn)發(fā)量,從而實現(xiàn)根據(jù)流統(tǒng)計結(jié)果選擇合適出接口進行負載分擔的目的。在本實施例中,分擔方式采用的是物理鏈路內(nèi)的每目的地分擔方式,也就是說,在統(tǒng)計出接口的報文轉(zhuǎn)發(fā)量時,對出接口上到達同一目的IP地址的報文轉(zhuǎn)發(fā)量進行統(tǒng)計,并根據(jù)該到達同一目的IP地址的報文轉(zhuǎn)發(fā)量,確定到達該目的IP地址的合適出接口。另外,在更新和維護加權(quán)轉(zhuǎn)發(fā)表時,是根據(jù)上報的流統(tǒng)計結(jié)果進行,這種方式下,加權(quán)轉(zhuǎn)發(fā)表中的加權(quán)值并不能完全實時地反映流統(tǒng)計的實時結(jié)果,而反映的是最近一次上報的流統(tǒng)計的結(jié)果,但是該方式的實施較簡單,對硬件的要求也比較低,因此適用于硬件處理能力有限的系統(tǒng)環(huán)境中。實施例二為進一步提高負載分擔的準確性,本實施例采用精確負載分擔的方式。具體地,可以在確定進行負載分擔后,主動在緩存中針對能夠進行負載分擔的各個出接口,查詢當前的凈艮文轉(zhuǎn)發(fā)量,并更新加4又轉(zhuǎn)發(fā)表中相應出接口的加權(quán)值,然后根據(jù)更新后的加權(quán)值選擇合適的出接口進行數(shù)據(jù)流的轉(zhuǎn)發(fā)。通過此種方式,能夠保證在進行負載分擔時,所依據(jù)的出接口對應的加權(quán)值反映實時的流統(tǒng)計結(jié)果,從而更加準確地進行負載分擔。另外,在本實施例中負載分擔采用物理鏈路的分擔方式,也就是說,在統(tǒng)計出接口的報文轉(zhuǎn)發(fā)量時,對出接口上所有報文量進行統(tǒng)計,并根據(jù)該總的報文量,確定合適的出接口。下面就本實施例做進一步詳述。圖7為本發(fā)明實施例二中負載分擔方法的具體流程圖。如圖7所示,該流程包括步驟701,預先建立加權(quán)轉(zhuǎn)發(fā)表,用于保存報文轉(zhuǎn)發(fā)信息和對應的加權(quán)值。在本實施例的物理鏈路分擔方式中,加權(quán)轉(zhuǎn)發(fā)表如表3所示,其中,報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的出接口,本實施例中加權(quán)值為計數(shù)值(Counter)。輸出接口計數(shù)值<table>tableseeoriginaldocumentpage20</column></row><table>表3步驟702,當創(chuàng)建路由時,在加權(quán)轉(zhuǎn)發(fā)表中加入該路由的報文轉(zhuǎn)發(fā)信息,并將對應的加權(quán)值置0。由于本實施例是每鏈路物理分擔的方式,因此創(chuàng)建的加權(quán)轉(zhuǎn)發(fā)表中對每條物理鏈路進行總的流量的統(tǒng)計,既包括在該鏈路上的等價路由所承載的流量,也包括非等價路由所承載的流量。于是,在加權(quán)轉(zhuǎn)發(fā)表中加入路由的報文轉(zhuǎn)發(fā)信息的條件為,當創(chuàng)建一條新的路由,也就是一個新的物理鏈路時,即將該路由的報文轉(zhuǎn)發(fā)信息加入加權(quán)轉(zhuǎn)發(fā)表中,以記錄該條物理鏈路上的總流量,并將對應的加權(quán)值設為0。步驟703,當滿足流統(tǒng)計查詢條件時,主動查詢流統(tǒng)計信息。通過本步驟可以獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息。具體地,流統(tǒng)計查詢的條20件可以為定時查詢,或者,接收到上層下發(fā)到流統(tǒng)計更新消息后進行查詢等。查詢的流統(tǒng)計結(jié)果可以采用表1所示的結(jié)構(gòu),即由九元組構(gòu)成。當然,也可以將流統(tǒng)計時記錄的該流其他統(tǒng)計信息也一同上寺艮。其中,可以包括一個或多個流的統(tǒng)計信息。易知,在流統(tǒng)計信息中包括前述的報文轉(zhuǎn)發(fā)信息,即包括報文轉(zhuǎn)發(fā)的出接口,并且包括該流在相應出接口上的報文轉(zhuǎn)發(fā)量。步驟704,根據(jù)查詢的流統(tǒng)計信息中包括的出接口以及該出接口上的報文轉(zhuǎn)發(fā)量,更新加權(quán)轉(zhuǎn)發(fā)表中相應才艮文轉(zhuǎn)發(fā)信息對應的加4又值。.本步驟是對加權(quán)轉(zhuǎn)發(fā)表中的加權(quán)值進行更新的步驟。在每次查詢到上報的流統(tǒng)計信息后,確定該統(tǒng)計信息中包括的流信息的數(shù)量,并針對每個數(shù)據(jù)流,以該數(shù)據(jù)流信息中的目的IP地址和出接口為索引,在加權(quán)轉(zhuǎn)發(fā)表中查找該報文轉(zhuǎn)發(fā)信息對應的Counter,將該數(shù)據(jù)流中包括的報文轉(zhuǎn)發(fā)量累加到查找到的Counter值上。這樣,就可以根據(jù)查詢的流統(tǒng)計信息更新加權(quán)轉(zhuǎn)發(fā)表了。步驟705,當滿足預設的老化條件時,將加權(quán)轉(zhuǎn)發(fā)表中相應報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置0。本步驟是對加權(quán)轉(zhuǎn)發(fā)表中的加權(quán)值進行老化的步驟。具體預設的老化條件和具體老化方式可以為當加權(quán)轉(zhuǎn)發(fā)表中的任意加權(quán)值超出最高門限時,該最高門限可以是預設的,將指向所有出接口的報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置0,例如在表3中,當?shù)谌械腃ounter值溢出時,則將加權(quán)轉(zhuǎn)發(fā)表中所有加權(quán)值置0;和/或,定時將加權(quán)轉(zhuǎn)發(fā)表中的所有加權(quán)值置0;當路由表中對應某出接口的所有路由項均刪除后,則在加權(quán)轉(zhuǎn)發(fā)表中,將該出接口對應的表項刪除。上述步驟701~702為加權(quán)轉(zhuǎn)發(fā)表中表項的建立過程,步驟703~704為根據(jù)流統(tǒng)計上報結(jié)果進行加權(quán)轉(zhuǎn)發(fā)表中表項的更新和維護過程,步驟705為加權(quán)轉(zhuǎn)發(fā)表中表項的老化過程。在上述三個過程中,和互間可以穿插進行,不一定按照步驟701~705的順序執(zhí)行。另外,在上述步驟703中,利用查詢的方式獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息,而在實施例一中是通過接收上報統(tǒng)計結(jié)果的方式獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息。事實上,可以將上述兩種方式綜合應用,即通過同時采用查詢和接收上報的方式獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息。下面對本實施例中根據(jù)加權(quán)轉(zhuǎn)發(fā)表進行數(shù)據(jù)流轉(zhuǎn)發(fā)的過程進行詳細描述,包括步驟706,接收待轉(zhuǎn)發(fā)的報文。步驟707,判斷是否為新的數(shù)據(jù)流,若是,則執(zhí)行步驟709,否則執(zhí)行步驟708。本步驟中,判斷是否為新數(shù)據(jù)流的方式為依據(jù)報文中的七元組進行判斷,七元組中只要有一個字段不同,則判定該數(shù)據(jù)流為新的數(shù)據(jù)流。其中,報文的七元組包^l舌〈源IP地址,目的IP地址,源端口,目的端口,IP層協(xié)議類型,ToS服務類型,輸入物理端口>。步驟708,查快速轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)。在快速轉(zhuǎn)發(fā)表中保存有已存在數(shù)據(jù)流的出接口信息,當確定轉(zhuǎn)發(fā)的報文屬于已存在的數(shù)據(jù)流時,可以不通過加權(quán)轉(zhuǎn)發(fā)表或路由表查詢出接口信息,而直接到快速轉(zhuǎn)發(fā)表中進行查找,能夠大大提高轉(zhuǎn)發(fā)效率。步驟709,根據(jù)待轉(zhuǎn)發(fā)報文的目的IP地址判斷是否進行負載分擔,如果是,則執(zhí)行步驟711,否則執(zhí)行步驟710。本步驟中,判斷是否進行負載分擔的方式也就是判斷是否存在等價路由的方式,具體可以為以待轉(zhuǎn)發(fā)報文的目的IP地址(也就是數(shù)據(jù)流的目的地)為索引,在路由表中查找對應的出接口是否為多個,若是多個,則確定存在等價路由,否則確定不存在等價路由。步驟710,查找路由表轉(zhuǎn)發(fā)。對于不存在等價路由的數(shù)據(jù)流,查找路由表轉(zhuǎn)發(fā),并結(jié)束本流程。步驟711,遍歷流的緩存表,獲取所有與待轉(zhuǎn)發(fā)報文的出接口相同的數(shù)據(jù)流的統(tǒng)計結(jié)果,并根據(jù)該統(tǒng)計結(jié)果更新相應報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。本步驟中,對保存流統(tǒng)計結(jié)果的緩存表進行遍歷,確定對應出接口與待轉(zhuǎn)發(fā)報文的出接口相同的數(shù)據(jù)流,獲取這些數(shù)據(jù)流的統(tǒng)計結(jié)果,根據(jù)獲取的各個流的統(tǒng)計信息更新相應報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。具體更新方式與步驟704中相同,這里就不再贅述。在上述過程中確定的數(shù)據(jù)流中所涉及到的出接口,也就是轉(zhuǎn)發(fā)本次轉(zhuǎn)發(fā)的數(shù)據(jù)流時,可供選擇的等價路由。步驟712,在步驟711中更新后的加權(quán)轉(zhuǎn)發(fā)表中,選擇加權(quán)值,并將該加權(quán)值對應報文轉(zhuǎn)發(fā)信息所指向的出接口作為數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口。本步驟中,在步驟611中更新后的加權(quán)轉(zhuǎn)發(fā)表中,按照負載分擔比例,根據(jù)Counter值的大小,選擇一個Counter值,并將該值對應報文轉(zhuǎn)發(fā)信息所指向的出接口作為本數(shù)據(jù)流的轉(zhuǎn)發(fā)出接口。例如,當負載分擔比例為等比例分擔時,也就是,各個物理鏈路上分擔的報文量相等時,選擇最小的一個Counter值;當根據(jù)應用需要將負載分擔比例設為1:2,且當前兩條物理鏈路報文轉(zhuǎn)發(fā)信息對應的Counter值分別為58和100時,選擇Counter值為100的報文轉(zhuǎn)發(fā)信息所對應的出接口作為報文轉(zhuǎn)發(fā)的出接口。步驟713,將步驟712中選擇出接口的報文轉(zhuǎn)發(fā)信息,下發(fā)到快速轉(zhuǎn)發(fā)表中,以便對于該流的后續(xù)報文可以直接通過快速轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)。步驟714,從步驟712中選擇的出接口轉(zhuǎn)發(fā)報文。至此,本實施例中基于逐流轉(zhuǎn)發(fā)的負載^^擔方法流程結(jié)束。其中,步驟702~705的加權(quán)轉(zhuǎn)發(fā)表更新維護過程與步驟706~714的報文轉(zhuǎn)發(fā)過程可以相互穿插進行。圖8為本發(fā)明實施例二中交換設備的具體流程圖,該交換設備為圖4所示交換設備的一種具體實施方式。如圖8所示,該交換設備包括加權(quán)轉(zhuǎn)發(fā)表管理單元、出接口選擇單元和數(shù)據(jù)流轉(zhuǎn)發(fā)單元。其中,加權(quán)轉(zhuǎn)發(fā)表管理單元包括統(tǒng)計信息查詢子單元和加權(quán)值管理子單元。在該交換設備中,加權(quán)轉(zhuǎn)發(fā)表管理單元中的統(tǒng)計信息查詢子單元,用于預設的機制查詢數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息,并將統(tǒng)計信息提供給加權(quán)值管理子單元。加權(quán)值管理子單元,用于設置并保存報文轉(zhuǎn)發(fā)信息對應的加權(quán)值,并根據(jù)統(tǒng)計信息接收子單元提供的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。數(shù)據(jù)流轉(zhuǎn)發(fā)單元,用于在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,確定是否進行負載分擔,并確定能夠進行負載分擔的各個出接口,通知所述出接口選擇單元在確定的各個出接口中選擇一個;并通知流統(tǒng)計結(jié)果統(tǒng)計單元進行流統(tǒng)計結(jié)果的查詢。還用于接收出接口選擇單元返回的出接口,將數(shù)據(jù)流乂人該出接口轉(zhuǎn)發(fā)。出接口選擇單元,用于接收數(shù)據(jù)流轉(zhuǎn)發(fā)單元的選擇出接口通知,并根據(jù)加權(quán)值管理子單元保存的指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,返回給數(shù)據(jù)流轉(zhuǎn)發(fā)單元。在上述方法和設備具體實施方式中,通過在加權(quán)轉(zhuǎn)發(fā)表中,根據(jù)在報文轉(zhuǎn)發(fā)時,實時查詢的流統(tǒng)計信息,利用加權(quán)值記錄等價路由的各報文轉(zhuǎn)發(fā)信息對應的報文轉(zhuǎn)發(fā)量,從而實現(xiàn)根據(jù)實時的流統(tǒng)計結(jié)果選擇合適出接口進行負載分擔的目的。當然,本實施例中增加的實時查詢流統(tǒng)計信息的操作也可以在實施例一中進行,具體可以在實施例一的步驟509確定進行負載分擔后,執(zhí)行步驟511前進一步包括步驟511':遍歷流的緩存表,獲取所有對應目的IP地址與待轉(zhuǎn)發(fā)報文目的IP地址相同的數(shù)據(jù)流的統(tǒng)計結(jié)果,并根據(jù)該統(tǒng)計結(jié)果更新相應報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。更詳細地,對保存流統(tǒng)計結(jié)果的緩存表進行遍歷,確定對應目的IP地址與待轉(zhuǎn)發(fā)報文目的IP地址(也就是待轉(zhuǎn)發(fā)數(shù)據(jù)流目的地)相同的數(shù)據(jù)流,獲取這些數(shù)據(jù)流的統(tǒng)計結(jié)果,根據(jù)獲取的各個流的統(tǒng)計信息更新相應報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。通過加入該步驟,能夠使實施例一也能夠?qū)崿F(xiàn)更準確的負載分扭。同時,本實施例中利用物理鏈路的負載分擔方式,使每個出接口對在該出接口上的所有轉(zhuǎn)發(fā)報文進行統(tǒng)計,進而使得出接口的選擇能夠根據(jù)該出接口上的所有轉(zhuǎn)發(fā)報文統(tǒng)計量進行,提高了負載分擔的準確性。另外,本實施例中采用的精確流反饋方式,即選擇出接口時主動查詢當前的流統(tǒng)計結(jié)果,由于能夠根據(jù)實時的報文統(tǒng)計狀況選擇出接口,也提高了負載分擔的準確性。但同時,精確流反饋的方式,相比于實施例一中單純根據(jù)上報的流統(tǒng)計結(jié)果的方式,增大了處理的開銷,對硬件處理能力要求也較高。因此,在實際應用中,可以根據(jù)硬件處理能力和負載分擔的準確性需求,合理地選擇實施例一或?qū)嵤├姆绞竭M行。上述實施例一和實施例二中,對于報文轉(zhuǎn)發(fā)信息示例性地描述了兩種情況,一種是每目的地分擔時包括目的IP地址和出接口,另一種是每物理鏈路分擔時包括出接口。事實上,為在加權(quán)轉(zhuǎn)發(fā)表中提供更多的信息,可以在報文轉(zhuǎn)發(fā)信息中進一步包括其它與報文轉(zhuǎn)發(fā)相關(guān)的信息,例如,可以加入下一跳信息指示報文轉(zhuǎn)發(fā)的下一跳地址等,這里就不再——贅述。此外,上述本發(fā)明的具體實現(xiàn)方式中,以建立一張加權(quán)轉(zhuǎn)發(fā)表的方式保存報文轉(zhuǎn)發(fā)信息和相應加權(quán)值的對應關(guān)系。事實上,在現(xiàn)有的交換設備中,存在多種多樣的用于記錄報文轉(zhuǎn)發(fā)信息的表格,可以通過在這些表格中增加表示加權(quán)值的項,從而實現(xiàn)報文轉(zhuǎn)發(fā)信息與相應加權(quán)值間對應關(guān)系的保存。例如,可以在路由表中增加一個保存加權(quán)值的項。具體地,每個路由轉(zhuǎn)發(fā)項中進一步包括一個加權(quán)值,用于記錄與該路由轉(zhuǎn)發(fā)項對應的加權(quán)值。當進行每目的地負載分擔時,報文轉(zhuǎn)發(fā)信息包括目的IP地址和出接口,與該目的IP地址和出接口對應的加權(quán)值即是報文轉(zhuǎn)發(fā)信息對應的加權(quán)值;當進行每物理鏈路負載分擔時,報文轉(zhuǎn)發(fā)信息包括出接口,則將路由表中與一出接口對應的所有加權(quán)值求和作為該報文轉(zhuǎn)發(fā)信息(即出接口)對應的加權(quán)值,根據(jù)該加權(quán)值選擇報文轉(zhuǎn)發(fā)的出接口。其它加權(quán)值創(chuàng)建、更新和老化的方式與前述實施例中的方式相同,這里就不再——贅述。以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。權(quán)利要求1、一種負載分擔方法,其特征在于,預先為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值,該方法包括獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息;根據(jù)獲取的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值;在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,若確定進行負載分擔,則確定能夠進行負載分擔的各個出接口,并根據(jù)指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值,在所述各個出接口中選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā)。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息為接收按照統(tǒng)計流上才艮機制上報的統(tǒng)計信息。3、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息為按照預設的機制查詢數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息。4、根據(jù)權(quán)利要求2或3所述的方法,其特征在于,在確定所述各個出接口后,選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口前,該方法進一步包括查詢當前數(shù)據(jù)流的統(tǒng)計信息,并更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值;所述根據(jù)指向各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇出接口為根據(jù)更新后指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇出接口。5、才艮據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)獲取的統(tǒng)計信息更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值為根據(jù)獲取的統(tǒng)計信息中包括的報文轉(zhuǎn)發(fā)信息和該報文轉(zhuǎn)發(fā)信息對應的報文轉(zhuǎn)發(fā)量,更新相應才艮文轉(zhuǎn)發(fā)信息對應的加權(quán)值。6、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的目的IP地址和出接口。7、根據(jù)權(quán)利要求6所述的方法,其特征在于,所述為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值為當創(chuàng)建任意等價路由時,為該等價路由的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值,并將該加權(quán)值置為初始值。8、根據(jù)權(quán)利要求l所述的方法,其特征在于,所述報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的出接口。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值為當創(chuàng)建路由時,為該報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值,并將該加權(quán)值置為初始值。10、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述加權(quán)值為累計轉(zhuǎn)發(fā)報文量;所述更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值為提取統(tǒng)計信息中包括的報文轉(zhuǎn)發(fā)信息和報文轉(zhuǎn)發(fā)信息對應的報文轉(zhuǎn)發(fā)量,將該報文轉(zhuǎn)發(fā)量累加到相應出接口對應的加權(quán)j直中。11、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口為按照負載分擔比例,在所述才良文轉(zhuǎn)發(fā)信息對應的加權(quán)值中選擇一個加權(quán)值,并將該加權(quán)值對應報文轉(zhuǎn)發(fā)信息所指向的出接口作為進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口。12、根據(jù)權(quán)利要求11所述的方法,其特征在于,當所述負載分擔比例為等比例分擔時,所述選擇一個加權(quán)值為,選擇加權(quán)值中最小的一個。13、根據(jù)權(quán)利要求1所述的方法,其特征在于,當報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的目的IP地址和出接口時,該方法進一步包括當加權(quán)轉(zhuǎn)發(fā)表中的任意加權(quán)值超出最高門限時,確定與該加權(quán)值對應的報文轉(zhuǎn)發(fā)信息所指向出接口到達同一目的地的所有出接口,將指向確定的所有出接口的報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置為初始值;或者,定時將加權(quán)轉(zhuǎn)發(fā)表中的所有加權(quán)值置為初始值;或者,當增加或修改任意一條等價路由的信息時,確定與該等價路由相關(guān)的所有報文轉(zhuǎn)發(fā)信息,將確定的所有報文轉(zhuǎn)發(fā)信息對應的加權(quán)值置為初始值;或者,當刪除任意一條等價路由的信息時,在加權(quán)轉(zhuǎn)發(fā)表中刪除該等價路由的對應的表項;當報文轉(zhuǎn)發(fā)信息包括報文轉(zhuǎn)發(fā)的出接口時,該方法進一步包括當加權(quán)轉(zhuǎn)發(fā)表中的任意加權(quán)值超出最高門限或者到達定時時間時,將加權(quán)轉(zhuǎn)發(fā)表中的所有加權(quán)值置為初始值;或者,當路由表中對應一出接口的所有路由項均刪除后,在加權(quán)轉(zhuǎn)發(fā)表中刪除該出接口對應的表項。14、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定到達數(shù)據(jù)流目的地的各個出接口為將以數(shù)據(jù)流目的地為索引查找到的對應的出接口,確定為所述到達報文目的地的各個出接口。15、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā)包括在對任意數(shù)據(jù)流的首個到達報文進行轉(zhuǎn)發(fā)時,將該報文從所述選擇的出接口轉(zhuǎn)發(fā),并進一步將數(shù)據(jù)流信息和選擇的出接口信息對應保存在快速轉(zhuǎn)發(fā)表中;在對數(shù)據(jù)流后續(xù)報文進行轉(zhuǎn)發(fā)時,利用快速轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)。16、一種網(wǎng)絡中的交換設備,其特征在于,該設備包括管理單元、出接口選擇單元和數(shù)據(jù)流轉(zhuǎn)發(fā)單元,管理單元,用于為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置并保存對應的加權(quán)值,獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息;并根據(jù)獲取的統(tǒng)計信息,更新保存的報文轉(zhuǎn)發(fā)信息對應的加4又值;數(shù)據(jù)流轉(zhuǎn)發(fā)單元,用于在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,確定是否進行負載分擔,并確定能夠進行負載分擔的各個出接口,通知所述出接口選擇單元在確定的各個出接口中選擇一個,接收所述出接口選擇單元返回的出接口,將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā);出接口選擇單元,用于接收數(shù)據(jù)流轉(zhuǎn)發(fā)單元的選擇出接口通知,根據(jù)所述管理單元保存的指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,返回給所述數(shù)據(jù)流轉(zhuǎn)發(fā)單元。17、根據(jù)權(quán)利要求16所述的交換設備,其特征在于,所述管理單元包括統(tǒng)計信息接收子單元和加權(quán)值管理子單元;所述統(tǒng)計信息接收子單元,用于接收按照統(tǒng)計流上報機制上報的統(tǒng)計信息,并提供給所述加權(quán)值管理子單元;所述加權(quán)值管理子單元,用于設置并保存報文轉(zhuǎn)發(fā)信息對應的加權(quán)值,并根據(jù)統(tǒng)計信息接收子單元提供的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。18、根據(jù)權(quán)利要求16所述的交換設備,其特征在于,所述管理單元包括統(tǒng)計信息查詢子單元和加權(quán)值管理子單元;所述統(tǒng)計信息查詢子單元,用于預設的機制查詢數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息,并將統(tǒng)計信息提供給所述加權(quán)值管理子單元;所述加權(quán)值管理子單元,用于設置并保存報文轉(zhuǎn)發(fā)信息對應的加權(quán)值,并根據(jù)統(tǒng)計信息接收子單元提供的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值。全文摘要本發(fā)明公開了一種負載分擔方法,預先為指向報文轉(zhuǎn)發(fā)出接口的報文轉(zhuǎn)發(fā)信息設置對應的加權(quán)值,該方法包括獲取數(shù)據(jù)流轉(zhuǎn)發(fā)的統(tǒng)計信息;根據(jù)獲取的統(tǒng)計信息,更新報文轉(zhuǎn)發(fā)信息對應的加權(quán)值;在進行數(shù)據(jù)流轉(zhuǎn)發(fā)時,若確定進行負載分擔,則確定能夠進行負載分擔的各個出接口,并根據(jù)指向所述各個出接口的報文轉(zhuǎn)發(fā)信息所對應的加權(quán)值,在所述各個出接口中選擇進行數(shù)據(jù)流轉(zhuǎn)發(fā)的出接口,將數(shù)據(jù)流從該出接口轉(zhuǎn)發(fā)。本發(fā)明還公開了一種網(wǎng)絡中的交換設備,包括加權(quán)轉(zhuǎn)發(fā)表管理單元、出接口選擇單元和數(shù)據(jù)流轉(zhuǎn)發(fā)單元。應用本發(fā)明,能夠既保證報文的有序傳輸,又保證精確的負載分擔。文檔編號H04L12/56GK101119313SQ200710121820公開日2008年2月6日申請日期2007年9月14日優(yōu)先權(quán)日2007年9月14日發(fā)明者劉刀桂,娜尹,祁正林,聰薛,趙里遙申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
涪陵区| 阿拉善右旗| 根河市| 青田县| 安仁县| 乌兰浩特市| 安康市| 彝良县| 正阳县| 南康市| 井冈山市| 萝北县| 木兰县| 湘乡市| 安国市| 河西区| 怀安县| 吐鲁番市| 汽车| 沽源县| 安福县| 醴陵市| 罗江县| 明光市| 思茅市| 城步| 高台县| 石台县| 益阳市| 台东县| 大悟县| 凤翔县| 大姚县| 宜昌市| 平顶山市| 合山市| 福州市| 浦北县| 正镶白旗| 荔波县| 崇州市|