一種檢測空閑ip地址的方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種空閑IP地址檢測的裝置及其對應(yīng)的方法。其中所述裝置分為前臺(tái)和后臺(tái)兩個(gè)部分,前臺(tái)負(fù)責(zé)空閑IP地址檢測的啟動(dòng)以及配置的下發(fā),后臺(tái)則負(fù)責(zé)IP地址可達(dá)性檢測、空閑IP地址的數(shù)據(jù)更新以及當(dāng)管理員查詢時(shí),空閑IP地址數(shù)據(jù)的提供。通過本發(fā)明對IP地址長期有效的周期性檢測,記錄長期不使用的IP地址,從而方便網(wǎng)絡(luò)管理員對這些空閑IP地址釋放、重新分配,進(jìn)而增加IP地址資源利用率。
【專利說明】—種檢測空閑IP地址的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種檢測空閑IP地址的方法及裝置。
【背景技術(shù)】
[0002]IP地址作為一種網(wǎng)絡(luò)資源已經(jīng)深入網(wǎng)絡(luò)管理,通過對IP地址的管理,網(wǎng)絡(luò)管理員可以及時(shí)了解網(wǎng)絡(luò)中IP地址的接入情況以及利用率,以便重新規(guī)劃網(wǎng)絡(luò),對于那些長期不使用的IP地址,可以釋放出來以節(jié)省IP地址資源。
[0003]然而,由于IP地址使用的間斷性(亦即,IP地址有可能隨時(shí)接入網(wǎng)絡(luò),也可能隨時(shí)下線)以及網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,使得空閑IP地址的檢測變得非常困難。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種檢測空閑IP地址的方法及裝置,通過本發(fā)明方法,管理員可以及時(shí)地獲取IP地址的空閑信息,進(jìn)而可以對空閑IP地址進(jìn)行釋放、重新分配。
[0005]本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
[0006]一種檢測空閑IP地址的方法,其中所述方法包括:
[0007]接收管理員的啟動(dòng)檢測空閑IP地址的指令;
[0008]根據(jù)管理員設(shè)定的IP地址可達(dá)性檢測周期周期性檢測IP地址是否可達(dá),如果是,則將可達(dá)的IP地址記錄到IP地址可達(dá)列表內(nèi),如果否,則將不可達(dá)的IP地址記錄到IP地址不可達(dá)列表內(nèi);
[0009]當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),對空閑IP地址數(shù)據(jù)庫進(jìn)行更新。
[0010]進(jìn)一步地,所述空閑IP地址數(shù)據(jù)更新周期大于等于IP地址可達(dá)性檢測周期。
[0011]進(jìn)一步地,所述空閑IP地址數(shù)據(jù)更新周期為IP地址可達(dá)性檢測周期的若干整數(shù)部。
[0012]進(jìn)一步地,在空閑IP地址數(shù)據(jù)更新周期內(nèi)第一次檢測IP地址是否可達(dá)時(shí),默認(rèn)所有已分配的IP地址的可達(dá)性狀態(tài)為不可達(dá)。
[0013]進(jìn)一步地,經(jīng)過第一次檢測后,在下一周期檢測IP地址是否可達(dá)時(shí),只對上一周期內(nèi)檢測不可達(dá)的IP地址進(jìn)行再次檢測,并將該檢測周期內(nèi)所有檢測可達(dá)的IP地址記錄到可達(dá)IP地址列表內(nèi),不可達(dá)的IP地址記錄到不可達(dá)IP地址列表內(nèi)。
[0014]進(jìn)一步地,當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),對空閑IP地址數(shù)據(jù)庫進(jìn)行更新,具體為:
[0015]將在空閑IP地址數(shù)據(jù)更新周期內(nèi)經(jīng)檢測可達(dá)的空閑IP地址從數(shù)據(jù)庫中刪除;
[0016]將數(shù)據(jù)庫中不存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址增加到數(shù)據(jù)庫中;
[0017]將數(shù)據(jù)庫中已存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址,則根據(jù)空閑IP地址數(shù)據(jù)更新周期更新數(shù)據(jù)庫中空閑IP地址的空閑天數(shù)。
[0018]進(jìn)一步地,所述方法還包括:[0019]根據(jù)管理員設(shè)定的空閑IP地址的查詢指令,讀取數(shù)據(jù)庫內(nèi)空閑IP地址,并將滿足查詢內(nèi)容的空閑IP地址反饋給查詢模塊。
[0020]進(jìn)ー步地,所述查詢指令即可以由管理員手工輸入,也可以由管理員根據(jù)預(yù)定的策略設(shè)置成自動(dòng)查詢。
[0021]進(jìn)ー步地,所述方法還包括:
[0022]關(guān)閉檢測空閑IP地址的指令,并根據(jù)管理員設(shè)定的是否保留歷史記錄的參數(shù)指令來決定是否刪除數(shù)據(jù)庫中記錄的空閑IP地址數(shù)據(jù)。
[0023]本發(fā)明還同時(shí)提供ー種檢測空閑IP地址的裝置,至少包括有配置模塊、檢測模塊和更新模塊,其中:
[0024]配置模塊,用于接收管理員設(shè)定的啟動(dòng)檢測空閑IP地址的指令和實(shí)現(xiàn)檢測空閑IP地址的其他參數(shù)指令,并將之發(fā)送給檢測模塊、更新模塊;
[0025]檢測模塊,用于接收到配置模塊發(fā)送的啟動(dòng)檢測空閑IP地址的指令后,根據(jù)管理員設(shè)定的IP地址可達(dá)性檢測周期周期性檢測IP地址是否可達(dá),如果是,則將可達(dá)的IP地址記錄到IP地址可達(dá)列表內(nèi),如果否,則將不可達(dá)的IP地址記錄到IP地址不可達(dá)列表內(nèi);
[0026]更新模塊,用于當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),對數(shù)據(jù)庫中的空閑IP地址進(jìn)行更新。
[0027]進(jìn)ー步地,所述更新模塊的空閑IP地址數(shù)據(jù)更新周期大于等于檢測模塊的IP地址可達(dá)性檢測周期。
[0028]進(jìn)ー步地,所述更新模塊的空閑IP地址數(shù)據(jù)更新周期為檢測模塊的IP地址可達(dá)性檢測周期的若干整數(shù)部。
[0029]進(jìn)ー步地,檢測模塊在空閑IP地址數(shù)據(jù)更新周期內(nèi)第一次檢測IP地址是否可達(dá)時(shí),默認(rèn)所有已分配的IP地址的可達(dá)性狀態(tài)為不可達(dá)。
[0030]進(jìn)ー步地,檢測模塊經(jīng)過第一次檢測后,在隨后的周期內(nèi)檢測IP地址是否可達(dá)時(shí),只對上一周期內(nèi)不可達(dá)的IP地址進(jìn)行再次檢測,并將該檢測周期內(nèi)所有檢測可達(dá)的IP地址記錄到可達(dá)IP地址列表內(nèi),不可達(dá)的IP地址記錄到不可達(dá)IP地址列表內(nèi)。
[0031]進(jìn)ー步地,當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),更新模塊對空閑IP地址數(shù)據(jù)庫進(jìn)行更新,具體為:
[0032]將在空閑IP地址數(shù)據(jù)更新周期內(nèi)經(jīng)檢測可達(dá)的空閑IP地址從數(shù)據(jù)庫中刪除;
[0033]將數(shù)據(jù)庫中不存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址增加到數(shù)據(jù)庫中;
[0034]將數(shù)據(jù)庫中已存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址,則根據(jù)空閑IP地址數(shù)據(jù)更新周期更新數(shù)據(jù)庫中空閑IP地址的空閑天數(shù)。
[0035]進(jìn)ー步地,所述裝置還包括有查詢模塊和輸出模塊,其中:
[0036]查詢模塊,用于將管理員設(shè)定的空閑IP地址的查詢指令發(fā)送給輸出模塊;
[0037]輸出模塊,接收到查詢模塊發(fā)送的查詢指令后,讀取數(shù)據(jù)庫內(nèi)空閑IP地址,并將滿足查詢內(nèi)容的空閑IP地址反饋給查詢模塊。
[0038]進(jìn)ー步地,所述查詢模塊中的查詢指令即可以由管理員在查詢模塊中手エ輸入,也可以由管理員根據(jù)預(yù)定的策略在查詢模塊中設(shè)置成自動(dòng)查詢。
[0039]進(jìn)ー步地,所述配置模塊還用干:[0040]管理員設(shè)定關(guān)閉檢測空閑IP地址的指令,并根據(jù)管理員設(shè)定的是否保留歷史記錄的參數(shù)指令來決定是否刪除數(shù)據(jù)庫中記錄的空閑IP地址數(shù)據(jù)。
[0041]與現(xiàn)有的技術(shù)相比,本發(fā)明通過對空閑IP地址長期有效的檢測,記錄長期不使用的IP地址,從而方便管理員對這些空閑IP地址釋放、重新分配,進(jìn)而增加IP地址資源利用率。
【專利附圖】
【附圖說明】
[0042]圖1是本發(fā)明示例性實(shí)施例中一種檢測空閑IP地址的裝置邏輯結(jié)構(gòu)及硬件環(huán)境原理示意圖;
[0043]圖2是圖1所示本發(fā)明示例性實(shí)施例中一種檢測空閑IP地址的方法流程示意圖;
[0044]圖3是某應(yīng)用場景下本發(fā)明檢測空閑IP地址的實(shí)現(xiàn)示例圖。
【具體實(shí)施方式】
[0045]為了實(shí)現(xiàn)本發(fā)明目的,本發(fā)明通過在網(wǎng)管服務(wù)器上增加一功能插件用于實(shí)現(xiàn)對IP地址池中已分配的IP地址的空閑檢測。所述功能插件具體分為前臺(tái)和后臺(tái)兩個(gè)部分,前臺(tái)負(fù)責(zé)空閑IP地址檢測的啟動(dòng)、空閑IP地址檢測配置的下發(fā)以及空閑IP地址的查詢等,后臺(tái)則負(fù)責(zé)空閑IP地址可達(dá)性檢測、空閑IP地址的數(shù)據(jù)更新以及在管理員通過前臺(tái)發(fā)送空閑IP地址的查詢指令后,負(fù)責(zé)對空閑IP地址數(shù)據(jù)的提供。通過本發(fā)明對IP地址長期有效的周期性檢測,記錄長期不使用的空閑IP地址,從而方便管理員對這些空閑IP地址釋放、重新分配,進(jìn)而增加IP地址資源利用率。
[0046]以軟件配合實(shí)現(xiàn)為例,如圖1所示,本發(fā)明提供一種檢測空閑IP地址的裝置,實(shí)質(zhì)為借由網(wǎng)管服務(wù)器的CPU從非易失性存儲(chǔ)器中讀取相應(yīng)的計(jì)算機(jī)程序到內(nèi)存中運(yùn)行形成的邏輯裝置。網(wǎng)管服務(wù)器作為本發(fā)明裝置運(yùn)行的載體,其硬件環(huán)境通常至少都包括CPU、內(nèi)存以及非易失性存儲(chǔ)器來支持上述邏輯裝置的運(yùn)行。當(dāng)然,所述網(wǎng)管服務(wù)器還包括其他如輸入輸出端口等業(yè)務(wù)硬件,由于這些并非為實(shí)現(xiàn)本發(fā)明目的的核心組件,在此不贅述亦未圖示。另外,本發(fā)明也不排除其他諸如僅使用硬件或者軟硬件結(jié)合的實(shí)現(xiàn)方式。
[0047]進(jìn)一步如圖1所示,本發(fā)明裝置包括:配置模塊、查詢模塊、檢測模塊、更新模塊以及輸出模塊。其中,配置模塊和查詢模塊設(shè)置于軟件程序的前臺(tái),用于與管理員進(jìn)行交互并將管理員設(shè)定的指令下發(fā)給后臺(tái)的檢測模塊、更新模塊以及輸出模塊;檢測模塊、更新模塊以及輸出模塊則設(shè)置于軟件程序的后臺(tái),分別用于根據(jù)前臺(tái)配置模塊、查詢模塊發(fā)送的指令進(jìn)行IP地址可達(dá)性的檢測、空閑IP地址數(shù)據(jù)更新以及空閑IP地址數(shù)據(jù)的輸出。本發(fā)明中,所述裝置在實(shí)現(xiàn)空閑IP地址檢測的過程中,借由CPU讀取指令,各模塊間交互流程具體如圖2所示:
[0048]步驟1、配置模塊接收管理員設(shè)定的啟動(dòng)檢測空閑IP地址的指令,并將之發(fā)送給后臺(tái)程序中的檢測模塊、更新模塊以及輸出模塊。
[0049]具體地,當(dāng)管理員決定啟動(dòng)空閑IP地址檢測功能,則網(wǎng)絡(luò)管理員需要通過配置模塊設(shè)定啟動(dòng)檢測空閑IP地址的指令。與此同時(shí),為了實(shí)現(xiàn)對空閑IP地址的檢測,管理員還需要通過配置模塊進(jìn)一步設(shè)定其他檢測空閑IP地址的參數(shù)指令。例如:IP地址可達(dá)性檢測的周期(可以小時(shí)為單位,取值范圍為1-12,其中檢測周期越小,也就是IP地址可達(dá)性檢測的粒度越小,檢測空閑IP地址會(huì)越精確)、空閑IP地址數(shù)據(jù)更新周期以及當(dāng)管理員發(fā)送關(guān)閉檢測空閑IP地址的指令后,是否繼續(xù)保留數(shù)據(jù)庫中空閑IP地址的記錄等配置參數(shù)。
[0050]在本發(fā)明中,空閑IP地址數(shù)據(jù)更新周期應(yīng)大于等于IP地址可達(dá)性檢測周期。優(yōu)選地,所述空閑IP地址數(shù)據(jù)更新周期為IP地址可達(dá)性檢測周期的若干整數(shù)倍。
[0051]當(dāng)網(wǎng)絡(luò)管理員完成上述參數(shù)配置后,所述配置模塊進(jìn)ー步將上述配置的指令參數(shù)分別發(fā)送給后臺(tái)程序中的檢測模塊、更新模塊以及輸出模塊。
[0052]步驟2、檢測模塊接收到配置模塊發(fā)送的啟動(dòng)檢測空閑IP地址的指令后,根據(jù)管理員設(shè)定的IP地址可達(dá)性檢測周期周期性檢測IP地址是否可達(dá),如果是,則將可達(dá)的IP地址記錄到IP地址可達(dá)列表內(nèi),如果否,則將不可達(dá)的IP地址記錄到IP地址不可達(dá)列表內(nèi)。
[0053]具體地,當(dāng)后臺(tái)檢測模塊接收到前臺(tái)配置模塊發(fā)送的啟動(dòng)檢測空閑IP地址的指令時(shí),所述檢測模塊會(huì)根據(jù)管理員通過前臺(tái)配置模塊設(shè)置的IP地址可達(dá)性檢測周期啟動(dòng)ー個(gè)與之對應(yīng)的檢測定時(shí)器,以便檢測模塊根據(jù)管理員自定義的周期來循環(huán)檢測網(wǎng)管服務(wù)器所管理的IP地址可達(dá)狀態(tài)。
[0054]需要說明的是,在本發(fā)明中,當(dāng)檢測模塊在空閑IP地址數(shù)據(jù)更新周期內(nèi)第一次檢測IP地址是否可達(dá)時(shí),檢測模塊需要默認(rèn)所有已分配的IP地址的可達(dá)性狀態(tài)為不可達(dá),以保證在空閑IP地址數(shù)據(jù)更新周期內(nèi),每個(gè)IP地址是否可達(dá)至少被檢測一次。另外,當(dāng)檢測模塊對所有已分配IP地址可達(dá)性檢測完畢后,將所有檢測可達(dá)的IP地址記錄到可達(dá)IP地址列表內(nèi),將所有不可達(dá)的IP地址記錄到不可達(dá)IP地址列表內(nèi)。如果此時(shí)空閑IP地址數(shù)據(jù)更新周期尚未到達(dá),則所述檢測模塊在下一個(gè)檢測周期到來時(shí),檢測模塊只會(huì)對那些在上一周期內(nèi)檢測時(shí)不可達(dá)的IP地址進(jìn)行再次檢測,然后將該檢測周期內(nèi)所有檢測可達(dá)的IP地址記錄到可達(dá)IP地址列表內(nèi),不可達(dá)的IP地址記錄到不可達(dá)IP地址列表內(nèi)。周而復(fù)始,直至空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí)為止。
[0055]步驟3、當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),更新模塊對數(shù)據(jù)庫中的空閑IP地址進(jìn)行更新。
[0056]為了實(shí)現(xiàn)本發(fā)明目的,在本發(fā)明的實(shí)現(xiàn)上,除了啟用步驟2所述的IP地址可達(dá)性檢測對應(yīng)的定時(shí)器外,進(jìn)ー步地,所述檢測模塊還同時(shí)啟用ー個(gè)與空閑IP地址數(shù)據(jù)更新周期對應(yīng)的數(shù)據(jù)更新定時(shí)器,以便當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),檢測模塊能及時(shí)將其記錄的所有可達(dá)IP地址以及不可達(dá)IP地址信息發(fā)送給更新模塊,以便更新模塊對數(shù)據(jù)庫內(nèi)的空閑IP地址數(shù)據(jù)進(jìn)行更新。
[0057]更新模塊接收到檢測模塊發(fā)送的所有可達(dá)IP地址和不可達(dá)IP地址后,對數(shù)據(jù)庫內(nèi)的空閑IP地址進(jìn)行更新。具體為:當(dāng)更新模塊接收到檢測模塊發(fā)送的所有可達(dá)IP地址和不可達(dá)IP地址后,進(jìn)ー步讀取數(shù)據(jù)庫內(nèi)的空閑IP地址,將在空閑IP地址數(shù)據(jù)更新周期內(nèi)經(jīng)檢測可達(dá)的空閑IP地址從數(shù)據(jù)庫中刪除,同時(shí)將數(shù)據(jù)庫中不存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址增加到數(shù)據(jù)庫中,而對于數(shù)據(jù)庫中已存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址,則根據(jù)空閑IP地址數(shù)據(jù)更新周期更新數(shù)據(jù)庫中空閑IP地址的空閑天數(shù)。
[0058]經(jīng)過上述各步驟模塊間的交互后,本發(fā)明可以實(shí)現(xiàn)對空閑IP地址的長期有效的檢測,并同時(shí)根據(jù)IP地址的可達(dá)性檢測記錄了長期不使用的已分配空閑IP地址。[0059]下面再進(jìn)一步描述管理員是如何完成對這些空閑IP地址的查詢、釋放和重新分配,進(jìn)而增加IP地址資源利用率。
[0060]步驟4、查詢模塊根據(jù)管理員設(shè)定的空閑IP地址的查詢指令,將查詢指令發(fā)送給輸出模塊,所述輸出模塊讀取數(shù)據(jù)庫內(nèi)空閑IP地址,并將滿足查詢內(nèi)容的空閑IP地址反饋給查詢模塊。
[0061]具體地,當(dāng)管理員需要查詢已分配過的空閑IP地址時(shí),其通過前臺(tái)程序設(shè)置的查詢模塊設(shè)定具體的查詢指令。其中所述查詢指令即可以由管理員每次手工輸入完成某個(gè)具體IP地址或者IP地址段內(nèi)符合條件的空閑IP地址的查詢,也可以由網(wǎng)絡(luò)管理員根據(jù)預(yù)定的策略設(shè)置成自動(dòng)查詢。例如:當(dāng)管理員根據(jù)預(yù)定的策略設(shè)置自動(dòng)查詢指令時(shí),可以依固定周期(例如以“月”為單位)或者空閑的IP地址的閑置天數(shù)大于等于某一閾值等完成自動(dòng)查詢和輸出。
[0062]當(dāng)查詢模塊接收管理員手工輸入或者設(shè)定的自動(dòng)查詢指令后,將之發(fā)送給輸出模塊。所述輸出模塊根據(jù)該輸入或者設(shè)定的自動(dòng)查詢指令,讀取數(shù)據(jù)庫內(nèi)滿足查詢指令內(nèi)容的空閑IP地址,并將之輸出給前臺(tái)的查詢模塊,供管理員進(jìn)行釋放和重新分配,并將釋放和重新分配的空閑IP地址從數(shù)據(jù)庫中刪除,進(jìn)而增加空閑IP地址的資源利用率。
[0063]另外,當(dāng)后臺(tái)檢測模塊接收到管理員通過前臺(tái)配置模塊設(shè)定的關(guān)閉檢測空閑IP地址的指令時(shí),會(huì)停止空閑IP檢測定時(shí)器以及空閑IP地址數(shù)據(jù)更新定時(shí)器,同時(shí)根據(jù)用戶設(shè)定的是否保留歷史記錄的參數(shù)指令來決定是否刪除數(shù)據(jù)庫中記錄的空閑IP地址數(shù)據(jù)。
[0064]為了使本領(lǐng)域技術(shù)人員更加清楚和明白,以下結(jié)合圖3所示的本發(fā)明示例性應(yīng)用場景詳細(xì)描述本發(fā)明。
[0065]假設(shè)在某應(yīng)用場景下,某網(wǎng)絡(luò)中已分配了 250個(gè)IP地址,網(wǎng)段區(qū)間為:10.153.89.1?10.153.89.250,網(wǎng)管服務(wù)器的數(shù)據(jù)庫中記錄著10.153.89.131?10.153.89.250這120個(gè)IP地址空閑天數(shù)為10天,沒有其余的IP地址空閑信息。
[0066]進(jìn)一步假設(shè)在該應(yīng)用場景下,設(shè)定IP地址可達(dá)性檢測周期為12小時(shí),亦即每隔12小時(shí),檢測模塊對上一檢測周期內(nèi)不可達(dá)的IP地址重新進(jìn)行可達(dá)性檢測。并且設(shè)定每個(gè)IP地址不可達(dá)期限為3秒,亦即,如果3秒內(nèi)檢測模塊接收到IP地址可達(dá)的應(yīng)答報(bào)文,則視該IP地址可達(dá)并將之更新到可達(dá)IP地址列表內(nèi),反之,如果一個(gè)IP地址發(fā)送后超過3秒還未收到該IP地址對應(yīng)的應(yīng)答信息,則視該IP地址不可達(dá),將之更新到不可達(dá)IP地址列表中,其中不可達(dá)IP地址更新的頻率為I秒,即每隔I秒對不可達(dá)的IP地址更新一次;空閑IP地址數(shù)據(jù)更新的周期為一天,數(shù)據(jù)更新的時(shí)間為當(dāng)天的23:59:59秒。
[0067]下面以檢測模塊發(fā)送ICMP (Internet Control Message Protocol, Internet 控制報(bào)文協(xié)議)報(bào)文為例來說明檢測IP地址一天內(nèi)的可達(dá)性以及空閑天數(shù)變化情況。
[0068]檢測模塊啟動(dòng)每天的第一次檢測周期開始之前,根據(jù)本發(fā)明的具體實(shí)現(xiàn)方案,會(huì)默認(rèn)所有已分配的IP地址當(dāng)天的可達(dá)性狀態(tài)為不可達(dá)。當(dāng)?shù)竭_(dá)第一個(gè)檢測周期(假設(shè)為0:0:0秒)后,所述檢測模塊會(huì)將前述網(wǎng)段區(qū)間內(nèi)的250個(gè)待檢測的IP地址寫入未發(fā)送列表ListA中,然后,所述檢測模塊會(huì)構(gòu)造ICMP報(bào)文,第一次發(fā)送10.153.89.1?
10.153.89.100個(gè)報(bào)文(該值可以由管理員任意設(shè)置),同時(shí)將這100個(gè)已發(fā)送的IP地址轉(zhuǎn)移至內(nèi)存已發(fā)送列表ListB中,并記錄這100個(gè)已發(fā)送的IP地址相應(yīng)的發(fā)送時(shí)間。經(jīng)過第一次發(fā)送后,未發(fā)送列表ListA中還剩余150個(gè)IP地址。[0069]考慮到性能方面的壓力,在本發(fā)明該示例性的應(yīng)用場景中,在發(fā)送完前100個(gè)IP地址后,會(huì)接收所述發(fā)送的IP地址的ICMP應(yīng)答報(bào)文,并設(shè)定接收時(shí)長為100毫秒,如果在該100毫秒內(nèi)接收到幾個(gè)ICMP應(yīng)答報(bào)文,則在內(nèi)存中可達(dá)IP地址列表ListC記錄這些IP地址可達(dá),同時(shí)從已發(fā)送列表ListB中刪除這些IP地址,然后在ListA中剩余未被檢測的IP地址中選擇相同個(gè)數(shù)IP地址繼續(xù)構(gòu)造ICMP報(bào)文再進(jìn)行發(fā)送,直到所有的IP地址都被檢測完成。
[0070]以本發(fā)明示例性應(yīng)用場景舉例來說,假設(shè)檢測模塊在100毫秒內(nèi),共接收到了此前發(fā)送的10.153.89.1?10.153.89.10這10個(gè)IP地址的響應(yīng)報(bào)文,則內(nèi)存中可達(dá)IP地址列表ListC中記錄這10個(gè)IP地址可達(dá),同時(shí)從已發(fā)送列表ListB中刪除這10個(gè)IP地址,然后再繼續(xù)從ListA中選擇10個(gè)IP地址(例如10.153.89.101?10.153.89.110)繼續(xù)構(gòu)造ICMP報(bào)文進(jìn)行發(fā)送,這樣隨后未發(fā)送列表ListA中剰余140個(gè)IP地址。由于一次循環(huán)發(fā)送100個(gè)IP地址用時(shí)可能不超過I秒鐘,在此期間ListA和ListB中都有IP地址,這時(shí)再接收100毫秒的ICMP應(yīng)答報(bào)文,假如接收到10.153.89.11?10.153.89.30這20個(gè)ICMP應(yīng)答報(bào)文,則內(nèi)存中可達(dá)IP地址列表ListC中記錄10.153.89.11?10.153.89.30這20個(gè)IP地址可達(dá),并從ListB中刪除這些IP地址。然后從ListA中再選擇20個(gè)IP地址(例如10.153.89.111?10.153.89.130)構(gòu)造ICMP報(bào)文進(jìn)行發(fā)送,ListB中剩余120個(gè)IP地址。依次類推,直到所有的IP地址都被檢測完成。
[0071]由于根據(jù)本發(fā)明設(shè)定的應(yīng)用場景,檢測模塊會(huì)每隔I秒將更新不可達(dá)IP地址列表ListD—次。亦即,從已發(fā)送列表ListB中刪除超時(shí)不可達(dá)IP地址,并將之轉(zhuǎn)移到不可達(dá)IP地址列表ListD中。由于在本應(yīng)用場景中,設(shè)定的IP地址不可達(dá)超時(shí)時(shí)間為3秒,所以前兩次不會(huì)有任何IP地址超時(shí)。當(dāng)發(fā)送的IP地址超過3秒仍然沒有接收到對應(yīng)的ICMP應(yīng)答報(bào)文吋,則從已發(fā)送的IP地址列表ListB中刪除這些超時(shí)IP地址,并將該超時(shí)不可達(dá)IP地址轉(zhuǎn)移至不可達(dá)IP地址列表ListD中,假設(shè)ListB中有10個(gè)IP地址與當(dāng)前時(shí)間差值大于等于3秒,為10.153.89.91?10.153.89.100,內(nèi)存中的不可達(dá)IP地址列表ListD中記錄這些IP地址不可達(dá),并從ListB中刪除這10個(gè)IP地址,如果此時(shí)ListA中還有未檢測的IP地址,則繼續(xù)構(gòu)造10個(gè)IP地址的ICMP報(bào)文進(jìn)行發(fā)送檢測。
[0072]當(dāng)ListA與ListB都為空時(shí),表明所述IP可達(dá)性檢測在本檢測周期內(nèi)已檢測完成。假設(shè)檢測結(jié)果如下 10.153.89.91 ?10.153.89.100、10.153.89.200 ?10.153.89.250為不可達(dá),其余IP地址可達(dá)。根據(jù)檢測結(jié)果,本發(fā)明裝置更新數(shù)據(jù)庫、內(nèi)存中IP地址空閑的天數(shù)以及當(dāng)天的IP地址可達(dá)性,有下述幾種情況:
[0073]當(dāng)內(nèi)存中可達(dá)IP地址列表ListC中記錄10.153.89.1?10.153.89.90、10.153.89.101?10.153.89.199這些IP地址當(dāng)天狀態(tài)為可達(dá),內(nèi)存中可達(dá)IP地址列表中記錄這些IP地址空閑天數(shù)為0以及當(dāng)天狀態(tài)為可達(dá),下次可達(dá)性檢測時(shí)本發(fā)明檢測模塊不再檢測這些IP地址。
[0074]當(dāng)內(nèi)存中不可達(dá)IP地址列表ListD中記錄10.153.89.91?10.153.89.100、10.153.89.200?10.153.89.250當(dāng)天狀態(tài)為不可達(dá),下次可達(dá)性檢測繼續(xù)檢測這些IP地址。當(dāng)?shù)竭_(dá)下個(gè)檢測周期(假設(shè)為12:00:01秒)時(shí),只對10.153.89.91?10.153.89.100、
10.153.89.200?10.153.89.250這些IP地址進(jìn)行可達(dá)性檢測。然后將在該檢測周期內(nèi)檢測可達(dá)的IP地址記錄到可達(dá)IP地址列表ListC中,將不可達(dá)IP地址記錄到不可達(dá)IP地址列表ListD中。周而復(fù)始,直到空閑IP地址數(shù)據(jù)更新周期到達(dá)。
[0075]另外,考慮到某些應(yīng)用場景下,網(wǎng)絡(luò)中個(gè)別設(shè)備的軟件會(huì)忽略IP地址的ICMP檢測報(bào)文,在本發(fā)明中,在ICMP報(bào)文檢測的基礎(chǔ)上,進(jìn)一步增加了空閑IP地址的ARP檢測機(jī)制,具體如下:
[0076]當(dāng)檢測模塊在完成IP地址的ICMP報(bào)文檢測后,進(jìn)一步在ARP老化周期內(nèi)輪詢網(wǎng)關(guān)中的網(wǎng)絡(luò)設(shè)備,從中獲取設(shè)備的ARP信息,如果在ARP信息中獲取到不可達(dá)列表ListD中記錄的IP地址,則將該IP地址當(dāng)天的狀態(tài)從“不可達(dá)”修改為“可達(dá)”并將之移到可達(dá)列表ListC中。
[0077]當(dāng)?shù)竭_(dá)空閑IP地址數(shù)據(jù)更新周期時(shí),例如:在本應(yīng)用場景中到達(dá)23:59:59秒時(shí),假設(shè) 10.153.89.90 ?10.153.89.95,10.153.89.230 ?10.153.89.250 一天內(nèi)都不可達(dá)。則更新模塊將這些IP地址的空閑天數(shù)增加I天,更新到空閑IP地址數(shù)據(jù)庫內(nèi)。最終結(jié)果為 10.153.89.90 ?10.153.89.95 的空閑天數(shù)為 I 天,10.153.89.230 ?10.153.89.250 空閑天數(shù)為11天,其余IP地址空閑天數(shù)為O。當(dāng)下一天來臨時(shí),重置所有IP地址當(dāng)天可達(dá)狀態(tài)為不可達(dá),開始新一天的IP地址可達(dá)性檢測。
[0078]與現(xiàn)有的技術(shù)相比較,本發(fā)明通過對IP地址長期有效的檢測,記錄長期不使用的IP地址,從而方便網(wǎng)絡(luò)管理員對這些空閑IP地址釋放、重新分配,進(jìn)而增加IP地址資源利用率。
[0079]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種檢測空閑IP地址的方法,其特征在于,所述方法包括: 接收管理員的啟動(dòng)檢測空閑IP地址的指令; 根據(jù)管理員設(shè)定的IP地址可達(dá)性檢測周期周期性檢測IP地址是否可達(dá),如果是,則將可達(dá)的IP地址記錄到IP地址可達(dá)列表內(nèi),如果否,則將不可達(dá)的IP地址記錄到IP地址不可達(dá)列表內(nèi); 當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),對空閑IP地址數(shù)據(jù)庫進(jìn)行更新。
2.如權(quán)利要求1所述的方法,其特征在于,所述空閑IP地址數(shù)據(jù)更新周期大于等于IP地址可達(dá)性檢測周期。
3.如權(quán)利要求2所述的方法,其特征在于,所述空閑IP地址數(shù)據(jù)更新周期為IP地址可達(dá)性檢測周期的若干整數(shù)部。
4.如權(quán)利要求1所述的方法,其特征在于,在空閑IP地址數(shù)據(jù)更新周期內(nèi)第一次檢測IP地址是否可達(dá)時(shí),默認(rèn)所有已分配的IP地址的可達(dá)性狀態(tài)為不可達(dá)。
5.如權(quán)利要求4所述的方法,其特征在于,經(jīng)過第一次檢測后,在下一周期檢測IP地址是否可達(dá)時(shí),只對上一周期內(nèi)檢測不可達(dá)的IP地址進(jìn)行再次檢測,并將該檢測周期內(nèi)所有檢測可達(dá)的IP地址記錄到可達(dá)IP地址列表內(nèi),不可達(dá)的IP地址記錄到不可達(dá)IP地址列表內(nèi)。
6.如權(quán)利要求1所述的方法,其特征在于,當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),對空閑IP地址數(shù)據(jù)庫進(jìn)行更新 ,具體為: 將在空閑IP地址數(shù)據(jù)更新周期內(nèi)經(jīng)檢測可達(dá)的空閑IP地址從數(shù)據(jù)庫中刪除; 將數(shù)據(jù)庫中不存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址增加到數(shù)據(jù)庫中; 將數(shù)據(jù)庫中已存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址,則根據(jù)空閑IP地址數(shù)據(jù)更新周期更新數(shù)據(jù)庫中空閑IP地址的空閑天數(shù)。
7.如權(quán)利要求1或6所述的方法,其特征在于,所述方法還包括: 根據(jù)管理員設(shè)定的空閑IP地址的查詢指令,讀取數(shù)據(jù)庫內(nèi)空閑IP地址,并將滿足查詢內(nèi)容的空閑IP地址反饋給查詢模塊。
8.如權(quán)利要求7所述的方法,其特征在于,所述查詢指令即可以由管理員手工輸入,也可以由管理員根據(jù)預(yù)定的策略設(shè)置成自動(dòng)查詢。
9.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 關(guān)閉檢測空閑IP地址的指令,并根據(jù)管理員設(shè)定的是否保留歷史記錄的參數(shù)指令來決定是否刪除數(shù)據(jù)庫中記錄的空閑IP地址數(shù)據(jù)。
10.一種檢測空閑IP地址的裝置,至少包括有配置模塊、檢測模塊和更新模塊,其特征在于: 配置模塊,用于接收管理員設(shè)定的啟動(dòng)檢測空閑IP地址的指令和實(shí)現(xiàn)檢測空閑IP地址的其他參數(shù)指令,并將之發(fā)送給檢測模塊、更新模塊; 檢測模塊,用于接收到配置模塊發(fā)送的啟動(dòng)檢測空閑IP地址的指令后,根據(jù)管理員設(shè)定的IP地址可達(dá)性檢測周期周期性檢測IP地址是否可達(dá),如果是,則將可達(dá)的IP地址記錄到IP地址可達(dá)列表內(nèi),如果否,則將不可達(dá)的IP地址記錄到IP地址不可達(dá)列表內(nèi); 更新模塊,用于當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),對數(shù)據(jù)庫中的空閑IP地址進(jìn)行更新。
11.如權(quán)利要求10所述的方法,其特征在于,所述更新模塊的空閑IP地址數(shù)據(jù)更新周期大于等于檢測模塊的IP地址可達(dá)性檢測周期。
12.如權(quán)利要求11所述的方法,其特征在于,所述更新模塊的空閑IP地址數(shù)據(jù)更新周期為檢測模塊的IP地址可達(dá)性檢測周期的若干整數(shù)部。
13.如權(quán)利要求10所述的方法,其特征在于,檢測模塊在空閑IP地址數(shù)據(jù)更新周期內(nèi)第一次檢測IP地址是否可達(dá)時(shí),默認(rèn)所有已分配的IP地址的可達(dá)性狀態(tài)為不可達(dá)。
14.如權(quán)利要求13所述的方法,其特征在干,檢測模塊經(jīng)過第一次檢測后,在隨后的周期內(nèi)檢測IP地址是否可達(dá)時(shí),只對上一周期內(nèi)不可達(dá)的IP地址進(jìn)行再次檢測,并將該檢測周期內(nèi)所有檢測可達(dá)的IP地址記錄到可達(dá)IP地址列表內(nèi),不可達(dá)的IP地址記錄到不可達(dá)IP地址列表內(nèi)。
15.如權(quán)利要求10所述的方法,其特征在于,當(dāng)空閑IP地址數(shù)據(jù)更新周期到達(dá)時(shí),更新模塊對空閑IP地址數(shù)據(jù)庫進(jìn)行更新,具體為: 將在空閑IP地址數(shù)據(jù)更新周期內(nèi)經(jīng)檢測可達(dá)的空閑IP地址從數(shù)據(jù)庫中刪除; 將數(shù)據(jù)庫中不存在但在空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址增加到數(shù)據(jù)庫中; 將數(shù)據(jù)庫中已存在但在 空閑IP地址數(shù)據(jù)更新周期內(nèi)檢測不可達(dá)的IP地址,則根據(jù)空閑IP地址數(shù)據(jù)更新周期更新數(shù)據(jù)庫中空閑IP地址的空閑天數(shù)。
16.如權(quán)利要求10或15所述的方法,其特征在于,所述裝置還包括有查詢模塊和輸出模塊,其中: 查詢模塊,用于將管理員設(shè)定的空閑IP地址的查詢指令發(fā)送給輸出模塊; 輸出模塊,接收到查詢模塊發(fā)送的查詢指令后,讀取數(shù)據(jù)庫內(nèi)空閑IP地址,并將滿足查詢內(nèi)容的空閑IP地址反饋給查詢模塊。
17.如權(quán)利要求16所述的方法,其特征在于,所述查詢模塊中的查詢指令即可以由管理員在查詢模塊中手エ輸入,也可以由管理員根據(jù)預(yù)定的策略在查詢模塊中設(shè)置成自動(dòng)查詢。
18.如權(quán)利要求10所述的方法,其特征在于,所述配置模塊還用于: 管理員設(shè)定關(guān)閉檢測空閑IP地址的指令,并根據(jù)管理員設(shè)定的是否保留歷史記錄的參數(shù)指令來決定是否刪除數(shù)據(jù)庫中記錄的空閑IP地址數(shù)據(jù)。
【文檔編號】H04L29/12GK103595566SQ201310562248
【公開日】2014年2月19日 申請日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】翟迅, 王文巖 申請人:杭州華三通信技術(shù)有限公司