本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,具體涉及一種檢測(cè)及處理網(wǎng)絡(luò)地址沖突的方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,在人們的日常生活中網(wǎng)絡(luò)應(yīng)用已經(jīng)越來(lái)越普及。目前網(wǎng)絡(luò)中有各種各樣的網(wǎng)絡(luò)設(shè)備,雖然該網(wǎng)絡(luò)設(shè)備的運(yùn)行操作系統(tǒng)不同,但tcp/ip協(xié)議都作為因特網(wǎng)上所有網(wǎng)絡(luò)設(shè)備間的共同基本協(xié)議,允許各網(wǎng)絡(luò)設(shè)備間相互通訊。如ip地址為網(wǎng)絡(luò)上的每臺(tái)主機(jī)標(biāo)記了唯一地址,如果一臺(tái)主機(jī)其具有的ip地址不唯一,將會(huì)導(dǎo)致該主機(jī)無(wú)法正常訪問(wèn)網(wǎng)絡(luò),所以如果出現(xiàn)ip地址或mac地址沖突,會(huì)造成網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)丟失。為保證局域網(wǎng)能正常通訊,需要一個(gè)快速的檢測(cè)方法定位這種沖突,給用戶提示。
目前現(xiàn)有技術(shù)中檢測(cè)網(wǎng)絡(luò)地址沖突的方法,一般通過(guò)收發(fā)地址解析協(xié)議(arp)報(bào)文的方法解決局域網(wǎng)絡(luò)中的ip或mac地址沖突的問(wèn)題。在局域網(wǎng)中,當(dāng)發(fā)送端有數(shù)據(jù)要發(fā)送給接收端時(shí),必須獲取接收端的ip地址和mac地址。如設(shè)備a在網(wǎng)絡(luò)中發(fā)送地址解析協(xié)議(arp)請(qǐng)求報(bào)文,網(wǎng)絡(luò)中的其它設(shè)備接收該地址解析協(xié)議(arp)請(qǐng)求報(bào)文,進(jìn)行解析,網(wǎng)絡(luò)中的設(shè)備b接收該地址解析協(xié)議(arp)請(qǐng)求報(bào)文,確認(rèn)地址解析協(xié)議(arp)請(qǐng)求報(bào)文的目標(biāo)地址是否為自身ip或mac,然后回復(fù)應(yīng)答消息給設(shè)備a,設(shè)備a從而得知當(dāng)前網(wǎng)絡(luò)是否存在沖突。如中國(guó)專利文獻(xiàn)cn103188354a中公開(kāi)了一種節(jié)點(diǎn)地址沖突的檢測(cè)方法及裝置,該方法第二網(wǎng)絡(luò)節(jié)點(diǎn)周期性的廣播以自身每個(gè)mac地址和ip地址為源地址的各地址解析協(xié)議(arp)報(bào)文,且第二網(wǎng)絡(luò)節(jié)點(diǎn)不同時(shí)廣播所有的地址解析協(xié)議(arp)報(bào)文,第一網(wǎng)絡(luò)節(jié)點(diǎn)接收地址解析協(xié)議(arp)報(bào)文,并判斷該地址解析協(xié)議(arp)報(bào)文的源地址是否與第一網(wǎng)絡(luò)節(jié)點(diǎn)自身的地址沖突,若沖突,則向網(wǎng)管服務(wù)器上報(bào)攜帶該地址解析協(xié)議(arp)報(bào)文的源地址的地址沖突信息。目前現(xiàn)有技術(shù)中的網(wǎng)絡(luò)設(shè)備都采取定時(shí)發(fā)送地址解析協(xié)議(arp)報(bào)文,無(wú)論網(wǎng)絡(luò)處于何種狀態(tài),設(shè)備a都向設(shè)備b發(fā)送地址解析協(xié)議(arp)報(bào)文,不但增加地址解析協(xié)議(arp)報(bào)文數(shù)量,而且當(dāng)使用多個(gè)網(wǎng)絡(luò)設(shè)備進(jìn)行通訊時(shí),顯然不間斷發(fā)送報(bào)文,增加了網(wǎng)絡(luò)負(fù)載和網(wǎng)絡(luò)設(shè)備cpu負(fù)載,故降低了網(wǎng)絡(luò)傳輸速度,使網(wǎng)絡(luò)設(shè)備的cpu處理有效數(shù)據(jù)的能力降低,影響網(wǎng)絡(luò)傳輸質(zhì)量和檢測(cè)網(wǎng)絡(luò)地址沖突的精度。
技術(shù)實(shí)現(xiàn)要素:
因此,本發(fā)明實(shí)施例要解決的技術(shù)問(wèn)題在于現(xiàn)有技術(shù)中檢測(cè)網(wǎng)絡(luò)地址沖突的方法一般通過(guò)定時(shí)發(fā)送地址解析協(xié)議報(bào)文,因定時(shí)發(fā)送大量的報(bào)文,造成網(wǎng)絡(luò)設(shè)備cpu負(fù)載增加,同時(shí)影響檢測(cè)網(wǎng)絡(luò)地址沖突的檢測(cè)精度。
為此,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
本發(fā)明實(shí)施例提供一種檢測(cè)網(wǎng)絡(luò)地址沖突的方法,用于第一終端,包括如下步驟:
檢測(cè)當(dāng)前網(wǎng)絡(luò)狀態(tài);判斷所述網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;當(dāng)所述網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),向同網(wǎng)段內(nèi)的其它第二終端發(fā)送地址解析協(xié)議請(qǐng)求報(bào)文,所述地址解析協(xié)議請(qǐng)求報(bào)文包含源網(wǎng)絡(luò)地址和目標(biāo)網(wǎng)絡(luò)地址;根據(jù)所述第二終端的響應(yīng)確定所述當(dāng)前網(wǎng)絡(luò)的網(wǎng)絡(luò)地址是否發(fā)生沖突。
所述檢測(cè)網(wǎng)絡(luò)地址沖突的方法,還包括:通過(guò)廣播報(bào)文提示所述當(dāng)前網(wǎng)絡(luò)處于沖突狀態(tài)。
所述檢測(cè)網(wǎng)絡(luò)地址沖突的方法,所述發(fā)生變化包括:設(shè)備重新啟動(dòng)、網(wǎng)絡(luò)連接改變、網(wǎng)絡(luò)地址改變中的一種或幾種。
所述檢測(cè)網(wǎng)絡(luò)地址沖突的方法,所述網(wǎng)絡(luò)地址包括:ip地址和mac地址。
本發(fā)明實(shí)施例提供一種處理網(wǎng)絡(luò)地址沖突的方法,包括:
接收所述第一終端發(fā)送的所述地址解析協(xié)議請(qǐng)求報(bào)文;判斷所述地址解析協(xié)議請(qǐng)求報(bào)文中的目標(biāo)網(wǎng)絡(luò)地址是否為自身網(wǎng)絡(luò)地址;當(dāng)所述目標(biāo)網(wǎng)絡(luò)地址為自身網(wǎng)絡(luò)地址時(shí),即當(dāng)前網(wǎng)絡(luò)發(fā)生沖突,向所述第一終端發(fā)送地址解析協(xié)議應(yīng)答報(bào)文;當(dāng)所述目標(biāo)網(wǎng)絡(luò)地址不為自身網(wǎng)絡(luò)地址時(shí),丟棄所述地址解析請(qǐng)求報(bào)文后不返回任何應(yīng)答消息。
本發(fā)明實(shí)施例提供一種檢測(cè)網(wǎng)絡(luò)地址沖突的裝置,用于第一終端,包括:檢測(cè)模塊,用于檢測(cè)當(dāng)前網(wǎng)絡(luò)狀態(tài);第一判斷模塊,用于判斷所述網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;第一發(fā)送模塊,用于當(dāng)所述網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),向同網(wǎng)段內(nèi)的其它第二終端發(fā)送地址解析協(xié)議請(qǐng)求報(bào)文,所述地址解析協(xié)議請(qǐng)求報(bào)文包含源網(wǎng)絡(luò)地址和目標(biāo)網(wǎng)絡(luò)地址;確定模塊,用于根據(jù)所述第二終端的響應(yīng)確定所述當(dāng)前網(wǎng)絡(luò)的網(wǎng)絡(luò)地址是否發(fā)生沖突。
所述檢測(cè)網(wǎng)絡(luò)地址沖突的裝置,還包括:提示模塊,用于通過(guò)廣播報(bào)文提示所述當(dāng)前網(wǎng)絡(luò)處于沖突狀態(tài)。
所述檢測(cè)網(wǎng)絡(luò)地址沖突的裝置,所述發(fā)生變化包括:設(shè)備重新啟動(dòng)、網(wǎng)絡(luò)連接改變、網(wǎng)絡(luò)地址改變中的一種或幾種。
所述檢測(cè)網(wǎng)絡(luò)地址沖突的裝置,所述網(wǎng)絡(luò)地址包括:ip地址和mac地址。
本發(fā)明實(shí)施例提供一種處理網(wǎng)絡(luò)地址沖突的裝置,包括:接收模塊,用于接收所述第一終端發(fā)送的所述地址解析協(xié)議請(qǐng)求報(bào)文;第二判斷模塊,用于判斷所述地址解析協(xié)議請(qǐng)求報(bào)文中的目標(biāo)網(wǎng)絡(luò)地址是否為自身網(wǎng)絡(luò)地址;第二發(fā)送模塊,用于當(dāng)所述目標(biāo)網(wǎng)絡(luò)地址為自身網(wǎng)絡(luò)地址時(shí),即當(dāng)前網(wǎng)絡(luò)發(fā)生沖突,向所述第一終端發(fā)送地址解析協(xié)議應(yīng)答報(bào)文;處理模塊,用于當(dāng)所述目標(biāo)網(wǎng)絡(luò)地址不為自身網(wǎng)絡(luò)地址時(shí),丟棄所述地址解析請(qǐng)求報(bào)文后不返回任何應(yīng)答消息。
本發(fā)明實(shí)施例技術(shù)方案,具有如下優(yōu)點(diǎn):
本發(fā)明提供一種檢測(cè)及處理網(wǎng)絡(luò)地址沖突的方法及裝置,其中檢測(cè)網(wǎng)絡(luò)地址沖突的方法,用于第一終端,包括如下步驟:檢測(cè)當(dāng)前網(wǎng)絡(luò)狀態(tài);判斷網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;當(dāng)網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),向同網(wǎng)段內(nèi)的其它第二終端發(fā)送地址解析協(xié)議請(qǐng)求報(bào)文,地址解析協(xié)議請(qǐng)求報(bào)文包含源網(wǎng)絡(luò)地址和目標(biāo)網(wǎng)絡(luò)地址;根據(jù)第二終端的響應(yīng)確定當(dāng)前網(wǎng)絡(luò)的網(wǎng)絡(luò)地址是否發(fā)生沖突。本發(fā)明通過(guò)檢測(cè)當(dāng)前網(wǎng)絡(luò)狀態(tài),在網(wǎng)絡(luò)狀態(tài)發(fā)生變化的時(shí)候,發(fā)送地址解析協(xié)議請(qǐng)求報(bào)文,無(wú)需時(shí)刻都發(fā)送該地址解析協(xié)議請(qǐng)求報(bào)文,從而降低網(wǎng)絡(luò)負(fù)載和網(wǎng)絡(luò)設(shè)備cpu的負(fù)載,故可以提高網(wǎng)絡(luò)傳輸速度、改善檢測(cè)網(wǎng)絡(luò)地址沖突的檢測(cè)精度。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例1中檢測(cè)網(wǎng)絡(luò)地址沖突的方法的流程圖;
圖2為本發(fā)明實(shí)施例1中處理網(wǎng)絡(luò)地址沖突的方法的流程圖;
圖3為本發(fā)明實(shí)施例2中檢測(cè)網(wǎng)絡(luò)地址沖突的裝置的結(jié)構(gòu)框圖;
圖4為本發(fā)明實(shí)施例2中處理網(wǎng)絡(luò)地址沖突的裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明實(shí)施例的描述中,需要說(shuō)明的是,術(shù)語(yǔ)“中心”、“上”、“下”、“左”、“右”、“豎直”、“水平”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明實(shí)施例和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。此外,術(shù)語(yǔ)“第一”、“第二”、“第三”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。
在本發(fā)明實(shí)施例的描述中,需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連,還可以是兩個(gè)元件內(nèi)部的連通,可以是無(wú)線連接,也可以是有線連接。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。
此外,下面所描述的本發(fā)明不同實(shí)施方式中所涉及的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互結(jié)合。
實(shí)施例1
本發(fā)明實(shí)施例提供一種檢測(cè)網(wǎng)絡(luò)地址沖突的方法,用于第一終端,包括如下步驟:
s1、檢測(cè)當(dāng)前網(wǎng)絡(luò)狀態(tài)。此處的網(wǎng)絡(luò)狀態(tài)指網(wǎng)絡(luò)設(shè)備應(yīng)用當(dāng)前網(wǎng)絡(luò)傳輸數(shù)據(jù)信息時(shí),在局域網(wǎng)中當(dāng)前網(wǎng)絡(luò)狀態(tài)包括正常運(yùn)行狀態(tài)和瞬時(shí)變化的狀態(tài)。具體地,如計(jì)算機(jī)在工作的過(guò)程中,網(wǎng)絡(luò)處于脫機(jī)狀態(tài),無(wú)法獲取網(wǎng)絡(luò)連接狀態(tài),網(wǎng)絡(luò)地址丟失狀態(tài),斷網(wǎng)狀態(tài),還有當(dāng)前網(wǎng)絡(luò)的網(wǎng)速傳輸較慢等等,以上都屬于網(wǎng)絡(luò)狀態(tài),只有獲取當(dāng)前網(wǎng)絡(luò)狀態(tài)后,幫助確定其是否瞬時(shí)發(fā)生網(wǎng)絡(luò)狀態(tài)變化,才可以為后續(xù)檢測(cè)網(wǎng)絡(luò)地址沖突發(fā)送地址解析協(xié)議請(qǐng)求報(bào)文做準(zhǔn)備。
具體地,首先,說(shuō)明上述地址解析協(xié)議,簡(jiǎn)稱arp,指獲取物理地址的一個(gè)tcp/ip協(xié)議。某節(jié)點(diǎn)ip地址的地址解析協(xié)議(arp)請(qǐng)求報(bào)文被廣播到網(wǎng)絡(luò)上后,這個(gè)節(jié)點(diǎn)會(huì)收到確認(rèn)其物理地址的應(yīng)答。如在局域網(wǎng)中,當(dāng)主機(jī)或其它網(wǎng)絡(luò)設(shè)備有數(shù)據(jù)要發(fā)送給另一個(gè)主機(jī)或設(shè)備時(shí),它必須知道對(duì)方的網(wǎng)絡(luò)層地址,但是僅僅有ip地址是不夠的,因?yàn)閕p數(shù)據(jù)報(bào)文必須封裝成幀才能通過(guò)物理網(wǎng)絡(luò)發(fā)送,因此發(fā)送站還必須有接收站的mac地址,所以需要一個(gè)從ip地址到物理地址的映射,地址解析協(xié)議(arp)就是實(shí)現(xiàn)這個(gè)功能。
地址解析協(xié)議(arp)對(duì)數(shù)據(jù)報(bào)文的格式進(jìn)行定義:
表1為以太網(wǎng)的地址解析協(xié)議(arp)請(qǐng)求報(bào)文或應(yīng)答報(bào)文的數(shù)據(jù)包格式
作為一種可選的實(shí)現(xiàn)方式,本實(shí)施例中的檢測(cè)網(wǎng)絡(luò)地址沖突的方法,網(wǎng)絡(luò)地址包括:ip地址和mac地址。
具體地,ip地址,又稱邏輯地址,ip地址獨(dú)一無(wú)二,每一臺(tái)網(wǎng)絡(luò)設(shè)備用ip地址來(lái)對(duì)其唯一性進(jìn)行標(biāo)識(shí),ip地址通常由32個(gè)二進(jìn)制位組成,這些二進(jìn)制數(shù)字被分為四個(gè)八位數(shù)組,又稱四字節(jié)。如一個(gè)a類的ip地址,其網(wǎng)絡(luò)為8位,主機(jī)為24位,(0*******,********,********,********),*表示二進(jìn)制數(shù),若點(diǎn)分十進(jìn)制形式的一個(gè)ip地址:(10.110.192.111)。因?yàn)榫W(wǎng)絡(luò)協(xié)議通常分不同層次開(kāi)發(fā),每一層分別負(fù)責(zé)不同的通信功能,tcp/ip協(xié)議族,是一組不同層次上的多個(gè)協(xié)議的組合,而ip地址主要位于網(wǎng)絡(luò)層,通常使用基于軟件實(shí)現(xiàn)網(wǎng)絡(luò)層地址—ip地址進(jìn)行通信,提高靈活性。
具體地,mac地址為媒體訪問(wèn)控制,或稱為物理地址、硬件地址,用來(lái)定義網(wǎng)絡(luò)設(shè)備的位置,在osi模型中,第三層網(wǎng)絡(luò)層負(fù)責(zé)ip地址,第二層數(shù)據(jù)鏈路層則負(fù)責(zé)mac地址。因此一個(gè)主機(jī)會(huì)有一個(gè)mac地址,而每個(gè)網(wǎng)絡(luò)位置會(huì)有一個(gè)專屬于它的ip地址,mac地址是網(wǎng)卡決定的,是固定的。
本實(shí)施例通過(guò)檢測(cè)ip地址和mac地址是否沖突,避免因ip地址或mac地址沖突,會(huì)造成網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)丟失,所以需要一個(gè)快速的方法定位這種沖突,給用戶提示。
s2、判斷網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化。通過(guò)網(wǎng)絡(luò)狀態(tài)一旦發(fā)生變化,檢測(cè)當(dāng)前網(wǎng)絡(luò)地址是否發(fā)生沖突。
作為一種可選的實(shí)現(xiàn)方式,本實(shí)施例中的檢測(cè)網(wǎng)絡(luò)地址沖突的方法,上述網(wǎng)絡(luò)狀態(tài)發(fā)生變化,包括:設(shè)備重新啟動(dòng)、網(wǎng)絡(luò)連接改變、網(wǎng)絡(luò)地址改變中的一種或幾種。
具體地,因?yàn)楝F(xiàn)有技術(shù)中的檢測(cè)網(wǎng)絡(luò)地址沖突的方法,一般在當(dāng)前網(wǎng)絡(luò)的任何情況都定時(shí)發(fā)送地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包,造成網(wǎng)絡(luò)負(fù)載增多,影響檢測(cè)當(dāng)前網(wǎng)絡(luò)地址沖突的檢測(cè)精度。例如以太網(wǎng)中的第一網(wǎng)絡(luò)節(jié)點(diǎn)和第二網(wǎng)絡(luò)節(jié)點(diǎn)為例,第二網(wǎng)絡(luò)節(jié)點(diǎn)向網(wǎng)絡(luò)中的其他網(wǎng)絡(luò)節(jié)點(diǎn)(包括第一網(wǎng)絡(luò)節(jié)點(diǎn))廣播地址解析協(xié)議(arp)報(bào)文,其中,網(wǎng)絡(luò)節(jié)點(diǎn)在廣播a地址解析協(xié)議(arp)報(bào)文時(shí),周期性的廣播以該第二網(wǎng)絡(luò)節(jié)點(diǎn)自身每個(gè)虛接口的mac和ip地址為源地址的各地址解析協(xié)議(arp)報(bào)文。第二網(wǎng)絡(luò)節(jié)點(diǎn)在周期性地廣播兩個(gè)源地址不同的地址解析協(xié)議(arp)報(bào)文時(shí),可以在第一個(gè)周期中的第一秒廣播第一個(gè)地址解析協(xié)議(arp)報(bào)文,在第一個(gè)周期中第二秒廣播第二個(gè)地址解析協(xié)議(arp)報(bào)文,以此類推,這樣對(duì)于這兩個(gè)源地址不同的arp報(bào)文來(lái)說(shuō),每個(gè)arp報(bào)文都是周期性被廣播。這種周期性地發(fā)送地址解析協(xié)議(arp)報(bào)文,無(wú)論當(dāng)前網(wǎng)絡(luò)處于何種狀態(tài),第二網(wǎng)絡(luò)節(jié)點(diǎn)一秒鐘發(fā)送一個(gè)arp報(bào)文,顯然意見(jiàn),大量的地址解析協(xié)議(arp)報(bào)文在當(dāng)前網(wǎng)絡(luò)中傳輸,使當(dāng)前網(wǎng)絡(luò)高負(fù)載工作,不但使當(dāng)前網(wǎng)速降低,而且使網(wǎng)絡(luò)設(shè)備的cpu的負(fù)載增加,故也降低了網(wǎng)絡(luò)設(shè)備cpu處理有效數(shù)據(jù)的能力。很簡(jiǎn)單的道理,如地址解析協(xié)議(arp)的數(shù)據(jù)包長(zhǎng)度為42個(gè)字節(jié),如果保持對(duì)網(wǎng)絡(luò)地址沖突的快速反應(yīng),需要保持每100ms發(fā)送一個(gè)數(shù)據(jù)包,當(dāng)有1000臺(tái)設(shè)備,網(wǎng)絡(luò)內(nèi)上下行運(yùn)行速度分別為3mbps,則10000設(shè)備上下行為是30mbps;這些龐大的數(shù)據(jù)包都需要網(wǎng)絡(luò)設(shè)備去處理,浪費(fèi)其cpu的運(yùn)算能力。大量的數(shù)據(jù)包內(nèi)的報(bào)文信息需要網(wǎng)絡(luò)設(shè)備處理,會(huì)降低網(wǎng)絡(luò)檢測(cè)精度。
s3、當(dāng)網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),向同網(wǎng)段內(nèi)的其它第二終端發(fā)送地址解析協(xié)議請(qǐng)求報(bào)文,地址解析協(xié)議請(qǐng)求報(bào)文包含源網(wǎng)絡(luò)地址和目標(biāo)網(wǎng)絡(luò)地址。
為了減少網(wǎng)絡(luò)負(fù)載,網(wǎng)絡(luò)設(shè)備只有在自己的網(wǎng)絡(luò)狀態(tài)發(fā)生改變的情況下才需要發(fā)送地址解析協(xié)議(arp)請(qǐng)求報(bào)文,而不需要如同上述方式周期性發(fā)送地址解析協(xié)議(arp)報(bào)文,在以下幾種網(wǎng)絡(luò)狀態(tài)發(fā)生改變的過(guò)程發(fā)送地址解析協(xié)議(arp)請(qǐng)求報(bào)文,進(jìn)而提高數(shù)據(jù)傳輸質(zhì)量,和降低網(wǎng)絡(luò)設(shè)備cpu的負(fù)載,保證檢測(cè)網(wǎng)絡(luò)地址沖突的同時(shí),使當(dāng)前網(wǎng)絡(luò)可以低負(fù)載運(yùn)行。一般設(shè)備在啟動(dòng)過(guò)程、設(shè)備網(wǎng)卡連接狀態(tài)變?yōu)閡p或者down狀態(tài)、ip地址增加、mac地址改變,只在上述狀態(tài)才發(fā)送地址解析協(xié)議(arp)報(bào)文的數(shù)據(jù)包,從發(fā)送和接收上都降低負(fù)載,這種改變對(duì)網(wǎng)絡(luò)設(shè)備cpu負(fù)載和網(wǎng)絡(luò)負(fù)載降低的效果很明顯。以其中的一種變化舉例,當(dāng)一臺(tái)計(jì)算機(jī)正在運(yùn)行工作,正在使用無(wú)線網(wǎng)絡(luò)獲取數(shù)據(jù)信息,此時(shí)當(dāng)前網(wǎng)絡(luò)狀態(tài)在正常運(yùn)行時(shí)突然掉線,這種掉線只是暫時(shí)的網(wǎng)路連接發(fā)生改變,一會(huì)很快自動(dòng)連接,系統(tǒng)準(zhǔn)備檢測(cè)網(wǎng)絡(luò)地址是否沖突,系統(tǒng)檢測(cè)出網(wǎng)絡(luò)發(fā)生這種網(wǎng)絡(luò)連接改變的狀態(tài),立馬向同網(wǎng)段的其它第二終端發(fā)送地址解析協(xié)議(arp)請(qǐng)求報(bào)文,無(wú)需頻繁地定時(shí)定點(diǎn)發(fā)送大量的地址解析協(xié)議(arp)請(qǐng)求報(bào)文,該大量的地址解析協(xié)議(arp)請(qǐng)求報(bào)文不但占用網(wǎng)速,還增加網(wǎng)絡(luò)負(fù)載和網(wǎng)絡(luò)設(shè)備cpu的負(fù)載,影響網(wǎng)絡(luò)傳輸速度和網(wǎng)絡(luò)設(shè)備cpu處理有效數(shù)據(jù)的能力,降低檢測(cè)網(wǎng)絡(luò)地址沖突的精度。
s4、根據(jù)第二終端的響應(yīng)確定當(dāng)前網(wǎng)絡(luò)的網(wǎng)絡(luò)地址是否發(fā)生沖突。
如果在一個(gè)互聯(lián)網(wǎng)絡(luò)內(nèi),兩個(gè)不同的主機(jī)或者設(shè)備,如果同時(shí)使用同一個(gè)ip地址時(shí),兩者會(huì)沖突,造成兩者不能正常工作,所以需要檢測(cè)沖突。因?yàn)閕p沖突檢測(cè)依賴于收發(fā)地址解析協(xié)議(arp)報(bào)文的數(shù)據(jù)包,該數(shù)據(jù)包攜帶發(fā)送端ip地址和目的ip地址,mac地址是本機(jī)地址,報(bào)文的目的mac地址是廣播地址,該功能主要用于告知同網(wǎng)段,ip或mac地址沖突改變,便于其它設(shè)備維護(hù)地址解析協(xié)議(arp)表,避免同網(wǎng)段ip或mac沖突,上述的同網(wǎng)段指具有同一個(gè)網(wǎng)絡(luò)號(hào)的網(wǎng)絡(luò)。
作為一種可選的實(shí)現(xiàn)方式,本實(shí)施例中的檢測(cè)網(wǎng)絡(luò)地址沖突的方法,還包括:通過(guò)廣播報(bào)文提示當(dāng)前網(wǎng)絡(luò)處于沖突狀態(tài)。
當(dāng)?shù)谝唤K端設(shè)備向其它第二終端設(shè)備發(fā)送地址解析協(xié)議報(bào)文后,第一終端設(shè)備根據(jù)第二終端設(shè)備的響應(yīng)獲知當(dāng)前同網(wǎng)段內(nèi)的網(wǎng)絡(luò)地址是否存在沖突狀況,在獲取沖突后需要把當(dāng)前的沖突信息告知同網(wǎng)段內(nèi)的其它設(shè)備,可以預(yù)先設(shè)定一定的時(shí)間間隔,如間隔5s廣播一次沖突信息,所以通過(guò)廣播的形式發(fā)送報(bào)文給其它終端設(shè)備,不但提示當(dāng)前網(wǎng)絡(luò)發(fā)生沖突,而且這樣也不會(huì)導(dǎo)致負(fù)載太高,降低網(wǎng)絡(luò)設(shè)備cpu的負(fù)載。
具體地,設(shè)備在網(wǎng)絡(luò)中發(fā)送地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包,網(wǎng)絡(luò)中的其它設(shè)備接收這個(gè)地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包,解析。網(wǎng)絡(luò)中的設(shè)備b接收該地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包,如果發(fā)現(xiàn)地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包中的目標(biāo)ip為自身ip,則斷定有ip沖突,回復(fù)一個(gè)地址解析協(xié)議(arp)應(yīng)答報(bào)文的數(shù)據(jù)包,設(shè)備a收到該地址解析協(xié)議(arp)應(yīng)答報(bào)文的數(shù)據(jù)包,則可斷定有ip沖突情況,同理對(duì)mac地址沖突的判斷也如此。
表2為檢測(cè)網(wǎng)絡(luò)地址沖突的地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包
表3為檢測(cè)網(wǎng)絡(luò)地址沖突的地址解析協(xié)議(arp)應(yīng)答報(bào)文的數(shù)據(jù)包
上表2和表3,0xff.0xff.0xff.0xff.0xff.0xff——說(shuō)明前48位都為1,表示這是一個(gè)局域網(wǎng)廣播地址;
設(shè)備a以太網(wǎng)地址——數(shù)據(jù)包發(fā)送的源mac地址;
0806——數(shù)據(jù)包類型為地址解析協(xié)議(arp)數(shù)據(jù)包;
0001——這是一個(gè)以太網(wǎng)數(shù)據(jù)包,該例子以以太網(wǎng)為例;
0800——ip協(xié)議;
6——硬件地址長(zhǎng)度;
4——協(xié)議地址長(zhǎng)度;
0001——地址解析協(xié)議(arp)請(qǐng)求報(bào)文;
設(shè)備amac地址——發(fā)送者mac地址;
設(shè)備aip地址——發(fā)送者的協(xié)議地址。
本發(fā)明實(shí)施例還提供一種處理網(wǎng)絡(luò)地址沖突的方法,包括:
s21、接收第一終端發(fā)送的地址解析協(xié)議請(qǐng)求報(bào)文。
因?yàn)榈谝唤K端是向同網(wǎng)段中的其它第二網(wǎng)絡(luò)終端發(fā)送地址解析協(xié)議請(qǐng)求報(bào)文,為了檢測(cè)網(wǎng)絡(luò)地址沖突,所以需要獲取第一終端的請(qǐng)求消息。
s22、判斷地址解析協(xié)議請(qǐng)求報(bào)文中的目標(biāo)網(wǎng)絡(luò)地址是否為自身網(wǎng)絡(luò)地址。
具體地,例如與現(xiàn)有tcp/ip協(xié)議棧配合使用,先行配置實(shí)際需要配置的同網(wǎng)段的該網(wǎng)絡(luò)號(hào)地址為(192.168.11.10);地址解析協(xié)議報(bào)文(arp)中的目標(biāo)網(wǎng)絡(luò)地址包括ip地址和mac地址,目標(biāo)ip地址為(192.168.11.10:255.0.0.0),目標(biāo)mac地址為(0.0.0.11),第二終端接收第一終端的地址解析協(xié)議(arp)請(qǐng)求報(bào)文后,第二終端通過(guò)比較同網(wǎng)段(192.168.11.10)中的自身ip地址和mac地址是否與地址解析協(xié)議(arp)請(qǐng)求報(bào)文中的目標(biāo)ip地址和mac地址是否相同。
s23、當(dāng)目標(biāo)網(wǎng)絡(luò)地址為自身網(wǎng)絡(luò)地址時(shí),即當(dāng)前網(wǎng)絡(luò)發(fā)生沖突,向第一終端發(fā)送地址解析協(xié)議應(yīng)答報(bào)文。
上述步驟s22的判斷中,如若目標(biāo)ip地址和目標(biāo)mac地址相同則說(shuō)明當(dāng)前網(wǎng)絡(luò)存在沖突。
具體地,設(shè)備a在網(wǎng)絡(luò)中發(fā)送地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包,網(wǎng)絡(luò)中的其他設(shè)備接收這個(gè)地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包,解析。網(wǎng)絡(luò)中的設(shè)備b接收到地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包,如果發(fā)現(xiàn)請(qǐng)求報(bào)文的數(shù)據(jù)包中的目標(biāo)ip為自身ip,則斷定有ip沖突的情況,且回復(fù)一個(gè)應(yīng)答報(bào)文的數(shù)據(jù)包;設(shè)備a收到該應(yīng)答報(bào)文的數(shù)據(jù)包,則可斷定有ip沖突情況。遇到網(wǎng)絡(luò)地址沖突后,當(dāng)然需要解決這個(gè)沖突,可以更換目標(biāo)網(wǎng)絡(luò)地址,例如,將目標(biāo)ip地址更換成(192.168.11.10:255.0.0.1),然后將生成的新ip地址(192.168.11.10:255.0.0.1)作為設(shè)備a的ip地址,重新執(zhí)行上述實(shí)施例中的檢測(cè)網(wǎng)絡(luò)地址沖突的方法,直到判斷出沒(méi)有沖突為止。
s24、當(dāng)目標(biāo)網(wǎng)絡(luò)地址不為自身網(wǎng)絡(luò)地址時(shí),丟棄地址解析請(qǐng)求報(bào)文后不返回任何應(yīng)答消息。在上述步驟s22的判斷中,如果b設(shè)備接收到地址解析協(xié)議(arp)請(qǐng)求報(bào)文的數(shù)據(jù)包,判斷地址解析協(xié)議(arp)的數(shù)據(jù)包中的目標(biāo)ip不是自身ip,則丟棄,對(duì)mac地址的判斷也如此。得知當(dāng)目標(biāo)網(wǎng)絡(luò)地址不是自身網(wǎng)絡(luò)地址時(shí),將當(dāng)前的目標(biāo)網(wǎng)絡(luò)地址丟棄,說(shuō)明當(dāng)前網(wǎng)絡(luò)不存在沖突狀況,所以無(wú)需回復(fù)任何應(yīng)答消息,也是從接收端上降低網(wǎng)絡(luò)負(fù)載。將上述步驟s22中的目標(biāo)ip地址(192.168.11.10:255.0.0.0),丟棄后,不需要回復(fù)設(shè)備a任何信息,由此可以看出從發(fā)送端和接收端上都降低了網(wǎng)絡(luò)負(fù)載和網(wǎng)絡(luò)設(shè)備的cpu負(fù)載,也增強(qiáng)了網(wǎng)絡(luò)傳輸?shù)乃俣龋岣邫z測(cè)網(wǎng)絡(luò)地址沖突的精度。
實(shí)施例2
本發(fā)明實(shí)施例提供一種檢測(cè)網(wǎng)絡(luò)地址沖突的裝置,用于第一終端,如圖3所示,包括:
檢測(cè)模塊31,用于檢測(cè)當(dāng)前網(wǎng)絡(luò)狀態(tài);
第一判斷模塊32,用于判斷網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化;
第一發(fā)送模塊33,用于當(dāng)網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),向同網(wǎng)段內(nèi)的其它第二終端發(fā)送地址解析協(xié)議請(qǐng)求報(bào)文,地址解析協(xié)議請(qǐng)求報(bào)文包含源網(wǎng)絡(luò)地址和目標(biāo)網(wǎng)絡(luò)地址;
確定模塊34,用于根據(jù)第二終端的響應(yīng)確定當(dāng)前網(wǎng)絡(luò)的網(wǎng)絡(luò)地址是否發(fā)生沖突。
作為一種可選的實(shí)現(xiàn)方式,本實(shí)施例中的檢測(cè)網(wǎng)絡(luò)地址沖突的裝置,還包括:
提示模塊35,用于通過(guò)廣播報(bào)文提示當(dāng)前網(wǎng)絡(luò)處于沖突狀態(tài)。
作為一種可選的實(shí)現(xiàn)方式,本實(shí)施例中的檢測(cè)網(wǎng)絡(luò)沖突的裝置,發(fā)生變化包括:設(shè)備重新啟動(dòng)、網(wǎng)絡(luò)連接改變、網(wǎng)絡(luò)地址改變中的一種或幾種。
作為一種可選的實(shí)現(xiàn)方式,本實(shí)施例中的檢測(cè)網(wǎng)絡(luò)沖突的裝置,網(wǎng)絡(luò)地址包括:ip地址和mac地址。
作為一種可選的實(shí)現(xiàn)方式,本實(shí)施例中的處理網(wǎng)絡(luò)地址沖突的裝置,該裝置如圖4所示,包括:
接收模塊41,用于接收第一終端發(fā)送的地址解析協(xié)議請(qǐng)求報(bào)文;
第二判斷模塊42,用于判斷地址解析協(xié)議請(qǐng)求報(bào)文中的目標(biāo)網(wǎng)絡(luò)地址是否為自身網(wǎng)絡(luò)地址;
第二發(fā)送模塊43,用于當(dāng)目標(biāo)網(wǎng)絡(luò)地址為自身網(wǎng)絡(luò)地址時(shí),即當(dāng)前網(wǎng)絡(luò)發(fā)生沖突,向第一終端發(fā)送地址解析協(xié)議應(yīng)答報(bào)文;
處理模塊44,用于當(dāng)目標(biāo)網(wǎng)絡(luò)地址不為自身網(wǎng)絡(luò)地址時(shí),丟棄地址解析請(qǐng)求報(bào)文后不返回任何應(yīng)答消息。
顯然,上述實(shí)施例僅僅是為清楚地說(shuō)明所作的舉例,而并非對(duì)實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在上述說(shuō)明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無(wú)需也無(wú)法對(duì)所有的實(shí)施方式予以窮舉。而由此所引伸出的顯而易見(jiàn)的變化或變動(dòng)仍處于本發(fā)明創(chuàng)造的保護(hù)范圍之中。