專利名稱:一種分流設備實現(xiàn)系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機網(wǎng)絡通信領(lǐng)域,具體涉及一種分流設備實現(xiàn)系統(tǒng)和方法。
背景技術(shù):
本發(fā)明解決現(xiàn)有技術(shù)中專用的網(wǎng)絡匯聚分流設備造價昂貴、功耗過大且不提供計算能力的問題?,F(xiàn)有技術(shù)中,實現(xiàn)多根網(wǎng)絡流量匯聚之后在進行同源同宿分流功能時,所采用的方案是專用設備。該設備有背板和線卡組成,線卡實現(xiàn)流量接入,背板做數(shù)據(jù)的匯聚和分流。該方案的缺點是成本太高,且耗電量較大,造成資源浪費。同時,專用設備不提供計算能力,也就是說,如果需要對某些流量進行進一步的處理的話,需要將流量轉(zhuǎn)發(fā)到處理機上, 不但造成了網(wǎng)絡帶寬的浪費,也造成了中間網(wǎng)聯(lián)絡設備的浪費。申請?zhí)枮?0091007660. 0的專利公開了 “一種多網(wǎng)卡服務器的接入方法和系統(tǒng)” 以及申請?zhí)枮?0041000011. 7的專利公開了 “一種基于多網(wǎng)卡的網(wǎng)絡設備的數(shù)據(jù)傳輸方法和裝置”,這兩個專利中,都只是涉及到服務器上多網(wǎng)卡的負載均衡或者主備切換等功能, 并不涉及流量的匯聚和分發(fā)。
發(fā)明內(nèi)容
本發(fā)明克服現(xiàn)有技術(shù)不足,涉及計算機網(wǎng)卡發(fā)包技術(shù)。本發(fā)明提供了一種基于多網(wǎng)卡的匯聚分流設備,其包括插多塊網(wǎng)卡的通用服務器,服務器采用SMP架構(gòu),收包在網(wǎng)卡上采用多隊列實現(xiàn),每個網(wǎng)卡對應一個線程發(fā)包。本發(fā)明提供的基于多網(wǎng)卡的匯聚分流設備,每塊網(wǎng)卡網(wǎng)口數(shù)目不一樣。本發(fā)明提供的基于多網(wǎng)卡的匯聚分流設備,對于有m塊具有網(wǎng)口數(shù)η的網(wǎng)卡構(gòu)成的系統(tǒng),CPU為每塊網(wǎng)卡分配m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū),并啟動m個收發(fā)包線程, 每個線程對應m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū)。本發(fā)明提供的基于多網(wǎng)卡的匯聚分流設備,各個網(wǎng)卡實現(xiàn)流量接入,并根據(jù)配置計算報文組的hash值,其中,所述報文組是一元組、二元組、三元組、四元組、五元組或者七元組。本發(fā)明提供的基于多網(wǎng)卡的匯聚分流設備,報文七元組分別為源目IP、源目端口、 傳輸層協(xié)議、源目mac地址的組合。本發(fā)明提供的基于多網(wǎng)卡的匯聚分流設備,主機每個收發(fā)包線程輪流從每個網(wǎng)卡的收包緩沖區(qū)中接收報文,并從發(fā)包線程對應的發(fā)包緩沖區(qū)發(fā)送出去。本發(fā)明還提供一種基于多網(wǎng)卡的匯聚分流方法,其包括如下步驟1)CPU為每塊網(wǎng)卡分配m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū),并啟動m個收發(fā)包線程,每個線程對應m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū)。其中m為網(wǎng)卡的塊數(shù),η為每個網(wǎng)卡的網(wǎng)口數(shù);2)每塊網(wǎng)卡i對應收包緩沖區(qū)0到m*n-l和1個發(fā)包緩沖區(qū)。網(wǎng)卡i實現(xiàn)流量接入,并根據(jù)配置計算報文組的hash值。其中,所述報文組是一元組、二元組、三元組、四元組、五元組或者七元組;i(i = 0,1,2丨111-1)。3)網(wǎng)卡i將hash值按照配置的比例分成m*n份,每份對應一個CPU分配的收包緩沖區(qū),網(wǎng)卡將報文上傳到每個緩沖區(qū)中。4)主機每個收發(fā)包線程j輪流從每個網(wǎng)卡i的收包緩沖區(qū)j*n到(j+1) *n-l中接收報文,并從發(fā)包緩沖區(qū)j發(fā)送出去。5)對于需要處理的報文,收發(fā)包線程將報文提交處理線程處理;對于無需轉(zhuǎn)發(fā)的報文,直接丟棄。本發(fā)明還提供一種基于多網(wǎng)卡的匯聚分流方法,報文七元組是源目IP、源目端口、 傳輸層協(xié)議、源目mac地址的組合。本發(fā)明還提供一種基于多網(wǎng)卡的匯聚分流方法,m為3,η為4。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于1)通用服務器的價格比專用分流設備低很多;2)該方案可以對流量進行進一步處理,而不需要將流量轉(zhuǎn)發(fā)到其他處理機處理, 減少了網(wǎng)絡帶寬使用,同時減少了中間網(wǎng)絡設備,降低了用戶的投入成本。
圖1為本發(fā)明的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明提出一種基于多網(wǎng)卡的匯聚分流設備的實現(xiàn)方法。該方法是采用通用服務器插多塊網(wǎng)卡實現(xiàn),同時考慮服務器的SMP架構(gòu),優(yōu)化網(wǎng)卡的收發(fā)包接口,使得收包在網(wǎng)卡上采用多隊列實現(xiàn),發(fā)包也每個網(wǎng)卡對應一個線程,盡量避免線程之間數(shù)據(jù)交互,影響性能。對于有m塊具有網(wǎng)口數(shù)η(每塊網(wǎng)卡網(wǎng)口數(shù)目可以不一樣)的網(wǎng)卡構(gòu)成的系統(tǒng),方法具體實現(xiàn)流程如下1)CPU為每塊網(wǎng)卡分配m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū),并啟動m個收發(fā)包線程,每個線程對應m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū)。下邊以一塊網(wǎng)卡i(i = 0,1,2···ι -1)為例2)每塊網(wǎng)卡i對應收包緩沖區(qū)0到m*n-l和1個發(fā)包緩沖區(qū)。網(wǎng)卡i實現(xiàn)流量接入,并根據(jù)配置計算報文七元組hash值(源目IP、源目端口、協(xié)議、源目mac地址的組合)?;镁W(wǎng)卡i將hash值按照配置的比例分成m*n份,每份對應一個CPU分配的收包緩沖區(qū),網(wǎng)卡將報文上傳到每個緩沖區(qū)中。4)主機每個收發(fā)包線程j輪流從每個網(wǎng)卡i的收包緩沖區(qū)j*n到(j+1) *n_l中接收報文,并從發(fā)包緩沖區(qū)j發(fā)送出去。5)對于需要處理的報文,收發(fā)包線程將報文提交處理線程處理;對于無需轉(zhuǎn)發(fā)的報文,直接丟棄。 圖1是本發(fā)明以3塊網(wǎng)卡,每塊網(wǎng)卡4個端口為例的結(jié)構(gòu)示意圖。 以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,盡管參照上述實施例對
本發(fā)明進行了詳細的說明,所述領(lǐng)域的普通技術(shù)人員應當理解依然可以對本發(fā)明的具體實施方式
進行修改或者同等替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換, 其均應涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
1.一種基于多網(wǎng)卡的匯聚分流設備,其包括插多塊網(wǎng)卡的通用服務器,服務器采用 SMP架構(gòu),收包在網(wǎng)卡上采用多隊列實現(xiàn),每個網(wǎng)卡對應一個線程發(fā)包。
2.權(quán)利要求1的設備,其特征在于,每塊網(wǎng)卡網(wǎng)口數(shù)目不一樣。
3.權(quán)利要求1-2的設備,其特征在于,對于有m塊具有網(wǎng)口數(shù)η的網(wǎng)卡構(gòu)成的系統(tǒng),CPU 為每塊網(wǎng)卡分配m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū),并啟動m個收發(fā)包線程,每個線程對應m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū)。
4.權(quán)利要求1-3的設備,其特征在于,各個網(wǎng)卡實現(xiàn)流量接入,并根據(jù)配置計算報文組的hash值,其中,所述報文組是一元組、二元組、三元組、四元組、五元組或者七元組。
5.權(quán)利要求1-4的設備,其特征在于,報文七元組分別為源目IP、源目端口、傳輸層協(xié)議、源目mac地址的組合。
6.權(quán)利要求1-5的設備,其特征在于,主機每個收發(fā)包線程輪流從每個網(wǎng)卡的收包緩沖區(qū)中接收報文,并從發(fā)包線程對應的發(fā)包緩沖區(qū)發(fā)送出去。
7.一種基于多網(wǎng)卡的匯聚分流方法,其包括如下步驟1)CPU為每塊網(wǎng)卡分配m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū),并啟動m個收發(fā)包線程, 每個線程對應m*n個收包緩沖區(qū)和1個發(fā)包緩沖區(qū)。其中m為網(wǎng)卡的塊數(shù),η為每個網(wǎng)卡的網(wǎng)口數(shù);2)每塊網(wǎng)卡i對應收包緩沖區(qū)0到m*n-l和1個發(fā)包緩沖區(qū)。網(wǎng)卡i實現(xiàn)流量接入, 并根據(jù)配置計算報文組的hash值。其中,所述報文組是一元組、二元組、三元組、四元組、五元組或者七元組;i(i = 0,1,2丨111-1)。3)網(wǎng)卡i將hash值按照配置的比例分成m*n份,每份對應一個CPU分配的收包緩沖區(qū),網(wǎng)卡將報文上傳到每個緩沖區(qū)中。4)主機每個收發(fā)包線程j輪流從每個網(wǎng)卡i的收包緩沖區(qū)j*n到(j+l)*n_l中接收報文,并從發(fā)包緩沖區(qū)j發(fā)送出去。5)對于需要處理的報文,收發(fā)包線程將報文提交處理線程處理;對于無需轉(zhuǎn)發(fā)的報文,直接丟棄。
8.權(quán)利要求7的方法,其特征在于,報文七元組是源目IP、源目端口、傳輸層協(xié)議、源目 mac地址的組合。
9.權(quán)利要求7-8的方法,其特征在于,m為3,η為4。
全文摘要
本發(fā)明提供一種分流設備實現(xiàn)系統(tǒng)和方法,其包括插多塊網(wǎng)卡的通用服務器,服務器采用SMP架構(gòu),收包在網(wǎng)卡上采用多隊列實現(xiàn),每個網(wǎng)卡對應一個線程發(fā)包。一種基于多網(wǎng)卡的匯聚分流方法,使網(wǎng)卡i將hash值按照配置的比例分成m*n份,每份對應一個CPU分配的收包緩沖區(qū),網(wǎng)卡將報文上傳到每個緩沖區(qū)中;主機每個收發(fā)包線程j輪流從每個網(wǎng)卡i的收包緩沖區(qū)j*n到(j+1)*n-1中接收報文,并從發(fā)包緩沖區(qū)j發(fā)送出去;對于需要處理的報文,收發(fā)包線程將報文提交處理線程處理;對于無需轉(zhuǎn)發(fā)的報文,直接丟棄。本發(fā)明提供一種基于多網(wǎng)卡的匯聚分流設備和方法,減少了網(wǎng)絡帶寬使用,同時減少了中間網(wǎng)絡設備,降低了用戶的投入成本。
文檔編號H04L12/56GK102497430SQ20111041512
公開日2012年6月13日 申請日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者劉興彬, 劉朝輝, 竇曉光, 賀志強, 邵宗有 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司