運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備及其對(duì)用戶地址映射關(guān)系的處理方法
【專利摘要】本發(fā)明實(shí)施例公開了一種運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備及其對(duì)用戶地址映射關(guān)系的處理方法,方法包括:配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù);根據(jù)配置參數(shù)計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)m與可用端口塊總數(shù)n;依次為N個(gè)用戶地址中的k*m+1~(k+1)*m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與n個(gè)可用端口塊組成的m*n矩陣中第k+1列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址映射關(guān)系;根據(jù)用戶報(bào)文中用戶地址查詢用戶地址映射關(guān)系,獲取用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊并據(jù)此對(duì)用戶報(bào)文做運(yùn)營級(jí)地址轉(zhuǎn)換處理。本發(fā)明實(shí)施例可以降低用戶地址映射關(guān)系被非法用戶發(fā)現(xiàn)的機(jī)會(huì),避免惡意搶占端口對(duì)合法用戶訪問應(yīng)用的影響。
【專利說明】運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備及其對(duì)用戶地址映射關(guān)系的處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其是一種運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備及其對(duì)用戶地址映射關(guān)系的處理方法。
【背景技術(shù)】
[0002]全球第四版互聯(lián)網(wǎng)協(xié)議(IPv4)地址資源已經(jīng)分配完畢,運(yùn)營商網(wǎng)絡(luò)和業(yè)務(wù)都需要弓I入第六版互聯(lián)網(wǎng)協(xié)議(IPv6)過渡技術(shù),逐步向IPv6演進(jìn)。目前,主流的IPv6過渡技術(shù),例如私網(wǎng)雙棧網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translator, NAT) 444、輕型雙棧(DS-Lite)、64互通技術(shù)等,采用了運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備,支持IPv4地址共享和向IPv6演進(jìn)。其中,NAT444的運(yùn)營級(jí)地址轉(zhuǎn)換功能由運(yùn)營級(jí)地址轉(zhuǎn)換裝置(Carrier Grade NAT, CGN)負(fù)責(zé),實(shí)現(xiàn)運(yùn)營級(jí)地址轉(zhuǎn)換;DS_Lite的運(yùn)營級(jí)地址轉(zhuǎn)換功能由地址簇轉(zhuǎn)換裝置(Address FamilyTransit1n Router,AFTR)負(fù)責(zé),在終結(jié)用戶的IPv6隧道的同時(shí),實(shí)現(xiàn)運(yùn)營級(jí)地址轉(zhuǎn)換。64互通技術(shù)由NAT64網(wǎng)關(guān)提供運(yùn)營級(jí)地址轉(zhuǎn)換和協(xié)議翻譯功能。
[0003]在NAT444、DS-Lite和64互通技術(shù)中,CGN、AFTR、NAT64網(wǎng)關(guān)設(shè)備為用戶地址分配對(duì)應(yīng)的IPv4公有地址和端口塊,從而建立用戶地址映射關(guān)系。在用戶上線或訪問互聯(lián)網(wǎng)的過程中,CGN、AFTR和NAT64網(wǎng)關(guān)為用戶一直維護(hù)該地址映射關(guān)系,并從維護(hù)的用戶地址映射關(guān)系表中為用戶會(huì)話選擇端口塊。當(dāng)用戶下線或者用戶的所有會(huì)話表項(xiàng)都超時(shí),CGN、AFTR和NAT64網(wǎng)關(guān)設(shè)備才刪除該用戶地址映射關(guān)系。
[0004]現(xiàn)有技術(shù)通常采用兩種方式為用戶地址分配IPv4公有地址和端口塊。第一種方式是隨機(jī)選擇方式,采用這種方式分配的公有地址和端口塊與用戶地址之間沒有任何關(guān)系,只在需要時(shí)建立臨時(shí)的對(duì)應(yīng)關(guān)系。采用這種映射關(guān)系的創(chuàng)建方式存在以下問題:一方面保證用戶地址與公有地址和端口塊之間的對(duì)應(yīng)關(guān)系不容易被人發(fā)現(xiàn)和利用,具有較高的安全性;另一方面,當(dāng)這種對(duì)應(yīng)關(guān)系被用于支持溯源用戶、進(jìn)行實(shí)時(shí)認(rèn)證時(shí),用戶地址映射關(guān)系的隨機(jī)創(chuàng)建方式要求相關(guān)系統(tǒng)必須采用復(fù)雜的方式或者額外的系統(tǒng)才能及時(shí)獲得準(zhǔn)確的對(duì)應(yīng)關(guān)系,從而增加實(shí)現(xiàn)的復(fù)雜性,也增加了投資,嚴(yán)重時(shí)也會(huì)影響用戶體驗(yàn)。
[0005]第二種方式是按照用戶地址從小到大的順序建立用戶地址與(公有地址、端口塊)之間的固定映射關(guān)系。當(dāng)用戶地址池、公有地址池、端口塊大小和范圍等信息不變,這種映射關(guān)系一旦建立起來就會(huì)長期存在,無論該用戶地址是否被使用,該映射關(guān)系都不會(huì)改變。對(duì)于能夠獲得用戶地址池、公有地址池、端口塊大小和范圍等信息的各種裝置,可以簡單利用排序的方式確定用戶,完成實(shí)時(shí)認(rèn)證等工作。與此相對(duì),由于固定映射關(guān)系采用了相對(duì)簡單的排序方式,這種創(chuàng)建方式會(huì)帶來以下問題:較小的用戶地址優(yōu)先選擇較小的公有地址,只有在一個(gè)公有地址對(duì)應(yīng)的端口塊被用完時(shí),才會(huì)為用戶地址指定下一個(gè)IPv4公有地址及其端口塊。當(dāng)配置的用戶地址相對(duì)連續(xù),容易導(dǎo)致相鄰的幾個(gè)用戶地址集中使用在相對(duì)集中的地址。當(dāng)這些地址被長期使用,其對(duì)應(yīng)關(guān)系容易被人發(fā)現(xiàn),并被利用,例如發(fā)起攻擊。在網(wǎng)絡(luò)設(shè)備為管轄區(qū)域的用戶分配地址時(shí),在某些情況下可能為處于同一個(gè)邏輯端口(例如同一虛擬局域網(wǎng)(Virtual Local Area Network, VLAN)子端口)下的同一個(gè)區(qū)域的用戶分配連續(xù)的IP地址的多個(gè)連續(xù)的端口塊,當(dāng)該地址受到攻擊時(shí),受到影響的用戶群就變得較大,增加安全風(fēng)險(xiǎn)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例所要解決的一個(gè)技術(shù)問題是:針對(duì)上述第二種方式建立固定映射關(guān)系存在的安全風(fēng)險(xiǎn),提供一種運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備及其對(duì)用戶地址映射關(guān)系的處理方法,為用戶地址近似隨機(jī)分配IPv4公有地址和端口塊,以降低用戶地址映射關(guān)系被非法用戶發(fā)現(xiàn)的機(jī)會(huì),避免惡意搶占端口對(duì)合法用戶訪問應(yīng)用的影響。
[0007]本發(fā)明實(shí)施例提供的一種對(duì)用戶地址映射關(guān)系的處理方法,包括:
[0008]根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換裝置覆蓋區(qū)域的用戶信息,配置用戶地址池、第四版互聯(lián)網(wǎng)協(xié)議IPv4公有地址池、端口塊大小與端口范圍參數(shù);其中,用戶地址池包括N個(gè)用戶地址,IPv4公有地址池包括m個(gè)IPv4公有地址,m、N為大于I的整數(shù),m小于N ;
[0009]根據(jù)配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍信息計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)m與可用端口塊總數(shù)η ;其中,η為大于或等于I的整數(shù);
[0010]依次為N個(gè)用戶地址中的k*m+l?(k+l)*m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系;其中,k為從O開始取值的整數(shù),且k的最大值小于n-1 ;m*n矩陣的元素(公有地址,端口塊)由IPv4公有地址池中的一個(gè)IPv4公有地址與一個(gè)可用端口塊組成;
[0011]接收到用戶報(bào)文后,獲取用戶報(bào)文中的用戶地址;
[0012]查詢創(chuàng)建的映射關(guān)系,獲取用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊;
[0013]根據(jù)用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊,從用戶地址對(duì)應(yīng)的端口塊中選擇端口號(hào),并對(duì)用戶報(bào)文做運(yùn)營級(jí)地址轉(zhuǎn)換處理。
[0014]上述方法的一個(gè)具體實(shí)施例中,所述用戶地址池包括多個(gè)IPv4地址段、多個(gè)IPv6地址或者多個(gè)IPv6前綴。
[0015]上述方法的一個(gè)具體實(shí)施例中,根據(jù)配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)與可用端口塊總數(shù)η包括:
[0016]根據(jù)用戶地址池信息計(jì)算用戶地址總數(shù)N ;
[0017]根據(jù)IPv4公有地址池信息計(jì)算IPv4公有地址總數(shù)m ;
[0018]根據(jù)端口塊大小B與端口范圍【ps,pe】信息計(jì)算可用端口塊總數(shù)η ;其中,B為大于O的整數(shù),ps、pe為大于或等于O的整數(shù),ps小于pe。
[0019]上述方法的一個(gè)具體實(shí)施例中,根據(jù)端口塊大小B與端口范圍【ps,pe】信息計(jì)算可用端口塊總數(shù)η包括:
[0020]通過n=int((pe_ps+l)/B)計(jì)算可用端口塊總數(shù) η ;其中,int ((pe-ps+1)/Β)表示對(duì)(pe-ps+1) /B取整,則計(jì)算得到的n個(gè)可用端口塊構(gòu)成的可用端口塊列表中,第j個(gè)端口塊表示為:[ps+(j-l)*B, ps+j*B-l],j=l,......,η。
[0021]上述方法的一個(gè)具體實(shí)施例中,IPv4公有地址池中的m個(gè)IPv4公有地址按照特定順序排列為如下公有地址列表:ΙΡρ_0,IPp_l,IPp_(m-l);
[0022]所述m*n矩陣中第i行第j列的元素(公有地址,端口塊)為:[IPp_i, [ps+(j-l)*B, ps+j*B-l] ],i=0,......(m-1),j=l,......,n。
[0023]上述方法的一個(gè)具體實(shí)施例中,計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)m與可用端口塊總數(shù)η之后,還包括:
[0024]判斷配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)是否合理;
[0025]若配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)合理,執(zhí)行所述依次為N個(gè)用戶地址中的k*m+l?(k+1) *m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊的操作;
[0026]否則,若配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)不合理,重新執(zhí)行所述根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換裝置覆蓋區(qū)域的用戶信息,配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)的操作。
[0027]上述方法的一個(gè)具體實(shí)施例中,當(dāng)N〈=m*n,每個(gè)用戶地址都有一個(gè)對(duì)應(yīng)的IPv4公有地址與端口塊,配置參數(shù)合理;
[0028]否則,當(dāng)N>m*n,配置參數(shù)不合理。
[0029]上述方法的一個(gè)具體實(shí)施例中,查詢建立的映射關(guān)系,獲取用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊包括:
[0030]查詢用戶報(bào)文中的用戶地址在所述用戶地址池中的序號(hào)P ;
[0031]根據(jù)用戶地址在所述用戶地址池中的序號(hào)P計(jì)算該用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊m*n矩陣中的元素位置(I, J);
[0032]讀取m*n矩陣中的元素位置(I,J)上元素包括的IPv4公有地址與端口塊,得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊。
[0033]上述方法的一個(gè)具體實(shí)施例中,根據(jù)用戶地址在所述用戶地址池中的序號(hào)P計(jì)算該用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊m*n矩陣中的元素位置(I,J)包括:
[0034]通過如下方式計(jì)算元素位置(I,J):I= (P-1)mod(m), J=int (P/m)+1 ;其中,(P-1)mod (m)表示對(duì)(P-1)求模,int (P/m)表示對(duì)P/m取整;
[0035]所述得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊為:(IPp_I,[ps+ (J-1)*B, ps+J*B-l]) O
[0036]本發(fā)明實(shí)施例提供的一種運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備,包括:
[0037]配置單元,用于根據(jù)所述運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù);其中,用戶地址池包括N個(gè)用戶地址,IPv4公有地址池包括m個(gè)IPv4公有地址,m、N為大于I的整數(shù),m小于N ;
[0038]創(chuàng)建單元,用于根據(jù)配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍信息計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)m與可用端口塊總數(shù)η;其中,η為大于或等于I的整數(shù);依次為N個(gè)用戶地址中的k*m+l?(k+1) *m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系;其中,k為從O開始取值的整數(shù),m*n矩陣的元素(公有地址,端口塊)由IPv4公有地址池中的一個(gè)IPv4公有地址與一個(gè)可用端口塊組成;
[0039]接收單元,用于在接收到用戶報(bào)文后,獲取用戶報(bào)文中的用戶地址;
[0040]查詢單元,用于查詢由創(chuàng)建單元?jiǎng)?chuàng)建的映射關(guān)系,獲取用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊;
[0041]發(fā)送單元,用于根據(jù)查詢單元查詢到的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊,從用戶地址對(duì)應(yīng)的端口塊中選擇端口號(hào),并對(duì)用戶報(bào)文做運(yùn)營級(jí)地址轉(zhuǎn)換處理。
[0042]上述設(shè)備的一個(gè)具體實(shí)施例中,所述用戶地址池包括多個(gè)IPv4地址段、多個(gè)IPv6地址或者多個(gè)IPv6前綴。
[0043]上述設(shè)備的一個(gè)具體實(shí)施例中,所述創(chuàng)建單元具體根據(jù)用戶地址池信息計(jì)算用戶地址總數(shù)N,根據(jù)IPv4公有地址池信息計(jì)算IPv4公有地址總數(shù)m,以及根據(jù)端口塊大小B與端口范圍【ps,pe】信息計(jì)算可用端口塊總數(shù)η;其中,B為大于O的整數(shù),ps、pe為大于或等于O的整數(shù),ps小于pe。
[0044]上述設(shè)備的一個(gè)具體實(shí)施例中,所述創(chuàng)建單元根據(jù)端口塊大小B與端口范圍【ps,pe】信息計(jì)算可用端口塊總數(shù)η時(shí),具體通過n=int((pe-ps+l)/B)計(jì)算可用端口塊總數(shù)η ;其中,int ((pe-ps+1)/Β)表示對(duì)(pe-ps+1)/B取整,則計(jì)算得到的η個(gè)可用端口塊構(gòu)成的可用端口塊列表中,第j個(gè)端口塊表示為:[ps+(j-l)*B, ps+j*B-l], j=l,......,η。
[0045]上述設(shè)備的一個(gè)具體實(shí)施例中,IPv4公有地址池中的m個(gè)IPv4公有地址按照特定順序排列為如下公有地址列表:ΙΡρ_0,IPp_l,IPp_(m-l);
[0046]所述m*n矩陣中第i行第j列的元素(公有地址,端口塊)為:[IPp_i, [ps+(j-l)*B, ps+j*B-l] ],i=0,......(m-1),j=l,......,n。
[0047]上述設(shè)備的一個(gè)具體實(shí)施例中,所述創(chuàng)建單元還用于在計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)m與可用端口塊總數(shù)η之后,判斷配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)是否合理;若配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)合理,執(zhí)行所述依次為N個(gè)用戶地址中的k*m+l?(k+1) *m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊的操作;否則,若配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)不合理,指示所述配置單元重新執(zhí)行所述根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)的操作。
[0048]上述設(shè)備的一個(gè)具體實(shí)施例中,當(dāng)N〈=m*n,每個(gè)用戶地址都有一個(gè)對(duì)應(yīng)的IPv4公有地址與端口塊,配置參數(shù)合理;
[0049]否則,當(dāng)N>m*n,配置參數(shù)不合理。
[0050]上述設(shè)備的一個(gè)具體實(shí)施例中,所述查詢單元具體查詢用戶報(bào)文中的用戶地址在所述用戶地址池中的序號(hào)P;根據(jù)用戶地址在所述用戶地址池中的序號(hào)P計(jì)算該用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊m*n矩陣中的元素位置(I,J);以及讀取m*n矩陣中的元素位置(I,J)上元素包括的IPv4公有地址與端口塊,得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊。
[0051]上述設(shè)備的一個(gè)具體實(shí)施例中,所述查詢單元根據(jù)用戶地址在所述用戶地址池中的序號(hào)P計(jì)算該用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊m*n矩陣中的元素位置(I,J)時(shí),具體通過如下方式計(jì)算元素位置(I,J):1= (P-1) mod (m), J=int (P/m) +1 ;其中,(P-1) mod (m)表示對(duì)(P-1)求模,int (P/m)表示對(duì)P/m取整;
[0052]所述得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊為:(IPp_I,[ps+ (J-1)*B, ps+J*B-l]) O
[0053]基于本發(fā)明上述實(shí)施例提供的運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備及其對(duì)用戶地址映射關(guān)系的處理方法,依次為N個(gè)用戶地址中的k*m+l?(k+1)*m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系,將連續(xù)的用戶地址對(duì)應(yīng)的IPv4公有地址及端口塊分散到整個(gè)IPv4公有地址池,使連續(xù)的用戶地址盡量使用不同的IPv4公有地址,并使用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊近似隨機(jī)關(guān)系,不易被非法用戶發(fā)現(xiàn)和利用,與現(xiàn)有技術(shù)第二種方式建立固定映射關(guān)系存在的安全風(fēng)險(xiǎn)相比,從而提高了用戶地址映射關(guān)系的安全性,將惡意搶占端口號(hào)等攻擊行為的影響降到最小。
[0054]下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【專利附圖】
【附圖說明】
[0055]構(gòu)成說明書的一部分的附圖描述了本發(fā)明的實(shí)施例,并且連同描述一起用于解釋本發(fā)明的原理。
[0056]參照附圖,根據(jù)下面的詳細(xì)描述,可以更加清楚地理解本發(fā)明,其中:
[0057]圖1為本發(fā)明對(duì)用戶地址映射關(guān)系的處理方法一個(gè)實(shí)施例的流程圖。
[0058]圖2為本發(fā)明對(duì)用戶地址映射關(guān)系的處理方法另一個(gè)實(shí)施例的流程圖。
[0059]圖3為本發(fā)明對(duì)用戶地址映射關(guān)系的處理方法又一個(gè)實(shí)施例的流程圖。
[0060]圖4為本發(fā)明運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0061]現(xiàn)在將參照附圖來詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
[0062]同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際的比例關(guān)系繪制的。
[0063]以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
[0064]對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說明書的一部分。
[0065]在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它示例可以具有不同的值。
[0066]應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
[0067]圖1為本發(fā)明對(duì)用戶地址映射關(guān)系的處理方法一個(gè)實(shí)施例的流程圖。如圖1所示,該實(shí)施例對(duì)用戶地址映射關(guān)系的處理方法包括:
[0068]110,根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)。
[0069]其中,用戶地址池包括N個(gè)用戶地址,IPv4公有地址池包括m個(gè)IPv4公有地址,m、N為大于I的整數(shù),m小于N。
[0070]120,根據(jù)配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍信息計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)m與可用端口塊總數(shù)η。
[0071]其中,η為大于或等于I的整數(shù)。
[0072]具體地,該操作120中,可以根據(jù)用戶地址池信息計(jì)算用戶地址總數(shù)N;根據(jù)IPv4公有地址池信息計(jì)算IPv4公有地址總數(shù)m ;根據(jù)端口塊大小B與端口范圍【ps,pe】信息計(jì)算可用端口塊總數(shù)η。其中,B為大于O的整數(shù),ps、pe分別表示開始端口號(hào)和結(jié)束端口號(hào),為大于或等于O的整數(shù),ps小于pe。
[0073]130,依次為N個(gè)用戶地址中的k*m+l?(k+1) 個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系。
[0074]其中,k為從O開始取值的整數(shù),m*n矩陣也稱為(公有地址,端口塊)矩陣,m*n矩陣中的各元素(公有地址,端口塊)由IPv4公有地址池中的一個(gè)IPv4公有地址與一個(gè)可用端口塊組成。
[0075]140,接收到用戶報(bào)文后,獲取用戶報(bào)文中的用戶地址。
[0076]150,查詢創(chuàng)建的映射關(guān)系,獲取用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊。
[0077]160,根據(jù)用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊,從用戶地址對(duì)應(yīng)的端口塊中選擇端口號(hào),并對(duì)用戶報(bào)文做運(yùn)營級(jí)地址轉(zhuǎn)換處理。
[0078]本發(fā)明上述實(shí)施例提供的對(duì)用戶地址映射關(guān)系的處理方法,依次為N個(gè)用戶地址中的k*m+l?(k+1) *m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系,將連續(xù)的用戶地址對(duì)應(yīng)的IPv4公有地址及端口塊分散到整個(gè)IPv4公有地址池,使連續(xù)的用戶地址盡量使用不同的IPv4公有地址,并使用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊近似隨機(jī)關(guān)系,不易被非法用戶發(fā)現(xiàn)和利用,與現(xiàn)有技術(shù)第二種方式建立固定映射關(guān)系存在的安全風(fēng)險(xiǎn)相比,從而提高了用戶地址映射關(guān)系的安全性,將惡意搶占端口號(hào)等攻擊行為的影響降到最小。
[0079]本發(fā)明實(shí)施例中的用戶地址池指所有用戶地址組成的集合。用戶地址池代表可以分配給用戶使用的地址,例如,由網(wǎng)絡(luò)設(shè)備分配給用戶主機(jī)使用。例如,當(dāng)用戶上線,寬帶接入服務(wù)器(BRAS)為用戶分配地址。用戶地址池的地址可以包括運(yùn)營級(jí)地址轉(zhuǎn)換裝置覆蓋區(qū)域的所有可用的用戶地址。
[0080]本發(fā)明實(shí)施例中的用戶地址指,在用戶接入網(wǎng)絡(luò)后,網(wǎng)絡(luò)設(shè)備(例如BRAS)為用戶終端分配的IP地址。該IP地址作為用戶主機(jī)(或稱為用戶終端)訪問互聯(lián)網(wǎng)的源地址或者標(biāo)識(shí)用戶的源地址。
[0081]當(dāng)向用戶分配的IP地址作為用戶主機(jī)訪問互聯(lián)網(wǎng)的源地址,IPv4用戶地址通常是IPv4私有地址,需要經(jīng)過運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備才能訪問互聯(lián)網(wǎng);IPv6地址通常是全局地址。當(dāng)分配的IPv6地址由路由型家庭網(wǎng)關(guān)LAN側(cè)主機(jī)使用,該地址是IPv6前綴。當(dāng)分配的IP地址用于標(biāo)識(shí)用戶,該地址是IPv4時(shí)用于代表用戶側(cè)的IPv4隧道端點(diǎn);該地址是IPv6時(shí)用于代表用戶側(cè)的IPv6隧道端點(diǎn)。因此,本發(fā)明中,用戶地址池可以包括多個(gè)IPv4地址段、多個(gè)IPv6地址或者多個(gè)IPv6前綴,相應(yīng)的用戶地址可以是IPv4私有地址、IPv6地址或者IPv6前綴。
[0082]操作160中,當(dāng)用戶地址是IPv4私有地址時(shí),用戶報(bào)文需要做運(yùn)營級(jí)地址轉(zhuǎn)換,用IPv4公有地址替換IPv4私有地址,并從對(duì)應(yīng)的端口塊中選擇一個(gè)端口號(hào)替換用戶報(bào)文中的源端口,才能訪問互聯(lián)網(wǎng)。當(dāng)用戶地址是IPv6地址或前綴,并被用于標(biāo)識(shí)用戶,用戶地址可以代表DS-Lite等技術(shù)中的隧道起點(diǎn),需要對(duì)用戶報(bào)文做隧道封裝,即把用戶地址作為報(bào)文源地址,網(wǎng)絡(luò)側(cè)端點(diǎn)地址作為報(bào)文目的地址,內(nèi)層封裝其他報(bào)文(即在IPv6隧道中封裝IPv4報(bào)文),例如IPv4報(bào)文;當(dāng)用戶地址是IPv6地址或IPv6前綴,被用作報(bào)文源地址,則用戶報(bào)文需要做IPv6到IPv4的地址轉(zhuǎn)換或翻譯,即用IPv4公有地址代替IPv6用戶地址,用IPv4頭代替IPv6頭,再發(fā)送到互聯(lián)網(wǎng)上。
[0083]本發(fā)明各實(shí)施例對(duì)用戶地址映射關(guān)系的處理方法中,主要包括用戶地址映射關(guān)系創(chuàng)建過程(對(duì)應(yīng)操作110?130)和用戶地址映射關(guān)系查詢過程(對(duì)應(yīng)操作150)。
[0084]在本發(fā)明對(duì)用戶地址映射關(guān)系的處理方法的另一個(gè)實(shí)施例中,執(zhí)行完操作120后,可以判斷配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)是否合理。若合理,執(zhí)行操作130 ;否則,重新執(zhí)行操作110配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)。
[0085]圖2為本發(fā)明對(duì)用戶地址映射關(guān)系的處理方法另一個(gè)實(shí)施例的流程圖。該實(shí)施例以一個(gè)具體實(shí)例為例對(duì)本發(fā)明實(shí)施例中用戶地址映射關(guān)系創(chuàng)建過程進(jìn)行示例性說明,并不對(duì)本發(fā)明實(shí)施例構(gòu)成限制。如圖2所示,該實(shí)施例包括:
[0086]210,根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池USer_P00l、IPv4公有地址池IPv4_Pool、端口塊大小B與端口范圍【ps,pe】參數(shù)。
[0087]配置的各參數(shù)具有多種形式,以下舉例描述各參數(shù)的形式:
[0088]User_Pool:由多個(gè)IPv4地址段組成,例如,【al,bl】,【a2,b2],.......,或者,
由多個(gè)IPv6前綴組成,例如,aaaal:aaaa2::/前綴長度I, bbbbl:bbbb2::/前綴長度
2,.......User_Pool只允許采用IPv4地址段組成的地址集合或者由IPv6前綴組成前綴集合,不允許同時(shí)采用IPv4地址集合和IPv6前綴作為用戶地址池中的用戶地址。
[0089]IPv4_Pool:由多個(gè)IPv4公有地址段組成,例如,[cl, dl】,[c2, d2】,.......
[0090]220,根據(jù)用戶地址池信息計(jì)算用戶地址總數(shù)N ;根據(jù)IPv4公有地址池信息計(jì)算IPv4公有地址總數(shù)m ;根據(jù)端口塊大小B與端口范圍【ps,pe】信息計(jì)算可用端口塊總數(shù)η。
[0091]當(dāng)用戶地址池是IPv4地址池,用戶地址總數(shù)N計(jì)算方式如下:
[0092]N= (bl-al+1) + (b2_a2+l) +......
[0093]其中,al,a2,......;bl,b2,......是用戶IPv4地址對(duì)應(yīng)的十進(jìn)制數(shù)值。
[0094]當(dāng)用戶地址池是IPv6前綴池,用戶地址總數(shù)N的計(jì)算方式如下(這里按照不同用戶終端分配不同的64長度的IPv6前綴):
[0095]N=2 ~ (64-前綴長度 I) +2 ~ (64-前綴長度 2 ) +......
[0096]其中,2~ (64-前綴長度I)表示2的(64-前綴長度I)次冪。當(dāng)不同用戶終端分配的前綴長度為其他值,比如τ (T小于等于128),用戶地址總數(shù)N的計(jì)算方式如下:
[0097]N=2 ~ (T-前綴長度 I) +2 ~ (T-前綴長度 2 ) +......
[0098]其中,2~ (T-前綴長度I)表示2的(T-前綴長度I)次冪。
[0099]所有用戶地址按照預(yù)設(shè)特定順序排列,例如,按照從小到大、從大到小或者其他指定順序,可以生成如下列表:IP1, IP2,......,IPN0
[0100]IPv4公有地址池中的IPv4公有地址總數(shù)m計(jì)算方式如下:
[0101]m= (dl-cl+1) + (d2_c2+l)+......
[0102]所有IPv4公有地址按照特定順序排列,例如,按照從小到大、從大到小或者其他指定順序排列,可以生成如下列表:
[0103]IPp_0, IPp_l,...., IPp_(m_l)。
[0104]可用端口塊數(shù)的計(jì)算方法如下:
[0105]n=int ((pe-ps+1) /B)
[0106]其中,int( (pe-ps+1)/B)表示對(duì)(pe-ps+1)/B取整。所有按照這種方式生成的可用端口塊列表如下:
[0107]第j 個(gè)端口塊為:[ps+(j_l)*B, ps+j*B_l],j=l,......,η。
[0108]IPv4公有地址池中的所有用戶地址,可用端口塊構(gòu)成m*n矩陣,矩陣中第i行第j列的的一個(gè)元素(公有地址,端口塊)可以表示如下:
[0109][IPp_i, [ps+(j-l)*B, ps+j*B-l]],i=0,......(m_l), j=l,......, n
[0110]其中,i表示矩陣行號(hào),j表示矩陣列號(hào),上述元素表示矩陣中第i行第j列的IPv4公有地址與端口塊。
[0111]230,判斷配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)是否合理。
[0112]示例性地,可以計(jì)算并比較用戶地址、IPv4公有地址、端口范圍及端口塊大小等參數(shù)的合理性。
[0113]當(dāng)N〈=m*n,即每個(gè)用戶地址都可以找到一個(gè)對(duì)應(yīng)的IPv4公有地址及其端口塊,認(rèn)為配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)合理,執(zhí)行240的操作。否則,當(dāng)N>m*n,配置參數(shù)不合理,認(rèn)為配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)不合理,返回執(zhí)行210的操作,重新根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)。
[0114]240,依次為N個(gè)用戶地址中的k*m+l?(k+1) 個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系。
[0115]其中,k為從O開始取值的整數(shù),m*n矩陣中的各元素(公有地址,端口塊)由IPv4公有地址池中的一個(gè)IPv4公有地址與一個(gè)可用端口塊組成。
[0116]示例性地,為用戶地址選擇對(duì)應(yīng)的IPv4公有地址和端口塊,選擇的方法是:(公有地址,端口塊)矩陣按列與用戶地址創(chuàng)建映射關(guān)系,即:用前m個(gè)用戶地址對(duì)應(yīng)用(公有地址,端口塊)矩陣的第I列,第m+1個(gè)用戶地址對(duì)應(yīng)矩陣的第2列,依次類推,直到所有用戶地址都確定了對(duì)應(yīng)的IPv4公有地址和端口塊。
[0117]當(dāng)確定了為用戶地址從(公有地址,端口塊)矩陣中選擇IPv4公有地址和端口塊的方法,各用戶地址對(duì)應(yīng)的(公有地址,端口塊)就確定了,也就為用戶地址池的所有地址創(chuàng)建了用戶地址映射關(guān)系。具體方法如下:
[0118]對(duì)于用戶地址列表IP1,IP2,......,IPN中的第X個(gè)地址(x=l,......,N),用戶地址IPx對(duì)應(yīng)的用戶地址和端口塊序號(hào)如下:
[0119]I= (χ-1) mod (m);
[0120]J=int (x/m) +1 ;
[0121]x=l,......,N ;
[0122]其中,(x-1)mod(m), χ=1,......,N表示對(duì)χ_1進(jìn)行求模運(yùn)算,即(x_l)/m的余數(shù);
int (x/m)表示對(duì)x/m做取整運(yùn)算。這里的I, J表示對(duì)應(yīng)的IP地址和端口塊序號(hào),即:用戶地址IP的對(duì)應(yīng)關(guān)系如下:
[0123]IPx<——>(IPp_I,[ps+(J-1) *B, ps+J*B_l])。
[0124]圖3為本發(fā)明對(duì)用戶地址映射關(guān)系的處理方法又一個(gè)實(shí)施例的流程圖。該實(shí)施例中,繼續(xù)參考圖2中的具體實(shí)例,對(duì)本發(fā)明實(shí)施例中用戶地址映射關(guān)系查詢過程進(jìn)行示例性說明。接收到用戶報(bào)文后,從用戶報(bào)文中獲得用戶地址信息,根據(jù)已經(jīng)創(chuàng)建的用戶地址映射關(guān)系,可以直接確定用戶地址對(duì)應(yīng)的IPv4公有地址和端口塊等信息。如圖3所示,該實(shí)施例包括:
[0125]310,查詢用戶報(bào)文中的用戶地址在用戶地址池中的序號(hào)P。
[0126]將用戶報(bào)文中的用戶地址IP依次與用戶地址池中的用戶地址列表IP1,IP2,......, IPN的地址進(jìn)行比較:
[0127]當(dāng)IP=IPl,則 P=I ;否則
[0128]當(dāng)IP=IP2,則 P=2 ;否則
[0129]......
[0130]當(dāng)IP=IPx,則 P=X ;否則
[0131]......
[0132]當(dāng)IP=IPN,則 P=N ;否則
[0133]返回錯(cuò)誤信息。
[0134]320,根據(jù)用戶地址在用戶地址池中的序號(hào)P計(jì)算該用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊m*n矩陣中的元素位置(I,J)。具體的計(jì)算方法與圖2所示實(shí)施例用戶地址映射關(guān)系創(chuàng)建過程方法相應(yīng)。
[0135]示例性地,可以通過如下方式計(jì)算元素位置(I,J):1= (P-1)mod(m),J=int (P/
m) +1 ο
[0136]其中,(P-l)mod(m)表示對(duì)P-1進(jìn)行求模運(yùn)算,即(P-1)/m的余數(shù);int (P/m)表示對(duì)P/m做取整運(yùn)算。這里的I,J表示對(duì)應(yīng)的IP地址和端口塊序號(hào)。
[0137]330,讀取m*n矩陣中的元素位置(I,J)上元素包括的IPv4公有地址與端口塊,得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊。
[0138]基于320中的示例,可以得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊為:(IPp_I,[PS+(J-1) *B,ps+J*B-l])。
[0139]圖4為本發(fā)明運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。該實(shí)施例的運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備可用于實(shí)現(xiàn)本發(fā)明上述各對(duì)用戶地址映射關(guān)系的處理方法實(shí)施例。如圖4所示,其包括配置單元、創(chuàng)建單元、接收單元、查詢單元與發(fā)送單元。其中:
[0140]配置單元,用于根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)。其中,用戶地址池包括N個(gè)用戶地址,IPv4公有地址池包括m個(gè)IPv4公有地址,m、N為大于I的整數(shù),m小于N。
[0141]示例性地,用戶地址池包括多個(gè)IPv4地址段、多個(gè)IPv6地址或者多個(gè)IPv6前綴。
[0142]創(chuàng)建單元,用于根據(jù)配置單元配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍信息計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)m與可用端口塊總數(shù)η ;其中,η為大于或等于I的整數(shù);依次為N個(gè)用戶地址中的k*m+l?(k+l)*m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系。其中,k為從O開始取值的整數(shù),m*n矩陣的元素(公有地址,端口塊)由IPv4公有地址池中的一個(gè)IPv4公有地址與一個(gè)可用端口塊組成。
[0143]接收單元,用于在接收到用戶報(bào)文后,獲取用戶報(bào)文中的用戶地址。
[0144]查詢單元,用于查詢由創(chuàng)建單元?jiǎng)?chuàng)建的映射關(guān)系,獲取用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊。
[0145]當(dāng)用戶報(bào)文到達(dá)運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備,查詢單元可以利用用戶報(bào)文攜帶的用戶地址查詢對(duì)應(yīng)的公有地址、端口塊;在融合BRAS功能與運(yùn)營級(jí)地址轉(zhuǎn)換功能的運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備中,當(dāng)用戶上線,BRAS為用戶分配地址,運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備可以直接查詢該地址對(duì)應(yīng)的公有地址、端口塊,從而支持用戶訪問。
[0146]發(fā)送單元,用于根據(jù)查詢單元查詢到的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊,從用戶地址對(duì)應(yīng)的端口塊中選擇端口號(hào),并對(duì)用戶報(bào)文做運(yùn)營級(jí)地址轉(zhuǎn)換處理。
[0147]本發(fā)明上述實(shí)施例提供的運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備,依次為N個(gè)用戶地址中的k*m+l?(k+1) *m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k + I列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系,將連續(xù)的用戶地址對(duì)應(yīng)的IPv4公有地址及端口塊分散到整個(gè)IPv4公有地址池,使連續(xù)的用戶地址盡量使用不同的IPv4公有地址,并使用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊近似隨機(jī)關(guān)系,不易被非法用戶發(fā)現(xiàn)和利用,與現(xiàn)有技術(shù)第二種方式建立固定映射關(guān)系存在的安全風(fēng)險(xiǎn)相比,從而提高了用戶地址映射關(guān)系的安全性,將惡意搶占端口號(hào)等攻擊行為的影響降到最小。
[0148]根據(jù)本發(fā)明運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備實(shí)施例的一個(gè)具體示例而非限制,創(chuàng)建單元具體可以根據(jù)用戶地址池信息計(jì)算用戶地址總數(shù)N,根據(jù)IPv4公有地址池信息計(jì)算IPv4公有地址總數(shù)m,以及根據(jù)端口塊大小B與端口范圍【ps,pe】信息計(jì)算可用端口塊總數(shù)η;其中,B為大于O的整數(shù),ps、pe為大于或等于O的整數(shù),ps小于pe。
[0149]進(jìn)一步示例性地,創(chuàng)建單元根據(jù)端口塊大小B與端口范圍【ps,pe】信息計(jì)算可用端口塊總數(shù)η時(shí),具體可以通過n=int((pe-ps+l)/B)計(jì)算可用端口塊總數(shù)η ;其中,int ((pe-ps+1)/Β)表示對(duì)(pe-ps+1)/B取整,則計(jì)算得到的η個(gè)可用端口塊構(gòu)成的可用端口塊列表中,第 j 個(gè)端口塊表示為:[ps+(j-l)*B, ps+j*B-l], j=l,......,η。
[0150]示例性地,IPv4公有地址池中的m個(gè)IPv4公有地址按照特定順序排列為如下公有地址列表:ΙΡρ_0,IPp_l,IPp_(m-l)。相應(yīng)地,m*n矩陣中第i行第j列的元素(公有地址,端口塊)具體可以表示為:[IPp_i, [ps+(j-l)*B,ps+j*B-l]],i=0,......(m_l),j=
I,......,η。
[0151]在本發(fā)明運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備的另一個(gè)實(shí)施例中,創(chuàng)建單元還可以用于在計(jì)算用戶地址總數(shù)N、IPv4公有地址總數(shù)m與可用端口塊總數(shù)η之后,判斷配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)是否合理;若配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)合理,執(zhí)行依次為N個(gè)用戶地址中的k*m+l?(k+l)*m個(gè)用戶地址,分配由m個(gè)IPv4公有地址與η個(gè)可用端口塊組成的m*n矩陣中第k+Ι列各行元素(公有地址,端口塊)對(duì)應(yīng)的IPv4公有地址與端口塊的操作;否則,若配置的用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)不合理,指示配置單元重新執(zhí)行根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池、IPv4公有地址池、端口塊大小與端口范圍參數(shù)的操作。
[0152]示例性地,當(dāng)N〈=m*n,每個(gè)用戶地址都有一個(gè)對(duì)應(yīng)的IPv4公有地址與端口塊,配置參數(shù)合理;否則,當(dāng)N>m*n,配置參數(shù)不合理。
[0153]根據(jù)本發(fā)明運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備實(shí)施例的另一個(gè)具體示例而非限制,查詢單元具體可以查詢用戶報(bào)文中的用戶地址在用戶地址池中的序號(hào)P;根據(jù)用戶地址在用戶地址池中的序號(hào)P計(jì)算該用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊m*n矩陣中的元素位置(I,J);以及讀取m*n矩陣中的元素位置(I,J)上元素包括的IPv4公有地址與端口塊,得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊。
[0154]示例性地,查詢單元根據(jù)用戶地址在用戶地址池中的序號(hào)P計(jì)算該用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊m*n矩陣中的元素位置(I, J)時(shí),具體可以通過如下方式計(jì)算元素位置(I,J): I= (P-1) mod (m), J=int (P/m)+1 ;得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的IPv4公有地址與端口塊為:(IPp_I, [ps+(J-1) *B,ps+J*B-l])。
[0155]本說明書中各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似的部分相互參見即可。對(duì)于設(shè)備實(shí)施例而言,由于其與方法實(shí)施例基本對(duì)應(yīng),所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0156]可能以許多方式來實(shí)現(xiàn)本發(fā)明的方法和設(shè)備。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實(shí)現(xiàn)本發(fā)明的方法和設(shè)備。用于所述方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
[0157]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0158]本發(fā)明實(shí)施例可以提高用戶地址映射關(guān)系的安全性,避免搶占端口對(duì)用戶訪問應(yīng)用的影響。其中的運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備可以是如CGN/AFTR/NAT64等,可以適用于NAT444、DS-Lite、NAT64等下一代互聯(lián)網(wǎng)過渡技術(shù)部署的場景。
[0159]本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對(duì)于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實(shí)施例是為了更好說明本發(fā)明的原理和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計(jì)適于特定用途的帶有各種修改的各種實(shí)施例。
【權(quán)利要求】
1.一種對(duì)用戶地址映射關(guān)系的處理方法,其特征在于,包括: 根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換裝置覆蓋區(qū)域的用戶信息,配置用戶地址池、第四版互聯(lián)網(wǎng)協(xié)議1?乂4公有地址池、端口塊大小與端口范圍參數(shù);其中,用戶地址池包括~個(gè)用戶地址,1?乂4公有地址池包括III個(gè)1?乂4公有地址,II1、^為大于1的整數(shù),III小于X ; 根據(jù)配置的用戶地址池、公有地址池、端口塊大小與端口范圍信息計(jì)算用戶地址總數(shù)隊(duì)1?^4公有地址總數(shù)?。?!與可用端口塊總數(shù)II ;其中,II為大于或等于1的整數(shù); 依次為X個(gè)用戶地址中的1^*111+1?(1^+1)細(xì)個(gè)用戶地址,分配由III個(gè)1?乂4公有地址與II個(gè)可用端口塊組成的神11矩陣中第& + 1列各行元素(公有地址,端口塊)對(duì)應(yīng)的1?\4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系;其中沽為從0開始取值的整數(shù),且&的最大值小于11-1 5111*11矩陣的元素(公有地址,端口塊)由1??4公有地址池中的一個(gè)1??4公有地址與一個(gè)可用端口塊組成; 接收到用戶報(bào)文后,獲取用戶報(bào)文中的用戶地址; 查詢創(chuàng)建的映射關(guān)系,獲取用戶報(bào)文中的用戶地址對(duì)應(yīng)的1?卩4公有地址與端口塊; 根據(jù)用戶地址對(duì)應(yīng)的1?卩4公有地址與端口塊,從用戶地址對(duì)應(yīng)的端口塊選擇端口號(hào),并對(duì)用戶報(bào)文做運(yùn)營級(jí)地址轉(zhuǎn)換處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述用戶地址池包括多個(gè)地址段、多個(gè)1??6地址或者多個(gè)1??6前綴。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)配置的用戶地址池、公有地址池、端口塊大小與端口范圍參數(shù)計(jì)算用戶地址總數(shù)隊(duì)1?^4公有地址總數(shù)與可用端口塊總數(shù)II包括: 根據(jù)用戶地址池信息計(jì)算用戶地址總數(shù)~ ; 根據(jù)公有地址池信息計(jì)算公有地址總數(shù)?。。?; 根據(jù)端口塊大小8與端口范圍【?8,押】信息計(jì)算可用端口塊總數(shù)II ;其中,8為大于0的整數(shù),為大于或等于0的整數(shù),小于1)6。
4.根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的方法,其特征在于,根據(jù)端口塊大小8與端口范圍【?8,信息計(jì)算可用端口塊總數(shù)II包括: 通過 11=1111:((1)6-1)8+1)/8)計(jì)算可用端口塊總數(shù) II ;其中,1=1:((1)6-1)8+1)/8)表示對(duì)(¢6-1)8+1) /8取整,則計(jì)算得到的個(gè)可用端口塊構(gòu)成的可用端口塊列表中,第』個(gè)端口塊表示為:[¢18+(^-1)^8, ¢8+^8-1],』二1,......,II。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,1?^4公有地址池中的III個(gè)1??4公有地址按照特定順序排列為如下公有地址列表1??」,....,; 所述111*11矩陣中第1行第』列的元素(公有地址,端口塊)為[¢18+(^-1)^8, ¢18+^8-1] 1,1=0,......(111-1),』二1,......,II。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,計(jì)算用戶地址總數(shù)隊(duì)公有地址總數(shù)III與可用端口塊總數(shù)II之后,還包括: 判斷配置的用戶地址池、1?^4公有地址池、端口塊大小與端口范圍參數(shù)是否合理; 若配置的用戶地址池、公有地址池、端口塊大小與端口范圍參數(shù)合理,執(zhí)行所述依次為~個(gè)用戶地址中的化針1?(1^+1)細(xì)個(gè)用戶地址,分配由III個(gè)1?^4公有地址與II個(gè)可用端口塊組成的神11矩陣中第& + 1列各行元素(公有地址,端口塊)對(duì)應(yīng)的1?^4公有地址與端口塊的操作; 否則,若配置的用戶地址池、公有地址池、端口塊大小與端口范圍參數(shù)不合理,重新執(zhí)行所述根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換裝置覆蓋區(qū)域的用戶信息,配置用戶地址池、公有地址池、端口塊大小與端口范圍參數(shù)的操作。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,當(dāng)%二111袖,每個(gè)用戶地址都有一個(gè)對(duì)應(yīng)的1?乂4公有地址與端口塊,配置參數(shù)合理; 否則,當(dāng)心神]!,配置參數(shù)不合理。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,查詢建立的映射關(guān)系,獲取用戶報(bào)文中的用戶地址對(duì)應(yīng)的1??4公有地址與端口塊包括: 查詢用戶報(bào)文中的用戶地址在所述用戶地址池中的序號(hào)?; 根據(jù)用戶地址在所述用戶地址池中的序號(hào)?計(jì)算該用戶地址對(duì)應(yīng)的公有地址與端口塊神11矩陣中的元素位置(1,1)5 讀取神11矩陣中的元素位置(I,了)上元素包括的公有地址與端口塊,得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的1?4公有地址與端口塊。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,根據(jù)用戶地址在所述用戶地址池中的序號(hào)?計(jì)算該用戶地址對(duì)應(yīng)的公有地址與端口塊!11袖矩陣中的元素位置(1, 了)包括:
通過如下方式計(jì)算元素位置(1, 1):1= (9-1)1110(1 (111) ,1=1111:(^/111)+1 ;其中,(9-1)1110(1(111)表示對(duì)([-1)求模,1=1:(9/111)表示對(duì)?/111取整; 所述得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的1?74公有地址與端口塊為[¢18+ (:-1)氺8,¢8+^8-1])。
10.一種運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備,其特征在于,包括: 配置單元,用于根據(jù)所述運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池、1?乂4公有地址池、端口塊大小與端口范圍參數(shù);其中,用戶地址池包括~個(gè)用戶地址,1?乂4公有地址池包括III個(gè)1?乂4公有地址,II1、^為大于1的整數(shù),III小于X ; 創(chuàng)建單元,用于根據(jù)配置的用戶地址池、公有地址池、端口塊大小與端口范圍信息計(jì)算用戶地址總數(shù)隊(duì)1”4公有地址總數(shù)?。?!與可用端口塊總數(shù)II ;其中,II為大于或等于1的整數(shù);依次為^個(gè)用戶地址中的化針1?個(gè)用戶地址,分配由III個(gè)1?乂4公有地址與II個(gè)可用端口塊組成的神11矩陣中第& + 1列各行元素(公有地址,端口塊)對(duì)應(yīng)的1?乂4公有地址與端口塊,創(chuàng)建用戶地址與分配的(公有地址,端口塊)之間的映射關(guān)系;其中沽為從0開始取值的整數(shù),且&的最大值小于11-1 5111*11矩陣的元素(公有地址,端口塊)由1?乂4公有地址池中的一個(gè)1?卩4公有地址與一個(gè)可用端口塊組成; 接收單元,用于在接收到用戶報(bào)文后,獲取用戶報(bào)文中的用戶地址; 查詢單元,用于查詢由創(chuàng)建單元?jiǎng)?chuàng)建的映射關(guān)系,獲取用戶報(bào)文中的用戶地址對(duì)應(yīng)的1?乂4公有地址與端口塊; 發(fā)送單元,用于根據(jù)查詢單元查詢到的用戶地址對(duì)應(yīng)的1?74公有地址與端口塊,從用戶地址對(duì)應(yīng)的端口塊選擇端口號(hào),并對(duì)用戶報(bào)文做運(yùn)營級(jí)地址轉(zhuǎn)換處理。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其特征在于,所述用戶地址池包括多個(gè)地址段、多個(gè)1??6地址或者多個(gè)1??6前綴。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,所述創(chuàng)建單元具體根據(jù)用戶地址池信息計(jì)算用戶地址總數(shù)I根據(jù)1^4公有地址池信息計(jì)算公有地址總數(shù)%以及根據(jù)端口塊大小8與端口范圍【%,押】信息計(jì)算可用端口塊總數(shù)II ;其中,8為大于0的整數(shù),%、為大于或等于0的整數(shù),小于押。
13.根據(jù)權(quán)利要求10至12任意一項(xiàng)所述的設(shè)備,其特征在于,所述創(chuàng)建單元根據(jù)端口塊大小8與端口范圍【?8,1)6】信息計(jì)算可用端口塊總數(shù)II時(shí),具體通過11=1111: ( (¢10-1)8+1) /8)計(jì)算可用端口塊總數(shù)II ;其中,1111:((1)6-1)8+1)/8)表示對(duì)(¢6118+1)/8取整,則計(jì)算得到的II個(gè)可用端口塊構(gòu)成的可用端口塊列表中,第』個(gè)端口塊表示為:[¢8+0-1)^8, ¢18+^8-1],^-1,......,II。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其特征在于,1?^4公有地址池中的III個(gè)1??4公有地址按照特定順序排列為如下公有地址列表:1??—0,1?匕1,....,; 所述111*11矩陣中第1行第』列的元素(公有地址,端口塊)為[¢18+(^-1)^8, ¢18+^8-1] 1,1=0,......(111-1),』二1,......,II。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述創(chuàng)建單元還用于在計(jì)算用戶地址總數(shù)隊(duì)公有地址總數(shù)!??!與可用端口塊總數(shù)II之后,判斷配置的用戶地址池、公有地址池、端口塊大小與端口范圍參數(shù)是否合理;若配置的用戶地址池、公有地址池、端口塊大小與端口范圍參數(shù)合理,執(zhí)行所述依次為X個(gè)用戶地址中的1^*111+1?0^+1)-111個(gè)用戶地址,分配由III個(gè)1?乂4公有地址與II個(gè)可用端口塊組成的神11矩陣中第& + 1列各行元素(公有地址,端口塊)對(duì)應(yīng)的1?卩4公有地址與端口塊的操作;否則,若配置的用戶地址池、1?^4公有地址池、端口塊大小與端口范圍參數(shù)不合理,指示所述配置單元重新執(zhí)行所述根據(jù)運(yùn)營級(jí)地址轉(zhuǎn)換設(shè)備覆蓋區(qū)域的用戶信息,配置用戶地址池、公有地址池、端口塊大小與端口范圍參數(shù)的操作。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其特征在于,當(dāng)%二111袖,每個(gè)用戶地址都有一個(gè)對(duì)應(yīng)的1??4公有地址與端口塊,配置參數(shù)合理; 否則,當(dāng)心神]!,配置參數(shù)不合理。
17.根據(jù)權(quán)利要求16所述的設(shè)備,其特征在于,所述查詢單元具體查詢用戶報(bào)文中的用戶地址在所述用戶地址池中的序號(hào)?;根據(jù)用戶地址在所述用戶地址池中的序號(hào)?計(jì)算該用戶地址對(duì)應(yīng)的1”4公有地址與端口塊神11矩陣中的元素位置(1, 了);以及讀取神11矩陣中的元素位置(1,1)上元素包括的公有地址與端口塊,得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的1?卩4公有地址與端口塊。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其特征在于,所述查詢單元根據(jù)用戶地址在所述用戶地址池中的序號(hào)?計(jì)算該用戶地址對(duì)應(yīng)的公有地址與端口塊!11袖矩陣中的元素位置(工,了)時(shí),具體通過如下方式計(jì)算元素位置(1, 了):1=(9-1)1110(1(111),1=1111: (9/111)+1 ;其中,(9-1)1110(1(111)表示對(duì)〔?-0 求模,表示對(duì) ^/111 取整; 所述得到用戶報(bào)文中的用戶地址對(duì)應(yīng)的1?74公有地址與端口塊為[¢18+ (:-1)氺8,¢8+^8-1])。
【文檔編號(hào)】H04L29/12GK104427013SQ201310409347
【公開日】2015年3月18日 申請(qǐng)日期:2013年9月10日 優(yōu)先權(quán)日:2013年9月10日
【發(fā)明者】李陽春, 伍佑明, 馮薇薇, 譚景華, 黃燦燦, 朱永慶, 鄒潔, 金華敏 申請(qǐng)人:中國電信股份有限公司