專利名稱:負載分擔(dān)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種負載分擔(dān)方法和裝置。
背景技術(shù):
在互聯(lián)網(wǎng)協(xié)議(Internet Protocol, IP)網(wǎng)絡(luò)中為了提高可靠性和提高可利用的鏈路帶寬,經(jīng)常采用負載分擔(dān)技木。負載分擔(dān)技術(shù)的具體應(yīng)用場景是在數(shù)據(jù)報文流量到達傳輸?shù)木W(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備后,根據(jù)逐流或逐包原則,在多個可用的路徑中選擇其中的一條路徑,將對應(yīng)數(shù)據(jù)報文轉(zhuǎn)發(fā)到下游其他設(shè)備。負載分擔(dān)分為逐流負載分擔(dān)和逐包負載分擔(dān),一般情況采用逐流負載分擔(dān),這樣可以保證一條數(shù)據(jù)流的所有數(shù)據(jù)報文在目的端按順序接收而不出現(xiàn)亂序,保證業(yè)務(wù)功能正 ?!,F(xiàn)有網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備在進行逐流負載分擔(dān)時一般是在對報文的協(xié)議類型可識別的基礎(chǔ)上,對識別出的報文類型使用固定的流特征元素字段方法和基于單板/接ロ可配置的負載分擔(dān)算法進行負載分擔(dān)路徑的選取。IP技術(shù)領(lǐng)域雖然已經(jīng)發(fā)展了 30多年,但還是ー個在快速發(fā)展的技術(shù)領(lǐng)域,由于其擴展性強,新的協(xié)議,新的報文類型層出不窮。這樣在網(wǎng)的網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備的更新就經(jīng)常出現(xiàn)跟不上新協(xié)議發(fā)展的情況,表現(xiàn)在負載分擔(dān)領(lǐng)域,為在網(wǎng)的老網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備不認識新的報文協(xié)議類型,則只能退化到其可以認識的程度來選取流特征元素字段,這樣經(jīng)常由于流特征元素字段選取的不合適,造成逐流的情況下負載分擔(dān)不均的情況。
發(fā)明內(nèi)容
在第一方面,一種負載分擔(dān)方法,包括提取分類后的數(shù)據(jù)流的報文頭中的因子字段,所述因子字段用于區(qū)分所述數(shù)據(jù)流;根據(jù)所述分類后的數(shù)據(jù)流依照負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑,所述因子字段作為所述負載分擔(dān)算法的輸入因子。將所述分類后的數(shù)據(jù)流按照所述數(shù)據(jù)流的路徑發(fā)送。在第二方面,另ー種負載分擔(dān)方法,包括根據(jù)分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法,所述負載分擔(dān)算法用于將所述數(shù)據(jù)流均勻分配;根據(jù)分類后的數(shù)據(jù)流依照所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑;將所述分類后的數(shù)據(jù)流按照所述數(shù)據(jù)流的路徑發(fā)送。在第三方面,一種負載分擔(dān)裝置,包括提取單元,用于提取分類后的數(shù)據(jù)流的報文頭中的因子字段,所述因子字段用于區(qū)分所述數(shù)據(jù)流,,將所述因子字段輸出到計算單元;計算單元,用于從所述提取単元接收所述因子字段,根據(jù)所述分類后的數(shù)據(jù)流依照負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑,所述因子字段作為所述負載分擔(dān)算法的輸入因子,將所述數(shù)據(jù)流的路徑輸出到發(fā)送單元;發(fā)送單元,用于從所述計算單元接收所述數(shù)據(jù)流的路徑,將所述分類后的數(shù)據(jù)流按照所述數(shù)據(jù)流的路徑發(fā)送。在第四方面,另一種負載分擔(dān)裝置,包括選擇單元,用于根據(jù)分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法,所述負載分擔(dān)算法用于將所述數(shù)據(jù)流均勻分配,將所述負載分擔(dān)算法輸出到計算單元;計算單元,用于從所述選擇單元接收所述負載分擔(dān)算法,根據(jù)分類后的數(shù)據(jù)流依照所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑,將所述數(shù)據(jù)流的路徑輸出到發(fā)送單元;發(fā)送單元,用于從所述計算單元接收所述數(shù)據(jù)流的路徑,將所述分類后的數(shù)據(jù)流 按照所述數(shù)據(jù)流的路徑發(fā)送。本發(fā)明實施例中,根據(jù)分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇可以將所述數(shù)據(jù)流均勻分配負載分擔(dān)算法,或/和將分類后的數(shù)據(jù)流的報文頭中可以將所述數(shù)據(jù)流區(qū)分開來的因子字段作為負載分擔(dān)算法的輸入因子;根據(jù)負載分擔(dān)算法計算數(shù)據(jù)流的路徑;將數(shù)據(jù)流按照所述路徑發(fā)送。從而增加了網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備的擴展性,并實現(xiàn)了負載均衡。
圖I為本發(fā)明實施例一提供的負載分擔(dān)方法流程圖;圖2為本發(fā)明實施例二提供的負載分擔(dān)方法流程圖;圖3為本發(fā)明實施例三提供的負載分擔(dān)裝置示意圖;圖4為本發(fā)明實施例四提供的負載分擔(dān)裝置示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明具體實施例作進一步的詳細描述。在負載分擔(dān)領(lǐng)域,由于在網(wǎng)的老網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備不認識新的報文協(xié)議類型,則只能退化到其可以認識的程度來選取流特征元素字段,這樣經(jīng)常由于流特征元素字段選取的不合適,造成逐流的情況下負載分擔(dān)不均的情況。例如針對通用分組無線業(yè)務(wù)隧道協(xié)議(General Packet Radio Service Tunneling Protocol, GTP)報文,其在用戶數(shù)據(jù)協(xié)議(User Datagram Protocol, UDP)層面之上又封裝了通用分組無線業(yè)務(wù)(General PacketRadio Service, GPRS)協(xié)議,而如果網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備不能識別GTP協(xié)議,則只能按照UDP協(xié)議來進行識別,按UDP協(xié)議來取IP五元組進行負載分擔(dān),而一條GTP隧道上承載的所有用戶的報文都只有一組IP五元組,這樣對于GTP隧道的流量就不再能夠進行逐流負載分擔(dān)了。IP五元組包括目的IP地址、目的端口號、源I P地址、源端口號、協(xié)議號。其中,IP 二元組主要針對非UDP、非傳輸控制協(xié)議(Transmission ControlProtocol, TCP)報文,采用源 IP (Source IP, S IP)和目的 IP (Destination IP, DIP)字段來進行流的區(qū)分。IP五元組主要針對UDP或TCP報文,采用SIP、DIP、協(xié)議號、源端口號和目的端口號,來進行流的區(qū)分。而網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備針對多協(xié)議標記交換(Multiprotocol LabelSwitching, MPLS)報文進行逐流負載分擔(dān)時為了不引入亂序,絕對安全的做法是基于各層標簽來進行流特征元素字段的選取。
另外,由于網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備ー個接ロ就經(jīng)常要面對眾多個源地址、目的地址不同、眾多類型協(xié)議流量組合的流量模型,如果ー個接ロ只能使用一種負載分擔(dān)算法,則對一條流量進行負載分擔(dān)后,由于各個流量模型不同,對其它流量應(yīng)用該負載分擔(dān)算法就可能沒有效果,或者可能帶來更壞的效果。本發(fā)明實施例針對現(xiàn)有技術(shù)下負載分擔(dān)方法的缺陷,提供了一種負載分擔(dān)方法和裝置。通過為分類后的數(shù)據(jù)流選擇的流量特征,為所述數(shù)據(jù)流選擇可以將所述數(shù)據(jù)流均勻分配的負載分擔(dān)算法,或/和將分類后的數(shù)據(jù)流的報文頭中可以將所述數(shù)據(jù)流區(qū)分開來的因子字段作為負載分擔(dān)算法的輸入因子;根據(jù)負載分擔(dān)算法計算數(shù)據(jù)流的路徑;將數(shù)據(jù)流按照所述路徑發(fā)送,從而增加了網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備接ロ的擴展性,并實現(xiàn)了負載均衡。需要說明的是,本發(fā)明實施例提供的方法和裝置適用于所有基于流轉(zhuǎn)發(fā)的負載分擔(dān)場景。圖I為本發(fā)明實施例一提供的負載分擔(dān)方法流程圖。如圖I所示,本發(fā)明實施例提供的方法包括S101,提取分類后的數(shù)據(jù)流的報文頭中的因子字段,所述因子字段用于區(qū)分所述數(shù)據(jù)流。根據(jù)ACL規(guī)則,提取分類后的數(shù)據(jù)流的報文頭中可以將所述數(shù)據(jù)流區(qū)分開來的字段,將這些字段稱為因子字段,并且將該因子字段作為負載分擔(dān)算法的輸入因子??蛇x地,這里的因子字段具體為報文頭中的ー個以上的字段。即因子字段可以由ー個以上的字段組成,每個字段的獲取方法為從報文頭開始經(jīng)過一次以上的偏移,每偏移一次獲得ー個字段,具體偏移次數(shù)及毎次的偏移量可以根據(jù)實際需要而定,可以從下述對ACL配置SlOl所對應(yīng)的動作的過程中理解如何在報文頭中偏移若干字節(jié)并取相應(yīng)字段作為因子字段。可選地,執(zhí)行SlOl之前還可以包括對ACL做相應(yīng)的配置的步驟。為便于理解,這里首先闡述對ACL配置提取分類后的數(shù)據(jù)流的報文頭中可以將所述數(shù)據(jù)流區(qū)分開來的因子字段的動作的過程,然后根據(jù)配置的ACL,闡述如何提取分類后的數(shù)據(jù)流的報文頭中可以將所述數(shù)據(jù)流區(qū)分開來的因子字段,并將該因子字段作為相應(yīng)的負載分擔(dān)算法的輸入因子。下面以GTP報文為例,對ACL配置SlOl所對應(yīng)的動作的過程做詳細闡述。表IGTP報文格式
權(quán)利要求
1.一種負載分擔(dān)方法,其特征在于,所述方法包括 提取分類后的數(shù)據(jù)流的報文頭中的因子字段,所述因子字段用于區(qū)分所述數(shù)據(jù)流; 根據(jù)所述分類后的數(shù)據(jù)流依照負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑,所述因子字段作為所述負載分擔(dān)算法的輸入因子; 將所述分類后的數(shù)據(jù)流按照所述數(shù)據(jù)流的路徑發(fā)送。
2.根據(jù)權(quán)利要求I所述的負載分擔(dān)方法,其特征在于,所述根據(jù)所述分類后的數(shù)據(jù)流依照負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑具體包括 根據(jù)所述分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法,所述負載分擔(dān)算法用于將所述數(shù)據(jù)流均勻分配; 根據(jù)所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑。
3.根據(jù)權(quán)利要求I所述的負載分擔(dān)方法,其特征在于,所述因子字段具體為報文頭中的ー個以上的字段。
4.根據(jù)權(quán)利要求I所述的負載分擔(dān)方法,其特征在于,所述提取分類后的數(shù)據(jù)流的報文頭中的因子字段,所述因子字段用于區(qū)分所述數(shù)據(jù)流之前還包括對訪問控制列表ACL配置提取分類后的數(shù)據(jù)流的報文頭中的因子字段的動作。
5.—種負載分擔(dān)方法,其特征在于,所述方法包括 根據(jù)分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法,所述負載分擔(dān)算法用于將所述數(shù)據(jù)流均勻分配; 根據(jù)分類后的數(shù)據(jù)流依照所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑; 將所述分類后的數(shù)據(jù)流按照所述數(shù)據(jù)流的路徑發(fā)送。
6.根據(jù)權(quán)利要求5所述的負載分擔(dān)方法,其特征在于,所述根據(jù)分類后的數(shù)據(jù)流依照所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑具體包括 提取所述分類后的數(shù)據(jù)流的報文頭中的因子字段,所述因子字段用于區(qū)分所述數(shù)據(jù)流; 根據(jù)所述分類后的數(shù)據(jù)流依照所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑,所述因子字段作為所述負載分擔(dān)算法的輸入因子。
7.根據(jù)權(quán)利要求6所述的負載分擔(dān)方法,其特征在干,所述因子字段具體為報文頭中的ー個以上的字段。
8.根據(jù)權(quán)利要求5所述的負載分擔(dān)方法,其特征在于,所述根據(jù)分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法,所述負載分擔(dān)算法用于將所述數(shù)據(jù)流均勻分配之前還包括對ACL配置根據(jù)分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法的動作。
9.一種負載分擔(dān)裝置,其特征在于,所述裝置包括 提取單元,用于提取分類后的數(shù)據(jù)流的報文頭中的因子字段,所述因子字段用于區(qū)分所述數(shù)據(jù)流,將所述因子字段輸出到計算單元; 計算單元,用于從所述提取単元接收所述因子字段,根據(jù)所述分類后的數(shù)據(jù)流依照負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑,所述因子字段作為所述負載分擔(dān)算法的輸入因子,將所述數(shù)據(jù)流的路徑輸出到發(fā)送單元; 發(fā)送單元,用于從所述計算単元接收所述數(shù)據(jù)流的路徑,將所述分類后的數(shù)據(jù)流按照所述數(shù)據(jù)流的路徑發(fā)送。
10.根據(jù)權(quán)利要求9所述的負載分擔(dān)裝置,其特征在于,所述計算単元具體用于根據(jù)所述分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法,所述負載分擔(dān)算法用于將所述數(shù)據(jù)流均勻分配,以及根據(jù)所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑。
11.根據(jù)權(quán)利要求9所述的負載分擔(dān)裝置,其特征在于,所述因子字段具體為報文頭中的ー個以上的字段。
12.根據(jù)權(quán)利要求9所述的負載分擔(dān)裝置,其特征在于,所述裝置還包括配置単元,用于對ACL配置提取分類后的數(shù)據(jù)流的報文頭中的因子字段的動作,將配置的ACL動作輸出到提取單元。
13.一種負載分擔(dān)裝置,其特征在于,所述裝置包括 選擇單元,用于根據(jù)分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法,所述負載分擔(dān)算法用于將所述數(shù)據(jù)流均勻分配,將所述負載分擔(dān)算法輸出到計算單元; 計算單元,用于從所述選擇単元接收所述負載分擔(dān)算法,根據(jù)分類后的數(shù)據(jù)流依照所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑,將所述數(shù)據(jù)流的路徑輸出到發(fā)送單元; 發(fā)送單元,用于從所述計算単元接收所述數(shù)據(jù)流的路徑,將所述分類后的數(shù)據(jù)流按照所述數(shù)據(jù)流的路徑發(fā)送。
14.根據(jù)權(quán)利要求13所述的負載分擔(dān)裝置,其特征在于,所述計算単元具體用于提取所述分類后的數(shù)據(jù)流的報文頭中的因子字段,所述因子字段用于區(qū)分所述數(shù)據(jù)流,以及根據(jù)所述分類后的數(shù)據(jù)流依照所述負載分擔(dān)算法計算所述數(shù)據(jù)流的路徑,所述因子字段作為所述負載分擔(dān)算法的輸入因子。
15.根據(jù)權(quán)利要求14所述的負載分擔(dān)裝置,其特征在于,所述計算單元提取的所述因子字段具體為報文頭中的ー個以上的字段。
16.根據(jù)權(quán)利要求13所述的負載分擔(dān)裝置,其特征在于,所述裝置還包括配置単元,用于對ACL配置根據(jù)分類后的數(shù)據(jù)流的流量特征,為所述數(shù)據(jù)流選擇負載分擔(dān)算法的動作,將配置的ACL動作輸出到選擇單元。
全文摘要
一種負載分擔(dān)方法,包括將提取分類后的數(shù)據(jù)流的報文頭中可以將所述數(shù)據(jù)流區(qū)分開來的因子字段,并將該因子字段作為網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備接口默認的負載分擔(dān)算法的輸入因子,或者將該因子字段作為根據(jù)各個數(shù)據(jù)流的流量特征,為其選擇可以將所述各個數(shù)據(jù)流均勻分配的負載分擔(dān)算的輸入因子,計算各個數(shù)據(jù)流的路徑,并將各個數(shù)據(jù)流按照各自路徑轉(zhuǎn)發(fā)出去。本發(fā)明實施例實現(xiàn)了增加網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備的擴展性,并實現(xiàn)了負載均衡。
文檔編號H04L12/803GK102868631SQ20121036726
公開日2013年1月9日 申請日期2012年9月28日 優(yōu)先權(quán)日2012年9月28日
發(fā)明者唐湜, 周沖 申請人:華為技術(shù)有限公司