專利名稱:使用非特定IPv6地址的IPv4/IPv6分級轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
使用非特定IPv6地址的IPv4/IPv6分級轉(zhuǎn)換方法屬于計算機互聯(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ù)計在2011年之后,IPv4地址即將分配完畢。目前中國網(wǎng)民人口的絕對數(shù)已經(jīng)成為世界第一,但互聯(lián)網(wǎng)的普及率只有22 %,遠低于世界發(fā)達國家的水平(70%)。同時,平均每個中國網(wǎng)民僅有O. 6個IPv4地址。因此, 對于中國來說,IPv4地址是無法滿足需求的。這個問題對于印度等其它亞洲國家和非洲國家來說,都是非常嚴(yán)重的。為了解決IPv4地址不夠用的問題,國際互聯(lián)網(wǎng)工程組(IETF)設(shè)計了第六版網(wǎng)絡(luò)協(xié)議IPv6,它的地址尋址范圍有2128,能夠滿足需求。但由于種種原因,IPv6協(xié)議于IPv4協(xié)議是不兼容的,不能很好的互聯(lián)互通。當(dāng)時設(shè)計的理念是用“雙協(xié)議?!钡姆椒ń鉀Q互聯(lián)互通的問題,但近十年IPv6推廣的經(jīng)驗和教訓(xùn)證明,不能訪問IPv4眾多網(wǎng)絡(luò)信息資源,不能與IPv4眾多的用戶通信的IPv6網(wǎng)絡(luò)是不可能發(fā)展起來的。地址轉(zhuǎn)換和協(xié)議轉(zhuǎn)換是解決IPv4和IPv6互聯(lián)互通的方法,無狀態(tài)的地址轉(zhuǎn)換和協(xié)議轉(zhuǎn)換方法,具有可擴展性,但無狀態(tài)的轉(zhuǎn)換方法需要用戶使用特定的IPv6地址,不允許使用自動配置的IPv6地址。同時,IPv4地址是緊缺資源,需要更好地利用。本發(fā)明的基本原理是在無狀態(tài)地址轉(zhuǎn)換和協(xié)議轉(zhuǎn)換的基礎(chǔ)上,①增加無狀態(tài) IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān),根據(jù)需求把IVI地址利用端口復(fù)用轉(zhuǎn)換為大量的具有第二類編碼格式的IVI IPv6地址;②增加IPv6/IPv6地址映射網(wǎng)關(guān),用戶可以使用自動配置的IPv6地址,當(dāng)需要與IPv4互聯(lián)網(wǎng)通信時,通過IPv6/IPv6地址映射網(wǎng)關(guān),將用戶IPv6 地址轉(zhuǎn)換為無狀態(tài)轉(zhuǎn)換方法需要用戶使用特定的IPv6地址。上述兩級網(wǎng)關(guān)與無狀態(tài)IPv4/ IPv6轉(zhuǎn)換網(wǎng)關(guān)IVI網(wǎng)關(guān),可以分3級部署,也可以根據(jù)需要組合部署,具有很強的可擴展性和適應(yīng)性。本發(fā)明的基本特征包括1)采用IPv4地址嵌入IPv6地址的第一類編碼格式在 IPv4地址與運營商的一個IPv6地址的子集IVI6地址之間建立唯一的映射關(guān)系;2)采用二級轉(zhuǎn)換方法,采用IPv4地址和端口范圍嵌入IPv6地址的第二類編碼格式通過IPv6/IPv6 轉(zhuǎn)換網(wǎng)關(guān),根據(jù)需求定義復(fù)用比,把少量的IVI6地址轉(zhuǎn)換為大量IPv6地址,供IPv6用戶與 IPv4互聯(lián)網(wǎng)通信用。3)通過IPv6/IPv6地址映射網(wǎng)關(guān),根據(jù)需要在用戶需要訪問IPv4互聯(lián)網(wǎng)時,將用戶IPv6地址轉(zhuǎn)換為無狀態(tài)轉(zhuǎn)換方法需要用戶使用特定的IPv6地址。用戶可以使用自動配置的IPv6地址
發(fā)明內(nèi)容
使用非特定IPv6地址的IPv4/IPv6分級轉(zhuǎn)換方法,其特征在于,依次含有以下步驟步驟⑴初始化步驟(I. I)在IPv4和IPv6網(wǎng)絡(luò)之間設(shè)立一個IVI轉(zhuǎn)換網(wǎng)關(guān),并定義第一類編碼格式把IPv4地址直接嵌入所述IPv6地址的編碼格式,構(gòu)成一個IPv6地址,在運營商基于 32位聚類前綴的所述IPv6地址格式中的第32+n位嵌入32位IPv4地址,η < 32,同時在第 64+n到128位之間空余位填充全O,其中當(dāng)所述IPv4地址為所述運營商準(zhǔn)備給IPv6主機使用的IPv4地址時,構(gòu)成IVI6地址,當(dāng)所述IPv4地址為包含所述運營商自己在內(nèi)的全球 IPv4地址,又不屬于所述IPv6主機的IPv4地址時,構(gòu)成IVIG6地址,所述IVI6和IVIG6統(tǒng)稱為IVI地址,由此在所述IPv4地址和IPv6地址的子集之間形成一一對應(yīng)的雙向映射關(guān)系,與IVI6和IVIG6對應(yīng)的IPv4地址分別稱為IVI4和IVIG4地址。步驟(I. 2)在IPv6主干網(wǎng)和IPv6城域網(wǎng)之間設(shè)立IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān),并定義第二類編碼格式即把IPv4地址加傳輸層端口編碼嵌入所述IPv6地址的編碼格式,在基于運營商32位聚類前綴的所述IPv6地址編碼格式中的第32+n位嵌入32位 IPv4地址,η < 32,構(gòu)成IVI前綴,在當(dāng)64+n到第96位之間如有空余位時填充全0,在第96 位至111位嵌入地址復(fù)用比M,在第112位至128位嵌入端口位移值k,O彡k彡M-I,所述 M表示一個所述IPv4地址通過IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān)同時供多個IPv6計算機使用的計算機個數(shù),步驟(1.3)對于不同的城域網(wǎng)可以根據(jù)需要定義不同的IPv4地址復(fù)用比,并根據(jù)用戶的IPv6地址的使用情況,根據(jù)IVI6地址和特定的端口范圍,與用戶使用的IPv6地址間建立一一對應(yīng)的映射關(guān)系,即用戶在與IPv4互聯(lián)網(wǎng)通信時,只能使用特定的端口范圍 {端口 P I (P mod M) = k};步驟(1.4)定義下述傳輸層端口映射算法PCA,以使當(dāng)采用第二類編碼格式的 IPv6地址的分組把隨機產(chǎn)生的傳輸層源端口映射步驟(1.3)所述的端口范圍;先排除1-1024端口和其他知名端口,再為所述采用第二類編碼格式的IPv6主機列出所允許的端口映射表,根據(jù)請求順序,把隨機產(chǎn)生的傳輸層源端口映射到此映射表,該端口映射表條目供后續(xù)同一會話系列的分組使用,當(dāng)不再有后續(xù)分組到達時,刪除所述端口映射表條目,釋放端口資源,以備后用;步驟(I. 5)將步驟(I. I)分配的IVI6轉(zhuǎn)換為第二類編碼格式之后作為IPv6/IPv6 地址映射轉(zhuǎn)換網(wǎng)關(guān)的地址池;步驟(I. 6)初始化IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的映射表;映射表中的條目為第二類編碼格式的IVI6地址與用戶IPv6地址的映射對;步驟(I. 7):園區(qū)網(wǎng)內(nèi)IPv6主機通過SLAAC進行IPv6地址的自動配置(為區(qū)分 IVI6地址,本文中園區(qū)網(wǎng)內(nèi)IPv6主機通過SLAAC獲得的IPv6地址稱為“用戶IPv6地址”)。步驟(2) IPv4計算機向IPv6計算機發(fā)起通信,其中源地址為IPv4計算機的地址, 目的地址為IPv6計算機的IPv6地址的IPv4鏡像,其端口為所述IPv6計算機所允許使用的端口 ;步驟⑶所述IVI轉(zhuǎn)換網(wǎng)關(guān)接收分組,依次執(zhí)行步驟(3. I)-步驟(3. 4);步驟(3. I):所述目標(biāo)地址按步驟(I. I)按設(shè)定的第一類編碼格式把IPv4地址轉(zhuǎn)換為IVI6地址,
步驟(3. 2):所述源地址按步驟(I. I)設(shè)定的第一類編碼格式把IPv4地址轉(zhuǎn)換為 IVIG6地址,步驟(3. 3):按RFC2765執(zhí)行除地址轉(zhuǎn)換之外的其它處理程序,并重新計算傳輸層校驗和,從而形成所述IPv6分組;步驟(3. 4):向所述IPv6/IPv6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān)發(fā)送步驟(3. 3)形成的第一類編碼格式的IPv6分組;步驟(4) IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān)接到步驟(3. 4)發(fā)送的所述IPv6分組后,執(zhí)行以下步驟(4. I)-步驟(4. 4),形成第二類編碼格式的IPv6分組并發(fā)送,步驟(4. I):判斷源地址是否為IVIG6地址,如是,執(zhí)行步驟(4. 2),如不是,執(zhí)行步驟(4. 4);步驟(4. 2):根據(jù)目標(biāo)地址和目標(biāo)端口把第一類編碼格式的IPv6地址轉(zhuǎn)換為第二類編碼格式的IPv6地址;步驟(4. 3):重新計算傳輸層校驗和,并形成IPv6分組;步驟(4. 4)向所述IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)發(fā)送步驟(4. 2)中所述IPv6分組;步驟(5) IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)接收到步驟(4. 3)發(fā)送的所述IPv6分組, 執(zhí)行以下步驟(5. I) -步驟(5. 5),形成IPv6分組并發(fā)送,步驟(5. I):判斷源地址是否為IVIG6地址,如是,執(zhí)行步驟(5. 2),如不是,執(zhí)行步驟(5. 5);步驟(5. 2)目標(biāo)端口作PCA映射;步驟(5. 3):查找IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的映射表中是否有與目標(biāo)地址對應(yīng)的映射表條目,如果沒有,則丟棄數(shù)據(jù)包;如果有,則根據(jù)映射表條目,將目標(biāo)地址從第二類編碼格式的IVI6地址轉(zhuǎn)換為用戶IPv6地址;步驟(5. 4):重新計算傳輸層校驗和,并形成IPv6分組;步驟(5. 5):向IPv6計算機發(fā)送步驟(5. 4)所述的IPv6分組;步驟(6):所述IPv6計算機接收分組;步驟(7):所述IPv6計算機向IPv4計算機發(fā)送IPv6分組,其中源地址地址為計算機的用戶IPv6地址,源端口為所述IPv6計算機隨機產(chǎn)生的源端口,目的地址為IPv4計算機的IPv4地址的IPv6鏡像,即IVIG6地址;步驟⑶所述IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)接收IPv6分組,執(zhí)行以下步驟 (8. I)-步驟(8. 6),形成IPv6分組并發(fā)送,步驟(8. I):判斷目標(biāo)地址是否為IVIG6地址,如是,則執(zhí)行步驟(8. 2),如不是,則說明該IPv6分組不是發(fā)往IPv4網(wǎng)絡(luò),執(zhí)行步驟(8. 6);步驟(8. 2):查找IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的映射表,是否有與源地址對應(yīng)的映射表條目,如有,則執(zhí)行步驟(8.3);如沒有,則從地址池中取出一個可用的第二類編碼格式的IVI6地址,與源地址一起建立映射表條目,供后續(xù)分組使用;步驟(8. 3):根據(jù)步驟(8. 2)得到的映射表條目,將源地址從用戶IPv6地址轉(zhuǎn)換為第二類編碼格式的IVI6地址;步驟(8. 4):源端口作PCA映射;
步驟(8. 5):重新計算傳輸層校驗和并形成IPv6分組,步驟(8. 6):向所述IPv6/IPv6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān)發(fā)送IPv6分組;步驟(9) IPv6/IPv6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān)接收到步驟(8. 6)所述IPv6分組,執(zhí)行步驟(9. I)-步驟(9. 5),形成IPv6分組并發(fā)送,步驟(9. I):判斷目標(biāo)地址是否為IVIG6地址,如是,則執(zhí)行步驟(9. 2),如不是,則說明該IPv6分組不是發(fā)往IPv4網(wǎng)絡(luò),執(zhí)行步驟(9. 5);步驟(9.2):驗證源端口,如符合對應(yīng)的端口范圍,執(zhí)行步驟(9.3),否則,丟棄分組;步驟(9. 3):把源地址從第二類編碼格式的IPv6地址轉(zhuǎn)換為第一類編碼格式的 IPv6地址;步驟(9. 4):重新計算傳輸層校驗和;步驟(9. 5):根據(jù)路由,發(fā)送IPv6分組;如果目標(biāo)地址為IVIG6地址,則IPv6分組將被發(fā)送往IVI轉(zhuǎn)換網(wǎng)關(guān);步驟(10) =IVI轉(zhuǎn)換網(wǎng)關(guān)接收步驟(9. 5)發(fā)送的所述目標(biāo)地址為IVIG6的IPv6分組,通過以下步驟(10. I)-步驟(10. 3)形成IPv4分組并發(fā)送,
地址,
步驟(10. I):所述目標(biāo)地址按步驟(I. I)設(shè)定的IPv6地址編碼格式轉(zhuǎn)換為IPv4 步驟(10. 2):所述源地址按步驟(I. I)設(shè)定的IPv6地址編碼格式轉(zhuǎn)換為IPv4地
址,步驟(10. 3):按RFC2765執(zhí)行除地址轉(zhuǎn)換之外的其它處理程序,并重新計算傳輸層校驗和,從而形成所述IPv4分組;步驟(10. 4):向IPv4計算機發(fā)送步驟(10. 3)形成的IPv4分組;步驟(10):所述IPv4計算機接收步驟(10. 4)發(fā)送的IPv4分組;由IPv6網(wǎng)絡(luò)中IPv6計算機發(fā)起通信的步驟也可以仿上述步驟描述,由步驟(7) 開始執(zhí)行;上述IVI轉(zhuǎn)換網(wǎng)關(guān),IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān),IPv6/IPv6地址映射地址轉(zhuǎn)換網(wǎng)關(guān),可以分為3級分開部署,也可以根據(jù)需要將相鄰兩個網(wǎng)關(guān)在同一臺設(shè)備上實現(xiàn);
圖I :使用非特定IPv6地址的基于IPv4地址和端口復(fù)用的分級轉(zhuǎn)換方法的網(wǎng)絡(luò)連接方式;圖2 :使用非特定IPv6地址的基于IPv4地址和端口復(fù)用的分級轉(zhuǎn)換方法的工作流程圖;圖3 IPv4地址嵌入IPv6地址的定義格式。圖4 :使用非特定IPv6地址的基于IPv4地址和端口復(fù)用的分級轉(zhuǎn)換方法通信流程舉例(M = 256);具體實施方式
和方法案例本發(fā)明的連接方式如圖I所示,其中IVI轉(zhuǎn)換網(wǎng)關(guān)為第一級轉(zhuǎn)換,把IPv4分組轉(zhuǎn)換為基于第一類編碼格式的IPv6分組;IPv6/IPv6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān)為第二級轉(zhuǎn)換網(wǎng)關(guān),根據(jù)端口復(fù)用比,無狀態(tài)地把第一類編碼格式的分組轉(zhuǎn)換為第二類編碼格式的分組;IPv6/ IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)為第三級轉(zhuǎn)換網(wǎng)關(guān),將用戶通過SLAAC自動配置的用戶IPv6地址轉(zhuǎn)換為第二類編碼格式的IPv6地址,并通過PCA端口映射,使得端口與第二類編碼格式的 IPv6地址相符。本發(fā)明的工作流程如圖2所示。本發(fā)明的IVI轉(zhuǎn)換網(wǎng)關(guān)的映射規(guī)則如圖3所示,通信流程舉例如下如運營商的IPv6地址的前綴為2001: da8: : /32,所選用的IVI4地址為 202. 38. 108. 0/24,則第一類編碼格式 IVI6 地址范圍為 2001:da8:ffca:266c:O: :/64, IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的地址池為上述第一類編碼格式的IVI6地址范圍轉(zhuǎn)換為第二類編碼格式后對應(yīng)的地址范圍,本例中去復(fù)用比M = 256。如通信的IPv4計算機的IPv4 地址為 18. 181. O. 31,則第一類編碼格式 IVIG6 的地址為 2001: da8: ff 12:b500: IfOO: :/72, 對于IPv4計算機不需要第二類編碼格式,我們以IPv6計算機發(fā)起通信為例,通信流程為(I) IPv6計算機通過無狀態(tài)地址自動配置(SLAAC)得到IPv6地址2001: da8: al23 :b456: da5d:4cff:fe74: d633 ;該 IPv6 計算機的 9000 端口 需要與 IPv4 計算機 18. 181. O. 31 的 8000 端口 發(fā)起通信,18. 181. O. 31 對應(yīng)的 IVIG6 地址為 2001: da8: ff 12: b500: IfOO::,因此IPv6分組的源地址端口和目標(biāo)地址端口分別為
(2001:da8:al23:b456:da5d:4cif:fe74:d633, 9000) (2001 :da8:ffl2:b500:IfOO::, 8000);(2)上述IPv6分組到達IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān),由于目標(biāo)地址為 IVIG6地址,所以需要將源地址轉(zhuǎn)換為第二類編碼格式的IVI6地址,從地址池中取出可用地址2001:da8:ffca:266c:200: :100:1,在映射表中建立映射條目,并進行源地址轉(zhuǎn)換,相應(yīng)的計算傳輸層校驗和。IPv6分組的源地址端口和目標(biāo)地址端口分別為 (2001:da8:ffca;266c:200::100:1, 9000) O (2001:da8:ffl2:b500:lf00::, 8000);(3)IPv6分組使用復(fù)用比M為56,端口位移值k為I的第二類編碼格式的IVI6 地址,檢查端口 9000不符合端口范圍要求,從端口映射表中取出可用端口 4097,建立映射,翻譯源端口,計算傳輸層檢驗和;IPv6分組的源地址端口和目標(biāo)地址端口分別為 (2001:da8:ffca:266c:200::100:l, 4097)公(2001:da8:ffl2:b500:lf00::, 8000);(4)1 ¥6分組到達1 ¥6/1 ¥6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān)中,目標(biāo)地址和目標(biāo)端口不變, 檢查源端口 4097符合要求,源地址由2001:da8:ffca:266c:200: :100:1轉(zhuǎn)換為第一類編碼格式2001 :da8: ffca: 266c: 200: :。IPv6分組的源地址端口和目標(biāo)地址端口分別為 (2001:da8:fFca:266c:200::, 4097)公(2001:da8:ffl2:b500:lfO0::, 8000);(5) IPv6分組到達IVI轉(zhuǎn)換網(wǎng)關(guān),源端口、目標(biāo)端口不變,源地址 2001:da8:ffca:266c:200::轉(zhuǎn)換為 202. 38. 108. 2,目標(biāo)地址轉(zhuǎn)換為 18. 181. O. 31,根據(jù)RFC2765形成IPv4分組,源地址端口和目標(biāo)地址端口分別為 (202.38.108.2, 4097) O (18.181.0.31, 8000);(6) IPv4分組到達IPv4計算機;(7) IPv4計算機18. 181. O. 31回復(fù)IPv4分組。發(fā)送IPv4分組,源地址端口和目標(biāo)地址端口分別為(18.181.0.31,8000) O (202.38.108.2, 4097);(8)在 IVI 轉(zhuǎn)換網(wǎng)關(guān)中,18. 181. O. 31 轉(zhuǎn)換為 2001: da8: ff 12 :b500: IfOO, 202. 38. 108. 2轉(zhuǎn)換為2001: da8: ffca: 266c: 200::,形成IPv6分組,源地址端口和目標(biāo)地址端口分別為(2001:da8:ffl2:b500:lf00::,8000) O (2001:da8:ffca:266c:200::, 4097)。(9) IPv6分組到達IPv6/IPv6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān),源地址不變, 根據(jù)目標(biāo)端口 4097,目標(biāo)地址由2001:da8:ffca:266c:200::轉(zhuǎn)換為 2001: da8: ffca: 266c: 200: : 100:1/,即IPv6分組的源地址端口和目標(biāo)地址端口分別為 (2001 :da8:ffl2:b500: IfOO::,8000 ) 0( 2001 :da8:£fca:266c:200:: 100:1, 4097) ο(10) IPv6分組到達ΙΡν6/ΙΡν6地址映射轉(zhuǎn)換網(wǎng)關(guān),查找目標(biāo)地址2001 :da8:ffca:266c:200::的端口映射表,根據(jù)映射表將目標(biāo)端口轉(zhuǎn)換為9000 ;IPv6分組的源地址端口和目標(biāo)地址端口分別為 (2001:da8:ffl2:b500:lfDO::’ 8000>0(2001 :da8:ffca:266c:200:: 100:1, 9000)。(11)查找IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的地址映射表,根據(jù)映射表條目 (2001 :da8:ffca:266c:200:: 100:102001 :da8 :al 23 :b456:da5d:4cff:fe74:d633)將目標(biāo)地址轉(zhuǎn)換為 2001:da8:al23:b456:da5d:4cff:fe74:d633,并計算傳輸層校驗和。IPv6 分組的源地址端口和目標(biāo)地址端口分別為(2001:da8:ffl2:b500:lfl)0::,8000 ) O (2001 :da8:al23:b456:da5d:4cff:fe74:d633,9000);(12) IPv6分組到達IPv6計算機;利用本發(fā)明定義的方法,利用端口復(fù)用技術(shù)使IPv6計算機可以共享IPv4地址與 IPv4互聯(lián)網(wǎng)進行通信,同時可以通過無狀態(tài)地址自動配置進行地址配置。
權(quán)利要求
1.使用非特定IPv6地址的IPv4/IPv6分級轉(zhuǎn)換方法,其特征在于,依次含有以下步驟步驟(I)初始化步驟(I. I)在IPv4和IPv6網(wǎng)絡(luò)之間設(shè)立一個IVI轉(zhuǎn)換網(wǎng)關(guān),并定義第一類編碼格式; 把IPv4地址直接嵌入所述IPv6地址的編碼格式,構(gòu)成一個IPv6地址,在運營商基于32位聚類前綴的所述IPv6地址格式中的第32+n位嵌入32位IPv4地址,η < 32,同時在第64+n 到128位之間空余位填充全O,其中當(dāng)所述IPv4地址為所述運營商準(zhǔn)備給IPv6主機使用的IPv4地址時,構(gòu)成IVI6地址,當(dāng)所述IPv4地址為包含所述運營商自己在內(nèi)的全球IPv4 地址,又不屬于所述IPv6主機的IPv4地址時,構(gòu)成IVIG6地址,所述IVI6和IVIG6統(tǒng)稱為 IVI地址,由此在所述IPv4地址和IPv6地址的子集之間形成一一對應(yīng)的雙向映射關(guān)系,與 IVI6和IVIG6對應(yīng)的IPv4地址分別稱為IVI4和IVIG4地址。步驟(I. 2)在IPv6主干網(wǎng)和IPv6城域網(wǎng)之間設(shè)立IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān), 并定義第二類編碼格式即把IPv4地址加傳輸層端口編碼嵌入所述IPv6地址的編碼格式, 在基于運營商32位聚類前綴的所述IPv6地址編碼格式中的第32+n位嵌入32位IPv4地址,η < 32,構(gòu)成IVI前綴,在當(dāng)64+n到第96位之間如有空余位時填充全0,在第96位至 111位嵌入地址復(fù)用比M,在第112位至128位嵌入端口位移值k,O彡k彡M-I,所述M表示一個所述IPv4地址通過IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān)同時供多個IPv6計算機使用的計算機個數(shù),步驟(1.3)對于不同的城域網(wǎng)可以根據(jù)需要定義不同的IPv4地址復(fù)用比,并根據(jù)用戶的IPv6地址的使用情況,根據(jù)IVI6地址和特定的端口范圍,與用戶使用的IPv6地址間建立一一對應(yīng)的映射關(guān)系,即用戶在與IPv4互聯(lián)網(wǎng)通信時,只能使用特定的端口范圍{端口 P I (P mod M) = k};步驟(I. 4)定義下述傳輸層端口映射算法PCA,以使當(dāng)采用第二類編碼格式的IPv6地址的分組把隨機產(chǎn)生的傳輸層源端口映射步驟(1.3)所述的端口范圍;先排除1-1024端口和其他知名端口,再為所述采用第二類編碼格式的IPv6主機列出所允許的端口映射表,根據(jù)請求順序,把隨機產(chǎn)生的傳輸層源端口映射到此映射表,該端口映射表條目供后續(xù)同一會話系列的分組使用,當(dāng)不再有后續(xù)分組到達時,刪除所述端口映射表條目,釋放端口資源,以備后用;步驟(I. 5)將步驟(I. I)分配的IVI6轉(zhuǎn)換為第二類編碼格式之后作為IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的地址池;步驟(I. 6)初始化IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的映射表;映射表中的條目為第二類編碼格式的IVI6地址與用戶IPv6地址的映射對;步驟(I. 7):園區(qū)網(wǎng)內(nèi)IPv6主機通過SLAAC進行IPv6地址的自動配置(為區(qū)分IVI6 地址,本文中園區(qū)網(wǎng)內(nèi)IPv6主機通過SLAAC獲得的IPv6地址稱為“用戶IPv6地址”)。步驟(2) IPv4計算機向IPv6計算機發(fā)起通信,其中源地址為IPv4計算機的地址,目的地址為IPv6計算機的IPv6地址的IPv4鏡像,其端口為所述IPv6計算機所允許使用的端 Π ;步驟(3):所述IVI轉(zhuǎn)換網(wǎng)關(guān)接收分組,依次執(zhí)行步驟(3. I) -步驟(3. 4);步驟(3. I):所述目標(biāo)地址按步驟(I. I)按設(shè)定的第一類編碼格式把IPv4地址轉(zhuǎn)換為IVI6地址,步驟(3.2):所述源地址按步驟(1.1)設(shè)定的第一類編碼格式把IPv4地址轉(zhuǎn)換為 IVIG6地址,步驟(3.3):按RFC2765執(zhí)行除地址轉(zhuǎn)換之外的其它處理程序,并重新計算傳輸層校驗和,從而形成所述IPv6分組;步驟(3.4):向所述IPv6/IPv6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān)發(fā)送步驟(3.3)形成的第一類編碼格式的IPv6分組;步驟(4) :IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān)接到步驟(3.4)發(fā)送的所述IPv6分組后, 執(zhí)行以下步驟(4. I)-步驟(4. 4),形成第二類編碼格式的IPv6分組并發(fā)送,步驟(4. I):判斷源地址是否為IVIG6地址,如是,執(zhí)行步驟(4. 2),如不是,執(zhí)行步驟 (4. 4);步驟(4.2):根據(jù)目標(biāo)地址和目標(biāo)端口把第一類編碼格式的IPv6地址轉(zhuǎn)換為第二類編碼格式的IPv6地址;步驟(4. 3):重新計算傳輸層校驗和,并形成IPv6分組;步驟(4. 4):向所述IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)發(fā)送步驟(4. 2)中所述IPv6分組; 步驟(5) :IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)接收到步驟(4. 3)發(fā)送的所述IPv6分組,執(zhí)行以下步驟(5. I)-步驟(5. 5),形成IPv6分組并發(fā)送,步驟(5. I):判斷源地址是否為IVIG6地址,如是,執(zhí)行步驟(5. 2),如不是,執(zhí)行步驟 (5. 5);步驟(5. 2):目標(biāo)端口作PCA映射;步驟(5. 3):查找IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的映射表中是否有與目標(biāo)地址對應(yīng)的映射表條目,如果沒有,則丟棄數(shù)據(jù)包;如果有,則根據(jù)映射表條目,將目標(biāo)地址從第二類編碼格式的IVI6地址轉(zhuǎn)換為用戶IPv6地址;步驟(5. 4):重新計算傳輸層校驗和,并形成IPv6分組;步驟(5. 5):向IPv6計算機發(fā)送步驟(5. 4)所述的IPv6分組;步驟(6):所述IPv6計算機接收分組;步驟(7):所述IPv6計算機向IPv4計算機發(fā)送IPv6分組,其中源地址地址為計算機的用戶IPv6地址,源端口為所述IPv6計算機隨機產(chǎn)生的源端口,目的地址為IPv4計算機的IPv4地址的IPv6鏡像,即IVIG6地址;步驟(8):所述IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)接收IPv6分組,執(zhí)行以下步驟(8. I) -步驟(8. 6),形成IPv6分組并發(fā)送,步驟(8. I):判斷目標(biāo)地址是否為IVIG6地址,如是,則執(zhí)行步驟(8. 2),如不是,則說明該IPv6分組不是發(fā)往IPv4網(wǎng)絡(luò),執(zhí)行步驟(8. 6);步驟(8.2):查找IPv6/IPv6地址映射轉(zhuǎn)換網(wǎng)關(guān)的映射表,是否有與源地址對應(yīng)的映射表條目,如有,則執(zhí)行步驟(8.3);如沒有,則從地址池中取出一個可用的第二類編碼格式的IVI6地址,與源地址一起建立映射表條目,供后續(xù)分組使用;步驟(8.3):根據(jù)步驟(8.2)得到的映射表條目,將源地址從用戶IPv6地址轉(zhuǎn)換為第二類編碼格式的IVI6地址;步驟(8. 4):源端口作PCA映射;步驟(8. 5):重新計算傳輸層校驗和并形成IPv6分組,步驟(8. 6):向所述IPv6/IPv6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān)發(fā)送IPv6分組;步驟(9) :IPv6/IPv6端口復(fù)用轉(zhuǎn)換網(wǎng)關(guān)接收到步驟(8.6)所述IPv6分組,執(zhí)行步驟 (9. I)-步驟(9. 5),形成IPv6分組并發(fā)送,步驟(9. I):判斷目標(biāo)地址是否為IVIG6地址,如是,則執(zhí)行步驟(9. 2),如不是,則說明該IPv6分組不是發(fā)往IPv4網(wǎng)絡(luò),執(zhí)行步驟(9. 5);步驟(9.2):驗證源端口,如符合對應(yīng)的端口范圍,執(zhí)行步驟(9. 3),否則,丟棄分組; 步驟(9. 3):把源地址從第二類編碼格式的IPv6地址轉(zhuǎn)換為第一類編碼格式的IPv6 地址;步驟(9. 4):重新計算傳輸層校驗和;步驟(9. 5):根據(jù)路由,發(fā)送IPv6分組;如果目標(biāo)地址為IVIG6地址,則IPv6分組將被發(fā)送往IVI轉(zhuǎn)換網(wǎng)關(guān);步驟(10) =IVI轉(zhuǎn)換網(wǎng)關(guān)接收步驟(9. 5)發(fā)送的所述目標(biāo)地址為IVIG6的IPv6分組, 通過以下步驟(10. I)-步驟(10. 3)形成IPv4分組并發(fā)送,步驟(10. I):所述目標(biāo)地址按步驟(I. I)設(shè)定的IPv6地址編碼格式轉(zhuǎn)換為IPv4地址, 步驟(10. 2):所述源地址按步驟(I. I)設(shè)定的IPv6地址編碼格式轉(zhuǎn)換為IPv4地址, 步驟(10.3):按RFC2765執(zhí)行除地址轉(zhuǎn)換之外的其它處理程序,并重新計算傳輸層校驗和,從而形成所述IPv4分組;步驟(10. 4):向IPv4計算機發(fā)送步驟(10. 3)形成的IPv4分組;步驟(10):所述IPv4計算機接收步驟(10. 4)發(fā)送的IPv4分組。
2.根據(jù)權(quán)利要求I中使用非特定IPv6地址的分級轉(zhuǎn)換方法,其特征在于,由IPv6網(wǎng)絡(luò)中IPv6計算機發(fā)起通信的步驟也可以仿上述步驟描述,由步驟(7)開始執(zhí)行。
3.根據(jù)權(quán)利要求I中使用非特定IPv6地址的IPv4/IPv6分級轉(zhuǎn)換方法,其特征在于, 上述IVI轉(zhuǎn)換網(wǎng)關(guān),IPv6/IPv6端口復(fù)用地址轉(zhuǎn)換網(wǎng)關(guān),IPv6/IPv6地址映射地址轉(zhuǎn)換網(wǎng)關(guān), 可以分為3級分開部署,也可以根據(jù)需要將相鄰兩個網(wǎng)關(guān)在同一臺設(shè)備上實現(xiàn)。
全文摘要
使用IPv6地址的IPv4/IPv6分級轉(zhuǎn)換方法,其特征在于,分級對IPv4分組和IPv6分組進行轉(zhuǎn)換,第一級利用無狀態(tài)的IPv4/IPv6地址和協(xié)議轉(zhuǎn)換方法在IPv4地址和特定的IPv6地址間建立轉(zhuǎn)換關(guān)系;第二級利用無狀態(tài)的IPv6/IPv6地址轉(zhuǎn)換方法使多個特定的IPv6地址通過端口信息共享一個IPv4地址;第三級通過端口轉(zhuǎn)換使得用戶端口符合第二級轉(zhuǎn)換的要求,并通過IPv6/IPv6地址映射將用戶通過無狀態(tài)地址自動配置得到的IPv6地址轉(zhuǎn)換為第二級轉(zhuǎn)換所需的特定IPv6地址。通過上述三級轉(zhuǎn)換,使得IPv4/IPv6轉(zhuǎn)換具有很強的適應(yīng)性,能夠有效地推進互聯(lián)網(wǎng)從IPv4向IPv6的過渡。
文檔編號H04L29/12GK102594932SQ20111041581
公開日2012年7月18日 申請日期2011年12月9日 優(yōu)先權(quán)日2010年12月10日
發(fā)明者包叢笑, 李星, 江偉峰 申請人:清華大學(xué)