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