專利名稱:報文處理方法和裝置、以及報文發(fā)送方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及移動通信領(lǐng)域,尤其是一種報文處理方法和裝置、以 及報文發(fā)送方法和裝置。
背景技術(shù):
由于拒絕服務(wù)(Denial of Service, DOS)和分布式拒絕服務(wù)(Distributed Denial of Service, DD0S)攻擊的頻率和次數(shù)在互聯(lián)網(wǎng)上迅速地增加,因此 服務(wù)提供商不得不承受巨大的壓力,來防御和減輕對基礎(chǔ)設(shè)施的DoS/DDoS攻 擊。在互聯(lián)網(wǎng)上,每天都會發(fā)生攻擊, 一般包括直接攻擊和遠(yuǎn)程受控攻擊。 特定的攻擊有可能造成服務(wù)提供商的基礎(chǔ)設(shè)施遭到嚴(yán)重破壞,或者帶寬被消 耗殆盡。因此在系統(tǒng)(路由器)上需要有一套完備的方案來防御DOS/DDOS攻擊。 在分布式路由器中,需要在線卡(Line Card, LC )上維護(hù)一張會話 (Session)表,便于將報文直接透傳到主控板(Main Board, MB)組中某一 個合適的MB上。
如圖l所示,為現(xiàn)有的會話表項創(chuàng)建/刪除的示意圖,當(dāng)任何MB上的接 口 (socket)層創(chuàng)建/刪除一個會話表項(session項)時,都將發(fā)送一條創(chuàng) 建/刪除session項消息給主要的主控板(Primary Main Board , PMB)的轉(zhuǎn) 發(fā)信息表(Forwarding Information Base, FIB)模塊,PMB的FIB模塊確保 session項在PMB上祐:添加/刪除,并將這些session項下載到所有的線卡 (Line Card, LC )上,LC上的IP協(xié)議棧(IP Stack)下載session項到轉(zhuǎn) 發(fā)引擎(Forwarding Engine, FE;硬件級集成電路(ASIC )/網(wǎng)絡(luò)處理器(Network Processor, NP )中。PMB的FIB模塊將根據(jù)預(yù)定義的策略來決定是否創(chuàng)建相應(yīng)的session項。PMB維護(hù)session表,以便于在合適的MB上重組l艮文。
Session表的主要內(nèi)容包括IP五元組(本地地址,遠(yuǎn)端地址,本地端口 ,
遠(yuǎn)端端口,協(xié)議號)和動作(Action),動作表示報文將被重定向到哪一塊特
定的MB或LC上,由Socket層靜態(tài)或動態(tài)的創(chuàng)建。
在下列階H socket層將通知PMB上的FIB添力口/4f改session項
1、 在用戶數(shù)據(jù)報協(xié)議(RAW Internet Protocol , RAWIP)中創(chuàng)建socket;
2、 在傳輸控制協(xié)議(Transmission Control Protocol, TCP) /用戶數(shù) 據(jù)報協(xié)議(User Datagram Protocol, UDP)中綁定本地端口、本地地址;
3、 在TCP中連接遠(yuǎn)端端口、遠(yuǎn)端地址;
4、 在TCP中與遠(yuǎn)端端口、遠(yuǎn)端地址斷開連接。
當(dāng)Socket關(guān)閉時,socket層將通知PMB上的FIB刪除session項。 而對于分片報文,如果session表中沒有相對應(yīng)的session項,那么FE
將添加 一條臨時s e s s i on項,當(dāng) 一段時間沒有使用后,將刪除該臨時的s e s s i on
項。如果一條臨時session項只于應(yīng)的7;jc久session項4皮添力口, 7jc久的session
項^!夸^,,換臨時的s e s s i on項。
現(xiàn)有的防止D0S/DD0S攻擊的方法,例如使用訪問控制表(Access Control
List, ACL),配置策略,速率限制等。但是都無法實現(xiàn)細(xì)粒度的防御攻擊。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種報文處理方法和裝置、以及報文發(fā)送方法和裝置, 可以細(xì)粒度的防止攻擊。
本發(fā)明實施例提供了一種報文處理方法,包括
收到報文后檢查會話表,查詢會話表中是否有與所述報文對應(yīng)的會話表
項;
6本發(fā)明實施例提供了一種報文發(fā)送方法,所述方法包括 搜索會話表,查找與待發(fā)送報文相對應(yīng)的會話表項; 檢查該報文流量與其對應(yīng)的會話表項對應(yīng)的預(yù)設(shè)速率,如果通過流量速 率檢查則發(fā)送待發(fā)送的報文;否則丟棄該待發(fā)送報文。
本發(fā)明實施例提供了一種報文處理裝置,所述裝置包括 查詢模塊,用于查詢所收到的報文所對應(yīng)的會話表項;
接收模塊,用于在所述查詢模塊查找到與收到的報文所對應(yīng)的會話表項
后接收所述接收到的報文。
本發(fā)明實施例提供了一種報文發(fā)送裝置,所述裝置包括 搜索模塊,用于搜索會話表,查找與待發(fā)送報文相對應(yīng)的會話表項; 發(fā)送模塊,用于檢查該報文流量與其對應(yīng)的會話表項對應(yīng)的預(yù)設(shè)速率,
如果通過流量速率檢查則發(fā)送待發(fā)送的報文;否則丟棄該待發(fā)送報文。
因此,本發(fā)明實施例報文處理方法和裝置、以及報文發(fā)送方法和裝置,
對于在本地才妻收的所有才艮文,才企查session表,并基于session表預(yù)防攻擊,
所以能夠細(xì)粒度的防御攻擊。
圖1為現(xiàn)有的會話表項創(chuàng)建/刪除的示意圖; 圖2為本發(fā)明實施例報文處理方法的流程圖3為本發(fā)明實施例報文處理方法對每一條表項進(jìn)行速率檢查的流程圖; 圖4為本發(fā)明實施例報文處理方法對所有會話表的總流量速率檢查的流
程圖5為本發(fā)明實施例報文處理方法的另一流程圖6為本發(fā)明實施例報文發(fā)送方法的流程圖7為本發(fā)明實施例報文發(fā)送方法對總流量進(jìn)行控制的流程圖。下面通過附圖和實施例,對本發(fā)明實施例的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
本發(fā)明實施例報文處理方法具體包括對本地接收的報文,檢查會話表, 如果沒有對應(yīng)的會話表項則丟棄該報文,如果有對應(yīng)的會話表項則接收該報 文。
fit, Ai4空;^Ji^^; session *, session socket沖莫^:^寸^。 Session 可以分成永久和臨時session兩類。臨時創(chuàng)建的臨時session主要用于處理 分片。
如圖2所示,為本發(fā)明實施例報文處理方法的流程圖,具體包括如下步
驟
步驟201,對本地收到的報文,檢查會話表,查詢會話表中是否有與所述
步驟202;如果會話表有與所述報文對應(yīng)的會話表項則執(zhí)行步驟203;
因為會話表的主要內(nèi)容包括IP五元組(本地地址,遠(yuǎn)端地址,本地端口, 遠(yuǎn)端端口,協(xié)議號)和動作(Action),會話表中包括合法的用戶發(fā)送的報文 對應(yīng)的表項;
步驟202,丟棄該報文;
步驟203,接收該報文。
因此,通過默認(rèn)的session表可以對接收到的報文進(jìn)行區(qū)分,控制平面 可以接收到所能識別的報文,在接收到的報文如果沒有相對應(yīng)的session項, 那么丟棄該報文,由此能夠丟棄由惡意站點發(fā)出的所有的偽造報文。
為了阻止非法用戶,可以使用過濾機制來便捷和有效的減輕大量的攻擊, 可以對每一個session項都采用一定的過濾機制,從而便于丟棄非法報文。 例如,對每一個session項都配置一個存活周期(Time to Live, TTL )過濾 器,這樣只能接收有限TTL范圍之內(nèi)的報文。因此在上述實施例步驟101中在檢查會話表后對報文進(jìn)行過濾,丟棄濾掉的報文,而且可以在丟棄改報文 后,將報文的發(fā)送方列入黑名單,如果之后收到的報文查詢是該發(fā)送方發(fā)送 的,則直接丟棄,不會進(jìn)一步處理,這樣使得收到所有列入黑名單的報文發(fā) 送方發(fā)出的報文直接丟棄。
再有,可以對會話表配置控制策略,如果會話表中有與所述報文對應(yīng)的
會話表項,則檢查所述報文是否滿足所述控制策略;如果滿足所述控制策略 則接收所述報文,否則丟棄所述報文。例如對每一個session項都采用一定 的報文流量速率限制,配置對會話配置一報文流量速率閾值,來方便丟棄非 法報文,收到報文后,如果會話表中有與所述報文對應(yīng)得會話表項,將接收 所述報文的速率限制在所述閾值內(nèi)。如圖3所示,為本發(fā)明實施例報文處理 方法對每一條表項進(jìn)行速率檢查的流程圖,具體步驟包括
步驟301,收到報文后檢查會話表,查詢會話表中是否有與所述報文對應(yīng) 的會話表項;如果會話表中有與所述報文對應(yīng)的會話表項,則執(zhí)行步驟302; 否則執(zhí)行步驟304;
步驟302,進(jìn)行該會話表項的流量速率檢查,如果通過該會話表項的流速 速率檢查則執(zhí)行步驟303;如果沒有通過則執(zhí)行步驟304;
步驟303,接收該報文;
步驟304,丟棄該報文。
丟棄的方法有很多,可以直接丟棄,或者間隔丟棄,或者按照預(yù)定義算 法丟棄。當(dāng)然本發(fā)明實施例不限于此。
間隔丟棄,就是在一個會話表項報文流量速率過大的情況下,可以間隔 丟棄報文,即發(fā)送一個報文然后丟棄一個報文,這樣可以使得該會話表報文 流量速率下降。按照預(yù)定義算法丟棄就是想對復(fù)雜一點,為了減少會話表項 報文流量速率,可以定義一種丟棄算法,滿足算法的報文即丟棄,其他報文 發(fā)送,這樣也可以使得該會話表報文流量速率下降。
其中的流量速率配置是對每一個session項的流量速率限制進(jìn)行配置,從而使每一個session項的流量是可控的,以此來限制控制平面的報文流量 速率;如果某個特定的時間, 一個session項的流量超過特定的閾值,那么 限制速率到一個較低的值,在這種方式下,服務(wù)可能有所限制,但不會完全 被切斷,由此可以保護(hù)其他客戶所使用的服務(wù),當(dāng)所有的流量都集中到一點, 又不能被阻塞,那么流量速率限制是非常重要的。
控制平面能夠?qū)γ總€永久session項的流量限制進(jìn)行配置,也能夠?qū)γ?個臨時session項的流量限制進(jìn)行配置。
對于分片報文,如果會話表中沒有對應(yīng)的session項,則會添加一條臨 時session項,持續(xù)一段時間以后如果沒有繼續(xù)使用該session項,則刪除 該臨時session項,而本實施例的方法對于永久和臨時的session項都會進(jìn) 行流量限制,而流量限制的方法是完全一樣的。
另外可以對所有會話表的總流量速率^r查,如圖4所示,為本發(fā)明實施 例報文處理方法對所有會話表的總流量速率檢查的流程圖,具體步驟包括
步驟401,當(dāng)所述才艮文通過該會話表項的每一個流速速率4企查后,4金查該 會話表所有會話表項上的總流速速率,如果通過則執(zhí)行步驟402;如果沒有通 過則執(zhí)行步驟403;
步驟4G2,接收該報文;
步驟403,丟棄改報文。
同樣丟棄的方法有很多,可以直接丟棄,或者間隔丟棄,或者按照預(yù)定 義算法丟棄。當(dāng)然本發(fā)明實施例不限于此。
這就要求每一個永久session項的總速率限制是可控的,每一個臨時 session項的總速率限制是可控的,所有臨時session項的總數(shù)是有限的。
如圖5所示,為本發(fā)明實施例報文處理方法的另一流程圖,該實施例是 對session 項上配置的每一個速率限制都應(yīng)用速率限制,而且總速率也進(jìn)行 限制,該方法具體包括如下步驟
步驟501,對于本地收的才艮文,;險查session表,然后為這些才艮文找出相應(yīng)的s e s s i on項;
步驟502,在該session項上配置的每一個速率限制都應(yīng)用速率限制,如 果該報文通過了每一個流速限制檢查,則執(zhí)行步驟503;否則執(zhí)行步驟505;
步驟503, 4企查配置在所有session上的總速率限制,如果通過^r測則^L 行步驟504;否則執(zhí)行步驟505;
步驟504,接收該報文;
步驟505,丟棄該報文。
同理丟棄的方法有很多,可以直接丟棄,或者間隔丟棄,或者按照預(yù)定 義算法丟棄。當(dāng)然本發(fā)明實施例不限于此。
本發(fā)明實施例報文處理方法裝置,包括查詢模塊,用于查詢所收到的 報文所對應(yīng)的會話表項;接收模塊,用于在所述查詢模塊查找到與收到的報 文所對應(yīng)的會話表項后接收所述接收到的報文。
進(jìn)一步的,該防止攻擊的裝置還包括控制策略配置模塊,其用于對會 話表配置報文接收控制策略。參數(shù)匹配模塊,用于對接收到的報文參數(shù)與控 制策略的設(shè)置參數(shù)進(jìn)行匹配,通知接收模塊接收符合控制策略的報文。報文 存活周期過濾器,其用于對所述裝置接收到的報文進(jìn)行過濾,選取預(yù)定存活 周期范圍內(nèi)的報文。報文流量速率配置模塊,其用于對會話表配置報文流量 的控制參數(shù)。黑名單記錄模塊,用于記錄不符合控制策略的報文發(fā)送方信息。
本發(fā)明實施例報文處理方法和裝置將LC上維護(hù)的會話(Session)表, 除了用作將報文直接透傳到MB組中某一個合適的MB上以外,還用來擴展到 防雄卩攻擊(例如Dos和DDoS )上,因為一個session代表一個報文流,所以 對于每一個session項都采用相同的策略,來有效的更加細(xì)粒度的防御 D0S/DD0S攻擊。由于Session表中維護(hù)的所有信息都會被下載到FE中,同時 在FE中應(yīng)用一定的配置策略、防火墻技術(shù)和速率限制,所以FE本身就能夠 達(dá)到防御DDoS攻擊的目的。
如圖6所示,為本發(fā)明實施例報文發(fā)送方法的流程圖,具體包括如下步驟
步驟601,搜索會話表,查找與待發(fā)送報文相對應(yīng)的會話表項;
步驟602,檢查該報文流量與其對應(yīng)的會話表項對應(yīng)的預(yù)設(shè)速率,如果通 過流量速率檢查則執(zhí)行步驟603;否則執(zhí)行步驟604;因此需要對會話表配置 報文流量控制參數(shù);
步驟603,發(fā)送待發(fā)送的報文;
步驟604,丟棄該待發(fā)送報文。
也可以對會話表配置報文總流量控制參數(shù),如圖7所示,為本發(fā)明實施 例報文發(fā)送方法對總流量進(jìn)行控制的流程圖,具體包括如下步驟
步驟701,通過流量速率檢查后檢查會話表總流量速率,如果通過會話表 總流量速率檢查則執(zhí)行步驟702;否則執(zhí)行步驟703;
步驟702,發(fā)送報文;
步驟703,丟棄待發(fā)送報文。
根據(jù)權(quán)利要求10所述的報文發(fā)送方法,其特征在于,所述方法還包括 對會話表配置報文總流量控制參數(shù)。
本發(fā)明實施例報文發(fā)送裝置,具體包括搜索模塊,用于搜索會話表, 查找與待發(fā)送報文相對應(yīng)的會話表項;發(fā)送模塊,用于檢查該報文流量與其 對應(yīng)的會話表項對應(yīng)的預(yù)設(shè)速率,如果通過流量速率檢查則發(fā)送待發(fā)送的報 文;否則丟棄該待發(fā)送報文。
因此,本發(fā)明實施例報文發(fā)送方法和裝置,在發(fā)送報文時候,可以設(shè)置 控制策略,例如流量控制和總流量控制,因此發(fā)送的報文經(jīng)過策略控制,而 不是任意發(fā)送。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明實施例的技術(shù)方案而 非限制,盡管參照較佳實施例對本發(fā)明實施例進(jìn)行了詳細(xì)說明,本領(lǐng)域的普 通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明實施例的技術(shù)方案進(jìn)行修改或者等同替 換,而不脫離本發(fā)明實施例技術(shù)方案的精神和范圍。
1權(quán)利要求
1、一種報文處理方法,其特征在于,所述方法包括收到報文后檢查會話表,查詢會話表中是否有與所述報文對應(yīng)的會話表項;如果會話表中沒有與所述報文對應(yīng)的會話表項則丟棄所述收到的報文,如果會話表中有與所述報文對應(yīng)得會話表項則接收所述報文。
2、 根據(jù)權(quán)利要求1所述的報文處理方法,其特征在于,所述方法還包括 對會話表配置控制策略;如果會話表中有與所述報文對應(yīng)的會話表項,則檢查所述報文是否滿足 所述控制策略;如果滿足所述控制策略則接收所述報文,否則丟棄所述報文。
3、 根據(jù)權(quán)利要求2所述的報文處理方法,其特征在于,所述控制策略具 體為對會話表項設(shè)置一存活周期過濾器。
4、 根據(jù)權(quán)利要求2所述的報文處理方法,其特征在于,所述控制策略具 體為報文流量速率限制,配置對會話配置一報文流量速率閾值;所述方法具體為收到報文后,如果會話表中有與所述報文對應(yīng)得會話 表項,將接收所述報文的速率限制在所述閾值內(nèi)。
5、 根據(jù)權(quán)利要求4所述的報文處理方法,其特征在于當(dāng)所述報文通過 該會話表項的流量速率檢查后,檢查該會話表所有會話表項上的總流量速率, 如果通過則接收該^^艮文,如果沒有通過則丟棄該^R文。
6、 根據(jù)權(quán)利要求1或2所述的報文處理方法,其特征在于在丟棄所述 報文后,將報文的發(fā)送方列入黑名單。
7、 根據(jù)權(quán)利要求6所述的報文處理方法,其特征在于列入黑名單的報 文發(fā)送方發(fā)出的報文將直接丟棄。
8、 一種報文發(fā)送方法,其特征在于,所述方法包括 搜索會話表,查找與待發(fā)送報文相對應(yīng)的會話表項;檢查該報文流量與其對應(yīng)的會話表項對應(yīng)的預(yù)設(shè)速率,如果通過流量速率檢查則發(fā)送待發(fā)送的報文;否則丟棄該待發(fā)送報文。
9、 根據(jù)權(quán)利要求8所述的報文發(fā)送方法,其特征在于,所述方法還包括 對會話表配置報文流量控制參數(shù)。
10、 根據(jù)權(quán)利要求8或9所述的報文發(fā)送方法,其特征在于,所述方法 還包括:通過流量速率檢查后檢查會話表總流量速率,如果通過會話表總流量 速率檢查則發(fā)送報文,否則丟棄待發(fā)送報文。
11、 根據(jù)權(quán)利要求10所述的報文發(fā)送方法,其特征在于,所述方法還 包括對會話表配置報文總流量控制參數(shù)。
12、 一種報文處理裝置,其特征在于,所述裝置包括 查詢模塊,用于查詢所收到的報文所對應(yīng)的會話表項;接收模塊,用于在所述查詢模塊查找到與收到的報文所對應(yīng)的會話表項 后接收所述接收到的報文。
13、 根據(jù)權(quán)利要求12所述的報文處理裝置,其特征在于,所述裝置還 包括控制策略配置模塊,其用于對會話表配置報文接收控制策略 參數(shù)匹配才莫塊,用于對接收到的報文參數(shù)與控制策略的設(shè)置參數(shù)進(jìn)行匹 配,通知接收模塊接收符合控制策略的報文。
14、 根據(jù)權(quán)利要求13所述的報文處理裝置,其特征在于,所述控制策 略配置模塊還包括報文存活周期過濾器,其用于對所述裝置接收到的報文進(jìn)行過濾,選取 預(yù)定存活周期范圍內(nèi)的報文。
15、 根據(jù)權(quán)利要求13所述的報文處理裝置,其特征在于,所述控制策 略配置模塊還包括報文流量速率配置模塊,其用于對會話表配置報文流量的控制參數(shù)。
16、 根據(jù)權(quán)利要求13所述的報文處理裝置,其特征在于,所述裝置還包括黑名單記錄模塊,用于記錄不符合控制策略的報文發(fā)送方信息。
17、 一種報文發(fā)送裝置,其特征在于,所述裝置包括 搜索模塊,用于搜索會話表,查找與待發(fā)送報文相對應(yīng)的會話表項; 發(fā)送模塊,用于檢查該報文流量與其對應(yīng)的會話表項對應(yīng)的預(yù)設(shè)速率, 如果通過流量速率檢查則發(fā)送待發(fā)送的報文;否則丟棄該待發(fā)送報文。
全文摘要
本發(fā)明實施例涉及一種報文處理方法,包括收到報文后檢查會話表,查詢會話表中是否有與所述報文對應(yīng)的會話表項;如果會話表中沒有與所述報文對應(yīng)的會話表項則丟棄所述收到的報文,如果會話表中有與所述報文對應(yīng)的會話表項則接收所述報文。本發(fā)明實施例涉及一種報文發(fā)送方法,包括搜索會話表,查找與待發(fā)送報文相對應(yīng)的會話表項;檢查該報文流量與其對應(yīng)的會話表項對應(yīng)的預(yù)設(shè)速率,如果通過流量速率檢查則發(fā)送待發(fā)送的報文;否則丟棄該待發(fā)送報文。本發(fā)明實施例涉及一種報文處理裝置和報文發(fā)送裝置。因此,本發(fā)明實施例對于在本地接收的所有報文,檢查session表,并基于session表預(yù)防攻擊,所以能夠細(xì)粒度的防御攻擊。
文檔編號H04L12/56GK101459583SQ20071017948
公開日2009年6月17日 申請日期2007年12月13日 優(yōu)先權(quán)日2007年12月13日
發(fā)明者帕拉迪, 拉介什, 涂伯顏, 羅漢軍 申請人:華為技術(shù)有限公司