專利名稱:一種地址的管理方法和設備的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別是涉及一種地址的管理方法和設備。
背景技術:
DHCP (Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議)是一種動態(tài)分配IP地址的方法,如圖1所示的DHCP組網示意圖,每個局域網中設置有一臺DHCP ServeH服務器),各DHCP Client (客戶端,即主機)通過DHCP服務器申請IP地址。如圖2所示的DHCP報文交互示意圖,IP地址的申請過程由DHCP客戶端發(fā)起, 通過DHCP_DISC0VER(發(fā)現(xiàn))報文尋找合適的DHCP服務器,若DHCP服務器存在可分配的 IP地址,則會回復DHCP_0FFER(提供)報文,DHCP客戶端針對此DHCP服務器的地址發(fā)送 DHCP-REQUEST (請求)報文,由DHCP服務器回應DHCP-ACK (確認)報文,以完成IP地址的申請過程。需要注意的是,DHCP服務器分配IP地址時,需要為每個IP地址建立地址租約,每條租約狀態(tài)遷移的情況如圖3所示,地址租約在發(fā)送DHCP-0FFER報文之后由Empty (空) 狀態(tài)變?yōu)镺ffered(提供)狀態(tài),表示提供給DHCP客戶端但未最終確認;在發(fā)送DHCP-ACK 報文之后由Offered狀態(tài)變?yōu)镃ommittecK已分配)狀態(tài),表示地址正式分配成功?,F(xiàn)有技術中,在存在攻擊者的情況下,由于DHCP服務器根據MAC(MediaAccess Control,介質訪問控制)地址來識別不同DHCP客戶端,則攻擊者只需要知道DHCP服務器的IP地址和地址池網段,即可偽造出多組成對的DHCPDISC0VER報文和DHCP-REQUEST報文,并使其中的MAC地址遞增或隨機產生,廣播到DHCP服務器,之后DHCP服務器會給這樣的MAC地址分配IP地址,從而使攻擊者達到冒領IP地址,耗盡地址池的目的。
發(fā)明內容
本發(fā)明提供一種地址的管理方法和設備,以盡快回收為攻擊者分配的IP地址。為了達到上述目的,本發(fā)明提供一種地址的管理方法,應用于包括DHCP客戶端、 接入設備和DHCP服務器的系統(tǒng)中,所述DHCP服務器為所述DHCP客戶端分配地址,并將所述地址通過所述接入設備通知給所述DHCP客戶端,該方法包括以下步驟所述接入設備監(jiān)聽到所述DHCP服務器向DHCP客戶端發(fā)送的攜帶所述地址的第一報文時,從所述第一報文中獲取所述地址,并獲取向DHCP客戶端發(fā)送所述第一報文的端口信息,以及維護記錄有所述端口信息和所述地址的DHCP安全表;當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量超過預設第一閾值時,所述接入設備向所述DHCP服務器發(fā)送請求回收地址的第二報文,所述第二報文中攜帶對應所述端口的地址信息,由所述DHCP服務器回收對應所述端口的地址。所述接入設備維護記錄有所述端口信息和所述地址的DHCP安全表,之后還包括當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量沒有超過預設第一閾值時,所述接入設備監(jiān)聽所述DHCP安全表中對應所述端口的各地址的流量;
如果在預設第二周期內沒有接收到對應所述端口的各地址的流量,所述接入設備向所述DHCP服務器發(fā)送所述第二報文。所述接入設備監(jiān)聽所述DHCP安全表中對應所述端口的各地址的流量,之后還包括如果在預設第二周期內接收到對應所述端口的各地址的流量,所述接入設備在所述DHCP安全表中刪除所述端口與對應所述端口的各地址的記錄。所述接入設備維護記錄有所述端口信息和所述地址的DHCP安全表,之后還包括當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量小于預設第二閾值時,所述接入設備確定對應所述端口的地址為合法地址;當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量大于預設第二閾值且小于預設第一閾值時,所述接入設備向對應所述端口的地址發(fā)起探測;如果接收到探測響應,則確定對應所述端口的地址為合法地址;其中,預設第二閾值小于預設第一閾值。所述接入設備向對應所述端口的地址發(fā)起探測,之后還包括如果沒有接收到探測響應,則所述接入設備監(jiān)聽對應所述端口的地址的流量;如果在預設第三周期內接收到對應所述端口的地址的流量,則確定對應所述端口的地址為合法地址;否則,所述接入設備向所述DHCP服務器發(fā)送所述第二報文。所述接入設備向所述DHCP服務器發(fā)送請求回收地址的第二報文,之后還包括
所述接入設備阻塞所述端口,并通過網管系統(tǒng)或日志系統(tǒng)記錄所述端口下存在攻擊者的信息。一種接入設備,應用于包括DHCP客戶端、所述接入設備和DHCP服務器的系統(tǒng)中, 所述DHCP服務器為所述DHCP客戶端分配地址,并將所述地址通過所述接入設備通知給所述DHCP客戶端,所述接入設備包括監(jiān)聽模塊,用于監(jiān)聽所述DHCP服務器向DHCP客戶端發(fā)送的攜帶所述地址的第一報文;獲取模塊,用于從所述第一報文中獲取所述地址,并獲取向DHCP客戶端發(fā)送所述第一報文的端口信息;維護模塊,用于維護記錄有所述端口信息和所述地址的DHCP安全表;發(fā)送模塊,用于當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量超過預設第一閾值時,向所述DHCP服務器發(fā)送請求回收地址的第二報文,所述第二報文中攜帶對應所述端口的地址信息。所述監(jiān)聽模塊,還用于當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量沒有超過預設第一閾值時,監(jiān)聽所述DHCP安全表中對應所述端口的各地址的
流量;所述發(fā)送模塊,還用于如果在預設第二周期內沒有接收到對應所述端口的各地址的流量,則向所述DHCP服務器發(fā)送所述第二報文。所述維護模塊,還用于如果在預設第二周期內接收到對應所述端口的各地址的流量,則在所述DHCP安全表中刪除所述端口與對應所述端口的各地址的記錄。還包括確定模塊,用于當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量小于預設第二閾值時,確定對應所述端口的地址為合法地址;當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量大于預設第二閾值且小于預設第一閾值時,向對應所述端口的地址發(fā)起探測;如果接收到探測響應,則確定對應所述端口的地址為合法地址;其中,預設第二閾值小于預設第一閾值。所述監(jiān)聽模塊,還用于如果沒有接收到探測響應,則監(jiān)聽對應所述端口的地址的流量;所述確定模塊,還用于如果在預設第三周期內接收到對應所述端口的地址的流量,則確定對應所述端口的地址為合法地址;所述發(fā)送模塊,還用于如果在預設第三周期內沒有接收到對應所述端口的地址的流量,則向所述DHCP服務器發(fā)送所述第二報文。還包括處理模塊,用于阻塞所述端口,并通過網管系統(tǒng)或日志系統(tǒng)記錄所述端口下存在攻擊者的信息。與現(xiàn)有技術相比,本發(fā)明至少具有以下優(yōu)點在DHCP服務器分配IP地址后,通過監(jiān)聽對應同一個端口的IP地址的數(shù)量,從而可確定該端口下的DHCP客戶端是否為攻擊者,如果是攻擊者,則回收為DHCP客戶端分配的 IP地址,否則,允許DHCP客戶端繼續(xù)使用分配的IP地址;從而能夠有效識別出偽造的DHCP 客戶端,找出攻擊DHCP地址池資源的攻擊者,并回收為攻擊者分發(fā)的IP地址,有效的阻止了對DHCP地址池資源的攻擊,并避免DHCP服務器上IP地址的耗盡。
圖1是現(xiàn)有技術中的DHCP組網示意圖;圖2是現(xiàn)有技術中的DHCP報文交互示意圖;圖3是現(xiàn)有技術中的租約狀態(tài)遷移的情況示意圖;圖4是本發(fā)明所采用的應用場景示意圖;圖5是本發(fā)明基于圖4所示的應用場景所提供的一種地址的分配方法流程圖;圖6是本發(fā)明提出的一種接入設備結構圖。
具體實施例方式本發(fā)明提出一種地址的管理方法,應用于包括DHCP客戶端、接入設備和DHCP服務器的系統(tǒng)中,下面結合附圖,對本發(fā)明具體實施方式
進行詳細說明。以圖4為參考網絡模型圖,接入設備的端口 Pl下為攻擊者(將自身偽造為DHCP客戶端申請IP地址),接入設備的端口 P2下為DHCP客戶端。DHCP服務器用于為DHCP客戶端分配地址,并將該地址通過接入設備通知給DHCP 客戶端,針對地址的分配過程,可采用圖2所示的地址分配流程,即通過DHCP-0FFER報文攜帶該地址,并通知給DHCP客戶端。需要注意的是,在DHCP客戶端發(fā)送DHCP-DISC0VER報文時,為廣播報文,目的MAC 地址填充ffff. ffff. fffT,DHCP服務器回應DHCP-0FFER報文時,可采用單播或廣播方式來回應,如果DHCP-DISC0VER報文中的flags字段(即廣播響應標識位)為1,則以廣播方式回應DHCP-0FFER報文,如果為0,則以單播方式回應DHCP-0FFER報文。
本發(fā)明中,通過將DHCP-DISC0VER報文中的flags字段設置為0,使得以單播方式回應DHCP-0FFER報文,目的MAC地址為DHCP-DISC0VER報文中的源MAC地址。因此,當接收到DHCP-0FFER報文后,接入設備將采用單播方式將DHCP-0FFER報文發(fā)送給對應的DHCP 客戶端。例如,通過端口 Pl接收到來自DHCP客戶端的DHCP-DISC0VER報文時,可維護DHCP 客戶端的MAC地址及端口 Pl的對應關系,在接收到來自DHCP服務器的DHCP-0FFER報文后, 以單播方式通過端口 Pl將DHCP-0FFER報文發(fā)送給DHCP客戶端。本發(fā)明中,通過部署DHCP安全代理可找到DHCP攻擊者,該DHCP安全代理可部署在最接近DHCP客戶端的網絡設備上。為了方便描述,以網絡設備為圖4中的接入設備(如接入層交換機)為例,則接入設備的端口 Pl和端口 P2下直接連接有DHCP客戶端。當在接入設備上啟動DHCP安全代理特性后,如圖5所示,該方法包括以下步驟步驟501,在DHCP服務器為DHCP客戶端分配了地址后,接入設備監(jiān)聽攜帶該地址的第一報文(即DHCP-0FFER報文)。步驟502,當監(jiān)聽到DHCP-0FFER報文時,接入設備從該DHCP-0FFER報文中獲取為 DHCP客戶端所分配的地址,以及向DHCP客戶端發(fā)送該DHCP-0FFER報文的端口信息(如端
口號)。步驟503,接入設備維護記錄有端口信息和地址的DHCP安全表,如表1和表2所示的DHCP安全表的示意情況。表 權利要求
1.一種地址的管理方法,應用于包括DHCP客戶端、接入設備和DHCP服務器的系統(tǒng)中, 所述DHCP服務器為所述DHCP客戶端分配地址,并將所述地址通過所述接入設備通知給所述DHCP客戶端,其特征在于,該方法包括以下步驟所述接入設備監(jiān)聽到所述DHCP服務器向DHCP客戶端發(fā)送的攜帶所述地址的第一報文時,從所述第一報文中獲取所述地址,并獲取向DHCP客戶端發(fā)送所述第一報文的端口信息,以及維護記錄有所述端口信息和所述地址的DHCP安全表;當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量超過預設第一閾值時,所述接入設備向所述DHCP服務器發(fā)送請求回收地址的第二報文,所述第二報文中攜帶對應所述端口的地址信息,由所述DHCP服務器回收對應所述端口的地址。
2.如權利要求1所述的方法,其特征在于,所述接入設備維護記錄有所述端口信息和所述地址的DHCP安全表,之后還包括當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量沒有超過預設第一閾值時,所述接入設備監(jiān)聽所述DHCP安全表中對應所述端口的各地址的流量;如果在預設第二周期內沒有接收到對應所述端口的各地址的流量,所述接入設備向所述DHCP服務器發(fā)送所述第二報文。
3.如權利要求2所述的方法,其特征在于,所述接入設備監(jiān)聽所述DHCP安全表中對應所述端口的各地址的流量,之后還包括如果在預設第二周期內接收到對應所述端口的各地址的流量,所述接入設備在所述 DHCP安全表中刪除所述端口與對應所述端口的各地址的記錄。
4.如權利要求1所述的方法,其特征在于,所述接入設備維護記錄有所述端口信息和所述地址的DHCP安全表,之后還包括當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量小于預設第二閾值時,所述接入設備確定對應所述端口的地址為合法地址;當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量大于預設第二閾值且小于預設第一閾值時,所述接入設備向對應所述端口的地址發(fā)起探測;如果接收到探測響應,則確定對應所述端口的地址為合法地址;其中,預設第二閾值小于預設第一閾值。
5.如權利要求4所述的方法,其特征在于,所述接入設備向對應所述端口的地址發(fā)起探測,之后還包括如果沒有接收到探測響應,則所述接入設備監(jiān)聽對應所述端口的地址的流量;如果在預設第三周期內接收到對應所述端口的地址的流量,則確定對應所述端口的地址為合法地址;否則,所述接入設備向所述DHCP服務器發(fā)送所述第二報文。
6.如權利要求1-5任一項所述的方法,其特征在于,所述接入設備向所述DHCP服務器發(fā)送請求回收地址的第二報文,之后還包括所述接入設備阻塞所述端口,并通過網管系統(tǒng)或日志系統(tǒng)記錄所述端口下存在攻擊者的信息。
7.一種接入設備,應用于包括DHCP客戶端、所述接入設備和DHCP服務器的系統(tǒng)中,所述DHCP服務器為所述DHCP客戶端分配地址,并將所述地址通過所述接入設備通知給所述 DHCP客戶端,其特征在于,所述接入設備包括監(jiān)聽模塊,用于監(jiān)聽所述DHCP服務器向DHCP客戶端發(fā)送的攜帶所述地址的第一報文;獲取模塊,用于從所述第一報文中獲取所述地址,并獲取向DHCP客戶端發(fā)送所述第一報文的端口信息;維護模塊,用于維護記錄有所述端口信息和所述地址的DHCP安全表;發(fā)送模塊,用于當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量超過預設第一閾值時,向所述DHCP服務器發(fā)送請求回收地址的第二報文,所述第二報文中攜帶對應所述端口的地址信息。
8.如權利要求7所述的接入設備,其特征在于,所述監(jiān)聽模塊,還用于當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量沒有超過預設第一閾值時,監(jiān)聽所述DHCP安全表中對應所述端口的各地址的流量;所述發(fā)送模塊,還用于如果在預設第二周期內沒有接收到對應所述端口的各地址的流量,則向所述DHCP服務器發(fā)送所述第二報文。
9.如權利要求8所述的接入設備,其特征在于,所述維護模塊,還用于如果在預設第二周期內接收到對應所述端口的各地址的流量, 則在所述DHCP安全表中刪除所述端口與對應所述端口的各地址的記錄。
10.如權利要求7所述的接入設備,其特征在于,還包括確定模塊,用于當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量小于預設第二閾值時,確定對應所述端口的地址為合法地址;當在預設第一周期內所述DHCP安全表中對應同一個端口的地址數(shù)量大于預設第二閾值且小于預設第一閾值時,向對應所述端口的地址發(fā)起探測;如果接收到探測響應,則確定對應所述端口的地址為合法地址;其中,預設第二閾值小于預設第一閾值。
11.如權利要求10所述的接入設備,其特征在于,所述監(jiān)聽模塊,還用于如果沒有接收到探測響應,則監(jiān)聽對應所述端口的地址的流量;所述確定模塊,還用于如果在預設第三周期內接收到對應所述端口的地址的流量,則確定對應所述端口的地址為合法地址;所述發(fā)送模塊,還用于如果在預設第三周期內沒有接收到對應所述端口的地址的流量,則向所述DHCP服務器發(fā)送所述第二報文。
12.如權利要求7-11任一項所述的接入設備,其特征在于,還包括處理模塊,用于阻塞所述端口,并通過網管系統(tǒng)或日志系統(tǒng)記錄所述端口下存在攻擊者的信息。
全文摘要
本發(fā)明公開了一種地址的管理方法和設備,該方法包括接入設備從第一報文中獲取地址,并獲取向DHCP客戶端發(fā)送所述第一報文的端口信息,以及維護記錄有所述端口信息和所述地址的DHCP安全表;當所述DHCP安全表中對應同一個端口的地址數(shù)量超過預設第一閾值時,所述接入設備向所述DHCP服務器發(fā)送請求回收地址的第二報文,所述第二報文中攜帶對應所述端口的地址信息。本發(fā)明中,能夠有效識別出偽造的DHCP客戶端,避免DHCP服務器上IP地址的耗盡。
文檔編號H04L29/12GK102185724SQ20111014210
公開日2011年9月14日 申請日期2011年5月30日 優(yōu)先權日2011年5月30日
發(fā)明者周迪, 顧雷雷 申請人:杭州華三通信技術有限公司