專利名稱:一種處理報文的方法和裝置的制作方法
技術領域:
本發明涉及通信領域,特別涉及一種處理報文的方法和裝置。
背景技術:
隨著寬帶技術的不斷發展,多媒體業務如流媒體、視頻會議和視頻點播等,正在成為信息傳送的重要組成部分,多媒體業務的傳輸特性是單點發送多點接收,而傳統的點對點傳輸的單播方式和點對所有點傳輸的廣播方式已經不能適應多媒體業務的傳輸特性,在這種情況下組播應運而生。組播是組播源與組播用戶之間一對一組(即一對多)的通訊模式,組播用戶可以向使能了IGMP( Internet Group Management Protocol,因特網組管理協議)協議的路由器請求加入或退出某個組播組,當組播用戶請求加入某個組播組時,會向組播用戶所在的交換機發送IGMP Report (因特網組管理協議報告)報文,通過交換機將IGMP Report報文發送給使能了 IGMP協議的路由器;當主機請求退出某個組播組時,會向組播用戶所在的交換機發送IGMP Leave (因特網組管理協議離開)報文,通過交換機將該IGMP Leave報文發送給使能了 IGMP協議的路由器。當交換機下存在組播用戶時,如果惡意組播用戶發送大量的IGMP Report報文或IGMP Leave報文,會使得發送到交換機和使能了 IGMP協議的路由器的IGMP報文過多,而導致一些合法的IGMP Report報文或IGMP Leave無法得到及時處理甚至丟失。為了避免受到IGMP報文的攻擊,現有技術中提供了兩種處理IGMP報文的方法,具體如下
1) 在交換機上配置IGMP Report報文抑制,當使能了 IGMP協議的路由器發送IGMP查詢報文后,同一組播組(無論包含多少組播用戶)只需要發送一份IGMP Report報文給使能了IGMP協議的路由器。
2) 限制一個交換機下組播用戶可加入的組播組數目,并結合DHCP Snooping (DynamicHost Configuration Protocol Snooping,動態主機配置協議偵聽)將交換機端口、 MAC (MediaAccess Control,介質訪問控制)地址和IP地址綁定,當收到組播用戶發送IGMP Report報文時,根據交換機端口、 MAC地址和IP地址綁定關系,對組播用戶的身份進行驗證。
在實現本發明的過程中,發明人發現現有技術至少存在以下問題1) 現有技術一通過在交換機上配置IGMP Report報文抑制,間接保護使能了 IGMP協議的路由器,但卻沒有保護交換機本身;只配置了 IGMP Report報文抑制,沒有對IGMP Leave報文進行抑制,而IGMP Leave報文是另一個攻擊的途徑,且影響范圍很大。
2) 現有技術二限制了一個交換機下組播用戶可加入的組播組數,但當組播用戶頻繁在不同組播組之間加入或離開,卻不超過該交換機下可加入的組播組數時,也會發送大量的IGMP報文,沒有解決組播用戶頻繁在不同組播組之間加入或離開的問題;另外現有技術二將交換機端口 、 MAC地址和IP地址進行了綁定,但將組播用戶發送的IGMP Leave報文直接上送,無法阻止IGMP Leave報文攻擊。
發明內容
為了提高設備的防攻擊能力,避免受到IGMP報文的攻擊,本發明實施例提供了一種處理
報文的方法和裝置。所述技術方案如下
一方面,本發明實施例提供了一種處理報文的方法,所述方法包括接收來自發送方的因特網組管理協議請求報文;讀取本地記錄的所述發送方發送報文的頻率值;
當所述頻率值大于預設的頻率閾值時,則丟棄所述因特網組管理協議請求報文。一方面,本發明實施例提供了一種處理報文的裝置,所述裝置包括接收模塊,用于接收來自發送方的因特網組管理協議請求報文;
第一讀取模塊,用于在所述接收模塊接收到所述因特網組管理協議請求報文后,讀取本地記錄的所述發送方發送報文的頻率值;
第一丟棄模塊,用于在第一讀取模塊讀取到的所述頻率值大于預設的頻率閾值后,丟棄所述因特網組管理協議請求報文。
本發明實施例提供的技術方案的有益效果是
通過丟棄大于頻率閾值的IGMP報文,使得交換機上不會存在大量的IGMP報文,提高了交換機的防攻擊能力,避免了交換機受到IGMP報文的攻擊,對交換機本身進行了保護;
并且,通過丟棄大于頻率閾值的IGMP報文,也解決了組播用戶通過頻繁在不同組播組之間加入或離開時發送IGMP報文進行攻擊的問題;另夕卜,通過丟棄大于頻率閾值的IGMP報文,提高了組播業務的可靠性,避免網絡受到IGMP報文的攻擊,提升了網路安全性,使得在保證設備和網絡安全的情況下不影響用戶體驗。
圖1是本發明實施例1提供的一種處理報文的方法流程圖2是本發明實施例2提供的一種處理報文的方法流程圖3是本發明實施例3提供的第一種處理報文的裝置結構示意圖4是本發明實施例3提供的第二種處理報文的裝置結構示意圖5是本發明實施例3提供的第三種處理報文的裝置結構示意圖6是本發明實施例3提供的第四種處理報文的裝置結構示意圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。實施例1
參見圖l,本發明實施例提供了一種處理報文的方法,具體包括101:接收來自發送方的因特網組管理協議請求報文;102:讀取本地記錄的發送方發送報文的頻率值;
103:當頻率值大于預設的頻率閾值時,則丟棄因特網組管理協議請求報文。進一步,讀取本地記錄的發送方發送報文的頻率值之前,還包括設置定時時間;
在定時時間內統計接收到的發送方發送報文的個數,發送方發送的報文包括因特網組管理協議報告報文和因特網組管理協議離開報文;
根據定時時間和統計到的發送方發送報文的個數,得到發送方發送報文的頻率值,并將頻率值記錄在本地。
進一步地,當因特網組管理協議請求報文為因特網組管理協議報告報文時,上述接收來自發送方的因特網組管理協議請求報文之后,讀取本地記錄的發送方發送報文的頻率值之前,還包括
讀取本地記錄的組播組數目;
判斷組播組數目是否大于預設的組播組數目閾值;
當判斷結果是組播組數目大于預設的組播組數目閾值時,則丟棄因特網組管理協議報告報文;否則執行上述讀取本地記錄的所述發送方發送報文的頻率值。
進一步地,當頻率值小于等于預設的頻率閾值時,則上報因特網組管理協議請求報文。進一步地,當因特網組管理協議請求報文為因特網組管理協議離開報文,且當頻率值小于等于預設的頻率閾值之后,還包括;
從因特網組管理協議離開報文中提取發送方的信息;
判斷發送方是否發送過與因特網組管理協議離開報文對應的因特網組管理協議報告報
文;
當判斷結果是發送方沒有發送過與因特網組管理協議離開報文對應的因特網組管理協議報告報文時,則丟棄因特網組管理協議離開報文。
進一步地,當判斷結果是發送方發送過與因特網組管理協議離開報文對應的因特網組管理協議報告報文時,則上報因特網組管理協議離開報文。
本實施例所述的方法,通過丟棄大于頻率閾值的IGMP報文,使得交換機上不會存在大量的IGMP報文,提高了交換機的防攻擊能力,避免了交換機受到IGMP報文的攻擊,對交換機本身進行了保護;并且,通過丟棄大于頻率閾值的IGMP報文,也解決了組播用戶通過頻繁在不同組播組之間加入或離開時發送IGMP報文進行攻擊的問題;另外,通過丟棄大于頻率閾值的IGMP報文,提高了組播業務的可靠性,避免網絡受到IGMP報文的攻擊,提升了網路安全性,使得在保證設備和網絡安全的情況下不影響用戶體驗;而且只上報存在對應IGMP Report報文的IGMP Leave報文,丟棄惡意組播用戶模擬合法組播用戶發送的IGMPLeave報文,使得合法組播用戶不會因為惡意組播用戶模擬合法組播用戶發送IGMP Leave報文而離開已加入的組播組;進一步,通過限制交換機下可加入的組播組數目,進一步減小了發送IGMP報文的數量,進一步避免交換機上存在大量的IGMP報文,進一步提高交換機的防攻擊能力。
本發明實施例所述的方法適用于交換機、路由器、接入DSLAM(Digital Subscriber LineAccess Multiplexer,數字用戶線接入復用設備)等與IGMP應用相關的設備,并且也適用于其它需要處理類似報文的設備中。下面以交換機為例說明本發明實施例所述的一種處理報文的方法具體是如何處理報文的。
實施例2
參見圖2,本發明實施例提供了一種處理報文的方法,具體包括
201:當交換機接收到組播用戶A發送的請求加入組播組B的IGMP R印ort報文時,判斷交換機中是否存在組播組B的組播組標識B,如果是,則不用將交換機中記錄的組播組數目加l;否則,將交換機中記錄的組播組數目加1。其中,IGMP Report報文中可以包括組播用戶的身份標識、組播組標識和交換機端口標識;組播用戶的身份標識主要包括組播用戶的MAC地址和組播用戶的VLAN(Virtual LocalArea Network,虛擬局域網)地址;組播組標識是請求加入的組播組的IP地址,通過組播組標識可以判斷出申請加入的是哪個組播組。
需要說明的是,交換機中記錄有組播用戶已經申請加入的組播組標識,所以判斷交換機中是否存在組播組B的組播組標識B,可以通過查詢交換機中記錄的組播組標識判斷是否存在與組播組標識B相同的組播組標識,如果存在則說明存在組播組B的組播組標識B;否則,不存在;其中交換機中記錄組播用戶已經申請加入的組播組標識,具體是記錄在交換機中建立的各種表中的,例如在本實施例203中建立的頻率值表或在204中建立的對應關系綁定表中都記錄有組播組標識。
另外,需要說明的是,判斷交換機中是否存在組播組B的組播組標識B,是為了計算組播組數目,其中,組播組數目是在一個交換機下已經請求加入的組播組個數的總和,并且組播組數目是不同組播組個數的總和,也就是說,如果申請加入的組播組是第一次申請(即交換機中還不存在該組播組標識),則將組播組數目加l;如果再次申請該組播組時(即交換機中已經存在該組播組標識),則不用將組播組數目加l,具體就是說相同的組播組只需要將組播組數目增加1次。例如將組播組數目的初始值設置為0,接收到申請加入組播組B的IGMPReport報文,將組播組數目加1 ,組播組數目變為1;接收到申請加入組播組C的IGMP Report報文,將組播組數目加1,組播組數目變為2;又接收到申請加入組播組C的IGMP Report報文,這時就不需要將組播組數目加1,組播組數目仍為2。并且,可以通過在交換機中建立組播組數目表,將組播組數目記錄下來。
202:讀取交換機中記錄的組播組數目,判斷組播組數目是否大于預設的組播組數目閾值,如果是,則執行210;否則,執行203。
其中,組播組數目閾值是根據交換機的實際處理能力設置的交換機下可加入組播組數目的門限值;例如交換機A可以處理的最大組播組數目為1000,可以在交換機A中設置組播組數目閾值為800;并且需要說明的是,實際應用中可以根據交換機的實際處理能力和具體的情況靈活設置相應的組播組數目閾值。
203:讀取交換機中記錄的組播用戶A發送IGMP報文的頻率值,判斷該頻率值是否大于預設的頻率閾值,如果是,則執行210;否則,執行204。
其中,頻率閾值是根據交換機的實際處理能力和正常發送IGMP報文的頻率設置的可接收發送IGMP報文頻率的門限值;例如交換機A可以處理發送IGMP報文的頻率為每秒1000個報文,正常發送IGMP報文的頻率為每秒300個報文,那么可以設置頻率閾值為每秒600個報文。組播用戶A發送IGMP報文的頻率值可以通過以下方式得到并記錄在交換機中設置定時器,在定時器的定時時間內統計接收到的組播用戶A發送的IGMP報文的個數,然后根據定時時間和在定時時間內統計到的組播用戶A發送的IGMP報文的個數,得到該組播用戶A的頻率值,并記錄下來。其中,該組播用戶A的頻率值可以是將統計到的組播用戶A發送的IGMP報文的個數除以定時時間得到的值,并且由于要得到的是組播用戶A發送IGMP報文的頻率,所以在統計組播用戶A發送IGMP報文的個數時,不管組播用戶A發送的是IGMP Report報文,還是IGMP Leave報文,只要是該組播用戶A發送的IGMP報文就統計發送的個數。例如設置定時器的定時時間為10ms,在10ms中統計到的組播用戶A發送的IGMP報文的個數為10個,那么可以得到該10ms中發送IGMP報文的頻率值為每秒1000個報文,并將該頻率值記錄起來。需要說明的是頻率值是為了反映不同組播用戶發送IGMP報文的快慢,所以也可以直接將統計到的組播用戶發送的IGMP報文的個數作為反映組播用戶發送報文快慢的度量值,即將統計到的組播用戶發送的IGMP報文的個數作為頻率值,如在定時器的定時時間10ms中,統計到組播用戶A發送的IGMP報文的個數為100個,組播用戶B發送的IGMP報文的個數為1000個,那么明顯地組播用戶B發送的頻率值大于組播用戶A發送的頻率值,相應地將頻率閾值設置為在定時時間內可以接收的最大IGMP報文的個數;或者也可以將統計到的組播用戶發送的IGMP報文的個數除定時時間得到的值,作為頻率值。
需要說明的是,為了記錄不同組播用戶發送IGMP報文的頻率,可以為不同組播用戶建立相應的頻率值表,頻率值表中包括組播用戶的身份標識、組播組標識、頻率值和交換機端口標識,通過頻率值表將組播用戶、組播組、頻率值和交換機端口之間的對應關系記錄下來。
另外需要說明的是,為了使得組播用戶的頻率值超過頻率閾值后,過一定時間(可以根據實際應用情況設置相應的時間段)后還可以再處理該組播用戶發送的IGMP報文,可以設置如下的機制預設一定時間(如2s),在2s后,減小該組播用戶的頻率值;當將頻率值減小后,再收到該組播用戶的IGMP報文后,讀取該組播用戶的發送IGMP報文的頻率值,如果此時的頻率值小于預設的頻率閾值則處理IGMP報文;否則,接著等待,在下一個2s后再次減小該組播用戶的頻率值,如此直到可以重新處理該組播用戶的IGMP報文。其中,可以根據實際情況設置相應的減小機制如每隔一定時間將頻率值減半等。
204:處理組播用戶A發送的IGMP Report報文,并將組播用戶A發送了請求加入組播組B的IGMP Report報文的情況記錄下來。需要說明的是,將組播用戶A發送了請求加入組播組B的IGMP Report報文的情況記錄下來,具體是通過為組播用戶A建立相應的組播用戶的身份標識、組播組標識和交換機端口標識之間的對應關系綁定表,通過對應關系綁定表將組播用戶A發送請求加入組播組B的IGMP Report報文的情況記錄下來。
其中,處理組播用戶A發送的IGMP Report報文可以是,將該IGMP R印ort報文直接上報給使能了 IGMP協議的路由器。
205:當交換機接收到組播用戶A發送的請求離開組播組B的IGMP Leave報文時,讀取交換機中記錄的組播用戶A發送IGMP報文的頻率值,判斷該頻率值是否大于預設的頻率閾值,如果是,則執行211;否則,執行206。
其中,得到組播用戶A發送IGMP報文的頻率值并記錄到交換機中的方式與203相同,此處不再贅述;但是需要說明的是,由于頻率值是實時統計得到的(如每10ms統計一次),所以該步驟中讀取到的組播用戶A發送IGMP報文的頻率值與203中的頻率值不一定相同。
206:判斷是否存在與組播用戶A發送的請求離開組播組B的IGMP Leave報文對應的組播用戶A發送的請求加入組播組B的IGMP Report報文,如果是,則執行207;否則,執行211。
其中,IGMP Leave報文中包括組播用戶的身份標識、組播組標識和交換機端口標識;需要說明的是組播組標識是請求離開組播組的IP地址;組播用戶的身份標識與201中的類似此處不再贅述。
需要說明的是,判斷是否存在與組播用戶A發送的請求離開組播組B的IGMP Leave報文對應的組播用戶A發送的請求加入組播組B的IGMP Report報文的具體過程是獲取IGMPLeave報文中的組播用戶的身份標識、組播組標識和交換機端口標識,根據獲取的組播用戶的身份標識、組播組標識和交換機端口標識査詢交換機中是否存在與組播用戶的身份標識、組播組標識和交換機端口標識對應的對應關系綁定表,如果不存在,則證明組播用戶A沒有發送過請求加入組播組B的IGMP Report報文;如果存在,則證明組播用戶A發送過請求加入組播組B的IGMP Report報文。
另外需要說明的是,因為判斷是否存在與組播用戶A發送的請求離開組播組B的IGMPLeave報文對應的組播用戶A發送的請求加入組播組B的IGMP Report報文時,需要通過組播用戶的身份標識、組播組標識和交換機端口標識來判斷,而組播用戶的身份標識中的MAC地址是唯一的,惡意組播用戶模擬合法組播用戶發送IGMPLeave報文時,由于MAC地址不同,所以交換機可以識別出惡意組播用戶發送的IGMP Leave報文,丟棄惡意組播用戶發送
11的IGMP Leave報文。
207:處理組播用戶A發送的IGMP Leave報文,然后執行208。
其中,處理IGMP leave報文可以是將IGMP leave報文上報給使能了 IGMP協議的路由器。
208:判斷組該交換機下是否還有其它組播用戶申請的是組播組B,如果判斷結果是還有 其它組播用戶申請的是組播組B,則結束;否則執行209。 209:將組播組數目減l,然后結束。
210:丟棄組播用戶A發送的IGMP Report報文,然后結束。 211:丟棄組播用戶A發送的IGMP leave報文,然后結束。
本實施例所述的方法,通過丟棄大于頻率閾值的IGMP報文,使得交換機上不會存在大 量的IGMP報文,提高了交換機的防攻擊能力,避免了交換機受到IGMP報文的攻擊,對交 換機本身進行了保護;并且,通過丟棄大于頻率閾值的IGMP報文,也解決了組播用戶通過 頻繁在不同組播組之間加入或離開時發送IGMP報文進行攻擊的問題;另外,只上報存在對 應IGMP Report報文的IGMP Leave報文,丟棄惡意組播用戶模擬合法組播用戶發送的IGMP Leave報文,使得合法組播用戶不會因為惡意組播用戶模擬合法組播用戶發送IGMP Leave報 文而離開己加入的組播組;進一歩,通過限制交換機下可加入的組播組數目,進一步減小了 發送IGMP報文的數量,進一步避免交換機上存在大量的IGMP報文,進一步提高交換機的 防攻擊能力。
實施例3
參見圖3,本發明實施例提供了一種處理報文的裝置,該裝置具體包括
接收模塊301,用于接收來自發送方的因特網組管理協議請求報文;
第一讀取模塊302,用于在接收模塊301接收到因特網組管理協議請求報文后,讀取本 地記錄的發送方發送報文的頻率值;
第一丟棄模塊303,用于在第一讀取模塊302讀取到的頻率值大于預設的頻率閾值后, 丟棄因特網組管理協議請求報文。
進一步地,參見圖4,該裝置還可以包括
設置模塊304,用于設置定時時間;
統計模塊305,用于在設置模塊304設置的定時時間內統計接收到的發送方發送報文的 個數,發送方發送的報文包括因特網組管理協議報告報文和因特網組管理協議離開報文;第一處理模塊306,用于在統計模塊305得到發送方發送報文的個數后,根據定時時間 和統計到的發送方發送報文的個數,得到發送方發送報文的頻率值,并將頻率值記錄在本地。
進一步地,參見圖5,當因特網組管理協議請求報文為因特網組管理協議報告報文時, 該裝置還可以包括
第二讀取模塊307,用于在接收模塊301接收到因特網組管理協議請求報文后,讀取本 地記錄的組播組數目 ,
第一判斷模塊308,用于當第二讀取模塊307讀取到本地的組播組數目后,判斷組播組 數目是否大于預設的組播組數目閾值;
第二處理模塊309,用于當第一判斷模塊308的判斷結果是組播組數目大于預設的組播 組數目閾值時,丟棄因特網組管理協議報告報文;否則,通知第一讀取模塊302讀取本地記 錄的發送方發送報文的頻率值。
其中,組播組數目是在一個交換機下已經請求加入的組播組個數的總和,并且組播組數 目是不同組播組個數的總和,也就是說,如果申請加入的組播組是第一次申請,則將組播組 數目加l;如果再次申請該組播組時,則不用將組播組數目加l,具體就是說相同的組播組只 需要將組播組數目增加1次。例如將組播組數目的初始值設置為0,接收到申請加入組播 組B的IGMP Report報文,將組播組數目力Q 1 ,組播組數目變為1;接收到申請加入組播組C 的IGMPReport報文,將組播組數目加l,組播組數目變為2;又接收到申請加入組播組C的 IGMP Report報文,這時就不需要將組播組數目加1,組播組數目仍為2;并且,可以通過在 交換機中建立組播組數目表,將組播組數目記錄下來。
進一步地,該裝置還可以包括
第一上報模塊310,用于在第一讀取模塊302讀取到的頻率值小于等于預設的頻率閾值 時,上報因特網組管理協議請求報文。
進一步地,參見圖6,當因特網組管理協議請求報文為因特網組管理協議離開報文時, 該裝置還可以包括;
提取模塊311,用于在第一讀取模塊302讀取到的頻率值小于等于預設的頻率閾值后, 從因特網組管理協議離開報文中提取發送方的信息;
第二判斷模塊312,用于在提取模塊311提取到發送方的信息后,判斷發送方是否發送 過與因特網組管理協議離開報文對應的因特網組管理協議報告報文;
第二丟棄模塊313,用于在第二判斷模塊312的判斷結果是發送方沒有發送過與因特網
組管理協議離開報文對應的因特網組管理協議報告報文后,丟棄因特網組管理協議離開報文。進一步地,該裝置還可以包括;
第二上報模塊314,用于在第二判斷模塊312的判斷結果是發送方發送過與因特網組管 理協議離開報文對應的因特網組管理協議報告報文時,上報因特網組管理協議離開報文。
本實施例所述的裝置,通過丟棄大于頻率閾值的IGMP報文,使得交換機上不會存在大 量的IGMP報文,提高了交換機的防攻擊能力,避免了交換機受到IGMP報文的攻擊,對交 換機本身進行了保護;并且,通過丟棄大于頻率閾值的IGMP報文,也解決了組播用戶通過 頻繁在不同組播組之間加入或離開時發送IGMP報文進行攻擊的問題;另外,通過丟棄大于 頻率閾值的IGMP報文,提高了組播業務的可靠性,避免網絡受到IGMP報文的攻擊,提升 了網路安全性,使得在保證設備和網絡安全的情況下不影響用戶體驗;而且只上報存在對應 IGMP Report報文的IGMP Leave報文,丟棄惡意組播用戶模擬合法組播用戶發送的IGMP Leave報文,使得合法組播用戶不會因為惡意組播用戶模擬合法組播用戶發送IGMP Leave報 文而離開已加入的組播組;進一步,通過限制交換機下可加入的組播組數目,進一步減小了 發送IGMP報文的數量,進一步避免交換機上存在大量的IGMP報文,進一步提高交換機的 防攻擊能力。
以上實施例提供的技術方案中的全部或部分內容可以通過軟件編程實現,其軟件程序存 儲在可讀取的存儲介質中,存儲介質例如計算機中的硬盤、光盤或軟盤。
以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之 內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1、一種處理報文的方法,其特征在于,包括接收來自發送方的因特網組管理協議請求報文;讀取本地記錄的所述發送方發送報文的頻率值;當所述頻率值大于預設的頻率閾值時,則丟棄所述因特網組管理協議請求報文。
2、 根據權利要求1所述的處理報文的方法,其特征在于,所述讀取本地記錄的所述發送 方發送報文的頻率值之前,還包括設置定時時間;在所述定時時間內統計接收到的所述發送方發送報文的個數,所述發送方發送的報文包 括因特網組管理協議報告報文和因特網組管理協議離開報文;根據所述定時時間和統計到的所述發送方發送報文的個數,得到所述發送方發送報文的 頻率值,并將所述頻率值記錄在本地。
3、 根據權利要求1或2所述的處理報文的方法,其特征在于,當所述因特網組管理協議 請求報文為因特網組管理協議報告報文時,所述接收來自發送方的因特網組管理協議請求報 文之后,讀取本地記錄的所述發送方發送報文的頻率值之前,還包括讀取本地記錄的組播組數目;判斷所述組播組數目是否大于預設的組播組數目閾值;—當判斷結果是所述組播組數目大于預設的組播組數目閾值時,則丟棄所述因特網組管理 協議報告報文;否則執行所述讀取本地記錄的所述發送方發送報文的頻率值。
4、 根據權利要求3所述的的處理報文的方法,其特征在于,當所述頻率值小于等于預設 的頻率閾值時,則上報所述因特網組管理協議請求報文。
5、 根據權利要求1或2所述的處理報文的方法,其特征在于,當所述因特網組管理協議 請求報文為因特網組管理協議離開報文,且當所述頻率值小于等于預設的頻率閾值之后,還 包括從所述因特網組管理協議離開報文中提取所述發送方的信息;判斷所述發送方是否發送過與所述因特網組管理協議離開報文對應的因特網組管理協議 報告報文;當判斷結果是所述發送方沒有發送過與所述因特網組管理協議離開報文對應的因特網組 管理協議報告報文時,則丟棄所述因特網組管理協議離開報文。
6、 根據權利要求5所述的處理報文的方法,其特征在于,當判斷結果是所述發送方發送過與所述因特網組管理協議離開報文對應的因特網組管理 協議報告報文時,則上報所述因特網組管理協議離開報文。
7、 一種處理報文的裝置,其特征在于,包括接收模塊,用于接收來自發送方的因特網組管理協議請求報文;第一讀取模塊,用于在所述接收模塊接收到所述因特網組管理協議請求報文后,讀取本 地記錄的所述發送方發送報文的頻率值;第一丟棄模塊,用于在所述第一讀取模塊讀取到的所述頻率值大于預設的頻率閾值后, 丟棄所述因特網組管理協議請求報文。
8、 根據權利要求7所述的處理報文的裝置,其特征在于,所述裝置還包括 設置模塊,用于設置定時時間;統計模塊,用于在所述設置模塊設置的所述定時時間內統計接收到的所述發送方發送報 文的個數,所述發送方發送的報文包括因特網組管理協議報告報文和因特網組管理協議離開 報文;第一處理模塊,用于在所述統計模塊得到所述發送方發送報文的個數后,根據所述定時 時間和統計到的所述發送方發送報文的個數,得到所述發送方發送報文的頻率值,并將所述 頻率值記錄在本地。
9、 根據權利要求7或8所述的處理報文的裝置,其特征在于,當所述因特網組管理協議 請求報文為因特網組管理協議報告報文時,所述裝置還包括-第二讀取模塊,用于在所述接收模塊接收到所述因特網組管理協議請求報文后,讀取本 地記錄的組播組數目;第一判斷模塊,用于當所述第二讀取模塊讀取到本地的組播組數目后,判斷所述組播組數目是否大于預設的組播組數目閾值;第二處理模塊,用于當所述第一判斷模塊的判斷結果是所述組播組數目大于預設的組播 組數目閾值時,丟棄所述因特網組管理協議報告報文;否則,通知所述第一讀取模塊讀取本 地記錄的所述發送方發送報文的頻率值。
10、 根據權利要求9所述的的處理報文的裝置,其特征在于,所述裝置還包括 第一上報模塊,用于在所述第一讀取模塊讀取到的所述頻率值小于等于預設的頻率閾值時,上報所述因特網組管理協議請求報文。
11、 根據權利要求7或8所述的處理報文的裝置,其特征在于,當所述因特網組管理協議請求報文為因特網組管理協議離開報文時,所述裝置還包括提取模塊,用于在所述第一讀取模塊讀取到的所述頻率值小于等于預設的頻率閾值后,從所述因特網組管理協議離開報文中提取所述發送方的信息;第二判斷模塊,用于在所述提取模塊提取到所述發送方的信息后,判斷所述發送方是否 發送過與所述因特網組管理協議離開報文對應的因特網組管理協議報告報文;第二丟棄模塊,用于在所述第二判斷模塊的判斷結果是所述發送方沒有發送過與所述因 特網組管理協議離開報文對應的因特網組管理協議報告報文后,丟棄所述因特網組管理協議 離開報文。
12、 根據權利要求11所述的處理報文的方法,其特征在于,所述裝置還包括 第二上報模塊,用于在所述第二判斷模塊的判斷結果是所述發送方發送過與所述因特網組管理協議離開報文對應的因特網組管理協議報告報文時,上報所述因特網組管理協議離開 報文。
全文摘要
本發明公開了一種處理報文的方法和裝置,屬于通信領域。所述方法包括接收來自發送方的因特網組管理協議請求報文;讀取本地記錄的所述發送方發送報文的頻率值;當所述頻率值大于預設的頻率閾值時,則丟棄所述因特網組管理協議請求報文。所述裝置包括接收模塊、第一讀取模塊和第一丟棄模塊。本發明通過丟棄大于頻率閾值的IGMP報文,使得交換機上不會存在大量的IGMP報文,提高了交換機的防攻擊能力,避免了交換機受到IGMP報文的攻擊,對交換機本身進行了保護;并且,通過丟棄大于頻率閾值的IGMP報文,也解決了組播用戶通過頻繁在不同組播組之間加入或離開時發送IGMP報文進行攻擊的問題。
文檔編號H04L29/06GK101478542SQ200910001938
公開日2009年7月8日 申請日期2009年1月14日 優先權日2009年1月14日
發明者肖元輝, 郭長安 申請人:華為技術有限公司