專利名稱:地址轉(zhuǎn)換設(shè)備中復(fù)用公有IPv4地址的端口的動(dòng)態(tài)調(diào)整方法
技術(shù)領(lǐng)域:
地址轉(zhuǎn)換設(shè)備中復(fù)用公有IPv4地址的端口動(dòng)態(tài)調(diào)整方法屬于計(jì)算機(jī)互聯(lián)網(wǎng)通信 技術(shù)領(lǐng)域。
背景技術(shù):
互聯(lián)網(wǎng)已經(jīng)成為全世界最重要的信息基礎(chǔ)設(shè)施,但目前互聯(lián)網(wǎng)廣泛使用的第四版 網(wǎng)絡(luò)協(xié)議IPv4的地址的尋址范圍只有232,即43億地址,根據(jù)目前IPv4地址的分配速度, 預(yù)計(jì)在2011年之后,IPv4地址即將分配完畢。目前中國(guó)網(wǎng)民人口的絕對(duì)數(shù)已經(jīng)成為世界第一,但互聯(lián)網(wǎng)的普及率只有28 %,遠(yuǎn) 低于世界發(fā)達(dá)國(guó)家的水平(70%)。同時(shí),平均每個(gè)中國(guó)網(wǎng)民僅有0.6個(gè)IPv4地址。因此, 對(duì)于中國(guó)來(lái)說(shuō),IPv4地址是無(wú)法滿足需求的。這個(gè)問(wèn)題對(duì)于印度等其它發(fā)展中國(guó)家來(lái)說(shuō), 都是非常嚴(yán)重的。解決上述問(wèn)題目前基本上有兩種技術(shù)路線,即采用下一代互聯(lián)網(wǎng)協(xié)議標(biāo)準(zhǔn)(IPv6) 和采用地址轉(zhuǎn)換端口映射技術(shù)(NAPT)。由于IPv6是與IPv4不兼容的協(xié)議,全世界IPv6網(wǎng) 絡(luò)的部署進(jìn)展緩慢。目前工業(yè)界大量使用的是地址轉(zhuǎn)換端口映射技術(shù)(NAPT),其基本原理是基于互聯(lián) 網(wǎng)通信的五元組概念,即“協(xié)議、原地址、原端口、目的地址、目的端口 ”唯一地確定一個(gè)通信 的進(jìn)程。端口的尋址范圍為216,即65,536個(gè)。因此,如果每個(gè)計(jì)算機(jī)的通信進(jìn)程只有1個(gè), 則從理論上講1個(gè)IPv4地址通過(guò)地址轉(zhuǎn)換端口映射可以同時(shí)支持6萬(wàn)個(gè)以上的計(jì)算機(jī)通 信。在NAPT中,這個(gè)映射關(guān)系由轉(zhuǎn)換設(shè)備維護(hù)。因此,NAPT可以解決近期的IPv4地址短缺的問(wèn)題,但是在NAPT中公有IPv4地址 和私有IPv4地址的綁定關(guān)系是動(dòng)態(tài)的,同一個(gè)公有IPv4地址在不同時(shí)刻可能分配給不同 的用戶使用,帶來(lái)了身份認(rèn)證及溯源的極大困難。根據(jù)各國(guó)不同的法律,運(yùn)營(yíng)商需要保存長(zhǎng) 期的動(dòng)態(tài)綁定日志。為了解決共享公有IPv4地址的用戶身份認(rèn)證及溯源問(wèn)題,可以在地址轉(zhuǎn)換設(shè)備 中為每個(gè)復(fù)用同一個(gè)公有IPv4地址的計(jì)算機(jī)預(yù)先分配一定數(shù)量的端口范圍。但實(shí)際運(yùn)行 數(shù)據(jù)表明,不同用戶的計(jì)算機(jī)所使用的并發(fā)端口數(shù)量有很大的不同,即大多數(shù)的計(jì)算機(jī)使 用的并發(fā)端口數(shù)量不多,但少數(shù)的計(jì)算機(jī)使用大量的并發(fā)端口。因此,預(yù)留若干傳輸層端口 供動(dòng)態(tài)調(diào)度使用。在地址轉(zhuǎn)換設(shè)備上實(shí)施這種方法,就能有效地解決復(fù)用同一個(gè)IPv4地址 的多個(gè)計(jì)算機(jī)通信時(shí)可能出現(xiàn)短時(shí)并發(fā)端口數(shù)量超出預(yù)分配并發(fā)端口數(shù)量的問(wèn)題,并且能 夠保持預(yù)先分配端口所具有的可控、可管和安全性強(qiáng)的特點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明的目的是為復(fù)用同一個(gè)IPv4地址的多個(gè)計(jì)算機(jī)預(yù)先分配一定數(shù)量的傳輸 層端口,同時(shí)預(yù)留若干傳輸層端口供動(dòng)態(tài)調(diào)度使用,從而在保證公有IPv4復(fù)用給多個(gè)計(jì)算
3機(jī)使用,具有可控、可管和安全性強(qiáng)的特點(diǎn)的情況下,為可能出現(xiàn)短時(shí)并發(fā)端口數(shù)量超出預(yù) 分配并發(fā)端口數(shù)量的問(wèn)題提出解決方案?;景l(fā)明思路是為復(fù)用同一個(gè)IPv4地址的多個(gè) 計(jì)算機(jī)預(yù)先分配一定數(shù)量的傳輸層端口,同時(shí)預(yù)留若干傳輸層端口供動(dòng)態(tài)調(diào)度使用。使用 本方法的地址轉(zhuǎn)換設(shè)備在通信過(guò)程中連續(xù)監(jiān)測(cè)各個(gè)計(jì)算機(jī)的并發(fā)端口數(shù)量,當(dāng)某個(gè)計(jì)算機(jī) 的并發(fā)端口數(shù)量達(dá)到為該計(jì)算機(jī)預(yù)分配的端口數(shù)量時(shí),地址轉(zhuǎn)換設(shè)備動(dòng)態(tài)地調(diào)度預(yù)留的傳 輸層端口并分配給該計(jì)算機(jī)使用,當(dāng)該計(jì)算機(jī)的并發(fā)端口數(shù)低于該計(jì)算機(jī)預(yù)分配的端口好 數(shù)量時(shí),釋放預(yù)留的傳輸層端口,預(yù)留為其他計(jì)算機(jī)在需要時(shí)使用。地址轉(zhuǎn)換設(shè)備中復(fù)用公有IPv4地址的端口的動(dòng)態(tài)調(diào)整方法,其特征在于,在IPv4 地址轉(zhuǎn)換設(shè)備中實(shí)施以下步驟步驟(1)初始化(1. 7)當(dāng)公有IPv4地址復(fù)用給多臺(tái)計(jì)算機(jī)時(shí),每臺(tái)計(jì)算機(jī)必須使用不同的端口范
圍,設(shè)復(fù)用率是R,在此條件下每臺(tái)計(jì)算機(jī)能夠同時(shí)使用端口的數(shù)量《 = ;
K(1.8)定義每臺(tái)計(jì)算機(jī)能夠同時(shí)使用的并發(fā)端口的集合為端口組,給定復(fù)用率R, 最多有R臺(tái)計(jì)算機(jī)可以使用同一個(gè)公有IPv4地址,每臺(tái)計(jì)算機(jī)為一個(gè)端口組,當(dāng)實(shí)際使用 的計(jì)算機(jī)的編號(hào)為0,1,...,K,(K < R),則可以預(yù)留M = R-K個(gè)端口組,供動(dòng)態(tài)調(diào)度使用;(1.9)初始化可用端口組數(shù)量計(jì)數(shù)器m,Hm = M;(1. 10)為每個(gè)復(fù)用的公有IPv4地址和端口組分別建立該地址和端口組的映射前 后端口的映射表;(1. 11)建立對(duì)預(yù)留端口組進(jìn)行動(dòng)態(tài)分配的日志;(1. 12)地址轉(zhuǎn)換設(shè)備不斷監(jiān)測(cè)復(fù)用公有IPv4地址的各臺(tái)計(jì)算機(jī)正在使用的并發(fā)
端口數(shù)量;步驟(2)檢查該地址轉(zhuǎn)換設(shè)備收到的分組中的這些計(jì)算機(jī)的地址的位置,如果源地址為這些計(jì)算機(jī)的分組,則執(zhí)行步驟(3) - (9),如果目標(biāo)地址為這些計(jì)算 機(jī)的分組,則執(zhí)行步驟(10)-(12),步驟(3)地址轉(zhuǎn)換設(shè)備檢驗(yàn)每臺(tái)計(jì)算機(jī)所使用的源端口組的并發(fā)端口的數(shù)量是 否大于η,如大于η,執(zhí)行步驟(4),如小于η,執(zhí)行步驟(5);步驟(4)地址轉(zhuǎn)換設(shè)備檢驗(yàn)每臺(tái)計(jì)算機(jī)所使用的源端口組的并發(fā)端口的數(shù)量是 否大于2η,如大于2η,執(zhí)行步驟(9);如小于2η,執(zhí)行步驟(5);步驟(5)地址轉(zhuǎn)換設(shè)備檢查預(yù)留的M組端口是否已經(jīng)分配完畢,如分配完畢,執(zhí)行 步驟(9);如尚未分配完畢,執(zhí)行步驟(6);步驟(6)對(duì)于并發(fā)進(jìn)程的數(shù)量大于η的計(jì)算機(jī)動(dòng)態(tài)分配另一個(gè)端口組,供這個(gè)計(jì) 算機(jī)使用;可用端口組計(jì)數(shù)器m = m-1,記錄動(dòng)態(tài)分配端口組日志;步驟(7)檢查該計(jì)算機(jī)是否有動(dòng)態(tài)分配端口組,如有,則釋放動(dòng)態(tài)增加的端口組; 可用端口組計(jì)數(shù)器m = m+l,記錄動(dòng)態(tài)分配端口組日志,執(zhí)行步驟(8);如沒(méi)有動(dòng)態(tài)分配的端 口組,則執(zhí)行步驟⑶;步驟(8)地址轉(zhuǎn)換設(shè)備檢查該地址和端口組的端口映射表,如存在,根據(jù)該映射 表進(jìn)行地址轉(zhuǎn)換并轉(zhuǎn)發(fā)該分組;如不存在,則建立端口映射表,進(jìn)行地址轉(zhuǎn)換并轉(zhuǎn)發(fā)該分 組;執(zhí)行步驟(11);
步驟(9)地址轉(zhuǎn)換設(shè)備丟棄相關(guān)分組,執(zhí)行步驟(11);步驟(10)根據(jù)該地址和端口組對(duì)應(yīng)的預(yù)留的和動(dòng)態(tài)分配的端口映射表,進(jìn)行地 址轉(zhuǎn)換并將該分組路由到多臺(tái)計(jì)算機(jī)中的對(duì)應(yīng)臺(tái);步驟(11)檢查端口映射表中的各個(gè)端口映射關(guān)系是否已經(jīng)超時(shí),如超時(shí),則取
消該端口的端口映射關(guān)系,執(zhí)行步驟(12);如未超時(shí),執(zhí)行步驟(12);步驟(12)返回步驟 ⑵。
圖1 復(fù)用公有IPv4地址的地址轉(zhuǎn)換設(shè)備的端口動(dòng)態(tài)調(diào)整方法流程圖
具體實(shí)施例方式現(xiàn)舉例說(shuō)明按照以上方法如公有IPv4地址為202. 38. 1. 2,復(fù)用比為256,利用余 數(shù)法分配端口,則每臺(tái)計(jì)算機(jī)能夠并發(fā)使用256個(gè)端口。余數(shù)表示方法為根據(jù)公式χ =
R,如R = 256,則序號(hào)為8的計(jì)算機(jī)所能夠使用的端口范圍為nX256+x,即x,256+x, 512+x,……,其中η的取值范圍為0-255(65,536/256 = 256),χ的取值范圍為0-256。設(shè)預(yù)留56組端口動(dòng)態(tài)分配,則該公有IPv4地址可以支持200臺(tái)預(yù)先分配端口的 計(jì)算機(jī)使用。如下所示第0臺(tái)0 256 512 768 1024 1280 1536 1792 2048 2304 2560···第1 臺(tái)1 257 513 769 1025 1281 1537 1793 2049 2305 2561 2817···第2 臺(tái)2 258 514 770 1026 1282 1538 1794 2050 2306 2562 2818.........第199 臺(tái)199 455 711 967 1223 1479 1735 1991 2247 2503···在這種情況下,下述的端口組供動(dòng)態(tài)分配使用第200 臺(tái)200 456 712 968 1224 1480 1736 1992 2248 2504 2760 3016 32723528.··第201 臺(tái)201 457 713 969 1225 1481 1737 1993 2249 2505 2761 3017 32733529.··......第255 臺(tái)255 511 767 1023 1279 1535 1791 2047 2303 2559 2815 3071 33273583.··下面分別考慮下述情況(1)如在通信的過(guò)程中,第1臺(tái)計(jì)算機(jī)所使用的并發(fā)端口數(shù)超過(guò)256,且預(yù)留的端 口組尚未分配,則本發(fā)明的算法動(dòng)態(tài)分配第200臺(tái)的端口組給第1臺(tái)計(jì)算機(jī)使用,此時(shí),第 一臺(tái)計(jì)算機(jī)所能使用的端口范圍變成1 257 513 769 1025 1281 1537 1793 2049 2305 2561 2817...和 200 456 712 9681224 1480 1736 1992 2248 2504 2760 3016 3272 3528...,共 512 個(gè)。同時(shí)系統(tǒng)記錄在此時(shí)段,200 456 712 968 1224 1480 1736 1992 2248 2504 2760 30163272 3528...范圍的端口是第1臺(tái)計(jì)算機(jī)使用的。(2)如在通信的過(guò)程中,第1臺(tái)計(jì)算機(jī)所使用的并發(fā)端口數(shù)變小至256,則本發(fā)明 的算法動(dòng)態(tài)取消分配給第1臺(tái)計(jì)算機(jī)使用的第200臺(tái)的端口組,此時(shí),第一臺(tái)計(jì)算機(jī)所能使用的端口范圍變成1 257 513 769 1025 1281 1537 1793 2049 2305 2561 2817...。同時(shí)系統(tǒng)記錄
作相應(yīng)注明。(3)如其它計(jì)算機(jī)發(fā)生所使用的并發(fā)端口數(shù)超過(guò)256時(shí),第200臺(tái)的端口組也可以 分配給該計(jì)算機(jī)使用。根據(jù)實(shí)際數(shù)據(jù),不同用戶的計(jì)算機(jī)所使用的并發(fā)端口數(shù)量有很大的不同,即大多 數(shù)的計(jì)算機(jī)使用的并發(fā)端口數(shù)量不多,但少數(shù)的計(jì)算機(jī)使用大量的并發(fā)端口。因此,預(yù)留若 干傳輸層端口供動(dòng)態(tài)調(diào)度使用。在地址轉(zhuǎn)換設(shè)備上實(shí)施這種方法,就能有效地解決復(fù)用同 一個(gè)IPv4地址的多個(gè)計(jì)算機(jī)通信時(shí)可能出現(xiàn)短時(shí)并發(fā)端口數(shù)量超出預(yù)分配并發(fā)端口數(shù)量 的問(wèn)題,并且能夠保持預(yù)先分配端口所具有的可控、可管和安全性強(qiáng)的特點(diǎn)。
權(quán)利要求
地址轉(zhuǎn)換設(shè)備中復(fù)用公有IPv4地址的端口的動(dòng)態(tài)調(diào)整方法,其特征在于,在IPv4地址轉(zhuǎn)換設(shè)備中實(shí)施以下步驟步驟(1)初始化(1.1)當(dāng)公有IPv4地址復(fù)用給多臺(tái)計(jì)算機(jī)時(shí),每臺(tái)計(jì)算機(jī)必須使用不同的端口范圍,設(shè)復(fù)用率是R,在此條件下每臺(tái)計(jì)算機(jī)能夠同時(shí)使用端口的數(shù)量(1.2)定義每臺(tái)計(jì)算機(jī)能夠同時(shí)使用的并發(fā)端口的集合為端口組,給定復(fù)用率R,最多有R臺(tái)計(jì)算機(jī)可以使用同一個(gè)公有IPv4地址,每臺(tái)計(jì)算機(jī)為一個(gè)端口組,當(dāng)實(shí)際使用的計(jì)算機(jī)的編號(hào)為0,1,...,K,(K<R),則可以預(yù)留M=R K個(gè)端口組,供動(dòng)態(tài)調(diào)度使用;(1.3)初始化可用端口組數(shù)量計(jì)數(shù)器m,使m=M;(1.4)為每個(gè)復(fù)用的公有IPv4地址和端口組分別建立該地址和端口組的映射前后端口的映射表;(1.5)建立對(duì)預(yù)留端口組進(jìn)行動(dòng)態(tài)分配的日志;(1.6)地址轉(zhuǎn)換設(shè)備不斷監(jiān)測(cè)復(fù)用公有IPv4地址的各臺(tái)計(jì)算機(jī)正在使用的并發(fā)端口數(shù)量;步驟(2)檢查該地址轉(zhuǎn)換設(shè)備收到的分組中的這些計(jì)算機(jī)的地址的位置,如果源地址為這些計(jì)算機(jī)的分組,則執(zhí)行步驟(3) (9),如果目標(biāo)地址為這些計(jì)算機(jī)的分組,則執(zhí)行步驟(10) (12),步驟(3)地址轉(zhuǎn)換設(shè)備檢驗(yàn)每臺(tái)計(jì)算機(jī)所使用的源端口組的并發(fā)端口的數(shù)量是否大于n,如大于n,執(zhí)行步驟(4),如小于n,執(zhí)行步驟(5);步驟(4)地址轉(zhuǎn)換設(shè)備檢驗(yàn)每臺(tái)計(jì)算機(jī)所使用的源端口組的并發(fā)端口的數(shù)量是否大于2n,如大于2n,執(zhí)行步驟(9);如小于2n,執(zhí)行步驟(5);步驟(5)地址轉(zhuǎn)換設(shè)備檢查預(yù)留的M組端口是否已經(jīng)分配完畢,如分配完畢,執(zhí)行步驟(9);如尚未分配完畢,執(zhí)行步驟(6);步驟(6)對(duì)于并發(fā)進(jìn)程的數(shù)量大于n的計(jì)算機(jī)動(dòng)態(tài)分配另一個(gè)端口組,供這個(gè)計(jì)算機(jī)使用;可用端口組計(jì)數(shù)器m=m 1,記錄動(dòng)態(tài)分配端口組日志;步驟(7)檢查該計(jì)算機(jī)是否有動(dòng)態(tài)分配端口組,如有,則釋放動(dòng)態(tài)增加的端口組;可用端口組計(jì)數(shù)器m=m+1,記錄動(dòng)態(tài)分配端口組日志,執(zhí)行步驟(8);如沒(méi)有動(dòng)態(tài)分配的端口組,則執(zhí)行步驟(8);步驟(8)地址轉(zhuǎn)換設(shè)備檢查該地址和端口組的端口映射表,如存在,根據(jù)該映射表進(jìn)行地址轉(zhuǎn)換并轉(zhuǎn)發(fā)該分組;如不存在,則建立端口映射表,進(jìn)行地址轉(zhuǎn)換并轉(zhuǎn)發(fā)該分組;執(zhí)行步驟(11);步驟(9)地址轉(zhuǎn)換設(shè)備丟棄相關(guān)分組,執(zhí)行步驟(11);步驟(10)根據(jù)該地址和端口組對(duì)應(yīng)的預(yù)留的和動(dòng)態(tài)分配的端口映射表,進(jìn)行地址轉(zhuǎn)換并將該分組路由到多臺(tái)計(jì)算機(jī)中的對(duì)應(yīng)臺(tái);步驟(11)檢查端口映射表中的各個(gè)端口映射關(guān)系是否已經(jīng)超時(shí),如超時(shí),則取消該端口的端口映射關(guān)系,執(zhí)行步驟(12);如未超時(shí),執(zhí)行步驟(12);步驟(12)返回步驟(2)。FSA00000257014900011.tif
全文摘要
地址轉(zhuǎn)換設(shè)備中對(duì)復(fù)用公有IPv4地址的端口的動(dòng)態(tài)調(diào)整方法屬于計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,其特征在于,為復(fù)用同一個(gè)IPv4地址的多個(gè)計(jì)算機(jī)預(yù)先分配一定數(shù)量的端口,同時(shí)預(yù)留若干端口供動(dòng)態(tài)調(diào)度使用。使用本方法的地址轉(zhuǎn)換設(shè)備在通信過(guò)程中連續(xù)監(jiān)測(cè)各個(gè)計(jì)算機(jī)的并發(fā)端口數(shù)量,當(dāng)某個(gè)計(jì)算機(jī)的并發(fā)端口數(shù)量達(dá)到為該計(jì)算機(jī)預(yù)分配的端口數(shù)量時(shí),地址轉(zhuǎn)換設(shè)備動(dòng)態(tài)地調(diào)度預(yù)留的傳輸層端口并分配給該計(jì)算機(jī)使用,當(dāng)該計(jì)算機(jī)的并發(fā)端口數(shù)低于該計(jì)算機(jī)預(yù)分配的端口數(shù)量時(shí),釋放預(yù)留的傳輸層端口,預(yù)留為其他計(jì)算機(jī)在需要時(shí)使用。在地址轉(zhuǎn)換設(shè)備上實(shí)施這種方法,就能有效地解決復(fù)用同一個(gè)IPv4地址的多個(gè)計(jì)算機(jī)通信時(shí)可能出現(xiàn)短時(shí)并發(fā)端口數(shù)量超出預(yù)分配并發(fā)端口數(shù)量的問(wèn)題,并且能夠保持預(yù)先分配端口所具有的可控、可管和安全性強(qiáng)的特點(diǎn)。
文檔編號(hào)H04L29/12GK101945140SQ20101027262
公開(kāi)日2011年1月12日 申請(qǐng)日期2010年9月3日 優(yōu)先權(quán)日2010年9月3日
發(fā)明者包叢笑, 李星 申請(qǐng)人:清華大學(xué)