一種防止dhcp風(fēng)暴的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及一種防止DHCP風(fēng)暴的方法和系統(tǒng)。
【背景技術(shù)】
[0002]DHCP (Dynamic Host Configurat1n Protocol,動態(tài)主機配置協(xié)議)是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,通常被應(yīng)用在大型的局域網(wǎng)絡(luò)環(huán)境中,主要作用是集中的管理、分配IP地址,使網(wǎng)絡(luò)環(huán)境中的主機動態(tài)的獲得IP地址、網(wǎng)關(guān)(Gateway)地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率。
[0003]通常情況下,產(chǎn)生DHCP風(fēng)暴的原因是DHCP在PC機上配置后,會在局域網(wǎng)內(nèi)實時發(fā)送廣播探測報文。當(dāng)局域網(wǎng)內(nèi)沒有相應(yīng)的DHCP服務(wù)器時,就會出現(xiàn)局域網(wǎng)內(nèi)每臺PC都會收到來自其他PC的不定時的廣播請求探測報文,該廣播請求探測報文的數(shù)量是隨著DHCP請求PC的增加而不斷增加,當(dāng)網(wǎng)絡(luò)中PC的數(shù)量達到一定程度時,就會造成DHCP請求風(fēng)暴,影響局域網(wǎng)內(nèi)的帶寬和接收此報文的PC的性能。
[0004]針對上述問題,現(xiàn)有技術(shù)通常有兩種解決方案:第一種解決方案,提升網(wǎng)絡(luò)帶寬和終端PC機的性能。第二種解決方案,當(dāng)網(wǎng)絡(luò)中無DHCP服務(wù)器時,通過人工干預(yù)的方式,斷開每臺PC機的DHCP請求功能。
[0005]上述兩種方案存在如下缺點:第一種方法提高硬件配置,增加用戶的使用成本,而用戶更希望在不增加使用成本的情況下,降低DHCP請求風(fēng)暴帶來的影響。第二種方法,當(dāng)網(wǎng)絡(luò)中無DHCP服務(wù)器時,通過人工干預(yù)的方式關(guān)閉DHCP請求,而當(dāng)網(wǎng)絡(luò)中接入DHCP服務(wù)器時,還需要人工開啟DHCP請求,操作繁瑣,不便于維護。
[0006]因此,有必要提出一種防止DHCP請求風(fēng)暴的方法,以此來解決局域網(wǎng)內(nèi)的DHCP請求風(fēng)暴的問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的是提供一種防止DHCP風(fēng)暴的方法和系統(tǒng),通過本發(fā)明的技術(shù)方案,能夠解決局域網(wǎng)內(nèi)的DHCP請求風(fēng)暴的問題,在不增加使用成本的情況下,降低DHCP請求風(fēng)暴帶來的影響,同時操作簡單,便于維護。
[0008]為實現(xiàn)上述目的,本發(fā)明的一個方面提供了一種防止DHCP請求風(fēng)暴的方法,包括:基于客戶端發(fā)送的DHCP報文請求創(chuàng)建DHCP請求鏈表;基于所述DHCP請求鏈表進行DHCP風(fēng)暴的阻止。
[0009]其中,所述DHCP請求鏈表包括客戶端的MAC地址和DHCP報文請求的計數(shù)。
[0010]其中,所述基于客戶端發(fā)送的DHCP報文請求創(chuàng)建DHCP請求鏈表的步驟包括:獲取客戶端發(fā)送的DHCP報文請求;將發(fā)送DHCP報文請求的客戶端的MAC地址記錄到DHCP請求鏈表中;當(dāng)接收到客戶端發(fā)送的DHCP報文請求時,判斷所述DHCP請求鏈表中是否存在與該DHCP報文請求對應(yīng)的記錄;當(dāng)所述DHCP請求鏈表中存在所述記錄時,將該記錄中的計數(shù)加定值,并將該記錄置于所述DHCP請求鏈表的第一位;當(dāng)所述DHCP請求鏈表中不存在所述記錄時,將該DHCP報文請求記錄到所述DHCP請求鏈表的第一位。
[0011]其中,所述基于所述DHCP請求鏈表進行DHCP風(fēng)暴的阻止的步驟,包括:當(dāng)接收到客戶端發(fā)送的DHCP報文請求時,計算單位時間內(nèi)接收到DHCP報文請求的數(shù)量;判斷所述數(shù)量是否超過閾值;當(dāng)所述數(shù)量超過閾值時,在所述DHCP請求鏈表中查找與該DHCP報文請求對應(yīng)的記錄;當(dāng)查找到該DHCP報文請求的記錄時,則丟棄該DHCP報文請求,并將該記錄中的計數(shù)減定值。
[0012]其中,當(dāng)單位時間內(nèi)接收到的DHCP報文請求不超過閾值時,繼續(xù)接收下一個DHCP報文請求。
[0013]根據(jù)本發(fā)明的另一方面,提供了一種防止DHCP風(fēng)暴的系統(tǒng),包括:鏈表創(chuàng)建模塊,用于基于客戶端發(fā)送的DHCP報文請求創(chuàng)建DHCP請求鏈表;風(fēng)暴防止模塊,用于基于所述DHCP請求鏈表進行DHCP風(fēng)暴的阻止。
[0014]其中,所述DHCP請求鏈表包括客戶端的MAC地址和DHCP報文請求的計數(shù)。
[0015]其中,所述鏈表創(chuàng)建模塊包括:獲取單元,用于獲取客戶端發(fā)送的DHCP報文請求;記錄單元,用于將發(fā)送DHCP報文請求的客戶端的MAC地址記錄到DHCP請求鏈表中;第一判斷單元,當(dāng)接收到客戶端發(fā)送的DHCP報文請求時,用于判斷所述DHCP請求鏈表中是否存在與該DHCP報文請求對應(yīng)的記錄;第一處理單元,當(dāng)所述DHCP請求鏈表中存在所述記錄時,用于將該記錄中的計數(shù)加定值,并將該記錄置于所述DHCP請求鏈表的第一位;第二處理單元,當(dāng)所述DHCP請求鏈表中不存在所述記錄時,用于將該DHCP報文請求記錄到所述DHCP請求鏈表的第一位。
[0016]其中,所述風(fēng)暴防止模塊包括:計算單元,當(dāng)接受到客戶端發(fā)送的DHCP報文請求時,用于計算單位時間內(nèi)接收到DHCP報文請求的數(shù)量;第二判斷單元,用于判斷所述數(shù)量是否超過閾值;查找單元,當(dāng)所述數(shù)量超過閾值時,用于在所述DHCP請求鏈表中查找與該DHCP報文請求對應(yīng)的記錄;第三處理單元,當(dāng)查找到該DHCP報文請求的記錄時,用于丟棄該DHCP報文請求,并將該記錄中的計數(shù)減定值。
[0017]如上所述,通過本發(fā)明的技術(shù)方案,使得本發(fā)明在不增加用戶使用成本的前提下,提升了用戶使用體驗,提高了設(shè)備運行的效率。
【附圖說明】
[0018]圖1是根據(jù)本發(fā)明實施方式的客戶端、交換機和DHCP服務(wù)器的交互示意圖;
[0019]圖2是本發(fā)明的防止DHCP風(fēng)暴的方法的流程示意圖;
[0020]圖3是根據(jù)本發(fā)明一實施方式的創(chuàng)建DHCP請求鏈表的流程示意圖;
[0021]圖4是根據(jù)本發(fā)明另一實施例的防止DHCP風(fēng)暴的流程不意圖;
[0022]圖5是本發(fā)明的防止DHCP風(fēng)暴的系統(tǒng)的結(jié)構(gòu)示意圖;
[0023]圖6是本發(fā)明的鏈表創(chuàng)建模塊的結(jié)構(gòu)示意圖;
[0024]圖7是本發(fā)明的風(fēng)暴防止模塊的結(jié)構(gòu)示意圖。
【具體實施方式】
[0025]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明了,下面結(jié)合【具體實施方式】并參照附圖,對本發(fā)明進一步詳細說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0026]圖1是根據(jù)本發(fā)明實施方式的客戶端、交換機和DHCP服務(wù)器的交互示意圖。
[0027]如圖1所示,在客戶端和DHCP服務(wù)器之間設(shè)置有交換機,客戶端向交換機發(fā)送DHCP報文請求,交換機向DHCP服務(wù)器提交該客戶端發(fā)送的DHCP報文請求,并將該DHCP服務(wù)器返回的IP地址和子網(wǎng)掩碼等信息轉(zhuǎn)發(fā)至客戶端。本發(fā)明中,將所有發(fā)送DHCP報文請求的終端統(tǒng)稱為客戶端,并不僅僅限于PC機或電腦。將所有能夠?qū)崿F(xiàn)DHCP功能的設(shè)備均統(tǒng)稱為DHCP服務(wù)器,并不僅僅限于專門的DHCP服務(wù)器。
[0028]圖2是本發(fā)明的防止DHCP風(fēng)暴的方法的流程示意圖。
[0029]如圖2所示,本發(fā)明的防止DHCP風(fēng)暴的方法,包括如下步驟:
[0030]步驟S10,基于客戶端發(fā)送的DHCP報文請求創(chuàng)建DHCP請求鏈表。
[0031]本步驟涉及獲取從客戶端發(fā)送的DHCP報文請求,基于該客戶端發(fā)送的DHCP報文請求創(chuàng)建DHCP請求鏈表,進一步,基于該DHCP請求鏈表進行DHCP風(fēng)暴的阻止。其中,該DHCP請求鏈表包括客戶端的MAC地址、DHCP報文請求的計數(shù)等等。該DHCP報文請求的計數(shù)是指DHCP報文請求的次數(shù)。
[0032]具體執(zhí)行步驟參見下文圖3所示示例。
[0033]步驟S20,基于所述DHCP請求鏈表進行DHCP風(fēng)暴的阻止。
[0034]本步驟中,在步驟SlO創(chuàng)建的DHCP請求鏈表的基礎(chǔ)上,進行DHCP風(fēng)暴的阻止。這樣,動態(tài)的調(diào)整了 DHCP報文請求的數(shù)量,由于客戶端配置的DHCP報文請求時間的長短不同,可以保證網(wǎng)絡(luò)中DHCP報文請求量大的時候,將DHCP配置請求時間短的報文進行盡量多的丟棄,DHCP沒有請求過的報文可以進行有效轉(zhuǎn)發(fā),通過此種方法來有效解決網(wǎng)絡(luò)DHCP請求風(fēng)暴的問題,又可以使DHCP請求功能不失效。
[0035]具體執(zhí)行步驟參見下文圖4所示示例。
[0036]