本申請涉及通訊技術(shù),特別是涉及一種用戶地址分配的方法和裝置。
背景技術(shù):
二層隧道協(xié)議(Layer 2Tunneling Protocol,L2TP)是一種點(diǎn)對點(diǎn)協(xié)議(Point-to-Point Protocol,PPP)鏈路層數(shù)據(jù)包進(jìn)行封裝并通過隧道進(jìn)行傳輸?shù)募夹g(shù)。
在現(xiàn)有技術(shù)中,當(dāng)L2TP訪問集中器(L2TP Access Concentrator,LAC)具有多個(gè)備選L2TP網(wǎng)絡(luò)服務(wù)器(L2TP Network Server,LNS)時(shí),LAC默認(rèn)向主LNS發(fā)起L2TP隧道建立請求,LAC接收到主LNS的接受應(yīng)答后,該LNS作為隧道的對端,而不再與其他備選LNS建立L2TP隧道。若LAC未接收到主LNS的接受應(yīng)答,則LAC向下一個(gè)備選LNS發(fā)起L2TP隧道建立請求。但是當(dāng)主LNS鏈路斷開后,繼續(xù)向備選LNS發(fā)送L2TP隧道建立請求,此時(shí)可能存在將主LNS的地址信息又分配給了備選LNS的下掛設(shè)備,從而造成分配地址沖突的問題。
為了解決分配地址沖突的問題,現(xiàn)有技術(shù)中通常對備選LNS的地址池進(jìn)行拆分,使各備份LNS的地址池與主LNS的地址池相互獨(dú)立,從而解決了分配地址沖突的問題。
雖然上述處理解決了分配地址沖突的問題,但是每個(gè)備選LNS需要根據(jù)用戶需要?jiǎng)澐植煌牡刂烦?,并且該備選LNS的地址池與主LNS的地址池相互獨(dú)立,增加了規(guī)劃復(fù)雜度且不利于后續(xù)擴(kuò)展,并且為了保證主LNS與備選LNS的分配地址不沖突,需要在地址池中預(yù)留很多分配地址,造成了分配地址的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本申請?zhí)峁┝艘环N用戶地址分配的方法和裝置,以解決目前分配地址浪費(fèi)的問題。
為了解決上述問題,本申請公開了一種用戶地址分配的方法,所述方法應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,所述方法包括:分配地址之前,選擇第一地址,確定所述第一地址的第一地址狀態(tài);若所述第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶。
為了解決上述問題,本申請還公開了一種用戶地址分配的裝置,所述裝置應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,所述裝置包括:確定模塊,用于分配地址之前,選擇第一地址,確定所述第一地址的第一地址狀態(tài);分配模塊,用于若所述第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶。
與現(xiàn)有技術(shù)相比,本申請包括以下優(yōu)點(diǎn):
首先,本申請第一LNS在分配地址之前,選擇第一地址,確定第一地址的第一地址狀態(tài),若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶,無須對地址池進(jìn)行劃分,減輕了對地址池規(guī)劃的復(fù)雜度,同時(shí)也無須預(yù)留分配地址,進(jìn)而解決了用戶分配地址浪費(fèi)的問題。
當(dāng)然,實(shí)施本申請的任一產(chǎn)品不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
圖1是實(shí)現(xiàn)本申請所述一種用戶地址分配方法的組網(wǎng)示意圖;
圖2是本申請實(shí)施方式一種用戶地址分配方法的流程圖;
圖3是本申請另一實(shí)施方式一種用戶地址分配方法的流程圖;
圖4是本申請另一實(shí)施方式一種用戶地址分配方法的流程圖;
圖5是本申請另一實(shí)施方式一種用戶地址分配方法的流程圖;
圖6是本申請另一實(shí)施方式一種用戶地址分配方法的流程圖;
圖7是本申請一種用戶地址分配方法的結(jié)構(gòu)框圖的應(yīng)用實(shí)例;
圖8是本申請實(shí)施方式一種用戶地址分配裝置的結(jié)構(gòu)框圖;
圖9是本申請另一實(shí)施方式一種用戶地址分配裝置的結(jié)構(gòu)框圖;
圖10是本申請另一實(shí)施方式一種用戶地址分配裝置的結(jié)構(gòu)框圖;
圖11是本申請另一實(shí)施方式一種用戶地址分配裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本申請的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對本申請作進(jìn)一步詳細(xì)的說明。
參見圖1所示,其示出了實(shí)現(xiàn)本申請所述一種用戶地址分配方法的組網(wǎng)示意圖,具體包括:客戶端、中間二層網(wǎng)絡(luò)設(shè)備、L2TP訪問集中器(L2TP Access Concentrator,LAC)、L2TP網(wǎng)絡(luò)服務(wù)器(L2TP Network Server,LNS)以及Internet網(wǎng)??蛻舳送ㄟ^中間二層設(shè)備與LAC進(jìn)行連接,LAC通過Internet網(wǎng)與LNS網(wǎng)相連,LAC是在客戶端和LNS之間傳遞數(shù)據(jù)的設(shè)備,通常是當(dāng)?shù)鼗ヂ?lián)網(wǎng)服務(wù)提供商(ISP)的接入設(shè)備,具有PPP和L2TP協(xié)議處理能力。LNS是L2TP協(xié)議的服務(wù)器端部分,通常是企業(yè)內(nèi)部網(wǎng)的邊緣設(shè)備,一個(gè)LAC可以對應(yīng)多個(gè)LNS。
需要說明的是,中間二層設(shè)備可以為交換機(jī),也可以為其他設(shè)備,對此本申請不做具體限制。
基于上述組網(wǎng)示意圖,參照圖2,示出了本申請其中一個(gè)實(shí)施方式的一種用戶地址分配方法的步驟流程圖。所述方法應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該用戶地址分配方法具體包括:
步驟201:分配地址之前,選擇第一地址,確定所述第一地址的第一地址狀態(tài)。
分配地址之前,選擇第一地址,確定所述第一地址的第一地址狀態(tài),是為了避免將已經(jīng)分配的第一地址再次分配給用戶。
其中,第一地址狀態(tài)包括已分配狀態(tài)和未分配狀態(tài)。
未分配狀態(tài)可以理解為該第一地址是空閑的地址信息或者該第一地址是未被使用的,已分配狀態(tài)可以理解為第一地址是被占用的或者第一地址已經(jīng)被使用的。
步驟202:若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶。
本實(shí)施方式,在第一LNS在分配地址之前,選擇第一地址,確定第一地址的第一地址狀態(tài),若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶,無須對地址池進(jìn)行劃分,減輕了對地址池規(guī)劃的復(fù)雜度,同時(shí)也無須預(yù)留分配地址,進(jìn)而解決了用戶分配地址浪費(fèi)的問題。
參照圖3,示出了本申請其中另一個(gè)實(shí)施方式的一種用戶地址分配方法的步驟流程圖。所述方法應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該用戶地址分配方法具體包括:
步驟301:獲取LNS地址列表,根據(jù)所述LNS地址列表確定第一LNS與第二LNS互為備份關(guān)系。
可以通過以下方式獲取LNS地址列表:
一種實(shí)現(xiàn)方式是:第一LNS靜態(tài)配置獲取LNS地址列表。
另一種實(shí)現(xiàn)方式是:第一LNS從二層隧道協(xié)議訪問集中器(L2TP Access Concentrator,簡稱LAC)獲取LNS地址列表,具體的,第一LNS與二層隧道協(xié)議訪問集中器LAC建立隧道過程中,通過AVP消息中的屬性值攜帶LNS的地址信息,根據(jù)攜帶的LNS的地址信息建立LNS地址列表,也可以通過第一LNS與二層隧道協(xié)議訪問集中器LAC建立隧道后,通過AVP消息中的屬性值攜帶的LNS的地址信息,根據(jù)攜帶的LNS的地址信息建立LNS地址列表,也可以采用其他方式,對此本申請不做具體限制。
根據(jù)LNS地址列表確定第一LNS與第二LNS互為備份關(guān)系,LNS地址列表中的LNS地址信息是按照順序進(jìn)行排列的,默認(rèn)LNS列表中的第一個(gè)LNS為主LNS,并且LNS列表中的第一LNS與第二LNS互為備份關(guān)系,因而第二LNS處理第一LNS發(fā)送的報(bào)文,而對其他LNS發(fā)送的報(bào)文不進(jìn)行處理。
由于第一LNS和第二LNS互為備份關(guān)系,因而第一LNS和第二LNS可以共享地址池,第一LNS和第二LNS可以同時(shí)為用戶分配地址信息,也可以第一LNS進(jìn)行地址分配,或者第二LNS進(jìn)行地址分配,通常情況下默認(rèn)第一LNS進(jìn)行地址分配,當(dāng)兩個(gè)設(shè)備同時(shí)為不同用戶分配IP地址時(shí),第一LNS和第二LNS同一時(shí)間可能會(huì)分配同一IP地址的情況,為了防止這種情況出現(xiàn),因而當(dāng)為用戶分配IP地址時(shí),確定第一地址的第一地址狀態(tài),并且該第一地址未在第二LNS上使用。
步驟302:確定所述第一地址的第一地址狀態(tài)。
可以通過以下方式確定第一地址的第一地址狀態(tài):
第一LNS向第二LNS發(fā)送第一報(bào)文,其中,所述第一報(bào)文攜帶第一地址。
第一報(bào)文可以參考計(jì)費(fèi)報(bào)文的格式進(jìn)行發(fā)送,即第一報(bào)文中攜帶源地址信息、目的地址信息和第一地址等等。
獲得第二LNS發(fā)送的第一反饋報(bào)文,所述第一反饋報(bào)文中攜帶第一地址的第一地址狀態(tài)。
第一LNS向第二LNS發(fā)送第一報(bào)文,其中,第一報(bào)文攜帶第一地址,使第二LNS根據(jù)第一地址查找第二LNS地址池,確定第一地址在第二LNS地址池的第一地址狀態(tài),將確定的第一地址狀態(tài)攜帶在第一反饋報(bào)文中發(fā)送至第一LNS。
第一LNS根據(jù)第一反饋報(bào)文獲得第一地址的第一地址狀態(tài)。
若第一地址狀態(tài)為未分配狀態(tài),則將第一地址分配給用戶,若第一地址狀態(tài)為已分配狀態(tài),則重新選擇下一個(gè)地址,重新執(zhí)行步驟302。
本申請實(shí)施方式,首先,第一LNS在分配地址之前,選擇第一地址,確定第一地址的第一地址狀態(tài),若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶,無須對地址池進(jìn)行劃分,減輕了對地址池規(guī)劃的復(fù)雜度,同時(shí)也無須預(yù)留分配地址,進(jìn)而解決了用戶分配地址浪費(fèi)的問題。
其次,由于第一LNS和第二LNS互為備份關(guān)系,從而實(shí)現(xiàn)了第一LNS和第二LNS共享地址池,而無須為每個(gè)LNS需要根據(jù)用戶需要?jiǎng)澐植煌牡刂烦兀鉀Q了用戶分配地址浪費(fèi)的問題。
參照圖4,示出了本申請其中另一個(gè)實(shí)施方式的一種用戶地址分配方法的步驟流程圖。所述方法應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該用戶地址分配方法具體包括:
步驟401:獲取LNS地址列表,根據(jù)所述LNS地址列表確定第一LNS與第二LNS互為備份關(guān)系。
步驟402:確定所述第一地址的第一地址狀態(tài)。
步驟403:若所述第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶。
步驟404:回收第一地址。
第一LNS回收第一地址時(shí),如當(dāng)用戶下線或者第一LNS與第二LNS之間鏈路故障時(shí),第一LNS向第二LNS發(fā)送第一通知報(bào)文,以通知第二LNS已回收第一地址。
通過以下方式回收第一地址,所述第一LNS按照地址信息租約老化時(shí)間或者定時(shí)器老化時(shí)間,回收第一地址,該第一地址被回收后,可以重新作為第一LNS地址池中的未分配的地址信息,繼續(xù)參與地址分配。
需要說明的是,租約老化時(shí)間和定時(shí)器老化時(shí)間本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況進(jìn)行設(shè)置,例如:2分鐘、3分鐘,甚至10分鐘等等,對此本申請不做具體限制。
本申請實(shí)施方式,通過第一LNS向第二LNS發(fā)送第一通知報(bào)文,以通知第二LNS已回收第一地址,從而提高了共享地址池中的地址信息的使用率。
參照圖5,示出了本申請其中另一個(gè)實(shí)施方式的一種用戶地址分配方法的步驟流程圖。所述方法應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該用戶地址分配方法具體包括:
步驟501:獲取LNS地址列表,根據(jù)所述LNS地址列表確定第一LNS與第二LNS互為備份關(guān)系。
步驟502:根據(jù)第二LNS選擇出的第二地址,確定所述第二地址的第二地址狀態(tài)。
所述第一LNS接收第二LNS發(fā)送的第二報(bào)文,其中,所述第二報(bào)文攜帶第二LNS為分配地址選擇出的第二地址。
通過以下方式確定所述第二地址的第二地址狀態(tài):
第一LNS接收第二LNS發(fā)送的第二報(bào)文,其中,第二報(bào)文攜帶第二LNS為分配地址選擇出的第二地址,第一LNS根據(jù)第二地址查找第一LNS地址池,確定第二地址在第一LNS地址池中的第二地址狀態(tài),向第二LNS發(fā)送第二反饋報(bào)文,將確定的第二地址狀態(tài)攜帶在第二反饋報(bào)文中發(fā)送至第二LNS。
作為一種實(shí)現(xiàn)方式,所述向第二LNS發(fā)送第二反饋報(bào)文,包括:
第一LNS確定第二地址的第二地址狀態(tài);
若第二地址為分配狀態(tài),則將分配狀態(tài)攜帶在第二反饋報(bào)文中發(fā)送至第二LNS。
若第二地址狀態(tài)為分配狀態(tài),說明第二地址已經(jīng)被占用,此時(shí)向第二LNS發(fā)送第二反饋報(bào)文,告知第二LNS第二地址不能使用,繼續(xù)重新選擇地址信息。
若第二地址為未分配狀態(tài),則鎖定第二地址,將未分配狀態(tài)攜帶在第二反饋報(bào)文中發(fā)送至第二LNS。
第一LNS向第二LNS發(fā)送第二反饋報(bào)文,以告知第二LNS的第二地址可以使用,說明第一LNS沒有使用該地址信息,并鎖定第二地址。
第一LNS鎖定第二地址,同時(shí)第二LNS也需要鎖定第二地址,這樣當(dāng)?shù)谝籐NS故障時(shí),第二LNS進(jìn)行地址分配時(shí),不會(huì)造成地址沖突的問題。
第一LNS鎖定第二地址,此時(shí)第二地址無法再參與地址的分配;第一LNS解除鎖定或者當(dāng)LAC與LNS之間的隧道拆除時(shí),可以解除對第二地址的鎖定。
作為其中的一種實(shí)施方式,當(dāng)客戶端與LNS之間存在兩個(gè)或兩個(gè)以上LAC時(shí),所述第二LNS可作為所述兩個(gè)或兩個(gè)以上LAC的主LNS。
為了防止第二LNS作為主LNS時(shí),單獨(dú)與LAC建立隧道并分配地址產(chǎn)生地址沖突的問題,可以首先判斷第二LNS是否有LNS地址列表,若有,則第二LNS可以從較大的可用地址開始分配地址,例如:地址池范圍為10.0.0.1~10.0.0.100,則第二LNS可以從10.0.0.100開始獲取分配地址,能夠盡量避免地址分配產(chǎn)生沖突。當(dāng)然第二LNS也可以從較小的可用地址開始獲取分配地址。獲取分配地址的方法,只要能達(dá)到盡量避免地址分配產(chǎn)生沖突即可,對此本申請不對具體分配地址的方法進(jìn)行限制。
本申請實(shí)施方式,首先,第一LNS在分配地址之前,選擇第一地址,確定第一地址的第一地址狀態(tài),若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶,無須對地址池進(jìn)行劃分,減輕了對地址池規(guī)劃的復(fù)雜度,同時(shí)也無須預(yù)留分配地址,進(jìn)而解決了用戶分配地址浪費(fèi)的問題。
參照圖6,示出了本申請其中另一個(gè)實(shí)施方式的一種用戶地址分配方法的步驟流程圖。所述方法應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該用戶地址分配方法具體包括:
步驟601:獲取LNS地址列表,根據(jù)所述LNS地址列表確定第一LNS與第二LNS互為備份關(guān)系。
步驟602:根據(jù)第二LNS選擇出的第二地址,確定所述第二地址的第二地址狀態(tài)。
步驟603:回收第二地址。
第一LNS回收第二地址時(shí),如當(dāng)用戶下線或者第二LNS與用戶之間鏈路故障時(shí),所述第一LNS接收第二LNS發(fā)送的第二通知報(bào)文,所述第二通知報(bào)文用于通知所述第一LNS,第二LNS已回收第二地址。
通過以下方式回收第二地址,所述第一LNS按照地址信息租約老化時(shí)間或者定時(shí)器老化時(shí)間,回收第二地址,該第二地址被回收后,可以重新作為第一LNS地址池中的未分配的地址信息,繼續(xù)參與地址分配。
需要說明的是,租約老化時(shí)間和定時(shí)器老化時(shí)間本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況進(jìn)行設(shè)置,例如:2分鐘、3分鐘,甚至10分鐘等等,對此本申請不做具體限制。
步驟604:第一LNS解除所述第二地址的鎖定狀態(tài)。
所述第一LNS按照地址信息租約老化時(shí)間或者定時(shí)器老化時(shí)間,回收第二地址,同時(shí)解除第二地址的鎖定狀態(tài),該第二地址被回收后,可以重新作為第一LNS地址池中的未分配的地址信息,繼續(xù)參與地址分配。
本實(shí)施方式,首先,通過第一LNS向第二LNS發(fā)送第二通知報(bào)文,以通知第二LNS已回收第一地址,從而提高了共享地址池中的地址信息的使用率。
其次,第一LNS鎖定第二地址,此時(shí)第二地址無法再參與地址的分配,從而實(shí)現(xiàn)了第一LNS和第二LNS共享地址池,不會(huì)造成分配地址的沖突,同時(shí)也無須為每個(gè)LNS需要根據(jù)用戶需要?jiǎng)澐植煌牡刂烦?,解決了用戶分配地址浪費(fèi)的問題。
為了本領(lǐng)域技術(shù)人員更好的理解本申請限定的技術(shù)方案,參見圖7示出了實(shí)現(xiàn)本申請一種用戶地址分配方法的結(jié)構(gòu)框圖的應(yīng)用實(shí)例。
本實(shí)施例包括:客戶端、中間二層網(wǎng)絡(luò)設(shè)備、LAC1、LAC2、第一LNS(簡稱LNS1)1和第二LNS(簡稱LNS2)。
具體過程如下:
1、LAC1獲取LNS地址列表,當(dāng)客戶端進(jìn)行撥號時(shí),LAC1與LNS1建立隧道時(shí),將LNS列表發(fā)送至LNS1。
2、LNS1根據(jù)LNS地址列表確定LNS1和LNS2互為備份關(guān)系,將LNS地址列表發(fā)送至除本機(jī)地址外的LNS2,,即LNS2為LNS1的備選LNS,也即LNS2只對LNS1發(fā)送的用戶地址信息進(jìn)行處理。
3、在待分配地址信息之前,LNS1將選擇出的第一地址信息發(fā)送至LNS2,LNS2根據(jù)第一地址信息查找LNS2的地址池確定第一地址的第一地址狀態(tài),若查找到第一地址,則判斷第一地址的第一地址狀態(tài),若第一地址狀態(tài)為已分配,則直接發(fā)送第一反饋報(bào)文給LNS1,告知第一地址不能被使用,繼續(xù)選擇下一個(gè)地址,再進(jìn)行上述步驟的判斷。
若第一地址未被分配,則在LNS2上將該第一地址的第一地址狀態(tài)鎖定,并向LNS1發(fā)送第一反饋報(bào)文,告知LNS1該第一地址可以使用。
4、當(dāng)LNS1回收第一地址時(shí),如LAC1與LNS1中間鏈路斷開或者隧道拆除,可以發(fā)送第一通知報(bào)文,以通知LNS2已回收第一地址,并且第一地址被回收后,可以重新作為未分配的地址信息,繼續(xù)參與地址分配。
5、當(dāng)客戶端觸發(fā)LAC1和LNS2建立隧道時(shí),此時(shí)LNS2地址池中的地址信息可以作為未分配的地址信息,進(jìn)行正常的地址分配。
需要說明的是,對于前述的方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本申請所必需的。
基于上述方法實(shí)施方式的說明,本申請還提供了相應(yīng)的一種用戶地址分配裝置的實(shí)施方式,來實(shí)現(xiàn)上述方法實(shí)施方式所述的內(nèi)容。
參照圖8,示出了本申請其中一個(gè)實(shí)施方式中一種用戶地址分配裝置的結(jié)構(gòu)框圖。所述裝置應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該裝置具體包括:
確定模塊801,用于分配地址信息之前,選擇出第一地址,確定所述第一地址的第一地址狀態(tài)。
分配模塊802,用于若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶。
本申請實(shí)施方式,在第一LNS在分配地址之前,選擇第一地址,確定第一地址的第一地址狀態(tài),若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶,無須對地址池進(jìn)行劃分,減輕了對地址池規(guī)劃的復(fù)雜度,同時(shí)也無須預(yù)留分配地址,進(jìn)而解決了用戶分配地址浪費(fèi)的問題。
參照圖9,示出了本申請其中另一個(gè)實(shí)施方式中一種用戶地址分配裝置的結(jié)構(gòu)框圖。所述裝置應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該裝置具體包括:
獲取模塊901,用于獲取LNS地址列表;根據(jù)所述LNS地址列表確定第一LNS與第二LNS互為備份關(guān)系。
第一發(fā)送模塊902,用于第一LNS向第二LNS發(fā)送第一報(bào)文,其中,所述第一報(bào)文攜帶第一地址。
第一接收模塊903,用于獲取第二LNS發(fā)送的第一反饋報(bào)文,所述第一反饋報(bào)文中攜帶第一地址的第一地址狀態(tài);從第一反饋報(bào)文中獲得第一地址的第一地址狀態(tài)。
確定模塊904,用于根據(jù)第一反饋報(bào)文獲取第一地址的第一地址狀態(tài)。
本申請實(shí)施方式,首先,第一LNS在分配地址之前,選擇第一地址,確定第一地址的第一地址狀態(tài),若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶,無須對地址池進(jìn)行劃分,減輕了對地址池規(guī)劃的復(fù)雜度,同時(shí)也無須預(yù)留分配地址,進(jìn)而解決了用戶分配地址浪費(fèi)的問題。
其次,由于第一LNS和第二LNS互為備份關(guān)系,從而實(shí)現(xiàn)了第一LNS和第二LNS共享地址池,而無須為每個(gè)LNS需要根據(jù)用戶需要?jiǎng)澐植煌牡刂烦?,解決了用戶分配地址浪費(fèi)的問題。
參照圖10,示出了本申請其中另一個(gè)實(shí)施方式中一種用戶地址分配裝置的結(jié)構(gòu)框圖。所述裝置應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該裝置具體包括:
獲取模塊1001,用于獲取LNS地址列表;根據(jù)所述LNS地址列表確定第一LNS與第二LNS互為備份關(guān)系。
第一發(fā)送模塊1002,用于第一LNS向第二LNS發(fā)送第一報(bào)文,其中,所述第一報(bào)文攜帶第一地址。
第一接收模塊1003,用于獲取第二LNS發(fā)送的第一反饋報(bào)文,所述第一反饋報(bào)文中攜帶第一地址的第一地址狀態(tài);從第一反饋報(bào)文中獲得第一地址的第一地址狀態(tài)。
確定模塊1004,用于根據(jù)第一反饋報(bào)文獲取第一地址的第一地址狀態(tài)。
回收模塊1005,用于回收第一地址。
第二發(fā)送模塊1006,用于在所述回收模塊回收第一地址時(shí),向第二LNS發(fā)送第一通知報(bào)文,以通知第二LNS已回收第一地址。
參照圖11,示出了本申請其中一個(gè)實(shí)施方式的一種用戶地址分配裝置的結(jié)構(gòu)框圖。所述裝置應(yīng)用于第一網(wǎng)絡(luò)服務(wù)器LNS,在本實(shí)施方式中,該裝置具體包括:
獲取模塊1101,用于獲取LNS地址列表;根據(jù)所述LNS地址列表確定第一LNS與第二LNS互為備份關(guān)系。
第二接收模塊1102,用于接收第二LNS發(fā)送的第二報(bào)文,其中,所述第二報(bào)文攜帶第二LNS為分配地址選擇出的第二地址。
作為其中一種實(shí)施方式,所述第二接收模塊,還用于接收第二LNS發(fā)送的第二通知報(bào)文,所述第二通知報(bào)文用于通知所述第一LNS已回收第二地址。
第三發(fā)送模塊1103,用于向第二LNS發(fā)送第二反饋報(bào)文,其中,所述第二反饋報(bào)文中攜帶第二地址的第二地址狀態(tài)。
確定模塊1104,確定所述第二地址的第二地址狀態(tài)。
若確定模塊的確定結(jié)果為第二地址為分配狀態(tài),則所述第三發(fā)送模塊將分配狀態(tài)攜帶在第二反饋報(bào)文中發(fā)送至第二LNS。
若確定模塊的確定結(jié)果為第二地址為未分配狀態(tài),則鎖定模塊1105鎖定第二地址,所述第三發(fā)送模塊將未分配狀態(tài)攜帶在第二反饋報(bào)文中發(fā)送至第二LNS。
所述鎖定模塊,用于根據(jù)第二接收模塊接收到的第二通知報(bào)文,解除所述第二地址的鎖定狀態(tài)本申請實(shí)施方式,首先,第一LNS在分配地址之前,選擇第一地址,確定第一地址的第一地址狀態(tài),若第一地址狀態(tài)為未分配狀態(tài),則將所述第一地址分配給用戶,無須對地址池進(jìn)行劃分,減輕了對地址池規(guī)劃的復(fù)雜度,同時(shí)也無須預(yù)留分配地址,進(jìn)而解決了用戶分配地址浪費(fèi)的問題。
其次,第一LNS鎖定第二地址,此時(shí)第二地址無法再參與地址的分配,只有第一LNS解除鎖定或者當(dāng)LAC與LNS之間的隧道拆除時(shí),才可以解除對第二地址的鎖定,從而實(shí)現(xiàn)了第一LNS和第二LNS共享地址池,不會(huì)造成分配地址的沖突,同時(shí)也無須為每個(gè)LNS需要根據(jù)用戶需要?jiǎng)澐植煌牡刂烦?,解決了用戶分配地址浪費(fèi)的問題。
對于上述裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處所示方法實(shí)施例的部分說明即可。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
本領(lǐng)域技術(shù)人員易于想到的是:上述各個(gè)實(shí)施例的任意組合應(yīng)用都是可行的,故上述各個(gè)實(shí)施例之間的任意組合都是本申請的實(shí)施方案,但是由于篇幅限制,本說明書在此就不一一詳述了。
本申請實(shí)施例可以實(shí)施在任何支持圖形處理、互聯(lián)網(wǎng)內(nèi)容擷取和渲染的裝置(或多個(gè)裝置)上。這些裝置包括但不限于個(gè)人計(jì)算機(jī)、集群服務(wù)器、移動(dòng)電話、工作站、嵌入式系統(tǒng)、游戲機(jī)、電視、機(jī)頂盒,或任何其它支持計(jì)算機(jī)圖形和內(nèi)容顯示的計(jì)算裝置。這些裝置可以包括但不限于擁有執(zhí)行和儲(chǔ)存指令的一個(gè)或多個(gè)處理器和存儲(chǔ)器的裝置。這些裝置可以包括軟件、固件和硬件。軟件可以包括一個(gè)或多個(gè)應(yīng)用程序和操作系統(tǒng)。硬件可以包括但不限于處理器、存儲(chǔ)器及顯示器。
本申請可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
本申請可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
在本申請中,“組件”、“裝置”、“系統(tǒng)”等等指應(yīng)用于計(jì)算機(jī)的相關(guān)實(shí)體,如硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件等。詳細(xì)地說,例如,組件可以、但不限于是運(yùn)行于處理器的過程、處理器、對象、可執(zhí)行組件、執(zhí)行線程、程序和/或計(jì)算機(jī)。還有,運(yùn)行于服務(wù)器上的應(yīng)用程序或腳本程序、服務(wù)器都可以是組件。一個(gè)或多個(gè)組件可在執(zhí)行的過程和/或線程中,并且組件可以在一臺計(jì)算機(jī)上本地化和/或分布在兩臺或多臺計(jì)算機(jī)之間,并可以由各種計(jì)算機(jī)可讀介質(zhì)運(yùn)行。組件還可以根據(jù)具有一個(gè)或多個(gè)數(shù)據(jù)包的信號,例如,來自一個(gè)與本地系統(tǒng)、分布式系統(tǒng)中另一組件交互的,和/或在因特網(wǎng)的網(wǎng)絡(luò)通過信號與其它系統(tǒng)交互的數(shù)據(jù)的信號通過本地和/或遠(yuǎn)程過程來進(jìn)行通信。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”,不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
而且,上文中的“和/或”表示本文既包含了“和”的關(guān)系,也包含了“或”的關(guān)系,其中:如果方案A與方案B是“和”的關(guān)系,則表示某實(shí)施例中可以同時(shí)包括方案A和方案B;如果方案A與方案B是“或”的關(guān)系,則表示某實(shí)施例中可以單獨(dú)包括方案A,或者單獨(dú)包括方案B。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請范圍的所有變更和修改。
以上對本申請所提供的一種用戶地址分配方法和裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。