專利名稱:基于關鍵字和優先級的層次性IPv6網絡地址分配方法
技術領域:
本發明涉及一種網絡地址分配方法,特別涉及一種基于關鍵字和優先級的層次 性IPv6網絡地址分配方法。
背景技術:
隨著互聯網的迅速發展,IPv4定義的有限地址空間將被耗盡,地址空間的不足 必將影響互聯網的進一步發展。為了解決這一問題,提出了 IPv6網絡協議。不同于 IPv4網絡協議,IPv6網絡協議的地址長度有128位,為用戶提供了巨大的地址空間。 IPv6的地址結構和地址分配采用嚴格的層次結構,以便于進行地址聚合,從而減小 路由器中路由表的規模。IETF (互聯網工程任務組)對IPv6協議和地址類型及其分 配做出了相關規定,在RFC3513, RFC3587和RFC3177有對相關規定的描述。RFC3513規定,在IANA(國際互聯網代理成員管理局)有權分配的地址空間中, 前三個比特是固定的(以二進制001開頭),29比特地址空間分配給各LIR(區互聯 網注冊機構),LIR可將后面的32比特地址空間分配給客戶站點。根據以上原則, Cernet2 (新一代中國教育網)分配到了前綴為2001 :da8: :/32的IPv6網絡地址空 間。RFC3177建議在分配子網地址時,前綴長度一般為48或64位,對于非常巨大 的子網可以考慮為其分配幾個連續的48位地址前綴,即前綴為47、 46……。因此, 如果客戶站點前綴為48比特,其就具有16比特的子網劃分空間,即使客戶站點前 綴為64位,它也可以打破后64位地址段進行子網的規劃和分配。特別的,子網地 址的分配需要最大限度得滿足IPv6地址聚合的原則。因此對于分配了 32位地址前綴的LIR或較大ISP,其IPv6地址空間內需要對 2"16至2'64的子網地址進行規劃和分配,即使在前綴為64位的子網內也存在地址 段規劃和分配的問題。在現階段地址空間充足的前提下,IPv6網絡地址分配方法主 要采用人工的經驗性的方法,這會導致地址空間在動態增長的情況下,對地址空間
的規劃卻停留在初始階段,使得對地址空間的規劃落后于地址空間的實際變化。對IPv6網絡地址的通用分配方法請見參考文獻1:《A Growth-Based Address Allocation Scheme for IPv6》,在該文獻中包括了對IPv6地址空間二分法的介紹。發明內容本發明的目的克服現有的IPv6網絡地址分配方法無法對IPv6地址進行有效分 配的缺陷,從而提出一種可以合理地規范IPv6網絡地址分配并顯著地提高IPv6網 絡的地址聚合度的分配方法。為了實現上述目的,本發明提供了一種基于關鍵字和優先級的層次性IPv6網 絡地址分配方法,包括以下步驟步驟1)、根據用戶的設定初始化地址空間,為地址空間按關鍵字層次分配序號;步驟2)、用Keys表示輸入的關鍵字串,用SpaceCur表示當前地址空間,用deep 表示當前所處關鍵字串位置,用KeyNum表示當前地址空間后關鍵字串的長度,判 斷KeyNum否為l,若為1,執行步驟4),若不為1,執行下一步;步驟3)、基于關鍵字分配地址空間;步驟4)、基于優先級分配地址空間;步驟5)、在地址空間發生沖突時,進行沖突處理。上述技術方案中,所述的步驟l)具體包括以下步驟步驟l-l)、用戶設定地址空間前綴、最小地址單位前綴、最大關鍵字長度、對應關鍵字序號數量四個值;步驟1-2)、根據IPv6地址前綴和最小地址單位前綴給所有子網地址編號; 步驟l-3)、按照關鍵字地址空間數量均勻地分割整個地址空間,并給予相應序號。在所述的步驟1)中,完成地址空間的初始化操作后,還可對關鍵字層次進行 修改,包括從用戶輸入得到指定關鍵字串(為空則等于整個地址空間)和相關修改 屬性;然后判斷已分配地址連續是否經修改后不被割裂,如果是,返回用戶操作失 敗,否則修改相關地址塊信息。上述技術方案中,所述的步驟3)具體包括以下步驟步驟3-1 )、判斷第de印個關鍵字在SpaceCur地址空間內是否已分配對應序號; 若是,則執行下一步;否則執行步驟3-3);步驟3-2)、將de印的值加一,SpaceCur加上第de印關鍵字后,執行步驟3-8);步驟3-3)、判斷SpaceCur地址空間內的序號是否用盡,若已用盡,則執行步 驟3-5);若沒有用盡則執行下一步;步驟3-4)、按關鍵字地址空間選擇原則在選定序號的地址空間開始處分配,地 址分配結束;步驟3-5)、在SpaceCur地址空間內査找能分配最大空間的關鍵字地址空間的 相應序號);步驟3-6)、在選定序號內,判斷最大分配空間是否能符合序號最低空間要求; 若滿足,則執行下一步;若不滿足,則表示地址空間沖突,執行步驟5);步驟3-7)、在選定的地址空間中,査找未使用地址中編號為2的n次方的倍數, n最高者,從其開始分配新地址空間,地址分配結束。步驟3-8)、 SpaceCur的KeyNum為1則執行步驟4);否則執行步驟3-1 )。在所述的步驟3-4)中,所述的關鍵字地址空間選擇原則包括(a) 、在相應關鍵字地址空間中,序號為0最先使用;(b) 、序號為2的n次方的倍數,n越大越先使用;(c) 、 n相同則比較序號較小并己分配地址空間的使用時間,使用時間越短越先使用。上述技術方案中,在所述的步驟4)中,具體包括以下步驟步驟4-l)、在SpaceCur地址空間內,判斷Keys是否存在;若存在,則執行下 一步;否則執行步驟4-4);步驟4-2)、判斷地址空間是否用盡,若已用盡,則執行步驟5);否則執行下一步;步驟4-3)、在Keys對應的己用地址后分配新地址空間,地址分配結束; 步驟4-4)、按照地址空間優先級,在SpaceCur內查找地址空間優先級最低的地 址空間,如果優先級相同,按照用戶設置偏好進行選擇;步驟4-5)、判斷地址空間是否用盡,若己用盡則執行步驟5),否則執行下一步; 步驟4-6)、在選定地址空間中編號為2的n次方的倍數,n最高者處開始分配新地址空間,結束地址分配過程。在所述的步驟4-4)中,所述的地址空間優先級計算公式為 地址空間優先級=Prior + f(MaxGlobal, MaxLocal) + p(NumUsed); 其中,Prior為用戶設定的優先級;MaxGlobal為指定關鍵字空間中最大能分配 到的新地址空間;MaxLocal為特定地址塊內能分配到的新地址空間;NumUsed是 指定地址空間內已分配的地址空間數量;f(MaxGlobal, MaxLocal)是關于MaxGlobal 和MaxLocal的函數,它的值與MaxGlobal成正比,與MaxLocal成反比;p(NumUsed) 是關于NumUsed的函數,它的值與NumUsed成正比。上述技術方案中,在所述的步驟5)中,具體包括以下步驟-歩驟5-l)、判斷在SpaceCur地址空間后是否存在相鄰序號未分配,并且連續 地址空間大小大于或等于SpaceCur現有大小的情況;若存在則執行下一步,否則執行5-4);步驟5-2)、 SpaceCur擴充一倍地址空間;步驟5-3)、在第de印個關鍵字前加上"ex", SpaceCur為全局地址空間,de印 為1,重新執行步驟2);步驟5-4)、告知用戶無法進行地址空間分配,由用戶選擇是否繼續自動分配過 程,若是,則執行下一步,否則結束地址分配過程;步驟5-5)、將關鍵字Keys重新設置為"ex"加上Keys, SpaceCur為全局地 址空間,de印為l,然后重新執行步驟2)。在所述的步驟5-2)中,對所述的SpaceCur擴充一倍地址空間的具體實現步驟包括步驟5-2-1)、從用戶輸入得到指定關鍵字串和序號列表;步驟5-2-2)、判斷合并地址空間是否符合合并要求,如果不符合,則返回用戶 操作失敗,如果符合則執行下一步;步驟5-2-3)、將相關序號標記為已分配,并表示其合并的相關屬性;步驟5-2-4)、合并地址空間對應關鍵字長度為KeyNum-l,則合并結束;否則, 按照最小序號地址空間分割方法對余下空間進行分割并增加序號大小。本發明的優點在于1、本發明的方法與關鍵字對應,根據用戶設定預先分配大地址空間,并規定了 關鍵字地址空間選擇原則,避免在開始階段對先到者分配過大的地址空間并充分利 用先分配序號有更大地址空間增長需求這一實際規律,保證了對應關鍵字序號未用 完情況下未來地址空間的增長并保證序號全部用完的情況下分配到最大可用地址空 間,充分保證了地址空間分配的合理性,提高了IPv6地址聚合。 2、 本發明的方法在存在相符關鍵字的情況下,分配操作在關鍵字對應大地址空 間內完成;可以根據實際需要將分配地址空間時需要考量的匹配因素考慮進來,比 如地理信息、路由信息等等。3、 本發明的方法在關鍵字空間相應序號用盡情況下,從能分配最大地址空間的 已分配地址塊中得到新的地址空間;搶奪能分配最大地址空間的已分配地址塊本質 上是搶奪利用率不高地址空間,從而保證了地址空間分配的合理性,提高了 IPv6 地址聚合。4本發明以現有地址空間的優先級作為分配依據,其考量包括了人為經驗判定 成分,可增長的地址空間和其未來的增長趨勢,可以使對應地址空間根據當前系統 分配狀況擁有相應的動態優先級,確保過多或不當的地址分配情況,從而進一步保 證了地址空間分配的合理性,提高了IPv6地址聚合。
圖1為本發明的基于關鍵字和優先級的層次性IPv6網絡地址分配方法在做序號 初始化操作時的示意圖;圖2為在地址空間初始化后對關鍵字層次做修改后的示意圖;圖3為本發明的基于關鍵字和優先級的層次性IPv6網絡地址分配方法中編號初 始化的示意圖;圖4為關鍵字序號選擇順序的示意圖;圖5為地址空間擴展的示意圖;圖6為一個實施例中利用本發明的基于關鍵字和優先級的層次性IPv6網絡地址 分配方法按關鍵字分配的示意圖;圖7為一個實施例中利用本發明的基于關鍵字和優先級的層次性IPv6網絡地址 分配方法按優先級分配的示意圖;圖8為在一個實施例中實現地址空間合并的示意圖;圖9為本發明方法的流程圖。
具體實施方式
下面結合附圖和具體實施方式
對本發明作進一步的說明。在結合實施例,對本發明的方法進行說明前,首先對本發明中所涉及到的幾個
概念進行說明。
地址編號給予地址空間中最小地址單位的序號(如果地址空間前綴為32,管 理的最小地址前綴為48,那么最小地址單位的編號將依次從0到2A16-1),以下稱
為編號。
關鍵字長度用于表示關鍵字后關鍵字串的長度,以下用KeyNum代替;例如 "北京,海淀,中關村","北京"的關鍵字長度為2,"海淀"的關鍵字長度為1, "中關村"的關鍵字長度為0;特別需要指出,同層關鍵字對應的關鍵字長度可能 不同。
關鍵字對應較大地址空間序號在"指定"的地址空間范圍內,將地址空間均 勻分割后所給予的編號,以下稱為序號;如圖1所示,其中第一個關鍵字對應的序 號為0-3,第二個關鍵字對應的序號為0-7;特別需要指出,不同的關鍵字對應的序
號數量可能不相同。
關鍵字地址空間選擇原則
(1) 、在相應關鍵字地址空間中,序號為O最先使用;
(2) 、序號為2的n次方的倍數,n越大越先使用;
(3) 、 n相同,比較小于并最接近與此序號的已分配的地址空間的使用時間, 該地址空間的使用時間越短,則當前選擇的關鍵字地址空間越先使用。以圖4為例, 對上述三個選擇原則進行說明。在圖4中,可分配的地址空間的序號為0-15,根據 原則(1),在第一次請求地址空間時,選擇序號為O的地址空間;在第二次請求地 址空間時,由于8為2的三次方,根據原則(2),分配序號為8的地址空間;在第 三次請求地址空間時,序號為4和12的地址空間為可能分配的地址空間(都是2 的二次方的倍數),根據原則(3),選用序號為12的地址空間;然后在第四次請求 地址空間時,選用序號為4的地址空間;在第五次請求地址空間時,可選擇序號為 2、 6、 10、 14的地址空間(都為2的一次方的倍數),基于原則(3),選擇序號為6 的地址空間。與上述分配過程相類似,對圖4中的其他地址空間可依照上述的三個 原則進行分配。
地址空間優先級的計算方式
地址空間優先級=Prior + f(MaxGlobal, MaxLocal) + p(NumUsed); 其中,MaxGlobal指所有地址空間中最大能分配到的新地址空間;MaxLocal是 指定地址空間內最大能分配到的新地址空間;NumUsed是指定地址空間內己分配的
地址空間數量;f(MaxGlobal, MaxLocal)是關于MaxGlobal和MaxLocal的函數,它 的值與MaxGlobal成正比,與MaxLocal成反比;p(NumUsed)是關于NumUsed的函 數,它的值與NumUsed成正比。 實施例h
下面在一個具體的實例中,對IPv6網絡地址的分配進行說明。首先做如下假設 地址空間前綴為"2001:da8::/32";
用戶設定得到關鍵字長度2和對應大地址空間數量為32;
地址空間優先級計算公式為-
Prior+3 *Log2(MaxGlobal/MaxLocal)+2*NumUsed 。
如圖9所示,利用本發明的方法對IPv6網絡地址進行分配的具體實現步驟如下 步驟10、用戶設定地址空間前綴、最小地址單位前綴、最大關鍵字長度 (KeyNum)、對應關鍵字序號數量四個值。在本實施例中,假設地址空間前綴為 "2001:da8::/32",最小地址單位前綴為48,最大關鍵字長度為2,第一個關鍵字序 號數量為32。
步驟20、根據步驟10中設定的地址空間前綴和最小地址單位前綴給所有子網 地址編號。由于地址空間前綴為32位,而最小地址單位前綴為48位,因此子網地 址共有"2的十六次方"個(65536),因此在本實施例中,編號從0-65535。
步驟30、在各關鍵字對應的地址空間中,按照其對應序號數量均勻分割地址空 間,并給予相應序號。在本實施例中,整個地址空間可分割為32個大地址空間,因 此它們的序號為從0-31。例如,在圖3中,2001:da8::/37序號為0, 2001:da8:4800::/37 序號為8, 2001:da8:8800::/37序號為16, 2001:da8:f800::/37序號為31 。地址空間分 割完成后,將全局地址空間的關鍵字長度修改為最長關鍵字長度的值加1。
上述的步驟10至步驟30為對地址空間的初始化過程,在初始化結束后,還可 對地址空間的關鍵字層次進行修改。如圖2所示,對關鍵字層次的修改包括從用戶 輸入得到指定關鍵字串(為空則等于整個地址空間)和相關修改屬性;然后判斷已 分配地址連續是否經修改后不被割裂,如果是,返回用戶操作失敗,否則修改相關 地址塊信息。
步驟40、接收分配地址空間的第一次請求,從該請求中得到關鍵字串(Keys) 和優先級(Prior),并設置當前地址空間(SpaceCur)為全局地址空間,設置當前所
處關鍵字串位置(deep)為1。在本實施例中,如圖6所示,第一次請求的關鍵字
串為Keys-"骨干,",該請求的優先級PrioF4。
步驟50、請求的關鍵字長度為2,第deep (deep=l)個關鍵字對應序號未用完, 根據關鍵字地址空間選擇原則(1)在序號為0的地址空間開始處分配地址空間給第 一次請求,結束此次地址空間分配。
步驟60、接收到第二次請求Keys="北京,節點",Prio產4;其中,請求中的 優先級Prio產4由用戶設定。由于關鍵字"北京"不存在,根據關鍵字地址空間選 擇原則(2),在序號為16的地址空間處分配地址地址空間;結束此次地址空間分配。
步驟70、接收到第三次請求Keys="上海,節點",Prio產4;由于關鍵字"上 海"不存在,根據關鍵字地址空間選擇原則,在序號為24的地址空間處分配地址地 址空間;結束此次地址空間分配。
步驟80、接收到第四次請求Keys-"北京,總部",Prior^l2;由于關鍵字"北 京"已經分配了序號為16的大地址空間,并且KeyNum為2,因此在與"北京"關 聯的序號16地址空間中進一步分配地址空間,此時SpaceCur為"北京",deep為1。
步驟90、在SpaceCur ("北京")地址空間內,Keys "北京,總部"不存在;則 在SpaceCur地址空間內査找地址空間優先級最小的地址塊,在查找過程中要利用前 述的優先級計算公式對當前地址空間內的地址塊做優先級計算。如圖7所示,根據 計算結果可知關鍵字為"北京,節點"地址空間優先級為4,最小,選擇該關鍵字 所在的地址空間。
步驟IOO、在"北京,節點"地址內,編號為2的n次方的倍數,n最高者處開 始分配新地址空間;結束第四次地址空間分配。
步驟IIO、接收到第五次請求Keys-"北京,海淀",Prior=4,并要求4個地址 單位;在SpaceCur ("北京")地址空間內Keys"北京,海淀"不存在;則在SpaceCur 地址空間內査找地址空間優先級最小的地址塊,此時為"北京,節點",地址空間優 先級為4;在"北京,節點"地址內,編號為2的n次方的倍數,n最高者處開始分 配新地址空間;結束第五次地址空間分配。
步驟120、接收到第六次請求Keys-"北京,豐臺",Prior=8;在SpaceCur ("北 京")地址空間內Keys"北京,豐臺"不存在;則在SpaceCur地址空間內查找地址 空間優先級最小的地址塊,此時為"北京,節點",地址空間優先級為7;在"北京, 節點"地址內,編號為2的n次方的倍數,n最高者處開始分配新地址空間;結束 此次地址空間分配。
步驟130、接收到第七次請求Keys-"北京,昌平",Prio產4;在SpaceCur("北 京")地址空間內Keys "北京,昌平"不存在;則在SpaceCur ("北京")地址空間 內査找地址空間優先級最小的地址塊,此時為"北京,節點",地址空間優先級為 10;在"北京,節點"地址內,編號為2的n次方的倍數,n最高者處開始分配新 地址空間;結束此次地址空間分配。
步驟140、接收到第八次請求Keys-"北京,海淀",Prior=4,并要求4個地址 單位;在SpaceCur ("北京")地址空間內Keys "北京,海淀"存在;在"北京,海 淀"對應的已用地址后分配新空間;結束此次地址空間分配。
步驟150、接收到第九次請求Keys二"北京,朝陽",Prior=8;在SpaceCur("北 京")地址空間內Keys"北京,朝陽"不存在;則在SpaceCur地址空間內査找地址 空間優先級最小的地址塊,此時為"北京,總部",地址空間優先級為12;在"北 京,總部"地址內,編號為2的n次方的倍數,n最高者處開始分配新地址空間; 結束此次地址空間分配。
步驟160、完成第十次到第九十九次地址空間分配。
步驟170、接收到第一百次請求Keys="北京,海淀",Prior=4,并要求32個 地址單位;此時在序號16的地址空間中,關鍵字"北京,海淀"己經沒過如此大的 剩余地址空間;此時SpaceCur為"北京"。
步驟180、在SpaceCur地址空間后有相鄰序號未分配,并且連續地址空間大小 大于等于其現使用空間;擴充SpaceCur地址空間,如圖5所示,即將序號為16,
17的地址合并。
步驟190、 Keys從"北京,海淀"變為"北京,ex海淀",deep為1。 步驟200、在合并地址空間中,重新分配"北京,ex海淀",此時根據以上原則
和流程,在原序號為17的地址空間二分之一處分配新地址空間。
步驟210、第一百零一次到第一百四十九次地址空間分配和以上過程類似。 步驟220、接收到第一百五十次請求Key^"武漢,節點",Prio產4;關鍵字"武
漢"不存在,根據關鍵字地址空間選擇原則在序號18的地址空間處分配地址地址空
間;結束此次地址空間分配。
步驟230、第一百五十一次到第四百九十九次地址空間分配和以上過程類似。 步驟240、接收到第七百次請求Keys-"北京,新聞",Prio產4;此時在"北京"
空間內,地址空間用盡,并且關鍵字"北京"之后序號為18的地址空間己分配給關
鍵字"武漢",導致擴展地址空間失敗。步驟250、告知用戶無法進行地址空間分配,是否繼續自動分配過程。 步驟260、用戶選擇繼續。步驟270、 Keys從"北京,新聞"變為"ex北京,新聞",SpaceCur為全局 地址空間,deep為l;重新開始地址分配過程。步驟280、在SpaceCur (全局)地址空間內Keys "ex北京"不存在并且關鍵字 "北京"以后的序號已使用,則在SpaceCur (全局)地址空間內查找能分配最大空 間的關鍵字地址空間,此實例為"西北"。步驟290、在關鍵字"西北"對應地址空間中,查找未使用地址中編號為2的 n次方的倍數,n最高者從其開始分配新地址空間,此次地址分配結束。
權利要求
1. 一種基于關鍵字和優先級的層次性IPv6網絡地址分配方法,包括以下步驟步驟1)、根據用戶的設定初始化地址空間,為地址空間按關鍵字層次分配序號;步驟2)、用Keys表示輸入的關鍵字串,用SpaceCur表示當前地址空間,用deep表示當前所處關鍵字串位置,用KeyNum表示當前地址空間后關鍵字串的長度,判斷KeyNum否為1,若為1,執行步驟4),若不為1,執行下一步;步驟3)、基于關鍵字分配地址空間;步驟4)、基于優先級分配地址空間;步驟5)、在地址空間發生沖突時,進行沖突處理。
2、 根據權利要求1所述的基于關鍵字和優先級的層次性IPv6網絡地址分配方 法,其特征在于,所述的步驟l)具體包括以下步驟-步驟l-l)、用戶設定地址空間前綴、最小地址單位前綴、最大關鍵字長度、對應關鍵字序號數量四個值;步驟1-2)、根據IPv6地址前綴和最小地址單位前綴給所有子網地址編號; 步驟l-3)、在各關鍵字對應的地址空間中,按照其對應序號數量均勻分割地址空間,并給予相應序號。
3、 根據權利要求2所述的基于關鍵字和優先級的層次性IPv6網絡地址分配方 法,其特征在于,在所述的步驟1)中,完成地址空間的初始化操作后,還可對關 鍵字層次進行修改,包括從用戶輸入得到指定關鍵字串(為空則等于整個地址空 間)和相關修改屬性;然后判斷巳分配地址連續是否經修改后不被割裂,如果是, 返回用戶操作失敗,否則修改相關地址塊信息。
4、 根據權利要求1所述的基于關鍵字和優先級的層次性IPv6網絡地址分配方 法,其特征在于,所述的步驟3)具體包括以下步驟步驟3-1 )、判斷第de印個關鍵字在SpaceCur地址空間內是否已分配對應序號; 若是,則執行下一步;否則執行步驟3-3);步驟3-2)、將de印的值加一,SpaceCur加上第deep關鍵字后,執行步驟3-8);步驟3-3)、判斷SpaceCur地址空間內的序號是否用盡,若已用盡,則執行步 驟3-5);若沒有用盡則執行下一步;步驟3-4)、按關鍵字地址空間選擇原則在選定序號的地址空間開始處分配,地 址分配結束;步驟3-5)、在SpaceCur地址空間內査找能分配最大空間的關鍵字地址空間的 相應序號);步驟3-6)、在選定序號內,判斷最大分配空間是否能符合序號最低空間要求; 若滿足,則執行下一步;若不滿足,則表示地址空間沖突,執行步驟5);步驟3-7)、在選定的地址空間中,査找未使用地址中編號為2的n次方的倍數, n最高者,從其開始分配新地址空間,地址分配結束。步驟3-8)、 SpaceCur的KeyNum為1則執行步驟4);否則執行步驟3-1 )。
5、 根據權利要求4所述的基于關鍵字和優先級的層次性IPv6網絡地址分配方 法,其特征在于,在所述的步驟3-4)中,所述的關鍵字地址空間選擇原則包括(a) 、在相應關鍵字地址空間中,序號為0最先使用;(b) 、序號為2的n次方的倍數,n越大越先使用;(c) 、 n相同則比較序號較小并己分配地址空間的使用時間,使用時間越短越 先使用。
6、 根據權利要求1所述的基于關鍵字和優先級的層次性IPv6網絡地址分配方 法,其特征在于,在所述的步驟4)中,具體包括以下步驟步驟4-l)、在SpaceCur地址空間內,判斷Keys是否存在;若存在,則執行下 一步;否則執行步驟4-4);步驟4-2)、判斷地址空間是否用盡,若已用盡,則執行步驟5);否則執行下一步;步驟4-3)、在Keys對應的已用地址后分配新地址空間,地址分配結束; 步驟4-4)、按照地址空間優先級,在SpaceCur內査找地址空間優先級最低的地址空間,如果優先級相同,按照用戶設置偏好進行選擇;步驟4-5)、判斷地址空間是否用盡,若已用盡則執行步驟5),否則執行下一步; 步驟4-6)、在選定地址空間中編號為2的n次方的倍數,n最高者處開始分配新地址空間,結束地址分配過程。
7、 根據權利要求6所述的基于關鍵字和優先級的層次性IPv6網絡地址分配方 法,其特征在于,在所述的步驟4-4)中,所述的地址空間優先級計算公式為地址空間優先級=Prior + f(MaxGlobal, MaxLocal) + p(NumUsed);其中,Prior為用戶設定的優先級;MaxGlobal為指定關鍵字空間中最大能分配 到的新地址空間;MaxLocal為特定地址塊內能分配到的新地址空間;NumUsed是 指定地址空間內已分配的地址空間數量;f(MaxGlobal, MaxLocal)是關于MaxGlobal 和MaxLocal的函數,它的值與MaxGlobal成正比,與MaxLocal成反比;p(NumUsed) 是關于NumUsed的函數,它的值與NumUsed成正比。
8、 根據權利要求1所述的基于關鍵字和優先級的層次性IPv6網絡地址分配方 法,其特征在于,在所述的步驟5)中,具體包括以下步驟步驟5-l)、判斷在SpaceCur地址空間后是否存在相鄰序號未分配,并且連續 地址空間大小大于或等于SpaceCur現有大小的情況;若存在則執行下一步,否則執行5-4);步驟5-2)、 SpaceCur擴充一倍地址空間;步驟5-3)、在第de印個關鍵字前加上"ex", SpaceCur為全局地址空間,de印 為1,重新執行步驟2);步驟5-4)、告知用戶無法進行地址空間分配,由用戶選擇是否繼續自動分配過 程,若是,則執行下一步,否則結束地址分配過程;步驟5-5)、將關鍵字Keys重新設置為"ex"加上Keys, SpaceCur為全局地 址空間,de印為l,然后重新執行步驟2)。
9、 根據權利要求8所述的基于關鍵字和優先級的層次性IPv6網絡地址分配方 法,其特征在于,在所述的步驟5-2)中,對所述的SpaceCur擴充一倍地址空間的 具體實現步驟包括步驟5-2-1)、從用戶輸入得到指定關鍵字串和序號列表;步驟5-2-2)、判斷合并地址空間是否符合合并要求,如果不符合,則返回用戶 操作失敗,如果符合則執行下一步;步驟5-2-3)、將相關序號標記為已分配,并表示其合并的相關屬性;步驟5-2-4)、合并地址空間對應關鍵字長度為KeyNum-l,則合并結束;否則, 按照最小序號地址空間分割方法對余下空間進行分割并增加序號大小。
全文摘要
本發明公開了一種基于關鍵字和優先級的層次性IPv6網絡地址分配方法,包括步驟1)根據用戶的設定初始化地址空間,為地址空間按關鍵字層次分配序號;步驟2)用Keys表示輸入的關鍵字串,用SpaceCur表示當前地址空間,用deep表示當前所處關鍵字串位置,用KeyNum表示當前地址空間后關鍵字串的長度,判斷KeyNum是否為1,若為1,執行步驟4),若不為1,執行下一步;步驟3)基于關鍵字分配地址空間;步驟4)基于優先級分配地址空間;步驟5)在地址空間發生沖突時,進行沖突處理。本發明充分保證了地址空間分配的合理性,提高了IPv6地址聚合。
文檔編號H04L29/12GK101212494SQ200610171650
公開日2008年7月2日 申請日期2006年12月31日 優先權日2006年12月31日
發明者張國清, 陳韓林 申請人:中國科學院計算技術研究所