本發(fā)明涉及以太網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種局域網(wǎng)內(nèi)智能配置交換機(jī)為不沖突靜態(tài)網(wǎng)絡(luò)管理地址的方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,諸多行業(yè)均通過技術(shù)的改造與應(yīng)用升級,不同程度實(shí)現(xiàn)了網(wǎng)絡(luò)化,但是在網(wǎng)絡(luò)部署與維護(hù)過程中,基本上均采用人工方式記錄或者直接配置網(wǎng)絡(luò)中的交換機(jī)管理網(wǎng)絡(luò)地址,主要包括以下兩種方式:
現(xiàn)有動態(tài)分配網(wǎng)絡(luò)地址的技術(shù)的代表技術(shù)是動態(tài)獲取網(wǎng)絡(luò)地址的方式,即DHCP方式是通過終端請求,DHCP服務(wù)器響應(yīng)分配動態(tài)網(wǎng)絡(luò)地址給各個(gè)交換機(jī)。但是,這種方式分配的是靜態(tài)網(wǎng)絡(luò)地址,并且局域網(wǎng)中也可能出現(xiàn)沖突的網(wǎng)絡(luò)地址;而且一旦DHCP服務(wù)器斷開或者出現(xiàn)異常情況,那么局域網(wǎng)中的交換機(jī)的網(wǎng)絡(luò)管理地址就會丟失而導(dǎo)致無管理網(wǎng)絡(luò)地址可用。
另一種技術(shù)是通過人工方式逐個(gè)進(jìn)行配置,且人工配置方式有多種,大部分采用交換機(jī)本身所提供的web接口進(jìn)行網(wǎng)絡(luò)地址配置,此種方式效率較低,成本較高,需要具有一定網(wǎng)絡(luò)技術(shù)知識水平的專業(yè)技術(shù)人員,而且人工配置方式一旦出現(xiàn)失誤,就會導(dǎo)致更難配置與管理,并且有可能出現(xiàn)有沖突的靜態(tài)網(wǎng)絡(luò)地址;更有甚者,在出現(xiàn)由于交換機(jī)接口屬性不一致情況下,配置更為困難耗時(shí)。而且局域網(wǎng)越大,成本越高,配置難度越高。
技術(shù)實(shí)現(xiàn)要素:
為了解決如何實(shí)現(xiàn)局域網(wǎng)內(nèi)將各個(gè)網(wǎng)管型交換機(jī)智能配置為不沖突的靜態(tài)網(wǎng)絡(luò)管理地址的技術(shù)問題,本發(fā)明提供一種局域網(wǎng)內(nèi)智能配置交換機(jī)為不沖突靜態(tài)網(wǎng)絡(luò)管理地址的方法,通過交換機(jī)訪問控制技術(shù)、獲取交換機(jī)鄰居技術(shù),導(dǎo)致無法訪問目標(biāo)交換機(jī)現(xiàn)象的智能消除技術(shù),一旦發(fā)現(xiàn)有沖突的網(wǎng)絡(luò)地址,立即將之設(shè)置為不沖突的網(wǎng)絡(luò)地址;從而可以有效提高網(wǎng)絡(luò)智能化程度,大大降低網(wǎng)絡(luò)部署維護(hù)的成本,提高網(wǎng)絡(luò)部署維護(hù)的效率,是網(wǎng)絡(luò)智能化的進(jìn)一步發(fā)展及實(shí)現(xiàn)的基礎(chǔ)技術(shù)解決方案。
上述的一種局域網(wǎng)內(nèi)智能配置交換機(jī)為不沖突靜態(tài)網(wǎng)絡(luò)管理地址的方法,包括以下步驟:
S1、初始化基礎(chǔ)數(shù)據(jù):
導(dǎo)入不沖突臨時(shí)網(wǎng)絡(luò)地址到不沖突臨時(shí)網(wǎng)絡(luò)地址列表中,并設(shè)置不沖突臨時(shí)網(wǎng)絡(luò)地址列表中的所有不沖突臨時(shí)網(wǎng)絡(luò)地址為均未被占用狀態(tài);
設(shè)置實(shí)際交換機(jī)列表中所有交換機(jī)均未被檢測;
設(shè)置實(shí)際交換機(jī)列表中所有交換機(jī)的實(shí)際網(wǎng)絡(luò)地址為空,設(shè)置實(shí)際交換機(jī)列表中所有交換機(jī)為未全部完成所有鄰居交換機(jī)的唯一性檢測狀態(tài);
設(shè)置交換機(jī)鄰居關(guān)系列表中無鄰居關(guān)系數(shù)據(jù);
S2、獲取一臺交換機(jī)的實(shí)際數(shù)據(jù),并添加到實(shí)際交換機(jī)列表中,同時(shí)設(shè)定該交換機(jī)的網(wǎng)絡(luò)地址為當(dāng)前已經(jīng)找到的所有交換機(jī)中的具有唯一特性;
S3、從實(shí)際交換機(jī)列表中獲取其鄰居交換機(jī)尚未全部完成當(dāng)前唯一特性檢測的交換機(jī):
如果實(shí)際交換機(jī)列表中所有交換機(jī)的當(dāng)前唯一性狀態(tài)為非唯一,則選取任意一個(gè)交換機(jī);否則,從實(shí)際交換機(jī)列表中獲取當(dāng)前唯一性狀態(tài)為當(dāng)前唯一,且其鄰居交換機(jī)尚未全部完成唯一性狀態(tài)檢測的交換機(jī);
S4、判斷步驟S3中是否找到符合要求的交換機(jī):
如果找到,則進(jìn)入步驟S5;否則說明所有的網(wǎng)絡(luò)地址均已經(jīng)被設(shè)置為不沖突的網(wǎng)絡(luò)地址,跳轉(zhuǎn)到步驟S17;
S5、遠(yuǎn)程獲取當(dāng)前交換機(jī)的實(shí)際數(shù)據(jù);
S6、判斷遠(yuǎn)程獲取是否成功:
如果成功則進(jìn)入步驟S7;否則跳轉(zhuǎn)到步驟S14;
S7、更新實(shí)際交換機(jī)列表數(shù)據(jù):如果交換機(jī)管理mac地址在實(shí)際交換機(jī)列表中不存在,則添加該交換機(jī)數(shù)據(jù)到實(shí)際交換機(jī)列表中;
S8、判斷網(wǎng)絡(luò)地址是否重復(fù):如果有重復(fù)的網(wǎng)絡(luò)地址,跳轉(zhuǎn)至步驟S12;否則進(jìn)入步驟S9;
S9、遠(yuǎn)程獲取當(dāng)前交換機(jī)的實(shí)際鄰居交換機(jī)列表:如果本輪檢測中發(fā)生了將重復(fù)網(wǎng)絡(luò)地址設(shè)置為不沖突臨時(shí)網(wǎng)絡(luò)地址現(xiàn)象時(shí),則需要等待大于或等于LLDP生存的時(shí)間,以避免遠(yuǎn)程獲取交換機(jī)的鄰居列表信息時(shí)存在虛假鄰居信息現(xiàn)象發(fā)生;
S10、更新實(shí)際交換機(jī)列表數(shù)據(jù),并更新交換機(jī)鄰居關(guān)系列表;
S11、判斷是否有重復(fù)的網(wǎng)絡(luò)地址:如果沒有重復(fù)的網(wǎng)絡(luò)地址,則跳轉(zhuǎn)到步驟S13;否則進(jìn)入步驟S12;
S12、消除重復(fù)網(wǎng)絡(luò)地址:如果需要消除多個(gè)或者所有的重復(fù)網(wǎng)絡(luò)地址,那么需要臨時(shí)記錄多個(gè)或者所有重復(fù)網(wǎng)絡(luò)地址,然后逐個(gè)按照本步驟消除重復(fù)網(wǎng)絡(luò)地址;且消除重復(fù)網(wǎng)絡(luò)地址時(shí),可以處理任意一個(gè)或者多個(gè)具有該重復(fù)網(wǎng)絡(luò)地址的交換機(jī)為不沖突臨時(shí)網(wǎng)絡(luò)地址;每次消除一臺交換機(jī)的重復(fù)網(wǎng)絡(luò)地址之后,需要等待一定的時(shí)間,其作用是確保交換機(jī)的設(shè)置真實(shí)生效,確保后期獲取的交換機(jī)實(shí)際數(shù)據(jù)是真實(shí)的;
如果重復(fù)網(wǎng)絡(luò)地址為臨時(shí)網(wǎng)絡(luò)地址,全部消除該重復(fù)網(wǎng)絡(luò)地址之后,應(yīng)將該不沖突臨時(shí)網(wǎng)絡(luò)地址及時(shí)收回,即設(shè)定該臨時(shí)網(wǎng)絡(luò)地址為未被占用狀態(tài);其作用是避免不沖突臨時(shí)網(wǎng)絡(luò)地址不夠用現(xiàn)象而導(dǎo)致全網(wǎng)設(shè)置為不沖突的網(wǎng)絡(luò)地址失?。?/p>
S13、設(shè)定當(dāng)前交換機(jī)為已經(jīng)全部完成所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性狀態(tài)檢測;
S14、判斷當(dāng)前交換機(jī)是否真實(shí)存在,如果真實(shí)存在則跳轉(zhuǎn)至第15步;否則跳轉(zhuǎn)至16步;判斷方法包括:
通過交換機(jī)鄰居關(guān)系列表,查找該交換機(jī)的鄰居交換機(jī);然后通過鄰居交換機(jī)的網(wǎng)絡(luò)地址,采用遠(yuǎn)程訪問技術(shù)獲取其實(shí)際鄰居列表,如果當(dāng)前交換機(jī)的mac地址在該實(shí)際鄰居列表中,則其依然真實(shí)存在;
如果當(dāng)前交換機(jī)在交換機(jī)鄰居關(guān)系列表中有多個(gè)鄰居,只有當(dāng)其所有鄰居交換機(jī)的鄰居列表信息中都不包括當(dāng)前交換機(jī)的mac信息時(shí),才能判定當(dāng)前交換機(jī)不真實(shí)存在;
S15、通過技術(shù)調(diào)整總控主機(jī)或者相關(guān)交換機(jī)的相關(guān)屬性,使得總控主機(jī)能夠遠(yuǎn)程訪問當(dāng)前交換機(jī):如果局域網(wǎng)中需要調(diào)整的交換機(jī)的屬性與環(huán)網(wǎng)特點(diǎn)相關(guān),需要根據(jù)環(huán)網(wǎng)特點(diǎn)進(jìn)行相關(guān)的設(shè)置,以避免相關(guān)個(gè)性化環(huán)網(wǎng)協(xié)議引起網(wǎng)絡(luò)風(fēng)暴而導(dǎo)致無法遠(yuǎn)程訪問交換機(jī)現(xiàn)象;
S16、從實(shí)際交換機(jī)列表中刪除該交換機(jī)數(shù)據(jù);
S17、所有交換機(jī)的實(shí)際網(wǎng)絡(luò)地址均為全網(wǎng)唯一且不沖突的網(wǎng)絡(luò)地址,方法結(jié)束。
上述方法中,所述步驟S2中交換機(jī)的實(shí)際數(shù)據(jù)包括交換機(jī)管理mac地址和交換機(jī)管理網(wǎng)絡(luò)地址;且獲取一臺交換機(jī)的實(shí)際數(shù)據(jù)方法包括以下步驟:
通過抓取連鏈路層數(shù)據(jù)LLDP報(bào)文獲取交換機(jī)的實(shí)際數(shù)據(jù);
通過文件輸入、網(wǎng)絡(luò)輸入等方式,為方法提供一臺交換機(jī)的實(shí)際數(shù)據(jù)。
上述方法中,所述步驟S5中當(dāng)前交換機(jī)的實(shí)際數(shù)據(jù)包括交換機(jī)管理mac地址和交換機(jī)管理網(wǎng)絡(luò)地址。
上述方法中,所述步驟S8中的判斷方法為:
檢查實(shí)際交換機(jī)列表中的所有交換機(jī)數(shù)據(jù),如果同一個(gè)網(wǎng)絡(luò)地址對應(yīng)了兩個(gè)或者兩個(gè)以上的有效交換機(jī)mac地址,那么設(shè)定該網(wǎng)絡(luò)地址為重復(fù)網(wǎng)絡(luò)地址,判定具有重復(fù)網(wǎng)絡(luò)地址;
在實(shí)際交換機(jī)列表中,如果交換機(jī)不具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的當(dāng)前唯一性狀態(tài)為當(dāng)前唯一;如果交換機(jī)具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的當(dāng)前唯一性狀態(tài)為非唯一;
檢查擁有重復(fù)網(wǎng)絡(luò)地址的交換機(jī)的鄰居交換機(jī)是否已經(jīng)全部完成其所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性檢測工作,如果是,則設(shè)置該鄰居交換機(jī)為未全部完成所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性檢測狀態(tài)。
上述方法中,所述步驟S10中的更新實(shí)際交換機(jī)列表數(shù)據(jù)包括通過mac地址比較的方法,如果實(shí)際交換機(jī)列表中未包含實(shí)際鄰居交換機(jī)列表中的某個(gè)交換機(jī)的mac地址,則將該交換機(jī)數(shù)據(jù)添加到實(shí)際交換機(jī)列表中。
上述方法中,所述步驟S10中更新交換機(jī)鄰居關(guān)系列表包括:
根據(jù)實(shí)際鄰居交換機(jī)列表更新交換機(jī)鄰居關(guān)系列表,使得交換機(jī)鄰居關(guān)系列表中的交換機(jī)鄰居關(guān)系能夠真實(shí)完整反映交換機(jī)的鄰居關(guān)系;
如果交換機(jī)鄰居關(guān)系列表中不存在實(shí)際交換機(jī)鄰居列表中的交換機(jī),則將該交換機(jī)的鄰居關(guān)系添加到交換機(jī)鄰居關(guān)系列表中;
如果實(shí)際交換機(jī)鄰居列表中不存在交換機(jī)鄰居關(guān)系列表中的某個(gè)交換機(jī),在交換機(jī)鄰居關(guān)系列表中刪除該交換機(jī)數(shù)據(jù)。
上述方法中,所述步驟S11中判斷方法包括:
將鄰居交換機(jī)列表中的交換機(jī)數(shù)據(jù)與實(shí)際交換機(jī)列表中的交換機(jī)數(shù)據(jù)進(jìn)行比較,如果交換機(jī)管理mac地址不同且具有相同的網(wǎng)絡(luò)地址,則認(rèn)定該網(wǎng)絡(luò)地址為重復(fù)網(wǎng)絡(luò)地址;其作用是判定不同的交換機(jī)實(shí)體是否具有相同的網(wǎng)絡(luò)地址;
在實(shí)際交換機(jī)列表中,如果交換機(jī)不具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的當(dāng)前唯一性狀態(tài)為當(dāng)前唯一;如果交換機(jī)具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的當(dāng)前唯一性狀態(tài)為非唯一;
檢查擁有重復(fù)網(wǎng)絡(luò)地址的交換機(jī)的鄰居交換機(jī)是否已經(jīng)全部完成其所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性檢測工作,如果是,則設(shè)置該鄰居交換機(jī)為未全部完成所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性檢測狀態(tài);
如果實(shí)際交換機(jī)列表中沒有數(shù)據(jù),即該交換機(jī)沒有鄰居交換機(jī),則直接設(shè)定其沒有重復(fù)網(wǎng)絡(luò)地址,并跳轉(zhuǎn)至步驟S13。
上述方法中,所述步驟S12包括以下步驟:
選擇未被占用的不沖突臨時(shí)網(wǎng)絡(luò)地址:在不沖突臨時(shí)網(wǎng)絡(luò)地址列表中選擇標(biāo)志為未被占用狀態(tài)的臨時(shí)網(wǎng)絡(luò)地址,然后采用網(wǎng)絡(luò)地址被占用檢測技術(shù)檢測該地址是否被占用,如果被占用,則設(shè)置該不沖突臨時(shí)網(wǎng)絡(luò)地址為已經(jīng)被占用,如果未被占用,則選擇該不沖突臨時(shí)網(wǎng)絡(luò)地址;
利用重復(fù)的網(wǎng)絡(luò)地址遠(yuǎn)程設(shè)置交換機(jī)為不沖突臨時(shí)網(wǎng)絡(luò)地址;
使用不沖突臨時(shí)網(wǎng)絡(luò)地址遠(yuǎn)程獲取交換機(jī)的實(shí)際數(shù)據(jù);其作用是獲知本次設(shè)置的具體目標(biāo)交換機(jī),從而為更新實(shí)際交換機(jī)列表提供實(shí)際數(shù)據(jù);
更新實(shí)際交換機(jī)列表數(shù)據(jù)及交換機(jī)鄰居關(guān)系列表數(shù)據(jù);設(shè)置當(dāng)前不沖突臨時(shí)網(wǎng)絡(luò)地址的占用狀態(tài)為已經(jīng)被占用。
上述方法中,所述更新實(shí)際交換機(jī)列表數(shù)據(jù)的方法包括以下步驟:
根據(jù)步驟S10獲取的交換機(jī)實(shí)際數(shù)據(jù),判斷交換機(jī)mac地址在實(shí)際交換機(jī)列表中是否存在,如果不存在,則添加該交換機(jī)數(shù)據(jù)到實(shí)際交換機(jī)列表中;如果存在,則修改具有該mac地址的交換機(jī)的網(wǎng)絡(luò)地址為該不沖突的臨時(shí)網(wǎng)絡(luò)地址;
在實(shí)際交換機(jī)列表中設(shè)置該交換機(jī)的網(wǎng)絡(luò)地址為具備當(dāng)前唯一特性;
設(shè)置當(dāng)前不沖突臨時(shí)網(wǎng)絡(luò)地址的占用狀態(tài)為已經(jīng)被占用。
上述方法中,所述步驟S15中,當(dāng)各交換機(jī)廠商私有環(huán)網(wǎng)協(xié)議要求有環(huán)網(wǎng)軟切斷點(diǎn)時(shí),則需要保證在環(huán)網(wǎng)各個(gè)節(jié)點(diǎn)交換機(jī)中至少有一個(gè)環(huán)網(wǎng)軟切斷點(diǎn)才不會導(dǎo)致網(wǎng)絡(luò)風(fēng)暴。
本發(fā)明的優(yōu)點(diǎn)和有益效果在于:本發(fā)明通過智能化配置局域網(wǎng)中所有的網(wǎng)管型交換機(jī)的靜態(tài)管理網(wǎng)絡(luò)地址為不沖突的靜態(tài)管理網(wǎng)絡(luò)地址,從而能夠大大提高網(wǎng)絡(luò)部署維護(hù)的效率,降低網(wǎng)絡(luò)部署維護(hù)的成本,為網(wǎng)絡(luò)智能化的進(jìn)一步發(fā)展與實(shí)現(xiàn)奠定堅(jiān)實(shí)的技術(shù)基礎(chǔ),并具備了以下優(yōu)點(diǎn):
1、智能化程度高:
通過采用本發(fā)明提及的方法,能夠有效提高網(wǎng)絡(luò)智能化程度;本發(fā)明提及的方法中,只要獲取任意一臺交換機(jī)的實(shí)際數(shù)據(jù),即可全面快速完成整個(gè)局域網(wǎng)中所有交換機(jī)的靜態(tài)管理網(wǎng)絡(luò)地址的配置,而且不會出現(xiàn)任何重復(fù)的網(wǎng)絡(luò)地址,不會導(dǎo)致在維護(hù)管理交換機(jī)時(shí)出現(xiàn)網(wǎng)絡(luò)地址沖突問題;并且由于能夠智能消除各種因配置不同而導(dǎo)致無法訪問目標(biāo)交換機(jī)的現(xiàn)象。為網(wǎng)絡(luò)智能化科技的進(jìn)一步發(fā)展與實(shí)現(xiàn)奠定堅(jiān)實(shí)可靠的技術(shù)基礎(chǔ)。
2、降低網(wǎng)絡(luò)部署維護(hù)的成本:
對于只需要在局域網(wǎng)中不出現(xiàn)沖突靜態(tài)網(wǎng)絡(luò)地址的應(yīng)用來說,通過采用本發(fā)明提及的方法,能夠有效降低網(wǎng)絡(luò)配置維護(hù)的成本,在配置或者維護(hù)時(shí),只需要將交換機(jī)按照設(shè)計(jì)連接好上電即可,而無需通過所謂web界面等技術(shù)進(jìn)行手動配置,而且在配置與維護(hù)交換機(jī)時(shí),需要技術(shù)知識水平能力較高的網(wǎng)絡(luò)專業(yè)技術(shù)人員,很明顯通過采用本發(fā)明所提及的方法能夠?qū)⒕W(wǎng)絡(luò)部署維護(hù)成本大大降低;
3、提高網(wǎng)絡(luò)部署維護(hù)的效率
在現(xiàn)有技術(shù)基礎(chǔ)上進(jìn)行網(wǎng)絡(luò)配置、維護(hù)時(shí),如果需要針對局域網(wǎng)中所有的網(wǎng)絡(luò)地址配置為靜態(tài)不沖突的網(wǎng)絡(luò)地址,必須通過人工手動將網(wǎng)絡(luò)地址逐個(gè)進(jìn)行修改,并且在該過程中還有可能出現(xiàn)人為的不經(jīng)意間的失誤而導(dǎo)致配置失?。挥绕涫呛笃诘木S護(hù),如果出現(xiàn)了靜態(tài)的重復(fù)網(wǎng)絡(luò)地址,會導(dǎo)致配置異常困難,更有甚者,如果出現(xiàn)目標(biāo)交換機(jī)無法訪問情況下,人工方式非常難以發(fā)現(xiàn)與修正,導(dǎo)致網(wǎng)絡(luò)部署及維護(hù)的效率低下;
4、適用范圍廣
本發(fā)明所提及的方法適用范圍廣,能夠適用于不同網(wǎng)絡(luò)結(jié)構(gòu)的局域網(wǎng),例如:總線型網(wǎng)絡(luò)結(jié)構(gòu)、環(huán)型網(wǎng)絡(luò)結(jié)構(gòu)、星型網(wǎng)絡(luò)結(jié)構(gòu)、混合型網(wǎng)絡(luò)結(jié)構(gòu);能夠適用于各種二層網(wǎng)管型交換機(jī)、三層交換機(jī)所構(gòu)建的局域網(wǎng);在各種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)下,本發(fā)明所提及的方法均能夠適用。
5、實(shí)施代價(jià)小
采用本發(fā)明提及的方法,各種網(wǎng)管型交換機(jī)現(xiàn)有技術(shù)均能夠滿足要求,即本發(fā)明所提及的方法是基于現(xiàn)有網(wǎng)絡(luò)行業(yè)技術(shù)基礎(chǔ)上的,而無需交換機(jī)廠商做太多變動修改,也無需提前針對交換機(jī)做一些配置工作,只需要出場配置即可。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明中智能配置交換機(jī)的方法的流程示意圖;
圖2是本發(fā)明中智能配置交換機(jī)的第一實(shí)施例的流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例,對本發(fā)明的具體實(shí)施方式作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。
一、關(guān)于本發(fā)明所涉及的方法及其實(shí)施方式:
如圖1所示,本發(fā)明記載了1、一種局域網(wǎng)內(nèi)智能配置交換機(jī)為不沖突靜態(tài)網(wǎng)絡(luò)管理地址的方法,其特征在于,包括以下步驟:
S1、初始化基礎(chǔ)數(shù)據(jù):
導(dǎo)入不沖突臨時(shí)網(wǎng)絡(luò)地址到不沖突臨時(shí)網(wǎng)絡(luò)地址列表中,并設(shè)置不沖突臨時(shí)網(wǎng)絡(luò)地址列表中的所有不沖突臨時(shí)網(wǎng)絡(luò)地址為均未被占用狀態(tài);
設(shè)置實(shí)際交換機(jī)列表中所有交換機(jī)均未被檢測;
設(shè)置實(shí)際交換機(jī)列表中所有交換機(jī)的實(shí)際網(wǎng)絡(luò)地址為空,設(shè)置實(shí)際交換機(jī)列表中所有交換機(jī)為未全部完成所有鄰居交換機(jī)的唯一性檢測狀態(tài);
設(shè)置交換機(jī)鄰居關(guān)系列表中無鄰居關(guān)系數(shù)據(jù)。
S2、獲取一臺交換機(jī)的實(shí)際數(shù)據(jù),并添加到實(shí)際交換機(jī)列表中,同時(shí)設(shè)定該交換機(jī)的網(wǎng)絡(luò)地址為當(dāng)前已經(jīng)找到的所有交換機(jī)中的具有唯一特性;其作用是本方法至少需要一臺交換機(jī)的實(shí)際數(shù)據(jù)。
其中,交換機(jī)的實(shí)際數(shù)據(jù)包括交換機(jī)管理mac地址和交換機(jī)管理網(wǎng)絡(luò)地址;且獲取一臺交換機(jī)的實(shí)際數(shù)據(jù)方法包括以下步驟:
(1)通過抓取連鏈路層數(shù)據(jù)LLDP報(bào)文獲取交換機(jī)的實(shí)際數(shù)據(jù);
(2)通過文件輸入、網(wǎng)絡(luò)輸入等方式,為方法提供一臺交換機(jī)的實(shí)際數(shù)據(jù)。
S3、從實(shí)際交換機(jī)列表中獲取其鄰居交換機(jī)尚未全部完成當(dāng)前唯一特性檢測的交換機(jī):
如果實(shí)際交換機(jī)列表中所有交換機(jī)的當(dāng)前唯一性狀態(tài)為非唯一,則選取任意一個(gè)交換機(jī);否則,從實(shí)際交換機(jī)列表中獲取當(dāng)前唯一性狀態(tài)為當(dāng)前唯一,且其鄰居交換機(jī)尚未全部完成唯一性狀態(tài)檢測的交換機(jī);
S4、判斷步驟S3中是否找到符合要求的交換機(jī):其作用是判定是否所有的實(shí)際交換機(jī)均配置為不沖突網(wǎng)絡(luò)地址;如果找到,則進(jìn)入步驟S5;否則說明所有的網(wǎng)絡(luò)地址均已經(jīng)被設(shè)置為不沖突的網(wǎng)絡(luò)地址,跳轉(zhuǎn)到步驟S17;
S5、遠(yuǎn)程獲取當(dāng)前交換機(jī)的實(shí)際數(shù)據(jù);且當(dāng)前交換機(jī)的實(shí)際數(shù)據(jù)包括交換機(jī)管理mac地址和交換機(jī)管理網(wǎng)絡(luò)地址。
S6、判斷遠(yuǎn)程獲取是否成功:如果成功則進(jìn)入步驟S7;否則跳轉(zhuǎn)到步驟S14;其作用是判斷總控主機(jī)通過網(wǎng)絡(luò)地址是否能夠遠(yuǎn)程訪問該交換機(jī)并獲取數(shù)據(jù);如果不能遠(yuǎn)程獲取,則需要判斷擁有該網(wǎng)絡(luò)地址的交換機(jī)是否真實(shí)存在;
S7、更新實(shí)際交換機(jī)列表數(shù)據(jù):如果交換機(jī)管理mac地址在實(shí)際交換機(jī)列表中不存在,則添加該交換機(jī)數(shù)據(jù)到實(shí)際交換機(jī)列表中,其作用是確保實(shí)際交換機(jī)列表中的數(shù)據(jù)能夠?qū)嶋H反映交換機(jī)的實(shí)際數(shù)據(jù);
S8、判斷網(wǎng)絡(luò)地址是否重復(fù);其作用是判斷當(dāng)前實(shí)際交換機(jī)列表中是否有重復(fù)的網(wǎng)絡(luò)地址;如果有重復(fù)的網(wǎng)絡(luò)地址,跳轉(zhuǎn)至步驟S12;否則進(jìn)入步驟S9;
其中,判斷的方法包括以下步驟:
(1)檢查實(shí)際交換機(jī)列表中的所有交換機(jī)數(shù)據(jù),如果同一個(gè)網(wǎng)絡(luò)地址對應(yīng)了兩個(gè)或者兩個(gè)以上的有效交換機(jī)mac地址,那么設(shè)定該網(wǎng)絡(luò)地址為重復(fù)網(wǎng)絡(luò)地址,判定具有重復(fù)網(wǎng)絡(luò)地址;
(2)在實(shí)際交換機(jī)列表中,如果交換機(jī)不具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的當(dāng)前唯一性狀態(tài)為當(dāng)前唯一;如果交換機(jī)具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的當(dāng)前唯一性狀態(tài)為非唯一;
(3)檢查擁有重復(fù)網(wǎng)絡(luò)地址的交換機(jī)的鄰居交換機(jī)是否已經(jīng)全部完成其所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性檢測工作,如果是,則設(shè)置該鄰居交換機(jī)為未全部完成所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性檢測狀態(tài)。
S9、遠(yuǎn)程獲取當(dāng)前交換機(jī)的實(shí)際鄰居交換機(jī)列表:如果本輪檢測(本輪檢測是指從本步驟到下次經(jīng)歷本步驟的過程)中發(fā)生了將重復(fù)網(wǎng)絡(luò)地址設(shè)置為不沖突臨時(shí)網(wǎng)絡(luò)地址現(xiàn)象時(shí),則需要等待大于或等于LLDP生存的時(shí)間,以避免遠(yuǎn)程獲取交換機(jī)的鄰居列表信息時(shí)存在虛假鄰居信息現(xiàn)象發(fā)生;其作用是獲取當(dāng)前交換機(jī)的所有鄰居交換機(jī)信息;
S10、更新實(shí)際交換機(jī)列表數(shù)據(jù),并更新交換機(jī)鄰居關(guān)系列表;更新實(shí)際交換機(jī)列表數(shù)據(jù)的作用是真實(shí)反映當(dāng)前所獲取交換機(jī)的實(shí)際數(shù)據(jù);而更新交換機(jī)鄰居關(guān)系列表數(shù)據(jù)的作用是真實(shí)完整反映當(dāng)前所獲取的交換機(jī)的實(shí)際鄰居關(guān)系。
其中,更新實(shí)際交換機(jī)列表數(shù)據(jù)包括:通過mac地址比較的方法,如果實(shí)際交換機(jī)列表中未包含實(shí)際鄰居交換機(jī)列表中的某個(gè)交換機(jī)的mac地址,則將該交換機(jī)數(shù)據(jù)添加到實(shí)際交換機(jī)列表中。
同時(shí),更新交換機(jī)鄰居關(guān)系列表包括:
根據(jù)實(shí)際鄰居交換機(jī)列表更新交換機(jī)鄰居關(guān)系列表,使得交換機(jī)鄰居關(guān)系列表中的交換機(jī)鄰居關(guān)系能夠真實(shí)完整反映交換機(jī)的鄰居關(guān)系;
如果交換機(jī)鄰居關(guān)系列表中不存在實(shí)際交換機(jī)鄰居列表中的交換機(jī),則將該交換機(jī)的鄰居關(guān)系添加到交換機(jī)鄰居關(guān)系列表中;
如果實(shí)際交換機(jī)鄰居列表中不存在交換機(jī)鄰居關(guān)系列表中的某個(gè)交換機(jī),在交換機(jī)鄰居關(guān)系列表中刪除該交換機(jī)數(shù)據(jù)。
S11、判斷是否有重復(fù)的網(wǎng)絡(luò)地址;如果沒有重復(fù)的網(wǎng)絡(luò)地址,則跳轉(zhuǎn)到步驟S13;否則進(jìn)入步驟S12;
其中,判斷方法包括:
將鄰居交換機(jī)列表中的交換機(jī)數(shù)據(jù)與實(shí)際交換機(jī)列表中的交換機(jī)數(shù)據(jù)進(jìn)行比較,如果交換機(jī)管理mac地址不同且具有相同的網(wǎng)絡(luò)地址,則認(rèn)定該網(wǎng)絡(luò)地址為重復(fù)網(wǎng)絡(luò)地址;其作用是判定不同的交換機(jī)實(shí)體是否具有相同的網(wǎng)絡(luò)地址。
在實(shí)際交換機(jī)列表中,如果交換機(jī)不具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的當(dāng)前唯一性狀態(tài)為當(dāng)前唯一;如果交換機(jī)具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的當(dāng)前唯一性狀態(tài)為非唯一;
檢查擁有重復(fù)網(wǎng)絡(luò)地址的交換機(jī)的鄰居交換機(jī)是否已經(jīng)全部完成其所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性檢測工作,如果是,則設(shè)置該鄰居交換機(jī)為未全部完成所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性檢測狀態(tài);
如果實(shí)際交換機(jī)列表中沒有數(shù)據(jù),即該交換機(jī)沒有鄰居交換機(jī),則直接設(shè)定其沒有重復(fù)網(wǎng)絡(luò)地址,跳轉(zhuǎn)至第13步。
S12、消除重復(fù)網(wǎng)絡(luò)地址:如果需要消除多個(gè)或者所有的重復(fù)網(wǎng)絡(luò)地址,那么需要臨時(shí)記錄多個(gè)或者所有重復(fù)網(wǎng)絡(luò)地址,然后逐個(gè)按照本步驟消除重復(fù)網(wǎng)絡(luò)地址;且消除重復(fù)網(wǎng)絡(luò)地址時(shí),可以處理任意一個(gè)或者多個(gè)具有該重復(fù)網(wǎng)絡(luò)地址的交換機(jī)為不沖突臨時(shí)網(wǎng)絡(luò)地址;每次消除一臺交換機(jī)的重復(fù)網(wǎng)絡(luò)地址之后,需要等待一定的時(shí)間,其作用是確保交換機(jī)的設(shè)置真實(shí)生效,確保后期獲取的交換機(jī)實(shí)際數(shù)據(jù)是真實(shí)的;具體需要等待的時(shí)間根據(jù)具體交換機(jī)本身的特性而定
如果重復(fù)網(wǎng)絡(luò)地址為臨時(shí)網(wǎng)絡(luò)地址,全部消除該重復(fù)網(wǎng)絡(luò)地址之后,應(yīng)將該不沖突臨時(shí)網(wǎng)絡(luò)地址及時(shí)收回,即設(shè)定該臨時(shí)網(wǎng)絡(luò)地址為未被占用狀態(tài);其作用是避免不沖突臨時(shí)網(wǎng)絡(luò)地址不夠用現(xiàn)象而導(dǎo)致全網(wǎng)設(shè)置為不沖突的網(wǎng)絡(luò)地址失??;
同時(shí),當(dāng)前可能發(fā)現(xiàn)了多個(gè)重復(fù)網(wǎng)絡(luò)地址,本步驟中可以處理任意一個(gè)或者多個(gè)重復(fù)網(wǎng)絡(luò)地址。
該步驟具體包括以下步驟:
選擇未被占用的不沖突臨時(shí)網(wǎng)絡(luò)地址:在不沖突臨時(shí)網(wǎng)絡(luò)地址列表中選擇標(biāo)志為未被占用狀態(tài)的臨時(shí)網(wǎng)絡(luò)地址,然后采用網(wǎng)絡(luò)地址被占用檢測技術(shù)檢測該地址是否被占用,如果被占用,則設(shè)置該不沖突臨時(shí)網(wǎng)絡(luò)地址為已經(jīng)被占用,如果未被占用,則選擇該不沖突臨時(shí)網(wǎng)絡(luò)地址。其作用是確保設(shè)置交換機(jī)的網(wǎng)絡(luò)地址時(shí),該網(wǎng)絡(luò)地址與網(wǎng)絡(luò)中其它設(shè)備的網(wǎng)絡(luò)地址不沖突。
網(wǎng)絡(luò)地址被占用檢測技術(shù)包括但不限于:ping技術(shù)、遠(yuǎn)程訪問技術(shù)等。
利用重復(fù)的網(wǎng)絡(luò)地址遠(yuǎn)程設(shè)置交換機(jī)為不沖突臨時(shí)網(wǎng)絡(luò)地址;其作用是消除交換機(jī)網(wǎng)絡(luò)地址的重復(fù)特性;
使用不沖突臨時(shí)網(wǎng)絡(luò)地址遠(yuǎn)程獲取交換機(jī)的實(shí)際數(shù)據(jù);其作用是獲知本次設(shè)置的具體目標(biāo)交換機(jī),從而為更新實(shí)際交換機(jī)列表提供實(shí)際數(shù)據(jù)。
交換機(jī)的實(shí)際數(shù)據(jù)包括但不限于:交換機(jī)mac地址、網(wǎng)絡(luò)地址等;
更新實(shí)際交換機(jī)列表數(shù)據(jù)及交換機(jī)鄰居關(guān)系列表數(shù)據(jù);設(shè)置當(dāng)前不沖突臨時(shí)網(wǎng)絡(luò)地址的占用狀態(tài)為已經(jīng)被占用;該更新實(shí)際交換機(jī)列表數(shù)據(jù)的方法包括以下步驟:
(1)根據(jù)步驟S10獲取的交換機(jī)實(shí)際數(shù)據(jù),判斷交換機(jī)mac地址在實(shí)際交換機(jī)列表中是否存在,如果不存在,則添加該交換機(jī)數(shù)據(jù)(包括但不限于交換機(jī)mac地址、該不沖突臨時(shí)網(wǎng)絡(luò)地址)到實(shí)際交換機(jī)列表中;如果存在,則修改具有該mac地址的交換機(jī)的網(wǎng)絡(luò)地址為該不沖突的臨時(shí)網(wǎng)絡(luò)地址;
(2)在實(shí)際交換機(jī)列表中設(shè)置該交換機(jī)的網(wǎng)絡(luò)地址為具備當(dāng)前唯一特性;其作用是真實(shí)反映該交換機(jī)的網(wǎng)絡(luò)地址在當(dāng)前所發(fā)現(xiàn)的交換機(jī)中具有唯一性的特性;
(3)設(shè)置當(dāng)前不沖突臨時(shí)網(wǎng)絡(luò)地址的占用狀態(tài)為已經(jīng)被占用,其作用是為后續(xù)在選擇可用的不沖突臨時(shí)網(wǎng)絡(luò)地址時(shí)提高檢索效率,提高在選擇可用的不沖突臨時(shí)網(wǎng)絡(luò)地址時(shí)的運(yùn)算效率。
S13、設(shè)定當(dāng)前交換機(jī)為已經(jīng)全部完成所有鄰居交換機(jī)的網(wǎng)絡(luò)地址當(dāng)前唯一性狀態(tài)檢測;其作用是避免重復(fù)檢測導(dǎo)致本發(fā)明所提及的方法進(jìn)入無用的死循環(huán)。
S14、判斷當(dāng)前交換機(jī)是否真實(shí)存在,如果真實(shí)存在則跳轉(zhuǎn)至第15步;否則跳轉(zhuǎn)至16步;具體包括:
通過交換機(jī)鄰居關(guān)系列表,查找該交換機(jī)的鄰居交換機(jī);然后通過鄰居交換機(jī)的網(wǎng)絡(luò)地址,采用遠(yuǎn)程訪問技術(shù)獲取其實(shí)際鄰居列表,如果當(dāng)前交換機(jī)的mac地址在該實(shí)際鄰居列表中,則其依然真實(shí)存在;
如果當(dāng)前交換機(jī)在交換機(jī)鄰居關(guān)系列表中有多個(gè)鄰居,只有當(dāng)其所有鄰居交換機(jī)的鄰居列表信息中都不包括當(dāng)前交換機(jī)的mac信息時(shí),才能判定當(dāng)前交換機(jī)不真實(shí)存在。
S15、通過技術(shù)調(diào)整總控主機(jī)或者相關(guān)交換機(jī)的相關(guān)屬性,使得總控主機(jī)能夠遠(yuǎn)程訪問當(dāng)前交換機(jī):如果局域網(wǎng)中需要調(diào)整的交換機(jī)的屬性與環(huán)網(wǎng)特點(diǎn)相關(guān),需要根據(jù)環(huán)網(wǎng)特點(diǎn)進(jìn)行相關(guān)的設(shè)置,以避免相關(guān)個(gè)性化環(huán)網(wǎng)協(xié)議引起網(wǎng)絡(luò)風(fēng)暴而導(dǎo)致無法遠(yuǎn)程訪問交換機(jī)現(xiàn)象;其作用是在交換機(jī)的接口屬性或者網(wǎng)絡(luò)地址屬性不一致時(shí),會出現(xiàn)真實(shí)存在的鄰居交換機(jī)而無法遠(yuǎn)程訪問該交換機(jī),通過技術(shù)手段消除交換機(jī)真實(shí)存在但無法訪問的現(xiàn)象。
優(yōu)選的,當(dāng)各交換機(jī)廠商私有環(huán)網(wǎng)協(xié)議要求有環(huán)網(wǎng)軟切斷點(diǎn)時(shí),則需要保證在環(huán)網(wǎng)各個(gè)節(jié)點(diǎn)交換機(jī)中至少有一個(gè)環(huán)網(wǎng)軟切斷點(diǎn)才不會導(dǎo)致網(wǎng)絡(luò)風(fēng)暴。
S16、從實(shí)際交換機(jī)列表中刪除該交換機(jī)數(shù)據(jù);其作用是避免無效的運(yùn)算,以確保本發(fā)明所提及的方法不會進(jìn)入無用的死循環(huán)而導(dǎo)致本發(fā)明所提及的方法無法達(dá)到目標(biāo);
S17、所有交換機(jī)的實(shí)際網(wǎng)絡(luò)地址均為全網(wǎng)唯一且不沖突的網(wǎng)絡(luò)地址,方法結(jié)束。
如圖2所示,本發(fā)明中智能配置交換機(jī)的第一實(shí)施例包括以下步驟:
S1、初始化基礎(chǔ)數(shù)據(jù);具體包括但不限于:
獲取不重復(fù)的臨時(shí)網(wǎng)絡(luò)地址列表;假設(shè)為TempNetAddressList,其特點(diǎn)是該列表中的所有的網(wǎng)絡(luò)地址均不重復(fù),并且其數(shù)量應(yīng)該大于局域網(wǎng)中需要配置交換機(jī)的數(shù)量;其作用是在發(fā)現(xiàn)局域網(wǎng)中交換機(jī)的實(shí)際網(wǎng)絡(luò)地址重復(fù)時(shí),需要從該列表中獲取不重復(fù)的臨時(shí)網(wǎng)絡(luò)地址;
將TempNetAddressList中所有的臨時(shí)網(wǎng)絡(luò)地址設(shè)置為未被占用,假設(shè)將其標(biāo)志isUsedFlag設(shè)置為false;
假設(shè)實(shí)際交換機(jī)列表為FactEACNList,初始化該列表為空,即所有交換機(jī)的實(shí)際數(shù)據(jù)為空;
設(shè)定FactEACNList中所有交換機(jī)的當(dāng)前唯一性狀態(tài)均為非唯一,假設(shè)設(shè)置其標(biāo)志isSuccessChecked為false,其鄰居列表均未檢測,假設(shè)設(shè)置其標(biāo)志isSuccessAllneighborChecked為false;假設(shè)其實(shí)際交換機(jī)網(wǎng)絡(luò)地址為FactNetAddress,初始化為空;假設(shè)其實(shí)際管理mac地址為MacAddress,初始化為空;
假設(shè)交換機(jī)鄰居關(guān)系列表為EACNNeighborList,初始化該列表為空,即所有交換機(jī)沒有鄰居交換機(jī)。
假設(shè)重復(fù)網(wǎng)絡(luò)地址列表為RepeatNetAddressList,初始化為空,即沒有重復(fù)網(wǎng)絡(luò)地址;
S2、通過抓取LLDP報(bào)文獲取主機(jī)相鄰交換機(jī)相關(guān)信息;將交換機(jī)數(shù)據(jù)添加到FactEACNList中;設(shè)置該交換機(jī)的標(biāo)志isSuccessChecked為true;
S3、從FactEACNList中獲取當(dāng)前其鄰居交換機(jī)尚未完成檢測與設(shè)置的交換機(jī),其具體方法為:
從FactEACNList中選擇任意一臺標(biāo)志isSuccessChecked為true且標(biāo)志isSuccessAllneighborChecked為false的交換機(jī)。
S4、是否找到?如果找到當(dāng)前唯一且未全部完成其所有鄰居交換機(jī)唯一性確認(rèn)的交換機(jī),假設(shè)該交換機(jī)為EACN_Current,假設(shè)其網(wǎng)絡(luò)地址為LocalNetAddress,則跳轉(zhuǎn)至步驟S5;如果沒有找到,則跳轉(zhuǎn)至步驟S27;
S5、通過LocalNetAddress遠(yuǎn)程獲取交換機(jī)實(shí)際數(shù)據(jù);
S6、遠(yuǎn)程獲取成功?如果遠(yuǎn)程獲取成功,假設(shè)其mac地址為CurrentMac,則跳轉(zhuǎn)至步驟S7,否則跳轉(zhuǎn)至步驟S24;
S7、網(wǎng)絡(luò)地址重復(fù)?通過將CurrentMac及LocalNetAddress與實(shí)際交換機(jī)列表中的MacAddress及FactNetAddress進(jìn)行比對,如果出現(xiàn)MacAddress不等于TargetMac且LocalNetAddress等于FactNetAddress,判定具有重復(fù)網(wǎng)絡(luò)地址,則跳轉(zhuǎn)至步驟S22;否則跳轉(zhuǎn)至步驟S8;
S8、遠(yuǎn)程獲取交換機(jī)的實(shí)際鄰居列表;假設(shè)實(shí)際交換機(jī)列表為FactNeighborList;
S9、更新FactEACNList及EACNNeighborList數(shù)據(jù);具體方法為:
(1)如果FactNeighborList中的交換機(jī)在FactEACNList中不存在,則將這些交換機(jī)添加到FactEACNList中;
(2)將EACNNeighborList中EACN_Current的鄰居關(guān)系與FactNeighborList中反映的鄰居關(guān)系一一對應(yīng)。
S10、存在重復(fù)網(wǎng)絡(luò)地址?如果存在則跳轉(zhuǎn)至步驟S11;否則跳轉(zhuǎn)至步驟S23;
具體方法為:
(1)EACNNeighborList中是否具有一個(gè)有效FactNetAddress對應(yīng)了多個(gè)有效MacAddress的情況,如果有則判定為存在重復(fù)網(wǎng)絡(luò)地址;否則判定為不存在重復(fù)網(wǎng)絡(luò)地址。
(2)在FactEACNList中,如果交換機(jī)不具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的標(biāo)志isSuccessChecked為true;如果交換機(jī)具有重復(fù)網(wǎng)絡(luò)地址,則設(shè)定該交換機(jī)的標(biāo)志isSuccessChecked為false;
(3)檢查擁有重復(fù)網(wǎng)絡(luò)地址的交換機(jī)的鄰居交換機(jī)的標(biāo)志isSuccessAllneighborChecked是否為true,如果是,則設(shè)置isSuccessAllneighborChecked為false。
(4)如果實(shí)際交換機(jī)列表中沒有數(shù)據(jù),即該交換機(jī)沒有鄰居交換機(jī),則直接設(shè)定其沒有重復(fù)網(wǎng)絡(luò)地址,跳轉(zhuǎn)至第23步。
S11、更新RepeatNetAddressList數(shù)據(jù);具體方法為:
將所有在RepeatNetAddressList中不存在的重復(fù)網(wǎng)絡(luò)地址添加到RepeatNetAddressList中;
S12、從RepeatNetAddressList中選擇重復(fù)的網(wǎng)絡(luò)地址;
S13、判斷是否找到;如果找到,假設(shè)為RepeatNetAddress,跳轉(zhuǎn)至步驟S14;否則跳轉(zhuǎn)至步驟S3;
S14、從TempNetAddressList中選擇未被占用的不沖突臨時(shí)網(wǎng)絡(luò)地址TempNetAddress;
S15、使用RepeatNetAddress將該交換機(jī)設(shè)置為TempNetAddress;
S16、通過TempNetAddress遠(yuǎn)程獲取所設(shè)置交換機(jī)的mac地址;假設(shè)為CurrentMac;
S17、更新FactEACNList數(shù)據(jù);如果CurrentMac在FactEACNList中不存在,則添加交換機(jī)到FactEACNList中,且設(shè)置其MacAddress為CurrentMac,其FactNetAddress為TempNetAddress。如果在FactEACNList找到MacAddress等于CurrentMac的交換機(jī),修改其FactNetAddress為TempNetAddress。
S18、網(wǎng)絡(luò)中還存在網(wǎng)絡(luò)地址為RepeatNetAddress的交換機(jī)嗎?如果存在則跳轉(zhuǎn)至步驟S14;否則跳轉(zhuǎn)至步驟S19;
S19、RepeatNetAddress是不沖突臨時(shí)網(wǎng)絡(luò)地址嗎?如果是則跳轉(zhuǎn)至步驟S21;否則跳轉(zhuǎn)至步驟S20;
S20、從RepeatNetAddressList中刪除RepeatNetAddress;
S21、設(shè)置RepeatNetAddress的標(biāo)志isUsedFlag為false;具體方法為在TempNetAddressList中將不沖突臨時(shí)網(wǎng)絡(luò)地址等于RepeatNetAddress的標(biāo)志isUsedFlag設(shè)置為false;
S22、更新FactEACNList數(shù)據(jù);添加重復(fù)網(wǎng)絡(luò)地址到RepeatNetAddressList中;
具體方法為:
如果CurrentMac在FactEACNList中不存在,則將該交換機(jī)數(shù)據(jù)添加到FactEACNList中,并且設(shè)置該交換機(jī)的MacAddress為CurrentMac,以及設(shè)置其FactNetAddress為LocalNetAddress;
設(shè)置FactEACNList中所有交換機(jī)的FactNetAddress為LocalNetAddress的交換機(jī)的標(biāo)志isSuccessChecked為false。
檢查EACNNeighborList中與EACN_Current相鄰的所有交換機(jī)的標(biāo)志isSuccessAllneighborChecked是否為true,如果為true,則設(shè)置該交換機(jī)的標(biāo)志isSuccessAllneighborChecked為false,
如果RepeatNetAddressList中不存在LocalNetAddress,則將該網(wǎng)絡(luò)地址添加到RepeatNetAddressList中。
S23、將當(dāng)前交換機(jī)EACN_Current的標(biāo)志isSuccessAllneighborChecked設(shè)置為true;所有鄰居交換機(jī)的標(biāo)志isSuccessChecked設(shè)置為true;
S24、判斷是否真實(shí)存在;如果真實(shí)存在則跳轉(zhuǎn)至步驟S26;否則跳轉(zhuǎn)至步驟S25;
具體方法為:
通過EACNNeighborList,查找EACN_Current的鄰居交換機(jī),假設(shè)為EACN_Neighbor;然后通過EACN_Neighbor的網(wǎng)絡(luò)地址,采用遠(yuǎn)程訪問技術(shù)獲取EACN_Neighbor實(shí)際鄰居列表,如果EACN_Current的mac地址在該實(shí)際鄰居列表中,則其依然真實(shí)存在。
如果EACN_Current在EACNNeighborList中有多個(gè)鄰居,只有當(dāng)其所有的EACN_Neighbor的鄰居列表信息中都不包括EACN_Current的mac信息時(shí),才能夠判定EACN_Current不真實(shí)存在。
S25、從FactEACNList中刪除該交換機(jī)EACN_Current;
S26、改變EACN_Neighbor的接口屬性以達(dá)到能夠通過網(wǎng)絡(luò)地址訪問EACN_Current的要求;
S27、所有交換機(jī)的實(shí)際網(wǎng)絡(luò)地址均為全網(wǎng)唯一且不沖突的網(wǎng)絡(luò)地址,流程結(jié)束。
二、關(guān)于本發(fā)明所涉及的數(shù)據(jù)結(jié)構(gòu):
1、實(shí)際交換機(jī)列表
其作用是反映當(dāng)前所發(fā)現(xiàn)的所有實(shí)際交換機(jī),包括但不限于以下數(shù)據(jù):
交換機(jī)mac地址:其作用是唯一標(biāo)志交換機(jī)物理實(shí)體;也可以通過其它方式來取締該數(shù)據(jù);例如交換機(jī)固定編碼,交換機(jī)固定名稱,交換機(jī)邏輯結(jié)構(gòu)中的節(jié)點(diǎn)信息等等;無論如何都不影響有利于本發(fā)明的權(quán)利要求;
交換機(jī)實(shí)際網(wǎng)絡(luò)地址:其作用是通過該網(wǎng)絡(luò)地址能夠遠(yuǎn)程訪問該交換機(jī),是網(wǎng)絡(luò)層通信的必要數(shù)據(jù);
當(dāng)前唯一性狀態(tài):其作用是表明該交換機(jī)的網(wǎng)絡(luò)地址暫時(shí)與已經(jīng)檢測過的實(shí)際交換機(jī)不沖突;該標(biāo)志可以通過邏輯意義上的其它數(shù)據(jù)或者結(jié)構(gòu)表示,不影響有利于本發(fā)明的權(quán)利要求;
所有鄰居交換機(jī)網(wǎng)絡(luò)地址當(dāng)前唯一性狀態(tài):其作用是表明該交換機(jī)的所有鄰居交換機(jī)的網(wǎng)絡(luò)地址暫時(shí)與已經(jīng)檢測過的實(shí)際交換機(jī)不沖突;該數(shù)據(jù)無論是實(shí)際存在還是邏輯意義上存在,在本發(fā)明中都必須用到該數(shù)據(jù),無論其表現(xiàn)形式如何,均不影響有利于本發(fā)明的權(quán)利要求;
2、交換機(jī)鄰居關(guān)系列表
該列表可以實(shí)際存在也可以是邏輯意義上的鄰居關(guān)系列表,例如不需要該緩存列表而在需要的時(shí)候通過網(wǎng)絡(luò)地址從交換機(jī)中獲取實(shí)際的鄰居列表,無論其表現(xiàn)形式如何,均不影響有利于本發(fā)明的權(quán)利要求;
該列表包括但不限于以下數(shù)據(jù)項(xiàng):
交換機(jī)mac地址:其作用是唯一標(biāo)志交換機(jī)物理實(shí)體;也可以通過其它方式來取締該數(shù)據(jù);例如交換機(jī)固定編碼,交換機(jī)固定名稱,交換機(jī)邏輯結(jié)構(gòu)中的節(jié)點(diǎn)信息等等;無論如何都不影響有利于本發(fā)明的權(quán)利要求;
交換機(jī)鄰居mac列表:其作用是實(shí)際反映該交換機(jī)的所有鄰居交換機(jī);
說明:實(shí)際交換機(jī)列表與交換機(jī)鄰居關(guān)系列表可以合并為一個(gè)列表,也可以再進(jìn)行細(xì)分為多個(gè)表,均不影響本有利于發(fā)明的權(quán)利要求;
3、不沖突臨時(shí)網(wǎng)絡(luò)地址列表
其特點(diǎn)是在該列表中的所有的網(wǎng)絡(luò)地址均不重復(fù);包括但不限于以下數(shù)據(jù)項(xiàng):
不沖突臨時(shí)網(wǎng)絡(luò)地址:其作用是在局域網(wǎng)中出現(xiàn)重復(fù)的網(wǎng)絡(luò)地址時(shí),將這些重復(fù)網(wǎng)絡(luò)地址設(shè)置為該未被使用的不沖突臨時(shí)網(wǎng)絡(luò)地址;
被占用標(biāo)志:如果該不沖突臨時(shí)網(wǎng)絡(luò)地址在局域網(wǎng)中實(shí)際存在,則該地址被占用,在需要臨時(shí)網(wǎng)絡(luò)地址時(shí)不能選擇該網(wǎng)絡(luò)地址;如果該網(wǎng)絡(luò)地址在本次運(yùn)行中未被使用,但并不能說明該網(wǎng)絡(luò)地址就一定能夠用來設(shè)置交換機(jī)為不沖突的網(wǎng)絡(luò)地址,必須還要通過技術(shù)手段檢測該網(wǎng)絡(luò)地址是否被網(wǎng)絡(luò)中其他設(shè)備占用,如果能夠被占用,那么就不能使用,否則就可以使用;一旦發(fā)現(xiàn)在網(wǎng)絡(luò)中實(shí)際存在該臨時(shí)網(wǎng)絡(luò)地址,那么就應(yīng)該將該標(biāo)志設(shè)置為被占用狀態(tài);
4、重復(fù)的實(shí)際網(wǎng)絡(luò)地址列表
其作用是記錄重復(fù)的網(wǎng)絡(luò)地址,以便需要時(shí)直接通過該列表來將重復(fù)的實(shí)際網(wǎng)絡(luò)地址設(shè)置為臨時(shí)不重復(fù)的網(wǎng)絡(luò)地址;該列表可以實(shí)際存在,也可以邏輯意義上存在,例如一旦發(fā)現(xiàn)有重復(fù)網(wǎng)絡(luò)地址,立即開始將該網(wǎng)絡(luò)地址設(shè)置為臨時(shí)不沖突的網(wǎng)絡(luò)地址,那么其表現(xiàn)形式就是一個(gè)變量或者單個(gè)數(shù)據(jù)項(xiàng);無論其表現(xiàn)形式如何,均不影響有利于本發(fā)明的權(quán)利要求;其數(shù)據(jù)項(xiàng)包括但不限于以下數(shù)據(jù)項(xiàng):
實(shí)際重復(fù)的網(wǎng)絡(luò)地址:其作用就是表明在局域網(wǎng)中有兩個(gè)以上的交換機(jī)的實(shí)際網(wǎng)絡(luò)地址為該網(wǎng)絡(luò)地址。
三、本發(fā)明能夠?qū)崿F(xiàn)的技術(shù)特點(diǎn):
1、通過交換機(jī)實(shí)際網(wǎng)絡(luò)地址遠(yuǎn)程獲取其鄰居列表信息以及目標(biāo)交換機(jī)實(shí)際數(shù)據(jù)的方法,一旦發(fā)現(xiàn)實(shí)際交換機(jī)列表中不存在的交換機(jī)就將該交換機(jī)添加到實(shí)際交換機(jī)列表中,不斷獲取更多的實(shí)際交換機(jī)。其作用是使得本發(fā)明提及的方法能夠?qū)⒕钟蚓W(wǎng)中所有交換機(jī)都檢測并消除重復(fù)網(wǎng)絡(luò)地址,最終達(dá)到將局域網(wǎng)中所有交換機(jī)配置為不沖突的靜態(tài)網(wǎng)絡(luò)地址的目標(biāo)。
2、將遠(yuǎn)程獲取的交換機(jī)實(shí)際數(shù)據(jù)、遠(yuǎn)程獲取的交換機(jī)鄰居列表信息中的實(shí)際網(wǎng)絡(luò)地址與實(shí)際交換機(jī)列表中數(shù)據(jù)進(jìn)行沖突檢測。其作用是發(fā)現(xiàn)并獲得重復(fù)網(wǎng)絡(luò)地址,以便獲得需要消除重復(fù)網(wǎng)絡(luò)地址的目標(biāo)。
3、持續(xù)消除重復(fù)網(wǎng)絡(luò)地址直到所有網(wǎng)絡(luò)地址不沖突為止;
4、獲取首臺實(shí)際交換機(jī)信息,包括實(shí)際網(wǎng)絡(luò)地址、實(shí)際mac地址;
5、因總控主機(jī)、交換機(jī)之間配置不同而導(dǎo)致訪問目標(biāo)交換機(jī)的異常時(shí),可通過調(diào)整總控主機(jī)、交換機(jī)的相關(guān)配置來達(dá)到可訪問目標(biāo)交換機(jī)的目的;例如如下所示:
(1)消除因鄰居交換機(jī)之間接口VLan屬性不一致而帶來的無法遠(yuǎn)程訪問目標(biāo)交換機(jī)現(xiàn)象;
(2)消除因鄰居交換機(jī)之間組網(wǎng)屬性不一致而帶來的無法遠(yuǎn)程訪問目標(biāo)交換機(jī)現(xiàn)象;
(3)消除因交換機(jī)實(shí)際網(wǎng)絡(luò)地址不屬于默認(rèn)子網(wǎng)而導(dǎo)致無法遠(yuǎn)程訪問目標(biāo)交換機(jī)的現(xiàn)象;
(4)消除因鄰居交換機(jī)掉線斷開之后虛假鄰居信息而導(dǎo)致無法遠(yuǎn)程訪問目標(biāo)交換機(jī)的現(xiàn)象;
(5)消除因只有備用網(wǎng)絡(luò)地址而導(dǎo)致不斷重復(fù)遠(yuǎn)程設(shè)置目標(biāo)交換機(jī)為臨時(shí)不重復(fù)網(wǎng)絡(luò)地址的現(xiàn)象;
(6)消除目標(biāo)交換機(jī)實(shí)際網(wǎng)絡(luò)地址發(fā)生變化而導(dǎo)致無法遠(yuǎn)程訪問目標(biāo)交換機(jī)的現(xiàn)象。
6、當(dāng)無法遠(yuǎn)程獲取交換機(jī)實(shí)際數(shù)據(jù)時(shí),判斷交換機(jī)是否真實(shí)存在,如果不真實(shí)存在,則將該無效交換機(jī)從實(shí)際交換機(jī)列表中刪除,即不再對該交換機(jī)做運(yùn)算;如果真實(shí)存在,則通過技術(shù)調(diào)整總控主機(jī)或者相關(guān)交換機(jī)的相關(guān)屬性,使得總控主機(jī)能夠遠(yuǎn)程訪問當(dāng)前交換機(jī)。其作用是采用本發(fā)明提及的方法處理過程中,如果有交換機(jī)掉線或者接入了其他不同接口屬性的交換機(jī)時(shí),方法依然能夠順利達(dá)到發(fā)明目的。
7、每次消除重復(fù)網(wǎng)絡(luò)地址過程中,需要選擇未被占用的不沖突臨時(shí)網(wǎng)絡(luò)地址,并且將任意一臺具有該重復(fù)網(wǎng)絡(luò)地址的交換機(jī)遠(yuǎn)程設(shè)置為不沖突臨時(shí)網(wǎng)絡(luò)地址,然后采用該不沖突臨時(shí)網(wǎng)絡(luò)地址遠(yuǎn)程獲取交換機(jī)實(shí)際數(shù)據(jù),根據(jù)獲取的交換機(jī)實(shí)際數(shù)據(jù)更新實(shí)際交換機(jī)列表中的交換機(jī)數(shù)據(jù)。
四、本發(fā)明可以應(yīng)用的場景
1、本發(fā)明可應(yīng)用到軌道交通行業(yè)中以太網(wǎng)交換機(jī)的靜態(tài)網(wǎng)絡(luò)地址動態(tài)智能分配中;
2、本發(fā)明可應(yīng)用到視頻監(jiān)控系統(tǒng)中以太網(wǎng)交換機(jī)的靜態(tài)網(wǎng)絡(luò)地址動態(tài)智能分配中;
3、本發(fā)明可以用到電力行業(yè)、智能樓宇、船舶行業(yè)、水利行業(yè)、管廊行業(yè)、風(fēng)電行業(yè)、軌道交通行業(yè)等等所有以太網(wǎng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中以太網(wǎng)交換機(jī)的靜態(tài)網(wǎng)絡(luò)地址動態(tài)智能分配技術(shù)中。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。