專利名稱:一種分配ip地址時(shí)地址沖突的檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體涉及一種分配IP地址時(shí)地址沖突的檢測(cè)方法。
背景技術(shù):
DHCP(動(dòng)態(tài)主機(jī)分配協(xié)議)是動(dòng)態(tài)主機(jī)配置協(xié)議,主要是來(lái)完成目前網(wǎng)絡(luò) 上的IP地址分配任務(wù)的一套協(xié)議,這套協(xié)議是SERVER(服務(wù)器)/CL正NT(用 戶端^莫式的,通過(guò)Client主動(dòng)和Server進(jìn)行交互,從而得到IP地址和一些相 關(guān)的配置信息,DHCP SERVER就是負(fù)責(zé)分配IP地址和下發(fā)一些配置信息的 一種服務(wù)器。從DHCP的協(xié)議來(lái)講,Server完全是處于一種被動(dòng)的地位,所 有的動(dòng)作基本都是由Client來(lái)觸發(fā)完成。如圖1所示為現(xiàn)有技術(shù)DHCP的基 本交互過(guò)程,
步驟101: Client向SERVER發(fā)送DHCP Discover(IP地址發(fā)現(xiàn))報(bào)文;
步驟102:當(dāng)沒(méi)有與該用戶端綁定的IP地址,且地址池存在可分配的IP 地址時(shí),SERVER向Client發(fā)送DHCP Offer(IP地址提供)報(bào)文,其中包括可 提供給該Client的IP地址;
步驟103: Client向SERVER發(fā)送DHCP request(請(qǐng)求)報(bào)文;
步驟104: SERVER向Client發(fā)送DHCP ACK(確認(rèn))報(bào)文;
步驟105: Client發(fā)送免費(fèi)arp請(qǐng)求。
對(duì)于這種動(dòng)態(tài)的分配地址,可以方便的解決地址分配問(wèn)題,從而不用管 理員去逐一配置,但是由于動(dòng)態(tài)分配和靜態(tài)配置兩種方法網(wǎng)絡(luò)中都存在使用, 從而避免不了出現(xiàn)地址沖突的現(xiàn)象,對(duì)DHCP來(lái)說(shuō)解決地址沖突的方法通常 使用Clie加進(jìn)行發(fā)送免費(fèi)arp進(jìn)行檢測(cè),Client收到Ack報(bào)文后,會(huì)主動(dòng)發(fā)送 關(guān)于申請(qǐng)的地址的arp請(qǐng)求,如杲有人回應(yīng)該請(qǐng)求,就會(huì)說(shuō)明網(wǎng)絡(luò)中已經(jīng)存 在該地址,這樣Client就會(huì)通過(guò)Decline報(bào)文向Server報(bào)告沖突,然后重新發(fā)
起申請(qǐng)。
對(duì)于這種地址沖突的檢測(cè)來(lái)說(shuō),主動(dòng)性完全在Client上,但是由于目前 出現(xiàn)了很多的Client申請(qǐng)到地址后不會(huì)發(fā)送arp,從而沒(méi)有檢測(cè)地址沖突,就 會(huì)很大程度上造成了網(wǎng)絡(luò)問(wèn)題,可是Server卻什么都不知道。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種分配IP地址時(shí)地址沖突的檢測(cè)方 法,減少了 IP地址分配時(shí)沖突的出現(xiàn),提高了分配效率。
為了解決上述問(wèn)題,本發(fā)明提供了 一種分配IP地址時(shí)地址沖突的檢測(cè)方 法,包括服務(wù)器收到用戶端發(fā)來(lái)的1P地址請(qǐng)求報(bào)文后,若地址池中存在可 分配的IP地址,則從中選擇一個(gè)進(jìn)行Ping操作,如果沒(méi)有網(wǎng)間控制信息協(xié)議 ICMP回應(yīng),則將選擇的該IP地址回復(fù)給用戶端,完成所述用戶端的地址申請(qǐng)。
進(jìn)一步地,所述服務(wù)器收到用戶端發(fā)來(lái)的IP地址請(qǐng)求報(bào)文后,先判斷是 否存在與所述用戶端綁定的IP地址,是則將與所述用戶端綁定的IP地址回 復(fù)給用戶端,完成所述用戶端的地址申請(qǐng)。
進(jìn)一步地,若不存在與所述用戶端綁定的IP地址,且地址池中存在可分 配的IP地址,則判斷是否需要進(jìn)行Ping操作,若不需要,則選擇一可分配的 IP地址回復(fù)給用戶端,完成所述用戶端的地址申請(qǐng)。
進(jìn)一步地,若服務(wù)器進(jìn)行Ping操作后收到ICMP回應(yīng),則將所述選擇的 IP地址放入沖突表中,然后再次判斷地址池中是否存在可分配的IP地址。
進(jìn)一步地,所述判斷是否需要進(jìn)行Ping操作的方法為,若"^殳置的ICMP 數(shù)量為0,則不需要進(jìn)行Ping操作,不為O則需要進(jìn)行Ping操作。
進(jìn)一步地,所述進(jìn)行Ping操作是指,根據(jù)所述ICMP數(shù)量發(fā)送ICMP報(bào) 文,且所述ICMP報(bào)文的目的地址即選擇的可分配的IP地址,發(fā)送所述ICMP 報(bào)文的次數(shù)等于所述ICMP數(shù)量。
進(jìn)一步地,當(dāng)選擇了可分配的IP地址回復(fù)給所述用戶端后,建立所述IP 地址與用戶端的綁定關(guān)系。
綜上所述,本發(fā)明提供一種分配IP地址時(shí)地址沖突的檢測(cè)方法,減少了
DHCP報(bào)文在網(wǎng)絡(luò)中的傳輸,使得用戶端一次就能夠得到相應(yīng)可以使用的地
址,提高了分配效率,減少了 IP地址分配時(shí)沖突的出現(xiàn)。
圖1為現(xiàn)有技術(shù)中Client和Server進(jìn)行交互獲得IP地址的示意圖; 圖2是本發(fā)明方法Client和Server進(jìn)行交互獲得IP地址的流程圖。
具體實(shí)施例方式
本發(fā)明提供一種分配IP地址時(shí)地址沖突的檢測(cè)方法,通過(guò)DHCP SERVER在分配地址的時(shí)候主動(dòng)進(jìn)行地址沖突檢測(cè),使用Ping協(xié)議完成檢測(cè) 過(guò)程,在SERVER從地址池中取得地址的時(shí)候,首先對(duì)該地址進(jìn)行Ping動(dòng)作, 如果沒(méi)有回應(yīng),說(shuō)明網(wǎng)絡(luò)中沒(méi)有使用該地址的用戶端,即為可分配地址,如 果有Ping回應(yīng),說(shuō)明該地址是沖突地址,然后直接將該地址放入沖突地址表 中,再取地址重新分配。這樣就會(huì)使得DHCP報(bào)文在網(wǎng)絡(luò)中的傳輸減少,使 得用戶端一次就能夠得到相應(yīng)可以使用的地址,提高了分配效率,更加減少 地址沖突的出現(xiàn)。
本實(shí)施例提供一種分配IP地址時(shí)地址沖突的檢測(cè)方法,具體的控制流程 如圖2如示
步驟201: Client向SERVER發(fā)送DHCP Discover報(bào)文;
步驟202: SERVER收到DHCP Discover報(bào)文,判斷是否存在與該用戶 端綁定的地址,是則執(zhí)行步驟203,否則執(zhí)行步驟204;
步驟203:按照綁定關(guān)系中的IP地址向Client回復(fù)DHCP Offer報(bào)文,其 中攜帶與該用戶端綁定的IP地址,還需要更新綁定釋》文時(shí)間;并于收到Client 發(fā)來(lái)的DHCP Request報(bào)文后向其回復(fù)DHCP Ack,從而完成用戶端的地址申 請(qǐng)。
步驟204: SERVER查看地址池中是否存在可分配地址,是則執(zhí)行步驟 205,否則執(zhí)行步驟208; 該步中判斷出存在可分配地址后,還可以判斷是否需要進(jìn)行Ping操作, 即判斷設(shè)置的ICMP(網(wǎng)間控制信息協(xié)議)數(shù)量是否為0,是則不需要進(jìn)行Ping 操作,直接選擇一可分配的地址回復(fù)給Client,并建立該IP地址與用戶端的 綁定關(guān)系,完成用戶端的地址申請(qǐng);若設(shè)置的ICMP數(shù)量不為O,則執(zhí)行步驟 205。
ICMP數(shù)量可以是根據(jù)需要進(jìn)行設(shè)置,若需要對(duì)IP地址進(jìn)行沖突檢測(cè)將 其設(shè)置為不為0的自然數(shù),若不需要對(duì)IP地址進(jìn)行沖突檢測(cè)則將其設(shè)置為0, ICMP數(shù)量即發(fā)送ICMP報(bào)文的數(shù)量。
步驟205:選擇地址池中的一個(gè)可分配IP地址進(jìn)行Ping操作,即根據(jù) ICMP數(shù)量發(fā)送ICMP報(bào)文,該報(bào)文的目的地址即選擇的可分配的IP地址, 發(fā)送ICMP報(bào)文的次數(shù)等于ICMP數(shù)量,如ICMP數(shù)量為2時(shí)發(fā)送2個(gè)ICMP 報(bào)文,判斷是否有ICMP回應(yīng),是則執(zhí)行步驟206,否則執(zhí)行步驟207;
步驟206:說(shuō)明選擇的該IP地址沖突,將其放入沖突表,返回步驟204;
步驟207:說(shuō)明選擇的該IP地址不沖突,向Client回復(fù)DHCP Offer報(bào)文, 其中攜帶選擇的該IP地址,并建立該IP地址與用戶端的綁定關(guān)系;當(dāng)收到 Client發(fā)來(lái)的DHCP Request報(bào)文后向其回復(fù)DHCP Ack,從而完成用戶端的 地址申請(qǐng)。
步驟208:說(shuō)明沒(méi)有可分配地址,不向Client回復(fù)信息。
需要說(shuō)明的是,網(wǎng)絡(luò)中如果存在大量的沖突地址,那么在用戶端申請(qǐng)地 址的時(shí)候也會(huì)出現(xiàn)一段時(shí)間無(wú)法申請(qǐng)到地址,但是由于DHCP協(xié)議中存在定 期申請(qǐng)的機(jī)制,因此對(duì)于得到可用地址是沒(méi)有影響的。
權(quán)利要求
1、一種分配IP地址時(shí)地址沖突的檢測(cè)方法,包括服務(wù)器收到用戶端發(fā)來(lái)的IP地址請(qǐng)求報(bào)文后,若地址池中存在可分配的IP地址,則從中選擇一個(gè)進(jìn)行Ping操作,如果沒(méi)有網(wǎng)間控制信息協(xié)議ICMP回應(yīng),則將選擇的該IP地址回復(fù)給用戶端,完成所述用戶端的地址申請(qǐng)。
2、 如權(quán)利要求l所迷的方法,其特征在于所述服務(wù)器收到用戶端發(fā)來(lái)的IP地址請(qǐng)求報(bào)文后,先判斷是否存在與所 述用戶端綁定的IP地址,是則將與所述用戶端綁定的IP地址回復(fù)給用戶端, 完成所述用戶端的地址申請(qǐng)。
3、 如權(quán)利要求2所述的方法,其特征在于若不存在與所述用戶端綁定的IP地址,且地址池中存在可分配的IP地 址,則判斷是否需要進(jìn)行Ping操作,若不需要,則選擇一可分配的IP地址回 復(fù)給用戶端,完成所述用戶端的地址申請(qǐng)。
4、 如權(quán)利要求1所述的方法,其特征在于若服務(wù)器進(jìn)行Ping操作后收到ICMP回應(yīng),則將所述選擇的IP地址放入 沖突表中,然后再次判斷地址池中是否存在可分配的IP地址。
5、 如權(quán)利要求3所述的方法,其特征在于所述判斷是否需要進(jìn)行Ping操作的方法為,若設(shè)置的ICMP數(shù)量為0, 則不需要進(jìn)行Ping操作,不為O則需要進(jìn)行Ping操作。
6、 如權(quán)利要求5所述的方法,其特征在于所述進(jìn)行Ping操作是指,根據(jù)所述ICMP數(shù)量發(fā)送ICMP報(bào)文,且所述 ICMP報(bào)文的目的地址即選擇的可分配的IP地址,發(fā)送所述ICMP才艮文的次 數(shù)等于所述ICMP數(shù)量。
7、 如權(quán)利要求3所述的方法,其特征在于當(dāng)選擇了可分配的IP地址回復(fù)給所述用戶端后,建立所述IP地址與用 戶端的綁定關(guān)系。
全文摘要
本發(fā)明提供一種分配IP地址時(shí)地址沖突的檢測(cè)方法,包括服務(wù)器收到用戶端發(fā)來(lái)的IP地址請(qǐng)求報(bào)文后,若地址池中存在可分配的IP地址,則從中選擇一個(gè)進(jìn)行Ping操作,如果沒(méi)有網(wǎng)間控制信息協(xié)議回應(yīng),則將選擇的該IP地址回復(fù)給用戶端,完成所述用戶端的地址申請(qǐng)。采用本發(fā)明的技術(shù)方案,減少了動(dòng)態(tài)主機(jī)分配協(xié)議報(bào)文在網(wǎng)絡(luò)中的傳輸,使得用戶端一次就能夠得到相應(yīng)可以使用的地址,提高了分配效率,減少了IP地址分配時(shí)沖突的出現(xiàn)。
文檔編號(hào)H04L29/06GK101355594SQ20081021555
公開(kāi)日2009年1月28日 申請(qǐng)日期2008年9月9日 優(yōu)先權(quán)日2008年9月9日
發(fā)明者偉 胡 申請(qǐng)人:中興通訊股份有限公司