一種報文轉發(fā)方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種報文轉發(fā)方法及裝置,該方法包括:判斷接收的報文是否攜帶流量清洗標記,所述流量清洗標記用于表示當前報文為已經過檢測的正常報文;當所述報文中攜帶流量清洗標記時,轉發(fā)所述報文。本發(fā)明可提高正常報文的轉發(fā)效率。
【專利說明】
一種報文轉發(fā)方法及裝置
技術領域
[0001]本發(fā)明涉及網絡通信技術領域,尤其涉及一種報文轉發(fā)方法及裝置。【背景技術】
[0002]隨著互聯網應用的不斷發(fā)展,網絡攻擊造成的后果越來越嚴重。其中,DoS(Denial of service,拒絕服務)/DDos(Distributed Denial of Service,分布式拒絕服務)攻擊 (統(tǒng)稱拒絕服務攻擊)由于其隱蔽性及易于實施而成為慣用攻擊手段。
[0003]目前,針對拒絕服務攻擊比較流行的做法是在最接近攻擊源的設備上下發(fā)轉發(fā)平面的流量控制策略,例如,Fl〇wSpeC(Fl〇W Specificat1n,流說明)流量控制策略,該流量控制策略可精準的匹配攻擊流量,并對攻擊流量進行過濾和控制,從而減少攻擊流量對網絡轉發(fā)性能的影響。
[0004]FlowSpec流量控制策略可通過路由協議攜帶,例如,BGP (Border Gateway Protocol,邊界網關協議),從而在運行BGP協議的網絡設備下發(fā)FlowSpec流量控制策略,并對每一個經過的流量(包括正常流量)進行FlowSpec檢測,以識別攻擊流量,這在一定程度上影響正常流量的傳輸效率。
【發(fā)明內容】
[0005]本發(fā)明的目的在于提供一種報文轉發(fā)方法及裝置,用以降低運營商網絡中各網絡設備對正常流量的檢測次數。
[0006]為實現上述發(fā)明目的,本發(fā)明提供了技術方案:
[0007]本發(fā)明提供一種報文轉發(fā)方法,應用于運營商網絡中的網絡設備,所述方法包括:
[0008]判斷接收的報文是否攜帶流量清洗標記,所述流量清洗標記用于表示當前報文為已經過檢測的正常報文;
[0009]當所述報文中攜帶流量清洗標記時,轉發(fā)所述報文。
[0010]本發(fā)明還提供一種報文轉發(fā)裝置,應用于運營商網絡中的網絡設備,所述裝置包括:
[0011]標記判斷單元,用于判斷接收的報文是否攜帶流量清洗標記,所述流量清洗標記用于表示當前報文為已經過檢測的正常報文;
[0012]報文轉發(fā)單元,用于當所述報文中攜帶流量清洗標記時,轉發(fā)所述報文。
[0013]由以上描述可以看出,本發(fā)明實施例提出一種報文轉發(fā)方法,該方法在確認接收的報文中攜帶流量清洗標記時,對報文直接轉發(fā),不進行檢測,從而提高正常報文的轉發(fā)效率。【附圖說明】
[0014]圖1是本發(fā)明實施例示出的防攻擊網絡示意圖;
[0015]圖2是本發(fā)明實施例示出的報文轉發(fā)方法流程圖;
[0016]圖3是本發(fā)明實施例示出的IP報文頭格式;
[0017]圖4A是本發(fā)明實施例示出的網絡設備的結構示意圖;
[0018]圖4B是圖4A所示網絡設備的報文轉發(fā)裝置的結構示意圖。【具體實施方式】
[0019]這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0020]在本發(fā)明使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。 在本發(fā)明和所附權利要求書中所使用的單數形式的“一種”、“”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯的列出項目的任何或所有可能組合。
[0021]應當理解,盡管在本發(fā)明可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本發(fā)明范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當…… 時”或“響應于確定”。
[0022]在具體闡述本發(fā)明實施例之前,首先簡單介紹一下本發(fā)明實施例中會涉及到的相關技術。[〇〇23] DoS/DDoS攻擊為一種集中流量攻擊技術,攻擊者通過控制成千上萬的攻擊設備對同一個目標(用戶地址或者服務器)同時發(fā)起流量攻擊,導致該目的地址的上游接入設備或受攻擊服務器被異常流量擁塞,用戶無法正常使用。該攻擊方式容易實施、隱蔽性強、簡單有效,因此,成為黑客慣用攻擊手段,對網絡安全構成嚴重威脅,給企業(yè)和用戶帶來了巨大的經濟損失和影響。[〇〇24]目前,針對DoS/DDoS攻擊最有效的防御方式是在最接近攻擊源的設備上下發(fā)轉發(fā)平面的流量控制策略,對匹配流量控制策略的攻擊流量進行過濾和控制,從而在攻擊源附近對攻擊流量進行限制,降低對用戶網絡的威脅。
[0025]在IETF(Internet Engineering Task Force,國際互聯網工程任務組)的RFC文檔中,FlowSpec被定義為可應用于IP(Internet Protocol,網際協議)流量的由若干匹配規(guī)則組成的n元組,例如,源地址、目的地址、端口、源端口、目的端口、協議類型、ICMPdnternet Control Message Protocol,國際控制報文協議)類型、分片情況、TCP (Transmiss1n Control Protocol,傳輸控制協議)標記、DSCP(Differentiated Services Code Point,差分服務代碼點)值等。因此,可利用FlowSpec技術部署流量控制策略(簡稱FlowSpec流量控制策略),以達到精準匹配攻擊流量,并對攻擊流量執(zhí)行多種選擇動作,例如,全部丟棄、限速、流量重定向或者修改IP報文的DSCP值等,從而減輕DoS/DDoS攻擊的影響。
[0026] BGP (Border Gateway Protocol,邊界網關協議)是用來在 AS (Autonomous System,自治系統(tǒng))之間傳遞選路信息的路徑向量協議,是域間路由協議,著眼于控制路由的傳播和選擇最好的路由。利用BGP協議報文的NLRI (Network Layer Reachabi 1 ityInformat1n,網絡層可達信息)字段可封裝其它協議信息,并傳遞給其他配置了 BGP協議的設備,因此,很多協議借助BGP的這種協議擴展能力來傳遞自己需要的各種路由信息。
[0027]FlowSpec技術同樣可借助BGP的協議擴展能力,將FlowSpec流量控制策略分發(fā)到其他配置BGP協議的設備上,并下發(fā)到設備的轉發(fā)平面。設備根據FlowSpec流量控制策略對經過的流量(包括正常流量)進行FlowSpec檢測,對匹配FlowSpec流量控制策略的攻擊流量進行過濾和控制,從而在攻擊源附近對攻擊流量進行限制,降低對用戶網絡的威脅。但是, 該FlowSpec檢測方式會影響正常流量的傳輸效率。
[0028]本發(fā)明實施例提出一種報文轉發(fā)方法,該方法在確認接收的報文中攜帶流量清洗標記時,對報文直接轉發(fā),不再進行FlowSpec檢測,從而提高正常報文的轉發(fā)效率。
[0029]參見圖1,為本發(fā)明實施例示出的一種防攻擊網絡示意圖。該防攻擊網絡包括用戶網絡10、用戶網絡20以及運營商網絡30。其中,用戶網絡10包括主機11和網絡設備12;用戶網絡20包括王機21和網絡設備22;運宮商網絡30包括網絡設備31?網絡設備33。
[0030]首先,各網絡設備通過BGP協議建立鄰居關系。當網絡設備(例如,網絡設備12)檢測到攻擊時,生成一條FlowSpec表項(即FlowSpec流量控制策略),并觸發(fā)BGP協議生成BGP FlowSpec路由,該BGP FlowSpec路由攜帶FlowSpec表項信息,通過BGP鄰居將該BGP FlowSpec路由通告給其它網絡設備。[〇〇31] 運營商網絡中的網絡設備(例如,網絡設備31)接收到該BGP FlowSpec路由后,將該BGP FlowSpec路由下發(fā)到轉發(fā)平面,生成FlowSpec表項,后續(xù)根據該FlowSpec表項匹配接收的報文進行FlowSpec檢測,從而確定接收的報文是否為攻擊報文,進而采取相應措施 (例如,過濾或限流)。
[0032]參見圖2,為本發(fā)明報文轉發(fā)方法的一個實施例流程圖,該實施例對報文轉發(fā)過程進行描述。
[0033]在以下描述中,將未作限定的網絡設備默認為運營商網絡的網絡設備。[0〇34]步驟201,判斷接收的報文是否攜帶流量清洗標記。[〇〇35]本發(fā)明實施例中的流量清洗標記用于表示當前報文已進行過FlowSpec檢測,且檢測結果為正常報文。[〇〇36]步驟202,當所述報文中攜帶流量清洗標記時,轉發(fā)所述報文。
[0037]當網絡設備接收到攜帶流量清洗標記的報文時,說明當前報文是已經被其它網絡設備檢測過的正常報文,因此,不再對該報文執(zhí)行FlowSpec檢測,直接進行轉發(fā),從而減少對正常報文的檢測次數,提高正常報文的轉發(fā)效率。
[0038]當根據步驟201的判斷結果,確認報文中未攜帶流量清洗標記時,對接收的報文執(zhí)行FlowSpec檢測,即根據網絡設備中已下發(fā)的FlowSpec表項(如前所述FlowSpec表項通過 BGP協議攜帶并分發(fā),該FlowSpec表項記錄了攻擊報文的報文特征,即攻擊報文的n元組信息)判斷當前報文是否為攻擊報文。
[0039]當接收的報文的報文特征與FlowSpec表項中記錄的攻擊報文的報文特征相同時, 確定接收的報文為攻擊報文;否則,不為攻擊報文。當接收的報文不為攻擊報文時,網絡設備為該報文添加流量清洗標記后轉發(fā),以提示后續(xù)接收到該報文的網絡設備該報文為經過檢測的正常報文,無需再執(zhí)行FlowSpec檢測。
[0040]在一種較優(yōu)的實施方式中,網絡設備可在現有IP報文的報文頭中攜帶流量清洗標記,以表示當前報文為經過檢測的正常報文。具體地,可在圖3所示IP報文頭的標志字段 (3Bit)攜帶,該標志字段包括3位(Bit),其中,第一位未被使用;第二位為DF(Don’t Fragment,禁止分片)位,只有當DF位為0時才允許分片;第三位為MF(More Fragment,多分片)位,當MF位為1時表示后面還有分片報文,為0時表示最后一個分片。本發(fā)明實施例利用標志字段中未被使用的第一位作為清洗標記位,攜帶流量清洗標記。例如,當檢測當前報文為正常報文時,設置清洗標記位為1。當其他網絡設備接收到該報文時,通過識別該清洗標記位確認當前報文為正常報文,進而不再執(zhí)行FlowSpec檢測,直接轉發(fā)。[〇〇411當網絡設備通過FlowSpec檢測確認報文為攻擊報文時,丟棄該報文,從而實現對攻擊報文的攔截,屏蔽了對用戶網絡的影響。
[0042]此外,為了防止攻擊者獲知本發(fā)明的防御策略,而在攻擊報文中攜帶流量清洗標記,進而規(guī)避FlowSpec檢測,本發(fā)明實施例對接收的報文首先進行網絡來源的檢測,即判斷接收的報文是否來自運營商網絡內部,對于來自運營商網絡內部的報文執(zhí)行前述步驟201 和步驟202的處理;對于不是來自運營商網絡內部的報文,例如,來自用戶網絡的報文,則清除報文中的流量清洗標記,再執(zhí)行步驟201和步驟202的處理,即對從用戶網絡進入運營商網絡的報文強制執(zhí)行FlowSpec檢測。
[0043]現仍以圖1為例,詳細介紹報文轉發(fā)過程。
[0044]假設,主機21向主機11發(fā)送IP報文,該IP報文經過網絡設備22轉發(fā)后進入運營商網絡30。
[0045]網絡設備33接收網絡設備22轉發(fā)的IP報文,根據接收該IP報文的接口,確定與該接口連接的設備(運營商網絡30外部的設備或運營商網絡30內部的設備),進而確定該IP報文是來自運營商網絡30內部的報文,還是來自運營商網絡30外部網絡的報文。當確認該IP 報文來自運營商網絡30外部時,強制清除IP報文中的流量清洗標記(如前所述,可設置IP報文中標志字段的第一位為0)。[〇〇46]網絡設備33對接收的IP報文執(zhí)行FlowSpec檢測,當檢測該IP報文為攻擊報文(本實施例默認網絡設備33中已存在該IP報文對應的FlowSpec表項)時,將該IP報文丟棄,不再向網絡設備32轉發(fā);當檢測該IP報文為正常報文時,在該IP報文中添加流量清洗標記(設置 IP報文中標志字段的第一位為1),并轉發(fā)給網絡設備32。[〇〇47]網絡設備32確認接收的IP報文來自運營商網絡30內部,并確認該IP報文攜帶流量清洗標記,則不再執(zhí)行FlowSpec檢測,直接轉發(fā)給網絡設備31。[〇〇48]同理,網絡設備31在確認接收的IP報文來自運營商網絡30內部,且該IP報文攜帶流量清洗標記時,不執(zhí)行FlowSpec檢測,直接轉發(fā)給網絡設備12。[〇〇49]網絡設備12將IP報文轉發(fā)給主機11。[〇〇5〇]由本實施例可以看出,在運營商網絡中,正常報文只執(zhí)行了一個FlowSpec檢測,大大提高了正常報文的轉發(fā)效率。
[0051]與前述報文轉發(fā)方法的實施例相對應,本發(fā)明還提供了報文轉發(fā)裝置的實施例。 [〇〇52]本發(fā)明報文轉發(fā)裝置400的實施例可以應用在網絡設備上。裝置實施例可以通過軟件實現,也可以通過硬件或者軟硬件結合的方式實現。以軟件實現為例,作為一個邏輯意義上的裝置,是通過其所在設備的處理器運行存儲器中對應的計算機程序指令形成的。從硬件層面而言,如圖4A所示,為本發(fā)明報文轉發(fā)裝置所在設備的一種硬件結構圖,除了圖4A所示的處理器以及非易失性存儲器之外,實施例中裝置所在的設備通常根據該設備的實際功能,還可以包括其他硬件,對此不再贅述。
[0053]請參考圖4B,為本發(fā)明一個實施例中的報文轉發(fā)裝置400的結構示意圖。該報文轉發(fā)裝置400包括標記判斷單元401和報文轉發(fā)單元402,其中:
[0054]標記判斷單元401,用于判斷接收的報文是否攜帶流量清洗標記,所述流量清洗標記用于表示當前報文為已經過檢測的正常報文;[〇〇55]報文轉發(fā)單元402,用于當所述報文中攜帶流量清洗標記時,轉發(fā)所述報文。[〇〇56] 進一步地,所述裝置400還包括:
[0057]報文判斷單元,用于當所述報文中未攜帶流量清洗標記時,判斷所述報文是否為攻擊報文;
[0058]標記添加單元,用于當所述報文不為攻擊報文時,為所述報文添加流量清洗標記;
[0059]所述報文轉發(fā)單元402,還用于轉發(fā)所述添加流量清洗標記的報文。
[0060]進一步地,所述裝置400還包括:[〇〇61]報文接收單元,用于在所述報文判斷單元判斷所述報文是否為攻擊報文之前,接收邊界網關協議BGP報文,所述BGP報文攜帶流說明FlowSpec表項,所述FlowSpec表項中記錄了攻擊報文的報文特征;[0〇62]所述報文判斷單元,具體用于當所述接收的報文的報文特征與所述FlowSpec表項中記錄的攻擊報文的報文特征相同時,確定所述接收的報文為攻擊報文;否則,確定所述接收的報文不為攻擊報文。[〇〇63] 進一步地,所述裝置400還包括:
[0064]標記清除單元,用于在所述標記判斷單元401判斷接收的報文中是否攜帶流量清洗標記之前,判斷所述報文是否來自于運營商網絡內部;當所述報文不是來自于運營商網絡內部時,清除所述報文中的流量清洗標記。
[0065]進一步地,[〇〇66]所述流量清洗標記攜帶在報文頭中標志字段的第一位Bit。
[0067]上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
[0068]對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部模塊來實現本發(fā)明方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0069]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。
【主權項】
1.一種報文轉發(fā)方法,應用于運營商網絡中的網絡設備,其特征在于,所述方法包括: 判斷接收的報文是否攜帶流量清洗標記,所述流量清洗標記用于表示當前報文為已經過檢測的正常報文;當所述報文中攜帶流量清洗標記時,轉發(fā)所述報文。2.如權利要求1所述的方法,其特征在于,所述方法還包括:當所述報文中未攜帶流量清洗標記時,判斷所述報文是否為攻擊報文;當所述報文不為攻擊報文時,為所述報文添加流量清洗標記;轉發(fā)所述添加流量清洗標記的報文。3.如權利要求2所述的方法,其特征在于,所述判斷所述報文是否為攻擊報文之前,還 包括:接收邊界網關協議BGP報文,所述BGP報文攜帶流說明FlowSpec表項,所述FlowSpec表 項中記錄了攻擊報文的報文特征;所述判斷所述報文是否為攻擊報文,包括:當所述接收的報文的報文特征與所述FlowSpec表項中記錄的攻擊報文的報文特征相 同時,確定所述接收的報文為攻擊報文;否則,確定所述接收的報文不為攻擊報文。4.如權利要求1所述的方法,其特征在于,所述判斷接收的報文中是否攜帶流量清洗標 記之前,還包括:判斷所述報文是否來自于運營商網絡內部;當所述報文不是來自于運營商網絡內部時,清除所述報文中的流量清洗標記。5.如權利要求1至4任一所述的方法,其特征在于:所述流量清洗標記攜帶在報文頭中標志字段的第一位Bit。6.—種報文轉發(fā)裝置,應用于運營商網絡中的網絡設備,其特征在于,所述裝置包括: 標記判斷單元,用于判斷接收的報文是否攜帶流量清洗標記,所述流量清洗標記用于表示當前報文為已經過檢測的正常報文;報文轉發(fā)單元,用于當所述報文中攜帶流量清洗標記時,轉發(fā)所述報文。7.如權利要求6所述的裝置,其特征在于,所述裝置還包括:報文判斷單元,用于當所述報文中未攜帶流量清洗標記時,判斷所述報文是否為攻擊 報文;標記添加單元,用于當所述報文不為攻擊報文時,為所述報文添加流量清洗標記;所述報文轉發(fā)單元,還用于轉發(fā)所述添加流量清洗標記的報文。8.如權利要求7所述的裝置,其特征在于,所述裝置還包括:報文接收單元,用于在所述報文判斷單元判斷所述報文是否為攻擊報文之前,接收邊 界網關協議BGP報文,所述BGP報文攜帶流說明FlowSpec表項,所述FlowSpec表項中記錄了 攻擊報文的報文特征;所述報文判斷單元,具體用于當所述接收的報文的報文特征與所述FlowSpec表項中記 錄的攻擊報文的報文特征相同時,確定所述接收的報文為攻擊報文;否則,確定所述接收的 報文不為攻擊報文。9.如權利要求6所述的裝置,其特征在于,所述裝置還包括:標記清除單元,用于在所述標記判斷單元判斷接收的報文中是否攜帶流量清洗標記之前,判斷所述報文是否來自于運營商網絡內部;當所述報文不是來自于運營商網絡內部時, 清除所述報文中的流量清洗標記。10.如權利要求6至9任一所述的裝置,其特征在于:所述流量清洗標記攜帶在報文頭中標志字段的第一位Bit。
【文檔編號】H04L12/801GK106059939SQ201610339071
【公開日】2016年10月26日
【申請日】2016年5月19日
【發(fā)明人】余清炎
【申請人】杭州華三通信技術有限公司