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