專利名稱:一種WiMAX基站中基于IP的匯聚子層的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及微波接入全球互通系統(tǒng)(WiMAX)的寬帶接入技術(shù),特別涉及WiMAX 系統(tǒng)的媒體訪問控制層(MAC)中的基于IP的匯聚子層(CS)的實現(xiàn)方法。
背景技術(shù):
微波接入全球互通系統(tǒng)(WiMAX)是一種重要的無線城域網(wǎng)技術(shù),它的空中接口部 分采用了正EE 802.16技術(shù)標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)規(guī)范了 WiMAX空中接口的物理層(PHY)和媒 體訪問控制層(MAC ) 。 WiMAX網(wǎng)絡(luò)中使用空中接口的設(shè)備包括基站(BS )和用戶站(SS), 一個BS通過點到多點(PMP)方式為多個SS提供接入服務(wù)。MAC層在物理層的基礎(chǔ)上,為BS和SS之間提供了面向連接的通信服務(wù)。 一個BS 和一個SS之間存在多條連接。MAC層的數(shù)據(jù)傳輸?shù)仍S多功能都是基于連接獨立進(jìn)行的。 MAC層又分為3個子層特定業(yè)務(wù)匯聚子層(CS)、公共部分子層(CPS)以及安全子 層。CS子層將MAC層的業(yè)務(wù)接入點(SAP)接收到的外部網(wǎng)絡(luò)的數(shù)據(jù)單元(SDU)進(jìn) 行分類,將其映射到某個特定的連接上,并且可能執(zhí)行凈荷頭壓縮(PHS)功能。因為 外部網(wǎng)絡(luò)的數(shù)據(jù)可能使用不同種類的協(xié)議,所以正EE 802.16也定義了各種不同的CS與 之適配。其中,基于IP協(xié)議的CS是經(jīng)常被使用的CS之一。CPS子層是MAC層的主體, 它的主要功能包括系統(tǒng)接入、帶寬分配、連接建立和連接維護(hù)等,它基于連接執(zhí)行帶寬 分配、QoS支持、數(shù)據(jù)的分段和打包等功能。安全子層負(fù)責(zé)SS接入過程中執(zhí)行身份認(rèn)證、 數(shù)據(jù)加密等操作。CS子層中用來對外部網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分類操作的實體稱為分類器。每個連接對應(yīng)一個 或多個分類器。每個分類器包含一組分類規(guī)則,完全符合這組分類規(guī)則的數(shù)據(jù)單元被映 射到這個分類器對應(yīng)的連接上。另外,每個分類器都被設(shè)定了一個優(yōu)先級,如果某個數(shù) 據(jù)單元與兩個分類器的分類規(guī)則相符,則會被映射到優(yōu)先級較高的分類器對應(yīng)的連接上。對于基于IP協(xié)議的CS,可以設(shè)置的分類規(guī)則主要包括IP包頭的tos字段范圍,IP包 頭的協(xié)議類型字段,源IP地址及掩碼,目的IP地址及掩碼,源TCP/UDP端口范圍,目 的端口范圍等。對于一個具體的分類器,可能包含上述分類規(guī)則中的一種或幾種。也就 是說,基于IP協(xié)議的CS主要是針對IP包頭及其后面的TCP/UDP包頭中的常用參數(shù)來 執(zhí)行分類操作的。對于每一個來自外部網(wǎng)絡(luò)的IP分組,上述參數(shù)決定了它將被映射到哪一個連接上。對于cs子層來說,其分類操作最為簡單的實現(xiàn)方案就是將所有的分類器按照優(yōu)先級排成一個隊列。對于外網(wǎng)到達(dá)的分組,將隊列中的分類器按照前后順序逐一與分組的報 頭參數(shù)比較,直到遇到一個完全匹配的分類器為止,然后將分組映射到這個分類器對應(yīng)的連接上。但是在實際使用中,對于一個BS,可能有上百個SS接入,每個SS可能與 BS之間建立多個連接。這時上述隊列中可能包含成千上萬個分類器,采用上述算法勢必 導(dǎo)致分類操作耗時過長,從而降低BS的數(shù)據(jù)吞吐量。因此,采用更為優(yōu)化的分類操作算 法勢在必行。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種用于WiMAX基站的MAC層中的基于IP的匯聚子層的 分類操作的實現(xiàn)方法,其中該匯聚子層中具有多個用于對下行數(shù)據(jù)分組進(jìn)行分類操作的 分類器,該多個分類器均包含目的IP地址分類規(guī)則,具體為以目的IP地址前綴為索 引,建立下行數(shù)據(jù)分組的目的IP地址到相應(yīng)的分類器子集的映射機(jī)制;在一個下行數(shù)據(jù) 分組到達(dá)后,對其進(jìn)行分類利用該分組的目的IP地址前綴來査找相應(yīng)的分類器子集, 然后從相應(yīng)的分類器子集中査找優(yōu)先級最高的相匹配的分類器,從而將下行數(shù)據(jù)分組映 射到所找到的分類器對應(yīng)的連接上。優(yōu)選地,所述映射機(jī)制以哈希表這種數(shù)據(jù)結(jié)構(gòu)來存儲,設(shè)目的IP地址前綴的長度共 有N種,其中N為自然數(shù),第i種前綴長度的值為Li,相應(yīng)的掩碼的值為Si,其中h 1,2,…,N,則建立N個哈希表,其中第i個哈希表用來保存所有長度為Li的地址前綴所對 應(yīng)的分類器子集;所述對一個下行數(shù)據(jù)分組進(jìn)行分類包括在一個下行數(shù)據(jù)分組到達(dá)后, 按照前綴長度Li將該下行數(shù)據(jù)分組的目的IP地址截取為IP地址前綴,根據(jù)前綴長度Li 找到相應(yīng)的哈希表,即第i個哈希表,在相應(yīng)的哈希表中根據(jù)所截取的IP地址前綴査找 相應(yīng)的分類器子集,然后從相應(yīng)的分類器子集中查找優(yōu)先級最高的相匹配的分類器;從i =1到i=N循環(huán)執(zhí)行上述步驟,最后將下行數(shù)據(jù)分組映射到最終所找到的優(yōu)先級最高的 相匹配的分類器對應(yīng)的連接上。在另一種優(yōu)選方案中,所述映射機(jī)制以哈希表這種數(shù)據(jù)結(jié)構(gòu)來存儲,采用前綴擴(kuò)展 技術(shù),即首先定義M個標(biāo)準(zhǔn)地址前綴長度,其中M為自然數(shù)、且M小于等于32,第i 個標(biāo)準(zhǔn)地址前綴長度的值為Li,其中i二l,2,…,M;對于長度不標(biāo)準(zhǔn)的地址前綴,展開成 多條長度標(biāo)準(zhǔn)的地址前綴組成的集合;建立M個哈希表,其中第i個哈希表用來保存所有長度為Li的地址前綴所對應(yīng)的分類器子集;所述對一個下行數(shù)據(jù)分組進(jìn)行分類包括 在一個下行數(shù)據(jù)分組到達(dá)后,按照標(biāo)準(zhǔn)地址前綴長度L,將該下行數(shù)據(jù)分組的目的IP地址 截取為IP地址前綴,根據(jù)前綴長度Li找到相應(yīng)的哈希表,即第i個哈希表,在相應(yīng)的哈 希表中根據(jù)所截取的IP地址前綴查找相應(yīng)的分類器子集,然后從相應(yīng)的分類器子集中查 找優(yōu)先級最高的相匹配的分類器;從1=1至l」i二M循環(huán)執(zhí)行上述步驟,最后將下行數(shù)據(jù)分 組映射到最終所找到的優(yōu)先級最高的相匹配的分類器對應(yīng)的連接上。優(yōu)選地,所述對于長度不標(biāo)準(zhǔn)的地址前綴,展開成多條長度標(biāo)準(zhǔn)的地址前綴組成的 集合具體包括設(shè)相鄰的標(biāo)準(zhǔn)地址前綴長度之間的差值均為D,最長的標(biāo)準(zhǔn)地址前綴長度為Lm狀,則其它標(biāo)準(zhǔn)地址前綴長度為Lmax—mD,其中m=0,l,一,M-l;如果地址前綴長 度丄,E[丄匿—(附+ l)"+l, Z隨—m"—l]區(qū)間,則所有這種長度的地址前綴都通過前綴擴(kuò) 展,轉(zhuǎn)化為長度為32—mZ 的地址前綴集合,記/1丄=丄 ^_/^ 一二,則上述集合中地址 前綴的數(shù)目為2"個,擴(kuò)展時所增加的^U個二進(jìn)制位的值分別為從0到2"—1。優(yōu)選地,哈希函數(shù)以IP地址前綴為自變量用折疊法構(gòu)造,即將IP地址前綴后面補 零成為32比特整數(shù)后以字節(jié)為單位分開,將得到的4個字節(jié)作模2加運算,所得結(jié)果即 為哈希地址;采用鏈地址法解決IP地址前綴不同而相應(yīng)的哈希地址相同的沖突情形,即 將哈希地址相同的IP地址前綴存儲到一個IP地址前綴鏈表中,并且按照IP地址前綴的 數(shù)值從小到大的順序排列,IP地址前綴鏈表中的每個節(jié)點稱之為IP地址前綴節(jié)點,每個 IP地址前綴節(jié)點保存其相應(yīng)的分類器子集;所述在相應(yīng)的哈希表中根據(jù)所截取的IP地址 前綴査找其相應(yīng)的分類器子集包括根據(jù)所截取的IP地址前綴計算得到哈希地址,在相應(yīng)的哈希表中根據(jù)哈希地址找到相應(yīng)的IP地址前綴鏈表,在所找到的相應(yīng)的IP地址前 綴鏈表中査找所截取的IP地址前綴對應(yīng)的IP地址前綴節(jié)點,由于IP地址前綴節(jié)點保存 其相應(yīng)的分類器子集,所以找到對應(yīng)的IP地址前綴節(jié)點即找到了相應(yīng)的分類器子集。優(yōu)選地,對于每個分類器子集,按照優(yōu)先級從高到低的順序排列成一個分類器鏈表; 所述從相應(yīng)的分類器子集中査找優(yōu)先級最高的相匹配的分類器包括在一個下行數(shù)據(jù)分 組的分類操作開始時,記錄當(dāng)前與其匹配的優(yōu)先級最高的分類器及其優(yōu)先級i max,當(dāng)前 與其匹配的優(yōu)先級最高的分類器的初始值為空,i max的初始值為一l;這樣在考査某個分 類器子集時,只需按照該分類器子集對應(yīng)的分類器鏈表順次將每個分類器與分組報頭作 比較,直到找到一個與該分組相匹配的分類器、或者剩余分類器的優(yōu)先級低于i^ax為止, 如果是找到了一個與該分組相匹配的分類器,則更新所記錄的當(dāng)前與其匹配的優(yōu)先級最 高的分類器及其優(yōu)先級i :nax。優(yōu)選地,在分類器鏈表中保存指向相應(yīng)分類器的指針,而將分類器保存在另外的數(shù) 據(jù)結(jié)構(gòu)中。在進(jìn)一步優(yōu)選的方案中,對于不包含目的IP地址分類規(guī)則的分類器、以及包含目的 IP地址分類規(guī)則但I(xiàn)P地址前綴很短的分類器,按優(yōu)先級從高到低的順序另外組織成分類 器鏈表并存儲;對一個下行數(shù)據(jù)分組進(jìn)行分類時,首先從其相應(yīng)的分類器子集中查找優(yōu) 先級最高的相匹配的分類器,并記錄當(dāng)前與其匹配的優(yōu)先級最高的分類器及其優(yōu)先級i max;然后在所述另外組織的分類器鏈表中順次將每個分類器與分組報頭作比較,以尋找優(yōu)先級更高的相匹配的分類器,在尋找過程中,對于包含目的IP地址分類規(guī)則的分類器需驗證其目的IP地址分類規(guī)則;最后將下行數(shù)據(jù)分組映射到最終所找到的優(yōu)先級最高的 相匹配的分類器對應(yīng)的連接上。本發(fā)明還提供了一種WiMAX基站中基于IP的匯聚子層中激活一個分類器的方法, 預(yù)先設(shè)定M個標(biāo)準(zhǔn)的IP地址前綴長度,其中M為自然數(shù)、且M小于等于32,相鄰的標(biāo) 準(zhǔn)地址前綴長度之間的差值均為D,最長的標(biāo)準(zhǔn)地址前綴長度記為Zma^,則其它標(biāo)準(zhǔn)地 址前綴長度分別為Z^^—mA其中附=0, 1,…,M-1,其中將最短的標(biāo)準(zhǔn)地址前綴長度 記為丄一,并且預(yù)先設(shè)定一個長度閾值,該方法包括以下步驟步驟l、査看該分類器中是否包含目的IP地址分類規(guī)則,如果包含繼續(xù)執(zhí)行步驟2, 否則轉(zhuǎn)步驟10;步驟2、查看該分類器包含的目的IP地址分類規(guī)則的IP地址前綴的長度L是否大 于長度閾值,如果大于繼續(xù)執(zhí)行步驟3,否則轉(zhuǎn)步驟10;步驟3、如果Z E [丄驢一(附十1)"+1 ,丄薩一w/7]區(qū)間,則計算擴(kuò)展后的前綴長度=丄薩 一wA哈希表序號氣擴(kuò)展后的前綴長度-i^,")/D,待擴(kuò)展比特數(shù)」i Hf展后的前綴長度-L,擴(kuò)展后前綴數(shù)目=2",待擴(kuò)展值=0;繼續(xù)執(zhí)行步驟4;步驟4、將分類器原有IP地址前綴按照待擴(kuò)展比特數(shù)作擴(kuò)展,擴(kuò)展的部分的數(shù)值為 待擴(kuò)展值,取得的結(jié)果稱為擴(kuò)展后前綴;對擴(kuò)展后前綴利用哈希函數(shù)求哈希地址,按照求得的哈希地址在前述序號的哈希表中査找擴(kuò)展后前綴對應(yīng)的IP地址前綴鏈表,在該鏈表中查找擴(kuò)展后前綴節(jié)點;繼續(xù)執(zhí)行步驟5;步驟5、如果在該哈希地址對應(yīng)的IP地址前綴鏈表中找到擴(kuò)展后前綴節(jié)點,則轉(zhuǎn)步驟7,否則繼續(xù)執(zhí)行步驟6;步驟6、將該擴(kuò)展后前綴添加到上述哈希地址對應(yīng)的IP地址前綴鏈表中,成為鏈表中的一個節(jié)點;繼續(xù)執(zhí)行步驟7;綴鏈表中的每個節(jié)點保存有相應(yīng)的分類器指針鏈表,將指向 該分類器的指針添加到前述擴(kuò)展后前綴節(jié)點保存的分類器指針鏈表中;繼續(xù)執(zhí)行步驟8; 步驟8、待擴(kuò)展值=待擴(kuò)展值+1,擴(kuò)展后前綴數(shù)目-擴(kuò)展后前綴數(shù)目-l;繼續(xù)執(zhí)行步驟9;步驟9、如果擴(kuò)展后前綴數(shù)目大于0,則轉(zhuǎn)步驟4,否則結(jié)束;步驟IO、將指向該分類器的指針添加到單獨的分類器指針鏈表中,所述單獨的分類器指針鏈表是指不包含目的IP地址分類規(guī)則的分類器、以及包含目的IP地址分類規(guī)則、 但I(xiàn)P地址前綴的長度小于長度閾值的分類器按照優(yōu)先級從高到低排列的分類器指針鏈表;然后結(jié)束。本發(fā)明還提供了一種WiMAX基站中基于IP的匯聚子層中解除激活一個分類器的方 法,預(yù)先設(shè)定M個標(biāo)準(zhǔn)的IP地址前綴長度,其中M為自然數(shù)、且M小于等于32,相鄰 的標(biāo)準(zhǔn)地址前綴長度之間的差值均為D,最長的標(biāo)準(zhǔn)地址前綴長度記為Z^ox,則其它標(biāo) 準(zhǔn)地址前綴長度分別為Zmox—附A其中附=0, 1,…,M-1,其中將最短的標(biāo)準(zhǔn)地址前綴 長度記為2^",并且預(yù)先設(shè)定一個長度閾值,該方法包括以下步驟步驟l、査看該分類器中是否包含目的IP地址分類規(guī)則,如果包含繼續(xù)執(zhí)行步驟2,否則轉(zhuǎn)步驟10;步驟2、查看該分類器包含的目的IP地址分類規(guī)則的IP地址前綴的長度L是否大于長度閾值,如果大于繼續(xù)執(zhí)行步驟3,否則轉(zhuǎn)步驟10;步驟3、如果丄e[丄匿一(w+l)Z +i,丄薩一w^]區(qū)間,則計算擴(kuò)展后的前綴長度=丄畫 一m",哈希表序號氣擴(kuò)展后的前綴長度-丄咖")/D,待擴(kuò)展比特數(shù)」£ =擴(kuò)展后的前綴長度丄,擴(kuò)展后前綴數(shù)目=2",待擴(kuò)展值=0;繼續(xù)執(zhí)行步驟4;步驟4、將分類器原有IP地址前綴按照待擴(kuò)展比特數(shù)作擴(kuò)展,擴(kuò)展的部分的數(shù)值為 待擴(kuò)展值,取得的結(jié)果稱為擴(kuò)展后前綴;對擴(kuò)展后前綴求哈希函數(shù),按照求得的哈希地 址在前述序號的哈希表中査找擴(kuò)展后前綴對應(yīng)的IP地址前綴鏈表,在該鏈表中查找擴(kuò)展 后前綴節(jié)點;繼續(xù)執(zhí)行步驟5;步驟5、將指向該分類器的指針從前述擴(kuò)展后前綴節(jié)點所保存的分類器指針鏈表中刪 除;繼續(xù)執(zhí)行步驟6;步驟6、如果前述分類器指針鏈表中還有元素,則轉(zhuǎn)步驟8,否則繼續(xù)執(zhí)行步驟7;步驟7、將該擴(kuò)展后前綴節(jié)點從上述哈希地址對應(yīng)的IP地址前綴鏈表中刪除;繼續(xù) 執(zhí)行步驟8;步驟8、待擴(kuò)展值=待擴(kuò)展值+1,擴(kuò)展后前綴數(shù)目=擴(kuò)展后前綴數(shù)目-1;繼續(xù)執(zhí)行步驟9;步驟9、如果擴(kuò)展后前綴數(shù)目大于0,則轉(zhuǎn)步驟4,否則結(jié)束;步驟IO、將指向該分類器的指針從單獨的分類器指針鏈表中刪除,所述單獨的分類 器指針鏈表是指不包含目的IP地址分類規(guī)則的分類器、以及包含目的IP地址分類規(guī)則、 但I(xiàn)P地址前綴的長度小于長度閾值的分類器按照優(yōu)先級從高到低排列的分類器指針鏈 表;然后結(jié)束。綜上所述, 一種用于WiMAX的基站的MAC層中的基于IP的匯聚子層的分類操作的實現(xiàn)方法,包括以下兩個部分(1)分類器數(shù)據(jù)結(jié)構(gòu)的維護(hù),又包括分類器的建立、 刪除、激活、解除激活;(2)對下行分組的分類操作的執(zhí)行,實現(xiàn)要點是(a)為了提 高分類操作的效率,需要以目的IP地址前綴為索引,建立下行分組的目的IP地址到相 應(yīng)的分類器子集的映射機(jī)制;(b)這種映射機(jī)制需要以哈希表這種數(shù)據(jù)結(jié)構(gòu)來存儲,哈 希函數(shù)以IP地址前綴為自變量用折疊法構(gòu)造,采用鏈地址法解決哈希地址的沖突;(c) 對于哈希表內(nèi)的每個IP前綴節(jié)點中存儲的分類器子集,需要按照優(yōu)先級從高到低的順序 排列成一個鏈表,以減少匹配次數(shù);(d)需要釆用前綴擴(kuò)展技術(shù),首先定義若干標(biāo)準(zhǔn)地址前綴長度,對于長度不標(biāo)準(zhǔn)的地址前綴,需要展開成多條長度標(biāo)準(zhǔn)的地址前綴組成的集合,以提高算法的空間和時間效率;(e)對于不包含目的IP分類規(guī)則的IP分類器,需 要按優(yōu)先級另外組織成鏈表并存儲,以防止在分類過程中遺漏;包含目的IP分類規(guī)則但 IP前綴很短的分類器,也可以放入該鏈表,以減少哈希表數(shù)目、提高空間效率;(f)當(dāng) 一個下行分組到達(dá)后,需要分別將其目的IP地址與上述標(biāo)準(zhǔn)地址前綴長度的掩碼逐一作 位與運算,得到的結(jié)果再調(diào)用哈希函數(shù),在相應(yīng)的哈希表中査找相應(yīng)的前綴節(jié)點,然后 訪問相符的前綴節(jié)點所對應(yīng)的分類器指針優(yōu)先級隊列,尋找優(yōu)先級最高的和下行分組相 匹配的分類器,尋找時不必驗證分類器的目的IP規(guī)則;最后在不包含目的IP分類規(guī)則、 或者目的IP分類規(guī)則中前綴很短的分類器隊列中査找是否有優(yōu)先級更高的相匹配的分類 器,尋找時需要驗證分類器的目的IP規(guī)則(如果存在的話);根據(jù)最后找到的優(yōu)先級最 高的分類器,將該分組作頭壓縮(PHS)處理后添加到其對應(yīng)的連接的SDU隊列中;如 果沒有找到匹配的分類器,則丟棄該分組。本發(fā)明所述方法遵循正EE 802.16技術(shù)標(biāo)準(zhǔn),同時針對實際應(yīng)用對匯聚子層的要求進(jìn) 行優(yōu)化,分類操作效率高,同時較易于實現(xiàn)。
圖1為本發(fā)明基于IP的匯聚子層的分類操作的實現(xiàn)方法實施例的數(shù)據(jù)結(jié)構(gòu)示意圖;圖2為上述實施例中激活一個分類器的基本步驟的流程圖;圖3為上述實施例中解除激活一個分類器的基本步驟的流程圖;圖4為上述實施例中對一個下行分組進(jìn)行分類的基本步驟的流程圖;圖5為圖4所示流程中的分類器指針鏈表査詢函數(shù)的流程圖。
具體實施方式
下面結(jié)合本發(fā)明的一個實施例及其附圖,對本發(fā)明做進(jìn)一步說明。 首先介紹本發(fā)明的基本技術(shù)原理。在實際的WiMAX網(wǎng)絡(luò)中,每個SS都有自己獨立 的IP地址,對于來自于網(wǎng)絡(luò)的下行分組,往往通過其報頭的目的IP地址來決定將其發(fā) 送到哪個SS、哪個服務(wù)流。因此,對于IP分類器來說,目的IP地址是最經(jīng)常使用的分 類規(guī)則之一。在正EE 802.16標(biāo)準(zhǔn)關(guān)于分類規(guī)則的規(guī)定中,IP地址是包括掩碼參數(shù)的, 也就是說,這個規(guī)則實際上是一個IP地址前綴分類規(guī)則,對于IPv4來說該前綴長度可 能為1到32比特不等。為了便于描述,將所有使用目的IP地址分類規(guī)則的分類器集合 記為C。在C集合中,目的IP地址前綴的長度共有7V種,第z'種前綴長度的值為丄,,相 應(yīng)的掩碼的值為&,即以二進(jìn)制表示的&的前二位為1,其余位為0,其中/=1, 2,…, AT。對于每一種前綴長度^,在C集合中存在^種不同的前綴,每種前綴的數(shù)值為A/, 其中;'=1, 2,…,凡。將所有使用前綴/V作為目的IP分類規(guī)則的分類器組成的子集記 為C,。也就是說,^子集可以看作基于^地址前綴是否相同這個二元關(guān)系,將C集合 劃分成的若干個等價類。這樣,對于一個具體下行IP分組來說,假設(shè)其目的IP地址的 數(shù)值為A就可以找出所有使得」A&二i^成立的(/,力組合,其中"A"表示位與操作。 然后只需考査上述(/,力組合所對應(yīng)的Ci,子集中的分類器是否與該分組匹配就可以了。 其余的(!',力組合所對應(yīng)的<:,,子集中的分類器就不必考査了,因為至少在目的IP地址分 類規(guī)則上,它們與該下行分組是不匹配的。這樣,就顯著縮小了需要考查的分類器的范 圍,不必再采用順序査找的辦法,在前面提到的成千上萬個分類器組成的隊列中逐個比 較了。上述算法需要根據(jù)一個下行分組的目的IP地址乂,快速找到所有與其相匹配的IP地 址前綴所對應(yīng)的分類器子集Ci,,這需要使用合適的數(shù)據(jù)結(jié)構(gòu)。本發(fā)明實施例的數(shù)據(jù)結(jié)構(gòu) 示意圖如圖1所示,下面對本發(fā)明實施例的數(shù)據(jù)結(jié)構(gòu)進(jìn)行詳細(xì)描述因為IP地址前綴的數(shù)目很大,所以可以使用哈希表來建立這種映射關(guān)系。 一共需要 建立iV個哈希表,其中第/個哈希表用來保存所有長度為二的前綴(即/^)對應(yīng)的分類 器子集C,j,其中7'=1, 2,…,凡。為了在哈希表中快速找到某個A/對應(yīng)的分類器子集 C,,,可以使用哈希函數(shù)計算得到哈希地址,通過哈希地址來査找。對于IP地址前綴來說,可以采用折疊法構(gòu)造哈希函數(shù)將IP地址前綴A;后面補零成為32比特整數(shù)后以字節(jié)為單位分開,將得到的4個字節(jié)作模2加運算,所得結(jié)果即為哈希地址。但這樣做仍然可 能存在IP地址前綴不同而相應(yīng)的哈希地址相同的沖突情形,這種沖突可以采用鏈地址法來解決將哈希地址相同的IP地址前綴存儲到一個鏈表(下稱IP地址前綴鏈表)中,并且按照IP地址前綴的數(shù)值從小到大的順序排列,IP地址前綴鏈表中的每個節(jié)點稱之為 IP地址前綴節(jié)點,每個IP地址前綴節(jié)點保存其相應(yīng)的分類器子集。這樣當(dāng)一個目的IP地址為J的下行分組到達(dá)時,順次計算尸,》二^A&,其中/=1, 2,…,TV;然后順次對計算得到的每個Py執(zhí)行以下操作計算其在第/個哈希表中的哈希地址,再根據(jù)該哈希 地址在相應(yīng)的IP地址前綴鏈表中順次査找各IP地址前綴節(jié)點,直到某個節(jié)點的前綴值 大于等于i^為止。如果該前綴值等于則該前綴節(jié)點對應(yīng)的分類器子集需要與該分 組比較;如果大于P,》,說明該分組與任何長度為丄,的前綴對應(yīng)的分類器子集都不匹配。 作為對上述數(shù)據(jù)結(jié)構(gòu)的進(jìn)一步改進(jìn),在IP地址前綴節(jié)點中存儲相應(yīng)的分類器子集時, 其中的分類器可以按照優(yōu)先級從高到低的順序排列出一個鏈表(下稱分類器鏈表)。假設(shè) 某個分類器子集C"中共有&,個分類器,在排列出的分類器鏈表中第^個分類器的優(yōu)先 級為A,其中A二l, 2,…,&,。在一個下行分組到達(dá)后的分類操作中,需要記錄當(dāng)前 與其匹配的優(yōu)先級最高的分類器及其優(yōu)先級i max,當(dāng)前與其匹配的優(yōu)先級最高的分類器的初始值為空,及max的初始值為一l。這樣在考査某個分類器子集時,只需按照該分類器 子集對應(yīng)的分類器鏈表順次將每個分類器與分組報頭作比較,直到找到第A個分類器, 使得該分類器與下行分組相匹配,或者A《i max為止。如果找到的相匹配的分類器對應(yīng) 的/ Pi max,則更新當(dāng)前與其匹配的優(yōu)先級最高的分類器記錄及相應(yīng)的i max。這種方法 既保證了能夠找到與該下行分組匹配的優(yōu)先級最高的分類器,又減少了匹配次數(shù),提高 了分類算法的效率。在將下行分組與這些分類器進(jìn)行匹配時,目的IP地址就不用作比較 了,因為上述設(shè)計保證了該下行分組是符合上述分類器的目的IP地址分類規(guī)則的。上述方法引入的一個新問題是,如果一個BS中分類器的目的地址前綴長度的種類值 iV很大,勢必需要生成許多個哈希表,從而大大降低該方法的空間和時間效率。為了解決這一問題,本發(fā)明優(yōu)選地采用前綴擴(kuò)展(Prefixexpansion)技術(shù),就是將一條較短的地址前綴展開成多條較長的地址前綴集合的方法。具體擴(kuò)展方法如下預(yù)先設(shè)定M個標(biāo)準(zhǔn) 的IP地址前綴長度,其中M為自然數(shù)、且M小于等于32,相鄰的標(biāo)準(zhǔn)地址前綴長度之 間的差值都為D,最長的標(biāo)準(zhǔn)前綴長度為Z,,則其它標(biāo)準(zhǔn)前綴長度分別為i^似一w", 其中附=0, 1,…,M-1,其中將最短的標(biāo)準(zhǔn)前綴長度記為丄 。對于某一種前綴長度Z, 來說(1)如果存在整數(shù)附使得^=丄 ^一附",則所有這種長度的前綴尸y都不需要擴(kuò)展; (2)如果Z,E[Z腿一(附+1)Z +1, Z匿一mZ^l]區(qū)間,則所有這種長度的前綴&都可以 通過前綴擴(kuò)展,轉(zhuǎn)化為長度為/^m—wZ 的地址前綴集合。記」丄二Z,—w"—丄,,則上述 集合中地址前綴的數(shù)目為2"個,擴(kuò)展i^時所增加的Z1Z個二進(jìn)制位的值分別為從0到 2"-1。例如,設(shè)定標(biāo)準(zhǔn)前綴長度分別為16, 20, 24, 28, 32比特,則13到15比特、 17到19比特、21到23比特、25到27比特、29到31比特的IP地址前綴將分別被擴(kuò)展 為上述標(biāo)準(zhǔn)長度的前綴,例如22位地址前綴202.0.100.0可以展開成4條24位地址前綴 的集合202.0.100.0, 202.0.101.0, 202.0.102.0和202.0.103.0。相應(yīng)的, 一條目的IP地 址分類規(guī)則被轉(zhuǎn)化為多條掩碼更長的地址分類規(guī)則的集合;符合這個集合中的任意一條 地址分類規(guī)則,即符合被擴(kuò)展以前的分類規(guī)則。經(jīng)過擴(kuò)展以后,原來的一個分類器可能 位于多個地址前綴節(jié)點中存儲的分類器子集中,這會造成同一分類器重復(fù)存儲多次,然 而,可以通過只在分類器鏈表中保存指向相應(yīng)分類器的指針,而將分類器保存在另外的 數(shù)據(jù)結(jié)構(gòu)中來解決該問題,對于上述僅保存指向相應(yīng)分類器的指針的分類器鏈表在本申 請中將稱之為分類器指針鏈表。這樣就只需生成長度為丄^^一/n/ 的前綴所對應(yīng)的哈希表, 每個下行分組的目的地址也只需要與長度為丄max—m"的掩碼逐一作位與運算,得到的結(jié) 果再調(diào)用哈希函數(shù),然后訪問相應(yīng)的IP地址前綴鏈表中的相應(yīng)前綴節(jié)點,以此來尋找相 符的分類器。因此,選擇適當(dāng)?shù)?值,可以顯著提高算法的空間和時間效率。另外,對于不包含目的IP分類規(guī)則的分類器,需要將其放入一個單獨的按照優(yōu)先級 排列的分類器指針鏈表中。按照與前面提到的類似的方法以及i 皿和相應(yīng)的分類器記錄,將下行分組與這些分類器相比較。如果找到優(yōu)先級比i max更高的匹配的分類器,則更新 記錄。另外,如果分類器包含目的IP分類規(guī)則,但I(xiàn)P地址前綴很短,在實際中這種情 況是比較少見的,也可以放在上述單獨的分類器指針鏈表中,以減少哈希表的數(shù)目,提 高算法的空間效率。例如,當(dāng)下行IP分類規(guī)則的前綴長度為1到12比特時,則被加入 到單獨的分類器指針鏈表中。但是在將下行分組與上述單獨的分類器指針鏈表中的分類 器作匹配時,如果分類器含有目的IP分類規(guī)則,則需要驗證下行分組的目的IP是否符 合該規(guī)則。對于本發(fā)明中的上述數(shù)據(jù)結(jié)構(gòu),需要進(jìn)行維護(hù)操作,包括分類器的建立、刪除、激 活、解除激活等。圖2和圖3分別示出了激活一個分類器的操作流程圖、解除激活一個 分類器的操作流程圖,在操作流程前,均需要預(yù)先設(shè)定M、 D、 i^^的值,以及預(yù)先設(shè)定 一個長度閾值。圖2、圖3中以肘=5, D=4,丄,=32比特,Lmin=Lmax-(M-l)x£>=16比特,長度閾值=12比特為例,當(dāng)然也可以設(shè)置其他的值。 圖2所示的操作流程從步驟101開始步驟IOI,査看該分類器中是否包含目的IP地址分類規(guī)則,如果包含繼續(xù)執(zhí)行步驟 102,否則轉(zhuǎn)步驟110;步驟102,査看該分類器包含的目的IP地址分類規(guī)則的IP地址前綴長度L是否大 于長度閾值,如果大于繼續(xù)執(zhí)行步驟103,否則轉(zhuǎn)步驟110;步驟103,計算擴(kuò)展后的前綴長度=|_"+3)/4」><4,其中"L」"表示向下取整,哈希表序號=(擴(kuò)展后的前綴長度-16)/4,待擴(kuò)展比特數(shù)」丄=擴(kuò)展后的前綴長度丄,擴(kuò)展后 前綴數(shù)目=2",待擴(kuò)展值=0;繼續(xù)執(zhí)行步驟104;步驟104,將分類器原有IP地址前綴按照待擴(kuò)展比特數(shù)作擴(kuò)展,擴(kuò)展的部分的數(shù)值 為待擴(kuò)展值,取得的結(jié)果稱為擴(kuò)展后前綴;對擴(kuò)展后前綴求哈希函數(shù),按照求得的哈希地址在前述序號的哈希表中査找擴(kuò)展后前綴對應(yīng)的IP地址前綴鏈表,在該鏈表中查找擴(kuò)展后前綴節(jié)點;繼續(xù)執(zhí)行步驟105;步驟105,如果在該哈希地址對應(yīng)的鏈表中找到擴(kuò)展后前綴節(jié)點,則轉(zhuǎn)步驟107,否則繼續(xù)執(zhí)行步驟106;步驟106,將該擴(kuò)展后前綴添加到上述哈希地址對應(yīng)的鏈表中;繼續(xù)執(zhí)行步驟107;步驟107,將指向該分類器的指針添加到前述擴(kuò)展后前綴節(jié)點對應(yīng)的分類器指針鏈表 中;繼續(xù)執(zhí)行步驟108;步驟108,待擴(kuò)展值=待擴(kuò)展值+1,擴(kuò)展后前綴數(shù)目=擴(kuò)展后前綴數(shù)目-1;繼續(xù)執(zhí)行 步驟109;步驟109,如果擴(kuò)展后前綴數(shù)目大于O,則轉(zhuǎn)步驟104,否則結(jié)束;步驟iio,將指向該分類器的指針添加到單獨的分類器指針鏈表中,然后結(jié)束。圖3所示的操作流程從步驟201開始步驟201,査看該分類器中是否包含目的IP地址分類規(guī)則,如果包含繼續(xù)執(zhí)行步驟 202,否則轉(zhuǎn)步驟210;圖3是應(yīng)用本發(fā)明VOIP通話中媒體協(xié)商方法的系統(tǒng)結(jié)構(gòu)示意框圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明技術(shù)方案進(jìn)行詳細(xì)的描述,以更進(jìn)一 步了解本發(fā)明之目的、方案及功效,但并非作為對本發(fā)明所附權(quán)利要求保護(hù)范 圍的限制。參考圖l,本發(fā)明的VOIP通話中媒體協(xié)商方法,包含以下步驟步驟S101 ,雙方媒體網(wǎng)關(guān)VOIP信令(媒體網(wǎng)關(guān)控制協(xié)議MGCP、會話發(fā) 起協(xié)議SIP等協(xié)議)建立呼叫連接,并通過會話描述協(xié)議SDP等媒體協(xié)商過程 選擇語音編解碼方式,建立雙向的基于實時傳輸協(xié)議RTP的媒體流;步驟S102,在呼叫建立之后,雙方媒體網(wǎng)關(guān)利用RTP協(xié)議中的RTCP( RTP Control Protocol: RTP控制協(xié)議)報文,周期性地交換收發(fā)媒體包的實時狀況, 依此來監(jiān)視通話過程中的網(wǎng)絡(luò)狀況,包括但不限于平均延遲,抖動,丟包率等 信息。步驟S103,根據(jù)網(wǎng)絡(luò)狀況判斷是否需要改變編解碼,在需要改變所述編 解碼時,通過所述VOIP信令和媒體協(xié)商過程發(fā)起二次媒體協(xié)商,通知對端媒 體網(wǎng)關(guān)切換到改變編解碼所選擇的編解碼格式,在對端媒體網(wǎng)關(guān)切換成功后, 本端媒體網(wǎng)關(guān)也切換到所述選擇的編解碼格式;步驟S104,雙方依據(jù)新的編解碼格式建立起新的雙向媒體流,繼續(xù)通話。上述方法中,所述媒體網(wǎng)關(guān)上預(yù)先建立起一個編解碼選擇策略它可以評 估由RTCP協(xié)議實時獲取到的網(wǎng)絡(luò)環(huán)境信息,如果網(wǎng)絡(luò)環(huán)境不能滿足當(dāng)前編解 碼格式的需求,如丟包率太高,時延抖動過大等,則選擇壓縮率更高的編解 碼格式(G723/5.3k,G723/6.3k,G729等)以適應(yīng)此時的網(wǎng)絡(luò)環(huán)境。經(jīng)過策略選擇 之后的媒體網(wǎng)關(guān),利用呼叫建立時使用的VOIP信令和媒體協(xié)商過程,發(fā)起二次 媒體協(xié)商,通知對端媒體網(wǎng)關(guān)切換到策略所選擇的編解碼格式。同時,本端媒 體網(wǎng)關(guān)也將切換到這個編解碼格式。下面參考圖2,進(jìn)一步以具體實施例說明本發(fā)明的基于網(wǎng)絡(luò)實時環(huán)境的語 音編解碼二次協(xié)商的方法的具體實施流程。如圖2所示,本發(fā)明所述基于網(wǎng)絡(luò)實時環(huán)境的語音編解碼二次協(xié)商的方法步驟303,如果在該哈希地址對應(yīng)的IP地址前綴鏈表中找到前述前綴節(jié)點,則繼續(xù) 執(zhí)行步驟304,否則轉(zhuǎn)步驟305;步驟304,調(diào)用分類器指針鏈表查詢函數(shù)(入口在步驟401)在前述前綴節(jié)點對應(yīng)的 分類器指針鏈表中尋找優(yōu)先級更高的分類器(不必考慮目的IP分類規(guī)則);這一過程可 能更新當(dāng)前最高優(yōu)先級以及最高優(yōu)先級分類器指針,繼續(xù)執(zhí)行步驟305;步驟305,前綴長度=前綴長度+0;繼續(xù)執(zhí)行步驟306;步驟306,如果前綴長度小于等于32,則轉(zhuǎn)步驟302,否則繼續(xù)執(zhí)行步驟307;步驟307,調(diào)用分類器指針鏈表查詢函數(shù)(入口在步驟401)在單獨的分類器指針鏈 表中尋找優(yōu)先級更高的分類器(需要考慮目的IP分類規(guī)則);這一過程可能更新當(dāng)前最 高優(yōu)先級以及最高優(yōu)先級分類器指針,繼續(xù)執(zhí)行步驟308;步驟308,判斷最高優(yōu)先級分類器指針是否為空,如果是,則轉(zhuǎn)步驟310,否則繼續(xù) 執(zhí)行步驟309;步驟309,將該下行分組添加到該最高優(yōu)先級分類器對應(yīng)的連接的SDU隊列,然后結(jié)束;步驟310,丟棄該下行分組,然后結(jié)束。圖5示出了圖4中步驟304和步驟307的更詳細(xì)的處理流程,從步驟401開始 步驟401,當(dāng)前分類器指針指向分類器指針鏈表的頭節(jié)點,繼續(xù)執(zhí)行步驟402; 步驟402,判斷當(dāng)前分類器指針是否為空或者當(dāng)前分類器的優(yōu)先級是否小于當(dāng)前最高 優(yōu)先級,如果是,則結(jié)束,否則繼續(xù)執(zhí)行步驟403;步驟403,驗證當(dāng)前分類器是否與下行分組匹配;根據(jù)參數(shù),可能需要、也可能不需要驗證目的IP地址分類規(guī)則;繼續(xù)執(zhí)行步驟404;步驟404,如果剛才的驗證結(jié)果為匹配,則繼續(xù)執(zhí)行步驟405,否則轉(zhuǎn)步驟406; 步驟405,將當(dāng)前最高優(yōu)先級分類器指針和最高優(yōu)先級更新為當(dāng)前分類器的指針及其 優(yōu)先級,然后結(jié)束;步驟406,當(dāng)前分類器指針指向分類器指針鏈表的下一節(jié)點,然后轉(zhuǎn)步驟402。 需要指出的是,上述實現(xiàn)方法同樣可用在基于IPv6的匯聚子層中。 以上具體實施方式
僅限于說明本發(fā)明的基于IP的匯聚子層的分類操作的實現(xiàn)方法, 但本發(fā)明方法并不局限于實施例的內(nèi)容。依本發(fā)明方法,本領(lǐng)域的普通技術(shù)人員可很容 易地實現(xiàn)本發(fā)明,或通過其他方式予以改進(jìn),應(yīng)知道凡不脫離本發(fā)明思想的任何改進(jìn)都 屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種WiMAX基站中基于IP的匯聚子層的實現(xiàn)方法,其特征在于該匯聚子層中具有多個用于對下行數(shù)據(jù)分組進(jìn)行分類操作的分類器,該多個分類器均包含目的IP地址分類規(guī)則,具體為以目的IP地址前綴為索引,建立下行數(shù)據(jù)分組的目的IP地址到相應(yīng)的分類器子集的映射機(jī)制;在一個下行數(shù)據(jù)分組到達(dá)后,對其進(jìn)行分類利用該分組的目的IP地址前綴來查找相應(yīng)的分類器子集,然后從相應(yīng)的分類器子集中查找優(yōu)先級最高的相匹配的分類器,從而將下行數(shù)據(jù)分組映射到所找到的分類器對應(yīng)的連接上。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于所述映射機(jī)制以哈希表這種數(shù)據(jù)結(jié)構(gòu)來存儲,設(shè)目的IP地址前綴的長度共有N種, 其中N為自然數(shù),第i種前綴長度的值為Li,相應(yīng)的掩碼的值為Si,其中i二l,2,…,N, 則建立N個哈希表,其中第i個哈希表用來保存所有長度為Li的地址前綴所對應(yīng)的分類 器子集;所述對一個下行數(shù)據(jù)分組進(jìn)行分類包括在一個下行數(shù)據(jù)分組到達(dá)后,按照前綴長 度L,將該下行數(shù)據(jù)分組的目的IP地址截取為IP地址前綴,根據(jù)前綴長度Li找到相應(yīng)的 哈希表,即第i個哈希表,在相應(yīng)的哈希表中根據(jù)所截取的IP地址前綴查找相應(yīng)的分類 器子集,然后從相應(yīng)的分類器子集中查找優(yōu)先級最高的相匹配的分類器;從i^l到i二N 循環(huán)執(zhí)行上述步驟,最后將下行數(shù)據(jù)分組映射到最終所找到的優(yōu)先級最高的相匹配的分 類器對應(yīng)的連接上。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于所述映射機(jī)制以哈希表這種數(shù)據(jù)結(jié)構(gòu)來存儲,采用前綴擴(kuò)展技術(shù),即首先定義M個 標(biāo)準(zhǔn)地址前綴長度,其中M為自然數(shù)、且M小于等于32,第i個標(biāo)準(zhǔn)地址前綴長度的 值為Li,其中i^l,2,…,M;對于長度不標(biāo)準(zhǔn)的地址前綴,展開成多條長度標(biāo)準(zhǔn)的地址前 綴組成的集合;建立M個哈希表,其中第i個哈希表用來保存所有長度為Lj的地址前綴 所對應(yīng)的分類器子集;所述對一個下行數(shù)據(jù)分組進(jìn)行分類包括在一個下行數(shù)據(jù)分組到達(dá)后,按照標(biāo)準(zhǔn)地址前綴長度Li將該下行數(shù)據(jù)分組的目的IP地址截取為IP地址前綴,根據(jù)前綴長度Li找到相應(yīng)的哈希表,即第i個哈希表,在相應(yīng)的哈希表中根據(jù)所截取的IP地址前綴査找相應(yīng)的分類器子集,然后從相應(yīng)的分類器子集中查找優(yōu)先級最高的相匹配的分類器;從i =1到i=M循環(huán)執(zhí)行上述步驟,最后將下行數(shù)據(jù)分組映射到最終所找到的優(yōu)先級最高的 相匹配的分類器對應(yīng)的連接上。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于所述對于長度不標(biāo)準(zhǔn)的地址前綴,展開成多條長度標(biāo)準(zhǔn)的地址前綴組成的集合具體 包括設(shè)相鄰的標(biāo)準(zhǔn)地址前綴長度之間的差值均為D,最長的標(biāo)準(zhǔn)地址前綴長度為Lmax, 則其它標(biāo)準(zhǔn)地址前綴長度為Lmax—mD,其中n^0,l,…,M-l;如果地址前綴長度丄,e [丄, _(m+l)Z +l, mZ —l]區(qū)間,則所有這種長度的地址前綴都通過前綴擴(kuò)展,轉(zhuǎn)化為長度為32—wZ 的地址前綴集合,記」£=丄 ^一《^—£,,則上述集合中地址前綴的數(shù)目 為2"個,擴(kuò)展時所增加的^丄個二進(jìn)制位的值分別為從0到2"—1。
5、 根據(jù)權(quán)利要求2—4中任一項所述的方法,其特征在于哈希函數(shù)以IP地址前綴為自變量用折疊法構(gòu)造,即將IP地址前綴后面補零成為32 比特整數(shù)后以字節(jié)為單位分開,將得到的4個字節(jié)作模2加運算,所得結(jié)果即為哈希地 址;采用鏈地址法解決IP地址前綴不同而相應(yīng)的哈希地址相同的沖突情形,即將哈希地 址相同的IP地址前綴存儲到一個IP地址前綴鏈表中,并且按照IP地址前綴的數(shù)值從小 到大的順序排列,IP地址前綴鏈表中的每個節(jié)點稱之為IP地址前綴節(jié)點,每個IP地址 前綴節(jié)點保存其相應(yīng)的分類器子集;所述在相應(yīng)的哈希表中根據(jù)所截取的IP地址前綴査找其相應(yīng)的分類器子集包括根 據(jù)所截取的IP地址前綴計算得到哈希地址,在相應(yīng)的哈希表中根據(jù)哈希地址找到相應(yīng)的 IP地址前綴鏈表,在所找到的相應(yīng)的IP地址前綴鏈表中査找所截取的IP地址前綴對應(yīng) 的IP地址前綴節(jié)點,由于IP地址前綴節(jié)點保存其相應(yīng)的分類器子集,所以找到對應(yīng)的 IP地址前綴節(jié)點即找到了相應(yīng)的分類器子集。
6、 根據(jù)權(quán)利要求1一4中任一項所述的方法,其特征在于對于每個分類器子集,按照優(yōu)先級從高到低的順序排列成一個分類器鏈表; 所述從相應(yīng)的分類器子集中查找優(yōu)先級最高的相匹配的分類器包括在一個下行數(shù) 據(jù)分組的分類操作開始時,記錄當(dāng)前與其匹配的優(yōu)先級最高的分類器及其優(yōu)先級i max, 當(dāng)前與其匹配的優(yōu)先級最高的分類器的初始值為空,i max的初始值為一l;這樣在考査某 個分類器子集時,只需按照該分類器子集對應(yīng)的分類器鏈表順次將每個分類器與分組報 頭作比較,直到找到一個與該分組相匹配的分類器、或者剩余分類器的優(yōu)先級低于i max為止,如果是找到了一個與該分組相匹配的分類器,則更新所記錄的當(dāng)前與其匹配的優(yōu) 先級最高的分類器及其優(yōu)先級及max。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于在分類器鏈表中保存指向相應(yīng)分類器 的指針,而將分類器保存在另外的數(shù)據(jù)結(jié)構(gòu)中。
8、 根據(jù)上述任一權(quán)利要求所述的方法,其特征在于還包括對于不包含目的IP地址分類規(guī)則的分類器、以及包含目的IP地址分類規(guī)則但I(xiàn)P地 址前綴很短的分類器,按優(yōu)先級從高到低的順序另外組織成分類器鏈表并存儲;對一個下行數(shù)據(jù)分組進(jìn)行分類時,首先從其相應(yīng)的分類器子集中査找優(yōu)先級最高的 相匹配的分類器,并記錄當(dāng)前與其匹配的優(yōu)先級最高的分類器及其優(yōu)先級及max;然后在 所述另外組織的分類器鏈表中順次將每個分類器與分組報頭作比較,以尋找優(yōu)先級更高 的相匹配的分類器,在尋找過程中,對于包含目的IP地址分類規(guī)則的分類器需驗證其目 的IP地址分類規(guī)則;最后將下行數(shù)據(jù)分組映射到最終所找到的優(yōu)先級最高的相匹配的分 類器對應(yīng)的連接上。
9、 一種WiMAX基站中基于IP的匯聚子層中激活一個分類器的方法,其特征在于 預(yù)先設(shè)定M個標(biāo)準(zhǔn)的IP地址前綴長度,其中M為自然數(shù)、且M小于等于32,相鄰的標(biāo) 準(zhǔn)地址前綴長度之間的差值均為D,最長的標(biāo)準(zhǔn)地址前綴長度記為£ ^,則其它標(biāo)準(zhǔn)地 址前綴長度分別為Z^—其中m二0, 1,…,M-1,其中將最短的標(biāo)準(zhǔn)地址前綴長度記為丄一 ,并且預(yù)先設(shè)定一個長度閾值,該方法包括以下步驟步驟l、査看該分類器中是否包含目的IP地址分類規(guī)則,如果包含繼續(xù)執(zhí)行步驟2,否則轉(zhuǎn)步驟10;步驟2、査看該分類器包含的目的IP地址分類規(guī)則的IP地址前綴的長度L是否大于長度閾值,如果大于繼續(xù)執(zhí)行步驟3,否則轉(zhuǎn)步驟10;步驟3、如果丄E[丄腿一(附+l)/ +l,2:謹(jǐn)一wi7l區(qū)間,則計算擴(kuò)展后的前綴長度4願一附A哈希表序號-(擴(kuò)展后的前綴長度-i^,n)/D,待擴(kuò)展比特數(shù)」i:=擴(kuò)展后的前綴長度丄,擴(kuò)展后前綴數(shù)目=2",待擴(kuò)展值=0;繼續(xù)執(zhí)行步驟4;步驟4、將分類器原有IP地址前綴按照待擴(kuò)展比特數(shù)作擴(kuò)展,擴(kuò)展的部分的數(shù)值為 待擴(kuò)展值,取得的結(jié)果稱為擴(kuò)展后前綴;對擴(kuò)展后前綴利用哈希函數(shù)求哈希地址,按照求得的哈希地址在前述序號的哈希表中査找擴(kuò)展后前綴對應(yīng)的IP地址前綴鏈表,在該鏈表中查找擴(kuò)展后前綴節(jié)點;繼續(xù)執(zhí)行步驟5;步驟5、如果在該哈希地址對應(yīng)的IP地址前綴鏈表中找到擴(kuò)展后前綴節(jié)點,則轉(zhuǎn)步驟7,否則繼續(xù)執(zhí)行步驟6;步驟6、將該擴(kuò)展后前綴添加到上述哈希地址對應(yīng)的IP地址前綴鏈表中,成為鏈表 中的一個節(jié)點;繼續(xù)執(zhí)行步驟7;步驟7、所述IP地址前綴鏈表中的每個節(jié)點保存有相應(yīng)的分類器指針鏈表,將指向 該分類器的指針添加到前述擴(kuò)展后前綴節(jié)點保存的分類器指針鏈表中;繼續(xù)執(zhí)行步驟8;步驟8、待擴(kuò)展值=待擴(kuò)展值+1,擴(kuò)展后前綴數(shù)目=擴(kuò)展后前綴數(shù)目-1;繼續(xù)執(zhí)行步驟9;步驟9、如果擴(kuò)展后前綴數(shù)目大于0,則轉(zhuǎn)步驟4,否則結(jié)束;步驟IO、將指向該分類器的指針添加到單獨的分類器指針鏈表中,所述單獨的分類器指針鏈表是指不包含目的IP地址分類規(guī)則的分類器、以及包含目的IP地址分類規(guī)則、 但I(xiàn)P地址前綴的長度小于長度閾值的分類器按照優(yōu)先級從高到低排列的分類器指針鏈表;然后結(jié)束。
10、 一種WiMAX基站中基于IP的匯聚子層中解除激活一個分類器的方法,其特征 在于預(yù)先設(shè)定M個標(biāo)準(zhǔn)的IP地址前綴長度,其中M為自然數(shù)、且M小于等于32,相 鄰的標(biāo)準(zhǔn)地址前綴長度之間的差值均為D,最長的標(biāo)準(zhǔn)地址前綴長度記為£ ^,則其它 標(biāo)準(zhǔn)地址前綴長度分別為i^^一附A其中附=0, 1,…,M-1,其中將最短的標(biāo)準(zhǔn)地址前 綴長度記為i^,",并且預(yù)先設(shè)定一個長度閾值,該方法包括以下步驟步驟l、査看該分類器中是否包含目的IP地址分類規(guī)則,如果包含繼續(xù)執(zhí)行步驟2,否則轉(zhuǎn)步驟10;步驟2、査看該分類器包含的目的IP地址分類規(guī)則的IP地址前綴的長度L是否大于長度閾值,如果大于繼續(xù)執(zhí)行步驟3,否則轉(zhuǎn)步驟10;步驟3、如果ZE[丄畫一(附+ 1)"+1,丄匿一mZ7]區(qū)間,則計算擴(kuò)展后的前綴長度4隱一mA哈希表序號氣擴(kuò)展后的前綴長度-丄自)/D,待擴(kuò)展比特數(shù)dZ =擴(kuò)展后的前綴長度丄,擴(kuò)展后前綴數(shù)目=2",待擴(kuò)展值=0;繼續(xù)執(zhí)行步驟4;步驟4,將分類器原有IP地址前綴按照待擴(kuò)展比特數(shù)作擴(kuò)展,擴(kuò)展的部分的數(shù)值為待擴(kuò)展值,取得的結(jié)果稱為擴(kuò)展后前綴;對擴(kuò)展后前綴求哈希函數(shù),按照求得的哈希地 址在前述序號的哈希表中查找擴(kuò)展后前綴對應(yīng)的IP地址前綴鏈表,在該鏈表中查找擴(kuò)展 后前綴節(jié)點;繼續(xù)執(zhí)行步驟5;步驟5,將指向該分類器的指針從前述擴(kuò)展后前綴節(jié)點所保存的分類器指針鏈表中刪 除;繼續(xù)執(zhí)行步驟6;步驟6,如果前述分類器指針鏈表中還有元素,則轉(zhuǎn)步驟8,否則繼續(xù)執(zhí)行步驟7;步驟7,將該擴(kuò)展后前綴節(jié)點從上述哈希地址對應(yīng)的IP地址前綴鏈表中刪除;繼續(xù) 執(zhí)行步驟8;步驟8,待擴(kuò)展值=待擴(kuò)展值+1,擴(kuò)展后前綴數(shù)目=擴(kuò)展后前綴數(shù)目-1;繼續(xù)執(zhí)行步驟9;步驟9,如果擴(kuò)展后前綴數(shù)目大于0,則轉(zhuǎn)步驟4,否則結(jié)束;步驟10,將指向該分類器的指針從單獨的分類器指針鏈表中刪除,所述單獨的分類 器指針鏈表是指不包含目的IP地址分類規(guī)則的分類器、以及包含目的IP地址分類規(guī)則、 但I(xiàn)P地址前綴的長度小于長度閾值的分類器按照優(yōu)先級從高到低排列的分類器指針鏈 表;然后結(jié)束。
全文摘要
一種用于WiMAX基站的基于IP的匯聚子層的實現(xiàn)方法,包括以下兩個部分(1)分類器數(shù)據(jù)結(jié)構(gòu)的維護(hù),包括分類器的建立、刪除、激活、解除激活;(2)對下行分組的分類操作的執(zhí)行,實現(xiàn)要點是(a)以目的IP地址前綴為索引,建立下行分組的目的IP地址到相應(yīng)的分類器子集的映射機(jī)制;(b)利用該分組的目的IP地址前綴來查找相應(yīng)的分類器子集,然后從相應(yīng)的分類器子集中查找優(yōu)先級最高的相匹配的分類器,從而將下行數(shù)據(jù)分組映射到所找到的分類器對應(yīng)的連接上。該方法特別針對目的IP地址進(jìn)行優(yōu)化,顯著提高了分類操作的速率,同時處理算法簡單,易于實現(xiàn)。
文檔編號H04L29/06GK101227484SQ20081005765
公開日2008年7月23日 申請日期2008年2月4日 優(yōu)先權(quán)日2008年2月4日
發(fā)明者謳 王, 亮 雷 申請人:北京北方烽火科技有限公司