專利名稱:一種ip地址配置的管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無(wú)線網(wǎng)絡(luò)系統(tǒng)的地址配置技術(shù),特別涉及了一種無(wú)線數(shù)據(jù)通信移動(dòng)網(wǎng)關(guān)節(jié)點(diǎn)中IP地址配置的管理方法。
背景技術(shù):
在無(wú)線數(shù)據(jù)通信系統(tǒng)中,移動(dòng)用戶終端都有一個(gè)或多個(gè)IP地址,這些IP地址可能是靜態(tài)地址、接入用戶遠(yuǎn)程鑒權(quán)服務(wù)(RADIUS,RemoteAuthentication Dial-In User Service)地址或動(dòng)態(tài)地址。靜態(tài)地址是指運(yùn)營(yíng)商為每個(gè)用戶分配的固定IP地址,屬于一次性分配的地址;RADIUS地址指由鑒權(quán)授權(quán)計(jì)費(fèi)(AAA,Authentication,Authorization and Accounting)服務(wù)器為用戶分配的IP地址;動(dòng)態(tài)地址是指在用戶激活時(shí),由網(wǎng)關(guān)(GPRS)支持節(jié)點(diǎn)(GGSN)分配給用戶的IP地址。
在寬帶碼分多址(WCDMA)系統(tǒng)中,IP地址資源由GGSN負(fù)責(zé)分配和管理,IP地址是整個(gè)系統(tǒng)最重要的資源之一。當(dāng)GGSN配置IP地址時(shí),由于靜態(tài)地址和RADIUS地址只有查找地址是否配置的過(guò)程,因此將靜態(tài)地址和RADIUS地址都配置為靜態(tài)地址類型。
參見圖1所示,GGSN地址管理機(jī)制是這樣的一個(gè)接入點(diǎn)名稱(APN,Access Point Name)下最多可以配置N個(gè)地址池,且N為自然數(shù),一個(gè)地址池下最多可以配置M個(gè)地址段,且M為自然數(shù);每一個(gè)地址段與一段連續(xù)的IP地址段相綁定。一個(gè)地址段下最多可以有L個(gè)IP地址,且L為自然數(shù);以位(bit)的方式來(lái)表示每一個(gè)IP地址具體占用情況,每一位可以表示一個(gè)IP地址使用情況。比如,用0表示空閑,用1表示占用。為了更好的操作內(nèi)存中的每個(gè)位,地址段將再分成地址片,一個(gè)地址段總是由若干個(gè)32位的整片以及一個(gè)或零個(gè)碎片組成。一般來(lái)說(shuō),一整片為32位,因此最后一片可能為不足32位的碎片。
當(dāng)配置IP地址資源時(shí),需要對(duì)地址資源進(jìn)行統(tǒng)計(jì)“在線用戶總數(shù)”統(tǒng)計(jì)當(dāng)前系統(tǒng)用戶的總數(shù),只要用戶沒(méi)有下網(wǎng),就會(huì)統(tǒng)計(jì)在內(nèi);“IP地址占用總數(shù)”統(tǒng)計(jì)當(dāng)前IP地址被占用的個(gè)數(shù),只有設(shè)置了“占用”標(biāo)記的地址才在統(tǒng)計(jì)的范圍之內(nèi)。
當(dāng)WCDMA系統(tǒng)中的地址配置時(shí),需要通過(guò)增加、刪除、修改地址段操作完成,在進(jìn)行這些操作時(shí),需要根據(jù)操作信息直接修改對(duì)應(yīng)的地址信息表項(xiàng)。在進(jìn)行地址段刪除操作時(shí),不處理已使用該地址段地址的用戶,即沒(méi)有去活已使用該地址段地址的用戶,直接清除該地址段的IP占用標(biāo)記;在進(jìn)行地址段修改操作時(shí),根據(jù)修改前后起始IP是否相同做出不同的處理起始IP相同,則保留表項(xiàng)中修改前后地址重疊部分的IP占用標(biāo)記;起始IP不相同,則全部清除表項(xiàng)中所有的IP占用標(biāo)記;在進(jìn)行地址段增加操作時(shí),直接置位該地址段的IP占用標(biāo)記。
現(xiàn)有技術(shù)中刪除、修改和增加地址段的方法有以下缺點(diǎn)缺點(diǎn)一,在進(jìn)行地址段刪除操作時(shí),沒(méi)有去活已使用該地址段地址的用戶,會(huì)存在同一IP被多個(gè)用戶使用的風(fēng)險(xiǎn)。以下舉例說(shuō)明假設(shè)起始地址10.10.1.1,長(zhǎng)度為10,已分配10.10.1.2給用戶A,當(dāng)該地址段刪除后,該地址段上的用戶A并沒(méi)有去活,如果重新配置該地址段,GGSN將該地址段中IP重新分配10.10.1.2給新的用戶B,這樣,前后兩個(gè)用戶同一個(gè)IP地址,下行數(shù)據(jù)路由就會(huì)出錯(cuò);缺點(diǎn)二由于在刪除或修改地址段時(shí),沒(méi)有去活已使用該地址段地址的用戶,“在線用戶總數(shù)”中還包含這些用戶,但刪除地址段的時(shí)候,該地址段的“占用”標(biāo)記已被清除,“IP地址占用總數(shù)”中沒(méi)有包含這些用戶,因此造成在線用戶總數(shù)和使用IP數(shù)兩個(gè)統(tǒng)計(jì)數(shù)據(jù)不一致。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種無(wú)線數(shù)據(jù)通信移動(dòng)網(wǎng)關(guān)節(jié)點(diǎn)中IP地址配置的管理方法,該方法用以防止同一IP地址被分配給不同用戶,從而保持系統(tǒng)資源統(tǒng)計(jì)數(shù)據(jù)和實(shí)際情況一致。
根據(jù)上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種IP地址配置的管理方法,該方法包括A、設(shè)置包含一個(gè)以上鏈節(jié)點(diǎn)的地址段操作鏈,每個(gè)鏈節(jié)點(diǎn)至少包含地址段IP地址配置信息;B、判斷地址配置的操作類型,如果為刪除地址段操作,根據(jù)地址段配置信息分配新的操作節(jié)點(diǎn)插入操作鏈,初始化鏈節(jié)點(diǎn)內(nèi)容;如果為增加地址段,根據(jù)地址段配置信息查找相應(yīng)的地址段鏈節(jié)點(diǎn),填充該鏈節(jié)點(diǎn)的新的地址段IP地址信息。
所述的地址段IP地址配置信息包括地址段IP地址的接入點(diǎn)名稱索引、地址池號(hào)、地址段號(hào)和該地址段使用的IP地址數(shù)目、重建IP地址的位置、新老地址段的IP地址段信息。
該方法步驟B進(jìn)一步包括如果地址配置操作的類型為修改地址段時(shí),則分解為先刪除地址段,再增加地址段的操作。
步驟B所述找到相應(yīng)的地址段鏈節(jié)點(diǎn)進(jìn)一步包括根據(jù)地址段所屬APN的索引、地址池號(hào)、地址段號(hào)從地址段操作鏈的鏈尾查找匹配的地址段鏈節(jié)點(diǎn)。
該方法進(jìn)一步包括C、判斷待設(shè)置地址段IP地址信息的占用情況,如果要設(shè)置的地址段沒(méi)有被占用,則配置該地址段的信息并且將該占用標(biāo)志位置位,否則,去活該要?jiǎng)h除或修改該地址段的段節(jié)點(diǎn)的上下文。
所述初始化該鏈節(jié)點(diǎn)的地址段配置信息進(jìn)一步包括將所刪除的地址段IP地址的信息記錄在鏈節(jié)點(diǎn)IP地址老信息中,將鏈節(jié)點(diǎn)IP地址新信息置位為無(wú)效值。
所述填充該鏈節(jié)點(diǎn)的地址段IP地址信息進(jìn)一步包括將要增加的地址段信息填充到IP地址的新信息中。
本發(fā)明設(shè)置地址段操作鏈記錄修改和刪除信息,即記錄地址配置操作前后的地址段IP地址配置信息,在進(jìn)行修改、刪除和增加地址段IP地址時(shí),更新地址段操作鏈中所記錄的信息,該方法利用修改地址段操作鏈中的信息去活以前使用該地址段IP地址的用戶,修改“在線用戶總數(shù)”中的統(tǒng)計(jì),不僅解決了同一IP地址被分配給不同用戶的問(wèn)題,而且保持系統(tǒng)資源統(tǒng)計(jì)數(shù)據(jù)和實(shí)際情況一致。
圖1為GGSN地址管理機(jī)制的結(jié)構(gòu)。
圖2為本發(fā)明的地址段操作鏈的結(jié)構(gòu)圖。
圖3為本發(fā)明的地址段操作處理流程圖。
圖4為本發(fā)明的更新地址段操作鏈的流程圖。
圖5為本發(fā)明的處理地址段操作鏈的流程圖。
圖6為處理地址段的IP地址流程圖 。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下舉實(shí)施例并且參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
GGSN的地址配置是通過(guò)配置命令進(jìn)行增加、修改、刪除操作實(shí)現(xiàn)的。在修改、刪除和增加地址段時(shí),APN名、地址池號(hào)、地址段號(hào)都是必選參數(shù)。如果一個(gè)地址段的IP地址已經(jīng)被分配給某個(gè)IP用戶,當(dāng)增加地址段操作時(shí)就不能用該用戶地址段的IP地址參數(shù)再次執(zhí)行增加該地址段的IP地址,只能對(duì)該地址段的IP地址信息進(jìn)行修改、刪除操作;如果一個(gè)地址段沒(méi)有配置,就不能對(duì)該地址段的IP地址信息進(jìn)行刪除、修改操作,只能進(jìn)行增加操作,本發(fā)明是基于上述條件設(shè)計(jì)的。
本發(fā)明首先建立了一個(gè)地址段操作鏈表,如圖2所示,圖2為本發(fā)明的地址段操作鏈的結(jié)構(gòu)圖,其具體描述為
地址段操作鏈中有N個(gè)鏈節(jié)點(diǎn),每個(gè)鏈節(jié)點(diǎn)表示執(zhí)行一次地址配置操作的信息,每個(gè)鏈節(jié)點(diǎn)包含了該配置操作執(zhí)行前后的地址段IP地址配置信息,每個(gè)鏈節(jié)點(diǎn)的結(jié)構(gòu)為下一個(gè)節(jié)點(diǎn)(pstNextOperNode)、前一個(gè)節(jié)點(diǎn)(pstPreOperNode)、APN索引(usApnIndex)、地址池號(hào)(ulPoolNo)、地址段號(hào)(ulSegNo)、該地址段已使用的IP地址數(shù)目(ulSegIpUsed)、重建地址的位置(ulRebuildPos)、舊地址信息(stOldAddrSegInfo)和新地址信息(stNewAddrSegInfo)。pstNextOperNode和pstPreOperNode表明該節(jié)點(diǎn)所處的位置;頭節(jié)點(diǎn)的pstNextOperNode和尾節(jié)點(diǎn)的pstPreOperNode置位為空;當(dāng)?shù)刂范蜪P地址類型為靜態(tài)地址時(shí)設(shè)置ulRebuildPos為有效位,當(dāng)?shù)刂范蜪P地址類型為動(dòng)態(tài)地址時(shí)ulRebuildPos為無(wú)效位;stOldAddrSegInfo和stNewAddrSegInfo信息中分別包含了地址段在配置操作前后的地址段類型、該地址段的起始IP地址、該地址段IP地址的個(gè)數(shù)和每個(gè)IP地址的占用情況,其中,每個(gè)IP地址的占用情況用占用標(biāo)志位表示。
當(dāng)進(jìn)行增加地址段的配置操作時(shí),根據(jù)usApnIndex、ulPoolNo、ulSegNo匹配關(guān)系,從鏈尾開始查找匹配的節(jié)點(diǎn),如果找到匹配的節(jié)點(diǎn),則填充stNewAddrSegInfo,如果沒(méi)有匹配到相應(yīng)的節(jié)點(diǎn),則表明只是純粹的增加地址段操作,即該地址段為全新的地址段,直接填充該地址段信息;當(dāng)進(jìn)行刪除地址段的操作時(shí),stOldAddrSegInfo中記錄了所刪除的地址段信息,stNewAddrSegInfo置位為無(wú)效值;當(dāng)修改地址段IP地址時(shí),stOldAddrSegInfo中記錄了修改前的地址段信息,stNewAddrSegInfo中記錄了修改后的地址段信息。
如圖3所示,圖3為本發(fā)明的地址段操作處理流程圖,其具體步驟為步驟300,初始化地址段操作鏈,設(shè)置鏈表的頭尾指針為空。
步驟301,更新地址段操作鏈,即記錄IP地址段修改或刪除信息。當(dāng)IP地址段修改或刪除時(shí),把IP地址配置操作前后的地址段IP地址配置信息記錄下來(lái),其中,地址段IP地址配置信息包括該地址段所屬APN的索引、地址池號(hào)、地址段號(hào)、地址段類型、地址段起始IP地址、地址段長(zhǎng)度、以及該地址段的占用情況等,如果是靜態(tài)地址,還包括重建地址的位置,新舊地址段IP地址信息;步驟302,處理地址段操作鏈,如果原來(lái)地址段IP地址為動(dòng)態(tài)地址類型,在處理地址操作鏈時(shí),如果原來(lái)地址段中具有占用標(biāo)志位的IP地址包含在新配置中,且配置的新地址沒(méi)有被“搶占”,則在新地址段中置該IP地址“占用”標(biāo)志位,如果該地址被“搶占”,即在地址占用標(biāo)志位重建過(guò)程中,被新上來(lái)的用戶搶占,則去活當(dāng)前正重建地址的上下文;如果具有占用標(biāo)志位的IP地址當(dāng)前沒(méi)有配置,則直接去活該地址段的上下文。如果原來(lái)地址段為靜態(tài)地址類型,需要查詢?cè)瓉?lái)的地址配置是否在新地址段中已配置,如果沒(méi)有配置,則去活該地址的上下文,如果進(jìn)行了配置,無(wú)需任何處理。
步驟301具體更新地址段操作鏈的流程如圖4所示,其實(shí)現(xiàn)步驟為步驟400、401、402,開始更新地址段操作鏈,確定輸入地址段的操作類型,判斷是否為刪除地址段操作,如果是,轉(zhuǎn)入步驟407,否則,轉(zhuǎn)入步驟403;步驟403,判斷是否為增加地址段操作,如果是,轉(zhuǎn)入步驟404,否則,轉(zhuǎn)入步驟412;步驟404、405,從鏈尾查找匹配的地址段,為什么從鏈尾開始查找呢?這是因?yàn)椋绻切薷牟僮?,由于刪除地址段操作后緊跟增加地址段操作,鏈尾的節(jié)點(diǎn)即最新分配的節(jié)點(diǎn),此時(shí)鏈尾節(jié)點(diǎn)即為要查找的節(jié)點(diǎn);如果是先執(zhí)行刪除地址段操作,并且此鏈中的前方節(jié)點(diǎn)還沒(méi)有處理完畢,此時(shí)再對(duì)剛刪除的地址段執(zhí)行增加地址段操作,這樣短時(shí)間的刪除地址段+增加地址段操作就變成了修改地址段的操作了,這樣做保證最后執(zhí)行的配置操作為最后的結(jié)果。因此需要從鏈尾開始查找,判斷該地址鏈中是否有匹配的地址段,如果存在,轉(zhuǎn)入步驟406,否則,轉(zhuǎn)入步驟412;步驟406,填充鏈節(jié)點(diǎn)的新地址段內(nèi)容,即鏈節(jié)點(diǎn)的新地址段IP地址信息,轉(zhuǎn)入步驟412;
步驟407、408,分配新的地址操作鏈節(jié)點(diǎn),初始化新鏈節(jié)點(diǎn)中的地址段IP地址信息;步驟409,判斷新分配的地址操作鏈節(jié)點(diǎn)所在的地址操作鏈?zhǔn)欠駷榭?,如果為空,轉(zhuǎn)入步驟411,否則,轉(zhuǎn)入步驟410;步驟410,將新鏈節(jié)點(diǎn)插入鏈尾插入地址操作鏈,轉(zhuǎn)入步驟412;步驟411,將新鏈節(jié)點(diǎn)作為鏈頭插入該地址操作鏈,轉(zhuǎn)入步驟412;步驟412,返回。
只有在增加地址段、刪除地址段才能更新地址段操作鏈,修改地址段已分解為刪除地址段+增加地址段,即先刪除地址段后再增加地址段來(lái)完成修改地址段。
步驟302處理地址段操作鏈的流程如圖5所示,其具體實(shí)現(xiàn)步驟為步驟500、501,開始處理地址段操作鏈,判斷地址段操作鏈?zhǔn)欠駷榭?,如果該地址段操作鏈為空,則轉(zhuǎn)入步驟505,否則,轉(zhuǎn)入步驟502;步驟502,判斷原來(lái)的地址段IP地址類型是否為靜態(tài)地址段IP地址,如果是,轉(zhuǎn)入步驟504,否則,轉(zhuǎn)入步驟503;步驟503,該地址段IP地址按動(dòng)態(tài)地址IP地址處理;步驟504,該地址段IP地址按靜態(tài)地址IP地址處理;步驟505,返回,結(jié)束。
步驟503、504處理動(dòng)態(tài)、靜態(tài)地址段的IP地址流程如圖6所示,其實(shí)現(xiàn)步驟為步驟600,判斷進(jìn)行當(dāng)前配置的地址段IP地址是否為動(dòng)態(tài)地址段,如果是,轉(zhuǎn)入步驟601,否則,轉(zhuǎn)入步驟606;步驟601,判斷配置操作前的地址是否包含在新地址段中,如果該地址包含在新地址段中,轉(zhuǎn)入步驟602,否則,該地址不包含新地址段中,轉(zhuǎn)入步驟603;步驟602,判斷該地址在新地址段中是否被搶占,如果被搶占,轉(zhuǎn)入步驟604,否則,轉(zhuǎn)入步驟605;
步驟603,去活當(dāng)前重建地址對(duì)應(yīng)的上下文;步驟604,去活當(dāng)前重建地址對(duì)應(yīng)的上下文;步驟605,在新地址段中將該地址對(duì)應(yīng)的占用標(biāo)記置位;步驟606,判斷配置操作前的地址是否包含在新地址段中,如果該地址包含在新地址段中,轉(zhuǎn)入步驟608,否則,該地址不包含新地址段中,轉(zhuǎn)入步驟607;步驟607,去活當(dāng)前重建地址對(duì)應(yīng)的上下文。
步驟608,當(dāng)前重建地址重建結(jié)束。
當(dāng)?shù)刂范芜M(jìn)行操作時(shí),無(wú)論該地址段為動(dòng)態(tài)地址還是為靜態(tài)地址,每次處理過(guò)程中處理一定數(shù)量的IP地址,防止大批量用戶去活對(duì)正常業(yè)務(wù)的影響,對(duì)于地址段占用IP等統(tǒng)計(jì)信息的更新,只有等地址操作鏈上該地址段的所有節(jié)點(diǎn)處理完畢后再更新,否則統(tǒng)計(jì)信息出錯(cuò)。
由上述方案可以看出,該方案有效解決了不同用戶被分配相同IP地址的問(wèn)題,解決了WCDMA系統(tǒng)資源使用情況統(tǒng)計(jì)數(shù)據(jù)和WCDMA系統(tǒng)資源實(shí)際情況不一致的問(wèn)題,使連續(xù)的兩個(gè)地址段操作之間沒(méi)有一定的時(shí)間限制,即不需要等待上一次操作處理完畢再進(jìn)行下一次的操作,因此本發(fā)明取得了很好的效果。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種IP地址配置的管理方法,其特征在于,該方法包括A、設(shè)置包含一個(gè)以上鏈節(jié)點(diǎn)的地址段操作鏈,每個(gè)鏈節(jié)點(diǎn)至少包含地址段IP地址配置信息;B、判斷地址配置的操作類型,如果為刪除地址段操作,根據(jù)地址段配置信息分配新的操作節(jié)點(diǎn)插入操作鏈,初始化鏈節(jié)點(diǎn)內(nèi)容;如果為增加地址段,根據(jù)地址段配置信息查找相應(yīng)的地址段鏈節(jié)點(diǎn),填充該鏈節(jié)點(diǎn)的新的地址段IP地址信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述的地址段IP地址配置信息包括地址段IP地址的接入點(diǎn)名稱索引、地址池號(hào)、地址段號(hào)和該地址段使用的IP地址數(shù)目、重建IP地址的位置、新老地址段的IP地址段信息。
3.如權(quán)利要求1所述的方法,其特征在于,該方法步驟B進(jìn)一步包括如果地址配置操作的類型為修改地址段時(shí),則分解為先刪除地址段,再增加地址段的操作。
4.如權(quán)利要求1所述的方法,其特征在于,步驟B所述找到相應(yīng)的地址段鏈節(jié)點(diǎn)進(jìn)一步包括根據(jù)地址段所屬APN的索引、地址池號(hào)、地址段號(hào)從地址段操作鏈的鏈尾查找匹配的地址段鏈節(jié)點(diǎn)。
5.如權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括C、判斷待設(shè)置地址段IP地址信息的占用情況,如果要設(shè)置的地址段沒(méi)有被占用,則配置該地址段的信息并且將該占用標(biāo)志位置位,否則,去活該要?jiǎng)h除或修改該地址段的段節(jié)點(diǎn)的上下文。
6.如權(quán)利要求1所述的方法,其特征在于,所述初始化該鏈節(jié)點(diǎn)的地址段配置信息進(jìn)一步包括將所刪除的地址段IP地址的信息記錄在鏈節(jié)點(diǎn)IP地址老信息中,將鏈節(jié)點(diǎn)IP地址新信息置位為無(wú)效值。
7.如權(quán)利要求1所述的方法,其特征在于,所述填充該鏈節(jié)點(diǎn)的地址段IP地址信息進(jìn)一步包括將要增加的地址段信息填充到IP地址的新信息中。
全文摘要
本發(fā)明公開了一種IP地址配置的管理方法,該方法包括A.設(shè)置包含一個(gè)以上鏈節(jié)點(diǎn)的地址段操作鏈,每個(gè)鏈節(jié)點(diǎn)至少包含地址段IP地址配置信息;B.判斷地址配置的操作類型,如果為刪除地址段操作,根據(jù)地址段配置信息分配新的操作節(jié)點(diǎn)插入操作鏈,初始化鏈節(jié)點(diǎn)內(nèi)容;如果為增加地址段,根據(jù)地址段配置信息查找相應(yīng)的地址段鏈節(jié)點(diǎn),填充該鏈節(jié)點(diǎn)的新的地址段IP地址信息。該方法用以防止同一IP地址被分配給不同用戶的問(wèn)題,從而保持系統(tǒng)資源統(tǒng)計(jì)數(shù)據(jù)和實(shí)際情況一致。
文檔編號(hào)H04L12/66GK1549509SQ0313062
公開日2004年11月24日 申請(qǐng)日期2003年5月6日 優(yōu)先權(quán)日2003年5月6日
發(fā)明者楊文 , 于洪濤, 楊 文 申請(qǐng)人:華為技術(shù)有限公司