專利名稱:流量負(fù)載均衡處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種方法,特別是涉及一種在通信設(shè)備中使用多個(gè)網(wǎng) 絡(luò)處理器協(xié)同處理網(wǎng)絡(luò)流量的一種流量負(fù)載均衡處理方法。
背景技術(shù):
網(wǎng)絡(luò)設(shè)備在提供深度包檢測(DPI)功能時(shí),其轉(zhuǎn)發(fā)性能會(huì)因?yàn)閳?bào) 文的處理深度不同而有所不同。當(dāng)一塊單個(gè)處理器在處理DPI時(shí)無法 達(dá)到系統(tǒng)性能時(shí),為了保證報(bào)文經(jīng)過系統(tǒng)不會(huì)產(chǎn)生丟包,系統(tǒng)便會(huì)對(duì) 流量采用隨機(jī)抽樣的方式進(jìn)行DPI處理,其它的則采用直接轉(zhuǎn)發(fā)的方 式。因此系統(tǒng)勢必會(huì)對(duì)報(bào)文的檢測與統(tǒng)計(jì)存在一定的偏差。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明的主要目的在于提供一種對(duì)流量負(fù)載進(jìn)行 準(zhǔn)處理的均衡方法。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用了下述技術(shù)方案 本發(fā)明所述流量負(fù)載均衡處理方法為包括對(duì)系統(tǒng)帶寬進(jìn)行估 算,根據(jù)該實(shí)際帶寬確定網(wǎng)絡(luò)處理器的使用數(shù)目;且對(duì)于上下行方向, 均分別使用一個(gè)網(wǎng)絡(luò)處理器做分發(fā)處理, 一個(gè)網(wǎng)絡(luò)處理器做匯聚處 理;同時(shí),且對(duì)上下行流量實(shí)施對(duì)稱處理,均衡上下行的負(fù)載,保證 上行報(bào)文和下行報(bào)文在系統(tǒng)中的處理路徑完全對(duì)稱。其中,所述分發(fā)處理為包括使用一個(gè)網(wǎng)絡(luò)處理器作為主控,且 采用TCP連接對(duì)報(bào)文進(jìn)行分類處理,并對(duì)其進(jìn)行解析,且對(duì)不同的 連接標(biāo)識(shí)不同的類別;同時(shí),提取其中一類別對(duì)其進(jìn)行深度包檢測解 析,而其余類別則分別使用不同的接口/端口轉(zhuǎn)發(fā)至交換芯片,并通 過該交換芯片轉(zhuǎn)發(fā)至其他網(wǎng)絡(luò)處理器上。
所述匯聚處理為包括使用一個(gè)網(wǎng)絡(luò)處理器來對(duì)出端口報(bào)文進(jìn)行 匯聚,并在匯聚后進(jìn)行端口限速和統(tǒng)計(jì);在匯聚中且通過不同的接口 /端口將流量轉(zhuǎn)發(fā)至交換芯片,且再由交換芯片轉(zhuǎn)發(fā)至系統(tǒng)輸入輸出 接口,其中,網(wǎng)絡(luò)處理器為根據(jù)交換芯片在轉(zhuǎn)發(fā)報(bào)文時(shí)端口號(hào)的不同 來區(qū)別不同的報(bào)文。
本發(fā)明使用多塊網(wǎng)絡(luò)處理器并行處理深度包檢測,且各網(wǎng)絡(luò)處理 器按一定規(guī)則對(duì)報(bào)文進(jìn)行隨機(jī)抽樣處理,既保證了各網(wǎng)絡(luò)處理器處理 的數(shù)據(jù)不出現(xiàn)疊加和重復(fù),也使得系統(tǒng)的處理能力得到提高。
圖1本發(fā)明所述流量負(fù)載均衡處理方法的流程示意圖2為發(fā)明所述流量負(fù)載均衡處理方法的具體實(shí)施例之流程框圖。
具體實(shí)施例方式
下面結(jié)合附圖以及具體實(shí)施例來對(duì)本發(fā)明所述流量均衡處理方 法作進(jìn)一步的詳細(xì)說明。本發(fā)明所述流量負(fù)載均衡處理方法在網(wǎng)絡(luò)設(shè)備中實(shí)現(xiàn)多個(gè)處理 器并行處理網(wǎng)絡(luò)流量的一種流量負(fù)載均衡的技術(shù)方案。
在整個(gè)系統(tǒng)設(shè)計(jì)中,首先,需要分析系統(tǒng)實(shí)際需處理的網(wǎng)絡(luò)帶寬; 根據(jù)實(shí)際網(wǎng)絡(luò)中上下行流量不對(duì)稱;其次,在設(shè)計(jì)中必須保證上下行 流量在系統(tǒng)中流程對(duì)稱,以此首先均衡上下行負(fù)載;然后,在設(shè)計(jì)中 設(shè)計(jì)采用TCP連接進(jìn)行流量分類,并使用該類別將報(bào)文轉(zhuǎn)發(fā)至不同 的網(wǎng)絡(luò)處理器中進(jìn)行深度包解析,從而進(jìn)一步確保系統(tǒng)在處理深度包 解析時(shí),各網(wǎng)絡(luò)處理器的負(fù)荷相同。
參照?qǐng)D1中所示,本發(fā)明所述方法具體如下
步驟100:對(duì)系統(tǒng)實(shí)際處理的帶寬進(jìn)行分析,確定使用的網(wǎng)絡(luò)處 理器;
步驟101:對(duì)上下行流量進(jìn)行流程對(duì)稱處理,均衡上下行的負(fù)載, 保證上行報(bào)文和下行報(bào)文在系統(tǒng)中的處理路徑完全對(duì)稱。
步驟102:對(duì)于上下行方向,均分別使用一個(gè)網(wǎng)絡(luò)處理器做分發(fā) 處理, 一個(gè)網(wǎng)絡(luò)處理器做匯聚處理。
在實(shí)現(xiàn)流量負(fù)載均衡處理上,上述步驟100、步驟101和步驟102 不分先后。
其中,所述分發(fā)處理為包括使用一個(gè)網(wǎng)絡(luò)處理器作為主控,且 使用TCP連接對(duì)報(bào)文進(jìn)行分類處理,并對(duì)其進(jìn)行解析,且對(duì)不同的 連接標(biāo)識(shí)不同的類別;同時(shí),提取其中一類別對(duì)其進(jìn)行深度包檢測解 析,而其余類別則分別使用不同的接口/端口轉(zhuǎn)發(fā)至交換芯片,并通 過該交換芯片轉(zhuǎn)發(fā)至其他網(wǎng)絡(luò)處理器上。所述匯聚處理為包括使用一個(gè)網(wǎng)絡(luò)處理器來對(duì)出端口報(bào)文進(jìn)行 匯聚,并在匯聚后進(jìn)行端口限速和統(tǒng)計(jì);在匯聚中且通過不同的接口 /端口將流量轉(zhuǎn)發(fā)至交換芯片,且再由交換芯片轉(zhuǎn)發(fā)至系統(tǒng)輸入輸出 接口,其中,網(wǎng)絡(luò)處理器為根據(jù)交換芯片在轉(zhuǎn)發(fā)報(bào)文時(shí)端口號(hào)的不同 來區(qū)別不同的報(bào)文。
此外,在步驟100中,所述網(wǎng)絡(luò)處理器的確定為包括首先,網(wǎng) 絡(luò)處理器的選型為借用廠商的評(píng)估板來進(jìn)行評(píng)估測試,從中得出單塊 處理器處理DPI的能力;其次根據(jù)估算的實(shí)際帶寬計(jì)算出處理需要的 網(wǎng)絡(luò)處理器數(shù)目,即,如果測試出的單塊處理器處理DPI的能力為
5Gbps,則在實(shí)際應(yīng)用中,如果為了達(dá)到雙向個(gè)10Gbps的處理能力,
則可確定系統(tǒng)需要4塊網(wǎng)絡(luò)處理器。
基于系統(tǒng)要求,于一般應(yīng)用中,可設(shè)計(jì)使用四塊網(wǎng)絡(luò)處理器和兩
塊六端口交換芯片來對(duì)雙向10Gbps流量負(fù)載進(jìn)行均衡處理。
針對(duì)雙向各10Gbps的流量,則每塊網(wǎng)絡(luò)處理器處理深度包檢測 的流量為(10/4"2-5Gbps,且對(duì)上下行方向均考慮使用一個(gè)網(wǎng)絡(luò)處理 器做分發(fā)處理, 一個(gè)網(wǎng)絡(luò)處理器做匯聚處理,因此,各網(wǎng)絡(luò)處理器直 接轉(zhuǎn)發(fā)流量為2.5Gbps*3=7.5Gbps,各網(wǎng)絡(luò)處理器出入口流量均為 12.5Gbps。
其中,為保證系統(tǒng)內(nèi)各網(wǎng)絡(luò)處理器處理深度包檢測時(shí)負(fù)荷均等, 則系統(tǒng)需保證同一個(gè)TCP連接需在同一塊網(wǎng)絡(luò)處理器上處理,且使 用一塊網(wǎng)絡(luò)處理器做為主控網(wǎng)絡(luò)處理器處理報(bào)文的分類。該所述主控 網(wǎng)絡(luò)處理器首先去接收到報(bào)文并對(duì)其進(jìn)行解析,且對(duì)不同的連接標(biāo)示不同的類別,并均勻分成4份。該主控網(wǎng)絡(luò)處理器提取一種類別在本 網(wǎng)絡(luò)處理器上做深度包檢測解析,其它3種類別則使用不同的接口/ 端口轉(zhuǎn)發(fā)至交換芯片。此時(shí),該所述交換芯片則是基于接口/端口而 將不同報(bào)文轉(zhuǎn)發(fā)至不同的網(wǎng)絡(luò)處理器上,從而去減少報(bào)文的延遲和其 它網(wǎng)絡(luò)處理器的性能消耗。
另外,且基于整個(gè)系統(tǒng)對(duì)出端口流量進(jìn)行全局限速和統(tǒng)計(jì),并使 用一塊網(wǎng)絡(luò)處理器進(jìn)行報(bào)文匯聚,該網(wǎng)絡(luò)處理器通過交換芯片轉(zhuǎn)發(fā)報(bào) 文的端口號(hào)不同來區(qū)分不同的報(bào)文。在該實(shí)際應(yīng)用中,該報(bào)文為包括 7.5Gbps的已做過深度包檢測的流量和需本網(wǎng)絡(luò)處理器處理的 2.5Gbps流程;其中,且使用指定的接口/端口將已做過深度包檢測的 流量轉(zhuǎn)發(fā)至交換芯片,由交換芯片將該流量轉(zhuǎn)發(fā)至系統(tǒng)輸入輸出接口 上。
通過上述過程,從而保證各網(wǎng)絡(luò)處理器處理的數(shù)據(jù)沒有疊加和重 復(fù),并使系統(tǒng)達(dá)到10Gbps的處理能力。
參照?qǐng)D2中所示,圖中虛線表示沒有DPI的數(shù)據(jù)流量,實(shí)線表示 已經(jīng)DPI的流量。為了兼顧硬件設(shè)備不會(huì)太大,系統(tǒng)設(shè)計(jì)將4塊網(wǎng)絡(luò) 處理器分兩組分別裝設(shè)于兩塊板子上。參見圖2中所示,網(wǎng)絡(luò)處理器 a為表示第一塊板的主網(wǎng)絡(luò)處理器,網(wǎng)絡(luò)處理器b表示第一塊板的從 網(wǎng)絡(luò)處理器,網(wǎng)絡(luò)處理器c和網(wǎng)絡(luò)處理器d為分別表示第二塊板的主 網(wǎng)絡(luò)處理器和從網(wǎng)絡(luò)處理器。
數(shù)據(jù)流A進(jìn)入網(wǎng)絡(luò)處理器A后被負(fù)載均衡分為4個(gè)數(shù)據(jù)流Al, A2, A3, A4,在第一塊板上處理完成后通過交換芯片和串并轉(zhuǎn)換器發(fā)到第二塊板上,最后由網(wǎng)絡(luò)處理器d發(fā)送到第二塊板的系統(tǒng)輸入輸 出接口。
如圖所示,數(shù)據(jù)流A的具體移動(dòng)線路如下
數(shù)據(jù)流A:第一塊板系統(tǒng)輸入輸出接口+交換芯片^網(wǎng)絡(luò)處理器
數(shù)據(jù)流Al:網(wǎng)絡(luò)處理器a ^交換芯片~>第一塊板串并轉(zhuǎn)換器^ 第二塊板串并轉(zhuǎn)換器+交換芯片+網(wǎng)絡(luò)處理器d+第二塊板系統(tǒng) 輸入輸出接口;
數(shù)據(jù)流A2:網(wǎng)絡(luò)處理器a+交換芯片^網(wǎng)絡(luò)處理器b+交換芯片 今第一塊板串并轉(zhuǎn)換器+第二塊板串并轉(zhuǎn)換器今交換芯片+網(wǎng)絡(luò)處 理器d^交換芯片^第二塊板系統(tǒng)輸入輸出接口;
數(shù)據(jù)流A3:網(wǎng)絡(luò)處理器a +交換芯片">第一塊板串并轉(zhuǎn)換器^ 第二塊板串并轉(zhuǎn)換器—交換芯片今網(wǎng)絡(luò)處理器c今交換芯片^網(wǎng)絡(luò) 處理器d+交換芯片^第二塊板系統(tǒng)輸入輸出接口;
數(shù)據(jù)流A4:網(wǎng)絡(luò)處理器a ~>交換芯片^第一塊板串并轉(zhuǎn)換器+ 第二塊板串并轉(zhuǎn)換器">交換芯片+網(wǎng)絡(luò)處理器d》交換芯片》第二塊 板系統(tǒng)輸入輸出接口。
數(shù)據(jù)流B進(jìn)入網(wǎng)絡(luò)處理器c后被負(fù)載均衡分為4個(gè)數(shù)據(jù)流Bl , B2, B3, B4,在第二塊板上處理完成后通過交換芯片和背板的串并 轉(zhuǎn)換器發(fā)到第一塊板上,最后由網(wǎng)絡(luò)處理器b發(fā)送到第一塊板的系統(tǒng) 輸入輸出接口。
參見圖2,數(shù)據(jù)流B的具體移動(dòng)線路如下數(shù)據(jù)流B:第二塊板系統(tǒng)輸入輸出接口^交換芯片^網(wǎng)絡(luò)處理器
數(shù)據(jù)流B1:網(wǎng)絡(luò)處理器c+交換芯片+第二塊板串并轉(zhuǎn)換器^第 二塊板串并轉(zhuǎn)換器+交換芯片^網(wǎng)絡(luò)處理器b+第一塊板系統(tǒng)輸入輸 出接口;
數(shù)據(jù)流B2:網(wǎng)絡(luò)處理器c^交換芯片—網(wǎng)絡(luò)處理器d^交換芯片 ">第二塊板串并轉(zhuǎn)換器今第一塊板串并轉(zhuǎn)換器+交換芯片+網(wǎng)絡(luò)處 理器b^交換芯片^第一塊板系統(tǒng)輸入輸出接口;
數(shù)據(jù)流B3:網(wǎng)絡(luò)處理器0">交換芯片+第二塊板串并轉(zhuǎn)換器">第 一塊板串并轉(zhuǎn)換器+交換芯片^網(wǎng)絡(luò)處理器a^交換芯片今網(wǎng)絡(luò)處理 器b^交換芯片+第一塊板系統(tǒng)輸入輸出接口 ;
數(shù)據(jù)流B4:網(wǎng)絡(luò)處理器c^交換芯片+第二塊板串并轉(zhuǎn)換器今第 一塊板串并轉(zhuǎn)換器+交換芯片今網(wǎng)絡(luò)處理器b今交換芯片+第一塊板 系統(tǒng)輸入輸出接口
上述每個(gè)網(wǎng)絡(luò)處理器使用20個(gè)線程做DPI業(yè)務(wù)處理并轉(zhuǎn)發(fā) 5Gbps,使用8個(gè)線程直接轉(zhuǎn)發(fā)7.5Gbps。
權(quán)利要求
1. 一種流量負(fù)載均衡處理方法,其特征在于,包括以下步驟1)對(duì)系統(tǒng)帶寬進(jìn)行估算,根據(jù)該實(shí)際帶寬確定網(wǎng)絡(luò)處理器的使用數(shù)目;2)對(duì)于上下行方向,均分別使用一個(gè)網(wǎng)絡(luò)處理器做分發(fā)處理,一個(gè)網(wǎng)絡(luò)處理器做匯聚處理;3)對(duì)上下行流量實(shí)施對(duì)稱處理,均衡上下行的負(fù)載;上述步驟不分先后;其中,所述分發(fā)處理過程為使用一個(gè)網(wǎng)絡(luò)處理器作為主控,且對(duì)報(bào)文進(jìn)行分類處理,并對(duì)其進(jìn)行解析,且對(duì)不同的連接標(biāo)識(shí)不同的類別;同時(shí),提取其中一類別對(duì)其進(jìn)行深度包檢測解析,而其余類別則分別使用不同的接口/端口轉(zhuǎn)發(fā)至交換芯片,并通過該交換芯片轉(zhuǎn)發(fā)至其他網(wǎng)絡(luò)處理器上;所述匯聚處理過程為使用一個(gè)網(wǎng)絡(luò)處理器來對(duì)出端口報(bào)文進(jìn)行匯聚,并在匯聚后進(jìn)行端口限速和統(tǒng)計(jì);在匯聚中通過不同的接口/端口將流量轉(zhuǎn)發(fā)至交換芯片,再由交換芯片轉(zhuǎn)發(fā)至系統(tǒng)輸入輸出口。
2. 根據(jù)權(quán)利要求1所述流量負(fù)載均衡處理方法,其特征在于,所 述分類處理為采用TCP連接對(duì)報(bào)文進(jìn)行分類。
3. 根據(jù)權(quán)利要求1所述流量負(fù)載均衡處理方法,其特征在于,所 述網(wǎng)絡(luò)處理器對(duì)報(bào)文采用基于連接的隨機(jī)抽樣。
4. 根據(jù)權(quán)利要求1所述流量負(fù)載均衡處理方法,其特征在于,所 述網(wǎng)絡(luò)處理器為根據(jù)交換芯片在轉(zhuǎn)發(fā)報(bào)文時(shí)端口號(hào)的不同來區(qū)別不 同的報(bào)文。
全文摘要
本發(fā)明公開一種流量負(fù)載均衡處理方法,其需對(duì)系統(tǒng)的帶寬進(jìn)行估算,并根據(jù)實(shí)際使用帶寬確定網(wǎng)絡(luò)處理器的數(shù)量;且對(duì)于上下行方向均分別使用一個(gè)網(wǎng)絡(luò)處理器做分發(fā)處理和一個(gè)網(wǎng)絡(luò)處理器做匯聚處理;同時(shí),需對(duì)上下行流量進(jìn)行對(duì)稱處理,均衡上下行的負(fù)載。其中,分發(fā)處理為采用TCP連接對(duì)報(bào)文進(jìn)行分類處理和解析,且對(duì)不同的連接標(biāo)識(shí)不同的類別,并同時(shí)提取其中一類別進(jìn)行深度包檢測解析,而其余類別則分別使用不同的接口/端口轉(zhuǎn)發(fā)至交換芯片,通過其轉(zhuǎn)發(fā)至其他網(wǎng)絡(luò)處理器上。匯聚處理則是用以對(duì)出端口報(bào)文進(jìn)行匯聚,并在匯聚后進(jìn)行端口限速和統(tǒng)計(jì)。本發(fā)明優(yōu)點(diǎn)在于各網(wǎng)絡(luò)處理器處理的數(shù)據(jù)不出現(xiàn)疊加和重復(fù),系統(tǒng)的處理能力高。
文檔編號(hào)H04L29/08GK101442490SQ200810241138
公開日2009年5月27日 申請(qǐng)日期2008年12月30日 優(yōu)先權(quán)日2008年12月30日
發(fā)明者易善平, 穆志新 申請(qǐng)人:北京暢訊信通科技有限公司