一種報文處理方法及裝置制造方法
【專利摘要】本發(fā)明提供一種報文處理方法及裝置,用以解決目前分布式架構(gòu)下對報文分流方式無法保證同一五元組的分片報文和非分片報文被分到同一塊業(yè)務板的問題,其中,報文處理方法,包括:分布式系統(tǒng)的業(yè)務板在接收到報文時,判斷報文是否為分片報文;如果是,由業(yè)務板處理報文,如果否,對報文進行重組,根據(jù)重組后的報文的五元組信息確定報文的目的業(yè)務板;將報文發(fā)送至目的業(yè)務板,該方案保證了分布式架構(gòu)下基于同一五元組的分片報文和非分片報文被分到統(tǒng)一塊業(yè)務板。
【專利說明】一種報文處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊領(lǐng)域,特別是涉及報文處理方法及裝置。
【背景技術(shù)】
[0002]在IP網(wǎng)絡中,當報文長度超過MTU(Maximum Transmiss1n Unit,最大傳輸單元)時,數(shù)據(jù)發(fā)送端需要將報文分片傳送,數(shù)據(jù)接收端接收到分片后,根據(jù)分片的偏移量信息重組出完整的報文。分片經(jīng)過基于連接狀態(tài)的網(wǎng)關(guān)設備,如基于狀態(tài)檢測的防火墻、具有NAT (Network Address Translat1n,網(wǎng)絡地址轉(zhuǎn)換)功能的路由器時,也需要對分片報文進行重組,才能完成業(yè)務處理。
[0003]隨著網(wǎng)絡規(guī)模的擴大,網(wǎng)絡數(shù)據(jù)量的不斷增加,為了提高網(wǎng)關(guān)設備的處理能力,越來越多的高端網(wǎng)關(guān)設備被設計成分布式架構(gòu)。分布式架構(gòu)通常包括主控板、接口板和業(yè)務板,這些板卡間通過內(nèi)部總線進行通信,如圖1所示,圖1為相關(guān)技術(shù)的分布式架構(gòu)網(wǎng)關(guān)設備系統(tǒng)組成的示意圖。其中,主控板作為系統(tǒng)的總控節(jié)點,接口板對外連接到網(wǎng)絡,業(yè)務板對進入系統(tǒng)的流量進行業(yè)務處理。當IP報文到達接口板時,接口板根據(jù)報文的五元組信息(即源IP、目的IP、協(xié)議號、源端口、目的端口)計算一個哈希值,并根據(jù)該哈希值將報文分流到目的業(yè)務板。對于一個大小超過MTU并分片傳送的IP封包來說,只有第一個分片報文包含完整的五元組信息,其余分片僅包含源IP、目的IP和協(xié)議號,不包含源端口和目的端口,接口板無法根據(jù)五元組信息分流,將根據(jù)報文的二元組信息進行分流。由此,基于五元組和二元組分流的哈希算法無法保證同一連接的分片報文和非分片報文計算出相同的哈希值,從而導致基于同一五元組信息的分片和非分片報文可能被分流到不同的業(yè)務板。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是目前分布式架構(gòu)下對報文分流的方式無法保證同一五元組的分片報文和非分片報文被分到同一塊業(yè)務板的問題,基于該問題,本發(fā)明提供了一種報文處理方法及裝置。
[0005]根據(jù)本發(fā)明的一個方面,提供了一種報文處理方法,包括:分布式系統(tǒng)的業(yè)務板在接收到報文時,判斷報文是否為分片報文;如果是,由業(yè)務板處理報文,如果否,對報文進行重組,根據(jù)重組后的報文的五元組信息確定報文的目的業(yè)務板;將報文發(fā)送至目的業(yè)務板。
[0006]其中,根據(jù)重組后的報文的五元組信息確定報文的目的業(yè)務板,包括:根據(jù)重組后的報文的五元組信息進行哈希計算,得到第一哈希值;根據(jù)第一哈希值查找對應的目的業(yè)務板。
[0007]進一步的,上述方法還包括:在分布式系統(tǒng)的業(yè)務板在接收到報文之前,分布式系統(tǒng)的接口板判斷接收到的報文是否為分片報文,如果是,根據(jù)報文的二元組信息進行哈希計算,得到第二哈希值,根據(jù)第二哈希值將接收到的報文發(fā)送至對應的業(yè)務板,如果否,則根據(jù)報文的五元組信息進行哈希計算,得到第三哈希值,根據(jù)第三哈希值將接收到的報文發(fā)送至對應業(yè)務板。
[0008]其中,分片報文的二元組信息包括:分片報文的源IP地址以及目的IP地址。
[0009]進一步的,上述方法還包括:在將報文發(fā)送至目的業(yè)務板之前,在報文中攜帶目的業(yè)務板的標識信息;在報文到達業(yè)務板時,刪除目的業(yè)務板標識。
[0010]根據(jù)本發(fā)明的另一個方面,提供了一種報文處理裝置,包括:第一判斷模塊,用于分布式系統(tǒng)的業(yè)務板在接收到報文時,判斷報文是否為分片報文;確定模塊,用于在第一判斷模塊的判斷結(jié)果為是時,由業(yè)務板處理報文,在第一判斷模塊的判斷結(jié)果為否時,對報文進行重組,根據(jù)重組后的報文的五元組信息確定報文的目的業(yè)務板;發(fā)送模塊,用于將報文發(fā)送至目的業(yè)務板。
[0011]其中,確定模塊包括:計算單元,用于根據(jù)重組后的報文的五元組信息進行哈希計算,得到第一哈希值;查找單元,用于根據(jù)第一哈希值查找對應的目的業(yè)務板。
[0012]其中,裝置還包括:第二判斷模塊,用于在分布式系統(tǒng)的業(yè)務板在接收到報文之前,分布式系統(tǒng)的接口板判斷接收到的報文是否為分片報文;發(fā)送模塊用于:在第二判斷模塊的判斷結(jié)果為是時,根據(jù)報文的二元組信息進行哈希計算,得到第二哈希值,根據(jù)第二哈希值將接收到的報文發(fā)送至對應的業(yè)務板,在第二判斷模塊的判斷結(jié)果為否時,則根據(jù)報文的五元組信息進行哈希計算,得到第三哈希值,根據(jù)第三哈希值將接收到的報文發(fā)送至對應業(yè)務板。
[0013]其中,分片報文的二元組信息包括:分片報文的源IP地址以及目的IP地址。
[0014]進一步的,上述裝置還包括:標識模塊,用于在將報文發(fā)送至目的業(yè)務板之前,在報文中攜帶目的業(yè)務板的標識信息;刪除模塊,用于在報文到達業(yè)務板時,刪除目的業(yè)務板標識。
[0015]本發(fā)明實施例的方案,在分布式系統(tǒng)的業(yè)務板接收到報文后,基于報文的五元組信息確定目的業(yè)務板,能夠保證基于同一五元組的分片報文和非分片報文被分到統(tǒng)一塊業(yè)務板。
【專利附圖】
【附圖說明】
[0016]圖1為相關(guān)技術(shù)的分布式架構(gòu)網(wǎng)關(guān)設備系統(tǒng)組成的示意圖;
[0017]圖2是本發(fā)明實施例的分片報文處理方法的流程圖;
[0018]圖3是本發(fā)明實施例3的報文處理方法的流程圖;
[0019]圖4是本發(fā)明實施例4的報文處理方法的流程圖;
[0020]圖5是本發(fā)明實施例的報文處理裝置的結(jié)構(gòu)框圖;
[0021]圖6是本發(fā)明實施例的報文處理原理圖。
【具體實施方式】
[0022]為了解決現(xiàn)有技術(shù)分布式架構(gòu)下對報文的分流方式無法保證基于同一五元組的分片報文和非分片報文被到統(tǒng)一塊業(yè)務板的問題,本發(fā)明提供了一種報文處理方法及裝置,以下結(jié)合附圖以及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
[0023]實施例1
[0024]圖2是本發(fā)明實施例的分片報文處理方法的流程圖。如圖2所示,該方法包括以下步驟:
[0025]步驟201:分布式系統(tǒng)的業(yè)務板接收到報文;
[0026]步驟202:判斷報文是否為分片報文,如果是,執(zhí)行步驟203,如果否,執(zhí)行步驟204 ;
[0027]步驟203:由該業(yè)務板處理報文;步驟204:對報文進行重組,根據(jù)重組后的報文的五元組信息確定報文的目的業(yè)務板;
[0028]步驟205:將報文發(fā)送至目的業(yè)務板。
[0029]在判斷當前業(yè)務板是否為目的業(yè)務板的操作,具體可以按照如下方式進行:
[0030]其中,根據(jù)重組后的報文的五元組信息確定報文的目的業(yè)務板,包括:根據(jù)重組后的報文的五元組信息進行哈希計算,得到第一哈希值;根據(jù)第一哈希值查找對應的目的業(yè)務板。
[0031]進一步的,在上述步驟201至步驟205的基礎上,上述方法還可以包括:在分布式系統(tǒng)的業(yè)務板在接收到報文之前,分布式系統(tǒng)的接口板判斷接收到的報文是否為分片報文,如果是,根據(jù)報文的二元組信息進行哈希計算,得到第二哈希值,根據(jù)第二哈希值將接收到的報文發(fā)送至對應的業(yè)務板,如果否,則根據(jù)報文的五元組信息進行哈希計算,得到第三哈希值,根據(jù)第三哈希值將接收到的報文發(fā)送至對應業(yè)務板,其中,分片報文的二元組信息包括:分片報文的源IP地址以及目的IP地址。
[0032]為了便于目的業(yè)務板對報文的識別,可以在待轉(zhuǎn)發(fā)至目的業(yè)務板之前,在報文中添加業(yè)務板的標識,進一步的,上述方法還可以包括:在將報文發(fā)送至目的業(yè)務板之前,在報文中攜帶目的業(yè)務板的標識信息;在報文到達業(yè)務板時,刪除目的業(yè)務板標識。
[0033]實施例2
[0034]本實施例以一個具體的實例對分布式系統(tǒng)的業(yè)務板對接收到的報文進行的處理分流進行闡述,需要說明的是,該實例僅為本發(fā)明的一個優(yōu)選實施方式,并不對本發(fā)明的造成唯一限定。
[0035]在本實施中,分布式系統(tǒng)的業(yè)務板對接收到的分片進行重組,并判斷重組完成后的報文是否應該由本業(yè)務板處理,對于不應該由本板處理的報文,對其進行重定向,將其轉(zhuǎn)發(fā)到正確的目的業(yè)務板,從而實現(xiàn)同一連接的分片報文和非分片報文在同一塊業(yè)務板處理。
[0036]圖3是本發(fā)明實施例3的報文處理方法的流程圖。如圖3所示,該方法包括如下處理:
[0037]S301,分布式系統(tǒng)的業(yè)務板接收報文;
[0038]S302,判斷報文是否包含目的業(yè)務板標記,若是,則轉(zhuǎn)入S303 ;否則,轉(zhuǎn)入S304 ;
[0039]S303,將報文轉(zhuǎn)發(fā)到目的業(yè)務板標記對應的業(yè)務板,流程結(jié)束;
[0040]S304,判斷報文是否是分片報文,若是,則轉(zhuǎn)入S306 ;否則,轉(zhuǎn)入S305 ;
[0041]S305,根據(jù)報文的五元組信息計算哈希值;
[0042]S306,根據(jù)報文的二元組信息計算哈希值;
[0043]S307,根據(jù)計算的哈希值,將報文轉(zhuǎn)發(fā)到對應的業(yè)務板,流程結(jié)束。
[0044]實施例3
[0045]本實施例以一個具體的實例對分布式系統(tǒng)的業(yè)務板對接收到的報文進行的處理分流進行闡述,需要說明的是,該實例僅為本發(fā)明的一個優(yōu)選實施方式,并不對本發(fā)明的造成唯一限定。
[0046]圖4是本發(fā)明實施例4的報文處理方法的流程圖。如圖4所示,該方法包括如下處理:
[0047]S401,分布式系統(tǒng)的業(yè)務板接收報文;
[0048]S402,判斷報文是否包含目的業(yè)務板標記,若是,則轉(zhuǎn)入S403 ;否則,轉(zhuǎn)入S404 ;
[0049]S403,刪除報文的目的業(yè)務板標記;
[0050]S404,判斷報文是否是分片報文,若是,則轉(zhuǎn)入S406 ;否則,轉(zhuǎn)入S405 ;
[0051]S405,將報文交給業(yè)務處理模塊處理,流程結(jié)束;
[0052]S406,調(diào)用內(nèi)核重組模塊進行重組;
[0053]S407,判斷內(nèi)核重組模塊是否完成了重組,若是,則轉(zhuǎn)入S408 ;否則,流程結(jié)束;
[0054]S408,根據(jù)重組后報文的五元組信息,采用和接口板相同的哈希算法,計算報文的哈希值;
[0055]S409,根據(jù)計算的哈希值,判斷重組后報文是否應該由本業(yè)務板處理,若是,則轉(zhuǎn)入S405 ;否則,轉(zhuǎn)入S410 ;
[0056]S410,給重組后報文中添加一個哈希值對應的目的業(yè)務板標記,并將報文轉(zhuǎn)發(fā)至目的業(yè)務板,流程結(jié)束。
[0057]實施例4
[0058]本實施例對用于實現(xiàn)報文處理方法的裝置進描述,該裝置可以是設置于業(yè)務板中的模塊,即上述方法可以借由業(yè)務板來實現(xiàn)。圖5是本發(fā)明實施例的報文處理裝置的結(jié)構(gòu)框圖,如圖5所示,該裝置50包括如下組成部分:
[0059]第一判斷模塊51,用于分布式系統(tǒng)的業(yè)務板在接收到報文時,判斷報文是否為分片報文;
[0060]確定模塊52,用于在第一判斷模塊的判斷結(jié)果為是時,由業(yè)務板處理報文,在第一判斷模塊的判斷結(jié)果為否時,對報文進行重組,根據(jù)重組后的報文的五元組信息確定報文的目的業(yè)務板;
[0061]發(fā)送模塊53,用于將報文發(fā)送至目的業(yè)務板。
[0062]其中,上述確定模塊52包括:計算單元,用于根據(jù)重組后的報文的五元組信息進行哈希計算,得到第一哈希值;查找單元,用于根據(jù)第一哈希值查找對應的目的業(yè)務板。
[0063]進一步的,上述裝置50還包括:第二判斷模塊,用于在分布式系統(tǒng)的業(yè)務板在接收到報文之前,分布式系統(tǒng)的接口板判斷接收到的報文是否為分片報文;基于此,上述發(fā)送模塊53用于:在第二判斷模塊的判斷結(jié)果為是時,根據(jù)報文的二元組信息進行哈希計算,得到第二哈希值,根據(jù)第二哈希值將接收到的報文發(fā)送至對應的業(yè)務板,在第二判斷模塊的判斷結(jié)果為否時,則根據(jù)報文的五元組信息進行哈希計算,得到第三哈希值,根據(jù)第三哈希值將接收到的報文發(fā)送至對應業(yè)務板。
[0064]其中,上述分片報文的二元組信息包括:分片報文的源IP地址以及目的IP地址。
[0065]進一步的,上述裝置還包括:標識模塊,用于在將報文發(fā)送至目的業(yè)務板之前,在報文中攜帶目的業(yè)務板的標識信息;刪除模塊,用于在報文到達業(yè)務板時,刪除目的業(yè)務板標識。圖6是本發(fā)明實施例的報文處理原理圖,以下結(jié)合該圖對報文處理流程中,報文處理裝置的各部分的功能進行介紹:
[0066]如圖6所示,業(yè)務板I以及業(yè)務板2中具有接收模塊、重新分流模塊、內(nèi)部轉(zhuǎn)發(fā)模塊、業(yè)務處理模塊,此處,可以理解為,上述業(yè)務板中的報文處理裝置40具有這些模塊,其中接收模塊具體可以為上述第一判斷模塊的一部分,重新分流模塊、內(nèi)部轉(zhuǎn)發(fā)模塊以及業(yè)務處理模塊可以為上述處理模塊的一部分,用于實現(xiàn)處理模塊的部分功能。
[0067]分流模塊,對于非分片報文I以及報文3,根據(jù)報文的五元組信息(即源IP、目的IP、協(xié)議號、源端口、目的端口)計算哈希值,并根據(jù)計算出的哈希值將報文發(fā)送到相應的目的業(yè)務板;對于分片報文,如圖6所示的報文2分片I以及報文2分片2,根據(jù)報文的二元組信息(即源IP、目的IP)計算哈希值,并將報文發(fā)送到相應的目的業(yè)務板。
[0068]業(yè)務板接收模塊,在接收到一個報文后進行判斷,如果報文是非分片報文,將報文交給業(yè)務處理模塊處理,如果報文是分片報文,則將報文交給重新分流模塊處理。重新分流模塊對分片報文進行重組,并使用和接口板相同的分流算法對重組后的報文進行哈希運算,如果哈希運算的結(jié)果是報文應該由本業(yè)務板處理,則將報文交給業(yè)務處理模塊處理;如果哈希運算的結(jié)果是報文應該由其他業(yè)務板處理,則內(nèi)部轉(zhuǎn)發(fā)模塊給報文添加相應的目的業(yè)務板標記后,將報文轉(zhuǎn)發(fā)出去。相應的目的業(yè)務板的內(nèi)部接收模塊接收轉(zhuǎn)發(fā)的報文,刪除報文的目的業(yè)務板標記,將報文交給業(yè)務處理模塊處理。
[0069]本發(fā)明實施例的方案,在分布式系統(tǒng)的業(yè)務板接收到報文后,基于報文的五元組信息確定目的業(yè)務板,能夠保證基于同一五元組的分片報文和非分片報文被分到統(tǒng)一塊業(yè)務板。
[0070]盡管為示例目的,已經(jīng)公開了本發(fā)明的優(yōu)選實施例,本領(lǐng)域的技術(shù)人員將意識到各種改進、增加和取代也是可能的,因此,本發(fā)明的范圍應當不限于上述實施例。
【權(quán)利要求】
1.一種報文處理方法,其特征在于,包括: 分布式系統(tǒng)的業(yè)務板在接收到報文時,判斷所述報文是否為分片報文; 如果是,由所述業(yè)務板處理所述報文,如果否,對所述報文進行重組,根據(jù)重組后的報文的五元組信息確定所述報文的目的業(yè)務板; 將所述報文發(fā)送至所述目的業(yè)務板。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)重組后的報文的五元組信息確定所述報文的目的業(yè)務板,包括: 根據(jù)重組后的報文的五元組信息進行哈希計算,得到第一哈希值; 根據(jù)所述第一哈希值查找對應的目的業(yè)務板。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在分布式系統(tǒng)的業(yè)務板在接收到報文之前,分布式系統(tǒng)的接口板判斷接收到的報文是否為分片報文,如果是,根據(jù)所述報文的二元組信息進行哈希計算,得到第二哈希值,根據(jù)第二哈希值將接收到的報文發(fā)送至對應的業(yè)務板,如果否,則根據(jù)所述報文的五元組信息進行哈希計算,得到第三哈希值,根據(jù)第三哈希值將接收到的報文發(fā)送至對應業(yè)務板。
4.如權(quán)利要求3所述的方法,其特征在于,所述分片報文的二元組信息包括: 所述分片報文的源IP地址以及目的IP地址。
5.如權(quán)利要求1至4任意一項所述的方法,其特征在于,所述方法還包括: 在將所述報文發(fā)送至目的業(yè)務板之前,在所述報文中攜帶目的業(yè)務板的標識信息; 在所述報文到達所述業(yè)務板時,刪除所述目的業(yè)務板標識。
6.一種報文處理裝置,其特征在于,包括: 第一判斷模塊,用于分布式系統(tǒng)的業(yè)務板在接收到報文時,判斷所述報文是否為分片報文; 確定模塊,用于在所述第一判斷模塊的判斷結(jié)果為是時,由所述業(yè)務板處理所述報文,在所述第一判斷模塊的判斷結(jié)果為否時,對所述報文進行重組,根據(jù)重組后的報文的五元組信息確定所述報文的目的業(yè)務板; 發(fā)送模塊,用于將所述報文發(fā)送至所述目的業(yè)務板。
7.如權(quán)利要求6所述的裝置,其特征在于,所述確定模塊包括: 計算單元,用于根據(jù)重組后的報文的五元組信息進行哈希計算,得到第一哈希值; 查找單元,用于根據(jù)所述第一哈希值查找對應的目的業(yè)務板。
8.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第二判斷模塊,用于在分布式系統(tǒng)的業(yè)務板在接收到報文之前,分布式系統(tǒng)的接口板判斷接收到的報文是否為分片報文; 所述發(fā)送模塊用于:在所述第二判斷模塊的判斷結(jié)果為是時,根據(jù)所述報文的二元組信息進行哈希計算,得到第二哈希值,根據(jù)第二哈希值將接收到的報文發(fā)送至對應的業(yè)務板,在所述第二判斷模塊的判斷結(jié)果為否時,則根據(jù)所述報文的五元組信息進行哈希計算,得到第三哈希值,根據(jù)第三哈希值將接收到的報文發(fā)送至對應業(yè)務板。
9.如權(quán)利要求8所述的裝置,其特征在于,所述分片報文的二元組信息包括: 所述分片報文的源IP地址以及目的IP地址。
10.如權(quán)利要求6至9任意一項所述的裝置,其特征在于,所述裝置還包括: 標識模塊,用于在將所述報文發(fā)送至目的業(yè)務板之前,在所述報文中攜帶目的業(yè)務板的標識信息; 刪除模塊,用于在所述報文到達所述業(yè)務板時,刪除所述目的業(yè)務板標識。
【文檔編號】H04L12/741GK104486226SQ201410812475
【公開日】2015年4月1日 申請日期:2014年12月23日 優(yōu)先權(quán)日:2014年12月23日
【發(fā)明者】陳旭, 李團營 申請人:北京天融信科技有限公司, 北京天融信網(wǎng)絡安全技術(shù)有限公司, 北京天融信軟件有限公司