專利名稱:基于無(wú)狀態(tài)映射的IPv4和IPv6網(wǎng)互通的方法
基于無(wú)狀態(tài)映射的IPv4和IPv6網(wǎng)互通的方法技術(shù)領(lǐng)域基于無(wú)狀態(tài)映射的IPv4和IPv6網(wǎng)互通的方法屬于互3關(guān)網(wǎng)技術(shù)領(lǐng)域。
技術(shù)背景隨著IPv4地址資源的耗盡和IPv6技術(shù)的發(fā)展,從IPv4過(guò)渡到IPv6網(wǎng)絡(luò) 成為了 Internet發(fā)展的趨勢(shì)。但I(xiàn)Pv4和IPv6協(xié)議本身的不兼容性使得IPv4 到IPv6的過(guò)渡成為了一大難題一一即我們無(wú)法使全球的互聯(lián)網(wǎng)在同一時(shí)刻完全 過(guò)渡到IPv6, IPv4到IPv6的轉(zhuǎn)換是一個(gè)由部分而整體的逐步過(guò)程。在這個(gè)過(guò) 程中如何使互聯(lián)網(wǎng)上資源的IPv4和IPv6均可訪問(wèn)性得到保證是我們要解決的 主要問(wèn)題。在問(wèn)題的基礎(chǔ)上,已有很多研究成果,主要對(duì)應(yīng)于三個(gè)方向1. IPv4/IPv6雙棧網(wǎng)絡(luò)。這種方式實(shí)際上是在運(yùn)行兩個(gè)網(wǎng)絡(luò),資源的可訪問(wèn) 性是在每個(gè)終端同時(shí)擁有兩種地址的基礎(chǔ)上保證的,因此在這種方式下原有 IPv4的地址枯竭問(wèn)題并未得到解決。2. 隧道^妄入。這種方式適合于將IPv4或IPv6的《瓜島網(wǎng)絡(luò)通過(guò)IPv6或IPv4 的大網(wǎng)連接到其它IPv4或IPv6網(wǎng)絡(luò)上。這種方式在IPv6的前期發(fā)展上起了很 大的作用,但是隨著需要部署范圍的增大,需要打通的隧道越來(lái)越多,使這種 方式顯現(xiàn)出擴(kuò)展性方面的局限性。3. 網(wǎng)絡(luò)地址轉(zhuǎn)換-端口轉(zhuǎn)換協(xié)議NAT-PT數(shù)據(jù)包翻譯。這種機(jī)制通過(guò)網(wǎng)關(guān)將 IPv4和IPv6的數(shù)據(jù)包互譯,運(yùn)行方式則類似目前用于解決IPv4地址缺乏的MT 網(wǎng)關(guān)。但由于其運(yùn)用的是傳輸控制協(xié)議TCP/用戶數(shù)據(jù)協(xié)議UDP端口到IP地址的有狀態(tài)映射,因此IP網(wǎng)絡(luò)端到端通信的特性無(wú)法保證,且狀態(tài)的引入帶來(lái)了同 樣的可擴(kuò)展性問(wèn)題。我們?cè)O(shè)計(jì)的基于無(wú)狀態(tài)映射的IPv6網(wǎng)和IPv4網(wǎng)間互通的方法,正是在上述方法的基礎(chǔ)上,通過(guò)在數(shù)據(jù)包地址翻譯過(guò)程中引入獨(dú)特的無(wú)狀態(tài)映射,達(dá)到互訪和資源共享的目的。該方法消除了網(wǎng)絡(luò)地址轉(zhuǎn)換-端口轉(zhuǎn)換協(xié)議NAP-PT中由 于狀態(tài)造成的路徑依賴性,從而使得用戶網(wǎng)絡(luò)在獲得IPv6和IPv4互訪功能的 同時(shí),能夠在多接入(Multihoming)環(huán)境下保持良好的路徑多樣性,從而在鏈 路可能發(fā)生故障的情況下提高IPv6/IPv6互訪網(wǎng)絡(luò)的性能和可靠性。我們的映射方法具備如下的獨(dú)特性質(zhì)1)——映射保證一個(gè)終端的標(biāo)識(shí), 無(wú)論其為IPv4還是IPv6,在IPv4 + IPv6全局中都是唯一的。這保證了該終端 在IPv4、 IPv6網(wǎng)中的全局可訪問(wèn)性。2)無(wú)狀態(tài)即進(jìn)行數(shù)據(jù)包翻譯和地址映 射的設(shè)備無(wú)需保存與該次翻譯相關(guān)的翻譯和映射狀態(tài)信息。這保證了系統(tǒng)的可 擴(kuò)展性。3)兼容性IPv4和IPv6互相的地址映射,會(huì)導(dǎo)致互相間路由的融合。 映射過(guò)去的地址能很好的被路由,不會(huì)給路由系統(tǒng)帶來(lái)過(guò)大的負(fù)擔(dān)。發(fā)明內(nèi)容本發(fā)明的目的在于克服已有的IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)互通方法可擴(kuò)展性差的 問(wèn)題,提供一種新的IPv4網(wǎng)絡(luò)IPv6網(wǎng)絡(luò)之間通信的技術(shù)方法。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是通過(guò)無(wú)狀態(tài)映射(IVI,其中 羅馬字母IV表示IPv4,羅馬字母VI表示IPv6),在IPv6網(wǎng)絡(luò)中維護(hù)IPv4網(wǎng) 絡(luò)的可達(dá)性信息,在此基礎(chǔ)上,在IVI路由器上實(shí)現(xiàn)分組翻譯,從而保證兩個(gè) 不同網(wǎng)絡(luò)節(jié)點(diǎn)之間的端到端通信。本發(fā)明所提出的方法的特征在于基于IVI無(wú)狀態(tài)映射的IPv6網(wǎng)和IPv4網(wǎng) 間互通的方法其特征在于,當(dāng)IPv4節(jié)點(diǎn)主動(dòng)發(fā)起與IPv6節(jié)點(diǎn)的通信時(shí),依次 含有以下步驟步驟(1 )初始化在所述IPv4、 IPv6網(wǎng)間配置一臺(tái)邊界路由器,在所選路由器中配置地址映射模 塊和分組翻i奪^^莫塊,其中地址映射模塊,配置有一個(gè)路由表,其中含有IPv4到IPv6路由映射信息, 用于依次按以下步驟4巴IPv4地址翻譯為IPv6地址把IPv4地址前加特定前綴后再添加到目標(biāo)IPv6地址/32前綴后,再根據(jù)所述路由映射信息翻譯為正確的IPv6地址;例如,設(shè)中綴為"FF,,,現(xiàn)有IPv4地址202. 38. 114. 1,名炎映射至IPv6地址前綴2001: 250: :/32下,則映射結(jié)果應(yīng)為2001: 250: ff<202. 38. 114. 1>,翻譯為正確的IPv6地址即為2001: 250: ffca: 2672: 0100::分組翻譯模塊,依次按以下步驟把IPv4分組頭翻譯為IPv6分組頭的因特網(wǎng)報(bào)頭長(zhǎng)度值IHL,該IHL為設(shè)定值;IPv6分組頭中的下一個(gè)分組頭字段是直接復(fù)制自IPv4分組頭中的協(xié)議字段;IPv6分組頭中的跳數(shù)限制字段是直接復(fù)制自IPv4分組頭中的生存周期字段;IPv6 ;格式的源地址為4巴IPv4的源地址添加IPv6的32位前綴和作為 IPv6的中綴的所述"FF"后得到的;IPv6才各式的目標(biāo)地址為4巴IPv4的目標(biāo)地址添加IPv6的32位前綴和所 述8位中綴"FF',后得到的;步驟(2)當(dāng)前述的邊界路由器的IPv4協(xié)議棧收到IPv4數(shù)據(jù)包后,首先查詢路 由表,若路由為非IVI映射路由,則按普通IPv4數(shù)據(jù)包轉(zhuǎn)發(fā);步驟(3)若發(fā)現(xiàn)步驟(2)中的所述數(shù)據(jù)包的對(duì)應(yīng)路由為IVI映射路由,則進(jìn) 行IVI地址映射操作,把IPv4地址映射為IPv6地址;再進(jìn)行翻譯搡作,把IPv4 分組頭翻譯為IPv6分組頭;步驟(4 )檢查IP報(bào)頭之后的協(xié)議當(dāng)報(bào)文為傳輸控制協(xié)議TCP或用戶數(shù)據(jù)協(xié)議UDP時(shí),要分別用RFC 7 94和 RFC768中的方法重新計(jì)算校驗(yàn)和并更改報(bào)頭的校驗(yàn)和域;當(dāng)報(bào)文為因特網(wǎng)控制消息協(xié)議ICMP時(shí),要把信息類型和代碼由ICMP格式用 RFC2765中的方法翻譯為ICMPv6格式,同時(shí),若ICMP消息后附帶IP數(shù)據(jù)包, 則要用前述的地址映射方法將其翻譯為IPv6數(shù)據(jù)包;步驟(5 )報(bào)文翻譯完成后,把新的數(shù)據(jù)包轉(zhuǎn)送到IPv6協(xié)議棧,同普通IPv6數(shù) 據(jù)包一起進(jìn)行后處理;當(dāng)IPv6節(jié)點(diǎn)主動(dòng)發(fā)起與IPv4節(jié)點(diǎn)的通信時(shí),依次含有以下步驟 步驟(I)初始化在所述IPv6和IPv4網(wǎng)間配置一臺(tái)邊界路由器,在所述路由器中配置地址映 射模塊和分組翻譯模塊,其中地址映射模塊,配置有一個(gè)路由表,其中含有IPv6映射到IPv4的一部 分地址映射信息,用于依以下步驟把IPv6地址翻譯為IPv4地址;所述的部分 IPv6地址是指原有的IPv4網(wǎng)過(guò)渡為IPv6網(wǎng)后按照映射規(guī)則的地址分配在把 這部分IPv6地址映射到IPv4地址時(shí),直接去掉IPv6地址前綴和映射標(biāo)志中綴, 以得到IPv4地址;例如,設(shè)中綴為"FF"上述的202. 38. 114. 1,在過(guò)渡到IPv6 時(shí)可獲得地址2001: 250: ffca: 2672: 0100::,對(duì)于這個(gè)IPv4兼容的IPv6地址, 映射時(shí)直接去掉IPv6前綴和映射標(biāo)志前綴"ff"即可得到IPv4地址202. 38. 114. 1;分組翻譯模塊,用于把IPv6分組頭翻譯為IPv4分組頭,其步驟如下 新的IPv4分組頭的因特網(wǎng)報(bào)頭長(zhǎng)度IHL的值設(shè)為5; IPv6分組頭中的凈荷長(zhǎng)度字段的值加上4倍的IHL值直接作為IPv4分組 頭中的全長(zhǎng)字段;IPv6分組頭中的跳數(shù)限制字段直接作為IPv4分組頭中的生存周期字段; IPv6分組頭中的下一個(gè)分組頭字段直接作為IPv4分組頭中的協(xié)議字段; IPv4分組頭的校驗(yàn)和字段需要根據(jù)RFC791中的方法直接計(jì)算; IPv6的IVI格式源地址去掉前40位的前綴和所述的"FF"后,再去32位得到映射的IPv4源地址;IPv6的IVI才各式目的地址去掉前40位的前綴和所述的"FF"后,再去32位得到映射的IPv4目的地址;步驟(II)邊界路由器在其IPv6協(xié)議棧收到IPv6數(shù)據(jù)包后,首先查詢路由表, 若為非IVI映射路由,則按照普通IPv6數(shù)據(jù)包轉(zhuǎn)發(fā);步驟(III )若步驟(II )中的所達(dá)IPv6數(shù)據(jù)包為IVI映射路由,則進(jìn)行IVI 地質(zhì)映射操作,把IPv6地址翻譯為IPv4地質(zhì);再進(jìn)行分組翻譯操作,把IPv6 分組頭翻譯為IPv4分組頭;步驟(IV)檢查IPv6分組頭之后的協(xié)議若報(bào)文為傳輸控制協(xié)議TCP或用戶數(shù)據(jù)協(xié)議UDP,則要重新計(jì)算校驗(yàn)和,并 改變校驗(yàn)和域的值;若報(bào)文為ICMPv6時(shí),把信息類型和代碼由ICMPv6格式翻譯為ICMP格式,同時(shí)若ICMPv6消息后附IPv6數(shù)據(jù)包,則要翻譯該數(shù)據(jù)包為IPv4數(shù)據(jù)包,方法 與步驟(I)中所述的方法相同;步驟(V)把步驟(IV)得到的新的數(shù)據(jù)包,轉(zhuǎn)送到IPv4協(xié)議棧,同普通IPv4 數(shù)據(jù)包 一樣進(jìn)行后續(xù)處理。本發(fā)明所提出的基于IVI無(wú)狀態(tài)映射的IPv6網(wǎng)絡(luò)和IPv4網(wǎng)絡(luò)互通方法,解 決了已有的協(xié)議翻譯機(jī)制需要保存通信雙方的狀態(tài)信息而導(dǎo)致的單點(diǎn)故障和可 擴(kuò)展性差的問(wèn)題,提供一種新的IPv4網(wǎng)絡(luò)IPv6網(wǎng)絡(luò)之間通信的技術(shù)方法,可 以實(shí)現(xiàn)在網(wǎng)絡(luò)中間節(jié)點(diǎn)無(wú)狀態(tài)翻譯分組,從而解決傳統(tǒng)IPv4/v6網(wǎng)絡(luò)之間互通 方法的可擴(kuò)展性問(wèn)題。
圖1. IVI地址映射規(guī)則示意2.基于IVI無(wú)狀態(tài)映射的IPv6網(wǎng)和IPv4網(wǎng)間互通的方法網(wǎng)絡(luò)環(huán)境3.基于IVI無(wú)狀態(tài)映射的IPv6網(wǎng)和IPv4網(wǎng)間互通的方法流程4.基于IVI無(wú)狀態(tài)映射的IPv6網(wǎng)和IPv4網(wǎng)間互通的方法系統(tǒng)邏輯結(jié)構(gòu)圖具體實(shí)施方式
本發(fā)明按以下步驟實(shí)現(xiàn)Ipv4接入網(wǎng)通過(guò)IVI路由器接入至IPv6骨干網(wǎng),并與有IPv4兼容的IPv6 地址的IPv6接入網(wǎng)進(jìn)行通信,如圖2所示。步驟l: V4客戶端首先發(fā)起了對(duì)V6服務(wù)器的訪問(wèn)請(qǐng)求,如圖2中1.0. 0. 1 發(fā)起對(duì)3. 0. 0. 1 ( V6地址為2001: 0: ff 30: 0100 )的請(qǐng)求。步驟2:IVI邊界路由器在IPv4協(xié)議棧收到來(lái)自V4客戶端的IPv4數(shù)據(jù)包后,發(fā)現(xiàn)其對(duì)應(yīng)路由為IVI映射路由,開(kāi)始進(jìn)行IVI地址映射和數(shù)據(jù)包翻譯操作;步驟3: IVI邊界路由器根據(jù)路由表中的IVI路由映射信息將IPv4地址翻譯 為IPv6地址,并將IPv4數(shù)據(jù)包的分組頭翻譯為IPv6分組頭;步驟3. 1 IPv6分組頭中的凈荷長(zhǎng)度字段(Payload Length)的值為IPv4分組 頭中的全長(zhǎng)字段(Total Length)減去4倍的IHL值;步驟3. 2: Ipv6分組頭中的下一個(gè)分組頭字段(Next Header)直接復(fù)制IPv4 分組頭中的協(xié)議字^殳(Protocol);步驟3. 3: Ipv6分組頭中的跳數(shù)限制字段(Hop limit)直接復(fù)制IPv4分組頭 中的生存周期字段(TTL);步驟3. 4: IPv4的源地址根據(jù)IVI地址映射方法添加IPv6的32位前綴和"FF, 8位中綴后得到的IPv6 ;f各式的源地址,如圖2,將1. 0. 0. 1翻譯為 2001: 1: fflO: 0100:: j步驟3. 5: IPv4的目標(biāo)地址纟艮據(jù)IVI地址映射方法添加IPv6的32位前綴和 "FF" 8位中綴后得到的IPv6格式的目標(biāo)地址,如圖2,將3. 0. 0. 1翻譯為 2001: 0: ff30: 0100:: j步驟4:分組頭翻譯完畢后檢查IP報(bào)頭之后的協(xié)議,分為TCP / UDP / ICMP 三種情況;步驟4. 1:當(dāng)報(bào)文為TCP或UDP時(shí),因其報(bào)文校驗(yàn)和需要包含偽IP報(bào)頭,所 以IP報(bào)頭翻譯后,需要重新計(jì)算此校驗(yàn)和并更改報(bào)頭的校驗(yàn)和域,僅此一處改 動(dòng)即可;步驟4. 2:當(dāng)報(bào)文為ICMP時(shí),需要將信息類型和代碼由ICMP格式翻譯為 ICMPv6格式;同時(shí),如果ICMP消息后附帶IP數(shù)據(jù)包,需要根據(jù)同樣的方法將 此IP數(shù)據(jù)包翻譯為IPv6數(shù)據(jù)包;翻譯方法根據(jù)RFC2765即SIIT協(xié)議進(jìn)行;步驟5:報(bào)文翻譯過(guò)程完畢后,將新的數(shù)據(jù)包轉(zhuǎn)送至IPv6協(xié)議棧,同普通 IPv6數(shù)據(jù)包一樣進(jìn)4亍后續(xù)處理;步驟6:新的IPv6數(shù)據(jù)包離開(kāi)IVI邊界路由器,通過(guò)IPv6網(wǎng)絡(luò)路由到V6服 務(wù)器。反過(guò)來(lái),從V6服務(wù)器到V4客戶端的訪問(wèn)也是類似。步驟l: V6服務(wù)器首先發(fā)起了對(duì)V4客戶端的訪問(wèn)請(qǐng)求,如圖2中 2001: 0: ff30: 0100::發(fā)起對(duì)2001: 0: ffl0: 0100: : ( V4地址為1. 0. 0. 1 )的請(qǐng)求。步驟2: IVI邊界路由器在IPv6協(xié)議棧收到IPv6數(shù)據(jù)包后,首先查詢路由 表,如果路由為普通路由,則按普通IPv6數(shù)據(jù)包轉(zhuǎn)發(fā);步驟3:如果發(fā)現(xiàn)其對(duì)應(yīng)路由為IVI映射路由,則進(jìn)行IVI地址映射和翻譯 操作;地址映射和翻譯操作首先利用映射路由內(nèi)的信息將IPv6地址翻譯為IPv4 地址,將IPv6數(shù)據(jù)報(bào)頭翻譯為IPv4數(shù)據(jù)報(bào)頭;步驟3. 1:從IPv6到IPv4的IVI地址規(guī)則如圖1所示;在我們的映射MJ'j下,只有部分IPv6地址可以纟皮映射到IPv4地址,這些地 址通常來(lái)自原有的IPv4網(wǎng)絡(luò)過(guò)渡為IPv6網(wǎng)絡(luò)后按映射規(guī)則的地址分配;例如 上述的202. 38. 114. 1,在過(guò)渡到IPv6時(shí)可獲得地址2001: 250: ffca: 2672: 0100::,對(duì)于這個(gè)IPv4兼容的IPv6地址,映射時(shí)直接去 掉IPv6前綴和映射標(biāo)志前綴"ff,,即可得到IPv4地址202. 38. 114. 1; 步驟3. 2:按如下方式構(gòu)造IPv4分組頭新的IPv4分組頭的IHL字,殳(Internet Header Length)設(shè)為5;IPv6分組頭中的凈荷長(zhǎng)度字段(Payload Length)的值加上4倍的IHL值直接 填入IPv4分組頭中的全長(zhǎng)字段(Total Length);Ipv6分組頭中的跳數(shù)限制字段(Hop limit)直接填入IPv4分組頭中的生存周 期字段(TTL);Ipv6分組頭中的下一個(gè)分組頭字4殳(Next Header)直4妾填入IPv4分組頭中的 協(xié)議字段(Protocol);直接計(jì)算IPv4分組頭的校驗(yàn)和字段(Header Checksum);IPv6的IVI格式源地址去除前40位前綴和中綴后,再取32位得到映射的 IPv4源地址;如圖2,將2001: 0: ff30: 0100::翻譯為3. 0. 0. 1IPv6的IVI格式目標(biāo)地址去除前40位前綴和中綴后,再取32位得到映射的 IPv4目標(biāo)地址;如圖2,將2001: 1: fflO: 0100::翻i奪為1. 0. 0. 1;步驟4:檢查IP報(bào)頭之后的協(xié)議,分為TCP / UDP / ICMPv6三種情況;步驟4. 1:當(dāng)報(bào)文為TCP或UDP時(shí),因其報(bào)文校驗(yàn)和需要包含偽IP報(bào)頭,所 以IP報(bào)頭翻譯后,需要重新計(jì)算此校驗(yàn)和,并改變此域值,僅此一處改動(dòng)即可;步驟4. 2:當(dāng)報(bào)文為ICMPv6時(shí),需要將信息類型和代碼由ICMPv6格式翻譯 為ICMP格式。同時(shí),如果ICMPv6消息后附帶IP數(shù)據(jù)包,需要將此IP數(shù)據(jù)包 翻譯為IPv6數(shù)據(jù)包;翻譯方法根據(jù)RFC2765即SIIT協(xié)議進(jìn)行;步驟5:報(bào)文翻譯過(guò)程完畢后,將新的數(shù)據(jù)包轉(zhuǎn)送至IPv4協(xié)議棧,同普通 IPv4數(shù)據(jù)包一樣進(jìn)行后續(xù)處理;步驟6:新的Ipv4數(shù)據(jù)包離開(kāi)IVI邊界路由器,通過(guò)Ipv4網(wǎng)絡(luò)路由到V4客 戶端。
權(quán)利要求
1、基于無(wú)狀態(tài)映射的IPv4和IPv6網(wǎng)互通的方法,其特征在于,當(dāng)IPv4節(jié)點(diǎn)主動(dòng)發(fā)起與IPv6節(jié)點(diǎn)的通信時(shí),依次含有以下步驟步驟(1)初始化在所述IPv4、IPv6網(wǎng)間配置一臺(tái)邊界路由器,在所選路由器中配置地址映射模塊和分組翻譯模塊,其中地址映射模塊,配置有一個(gè)路由表,其中含有IPv4到IPv6路由映射信息,用于依次按以下步驟把IPv4地址翻譯為IPv6地址把IPv4地址前加特定長(zhǎng)度中綴后,再添加到目標(biāo)IPv6地址/32前綴后,再根據(jù)所述路由映射信息翻譯為正確的IPv6地址;分組翻譯模塊,依次按以下步驟把IPv4分組頭翻譯為IPv6分組頭IPv6分組頭中的凈荷長(zhǎng)度字段的值為IPv4分組頭中的全長(zhǎng)字段減去4倍的因特網(wǎng)報(bào)頭長(zhǎng)度值IHL,該IHL為設(shè)定值;IPv6分組頭中的下一個(gè)分組頭字段是直接復(fù)制自IPv4分組頭中的協(xié)議字段;IPv6分組頭中的跳數(shù)限制字段是直接復(fù)制自IPv4分組頭中的生存周期字段;IPv6格式的源地址為把IPv4的源地址添加IPv6的32位前綴和作為IPv6的中綴的所述“FF”后得到的;IPv6格式的目標(biāo)地址為把IPv4的目標(biāo)地址添加IPv6的32位前綴和所述8位中綴“FF”后得到的;步驟(2)當(dāng)前述的邊界路由器的IPv4協(xié)議棧收到IPv4數(shù)據(jù)包后,首先查詢路由表,若路由為非無(wú)狀態(tài)映射路由,則按普通IPv4數(shù)據(jù)包轉(zhuǎn)發(fā);步驟(3)若發(fā)現(xiàn)步驟(2)中的所述數(shù)據(jù)包的對(duì)應(yīng)路由為無(wú)狀態(tài)映射路由,則進(jìn)行無(wú)狀態(tài)地址映射操作,把IPv4地址映射為IPv6地址;再進(jìn)行翻譯操作,把IPv4分組頭翻譯為IPv6分組頭;步驟(4)檢查IP報(bào)頭之后的協(xié)議當(dāng)報(bào)文為傳輸控制協(xié)議TCP或用戶數(shù)據(jù)協(xié)議UDP時(shí),要分別用RFC794和RFC768中的方法重新計(jì)算校驗(yàn)和并更改報(bào)頭的校驗(yàn)和域;當(dāng)報(bào)文為因特網(wǎng)控制消息協(xié)議ICMP時(shí),要把信息類型和代碼由ICMP格式用RFC2765中的方法翻譯為ICMPv6格式,同時(shí),若ICMP消息后附帶IP數(shù)據(jù)包,則要用前述的地址映射方法將其翻譯為IPv6數(shù)據(jù)包;步驟(5)報(bào)文翻譯完成后,把新的數(shù)據(jù)包轉(zhuǎn)送到IPv6協(xié)議棧,同普通IPv6數(shù)據(jù)包一起進(jìn)行后處理;當(dāng)IPv6節(jié)點(diǎn)主動(dòng)發(fā)起與IPv4節(jié)點(diǎn)的通信時(shí),依次含有以下步驟步驟(I)初始化在所述IPv6和IPv4網(wǎng)間配置一臺(tái)邊界路由器,在所述路由器中配置地址映射模塊和分組翻譯模塊,其中地址映射模塊,配置有一個(gè)路由表,其中含有IPv6映射到IPv4的一部分地址映射信息,用于依以下步驟把IPv6地址翻譯為IPv4地址;所述的部分IPv6地址是指原有的IPv4網(wǎng)過(guò)渡為IPv6網(wǎng)后按照映射規(guī)則的地址分配在把這部分IPv6地址映射到IPv4地址時(shí),直接去掉IPv6地址前綴和映射標(biāo)志中綴,以得到IPv4地址;分組翻譯模塊,用于把IPv6分組頭翻譯為IPv4分組頭,其步驟如下新的IPv4分組頭的因特網(wǎng)報(bào)頭長(zhǎng)度IHL的值設(shè)為5;IPv6分組頭中的凈荷長(zhǎng)度字段的值加上4倍的IHL值直接作為IPv4分組頭中的全長(zhǎng)字段;IPv6分組頭中的跳數(shù)限制字段直接作為IPv4分組頭中的生存周期字段;IPv6分組頭中的下一個(gè)分組頭字段直接作為IPv4分組頭中的協(xié)議字段;IPv4分組頭的校驗(yàn)和字段需要根據(jù)RFC791中的方法直接計(jì)算;IPv6的源地址去掉前40位的前綴和所述的“FF”后,再去32位得到映射的IPv4源地址;IPv6的目的地址去掉前40位的前綴和所述的“FF”后,再去32位得到映射的IPv4目的地址;步驟(II)邊界路由器在其IPv6協(xié)議棧收到IPv6數(shù)據(jù)包后,首先查詢路由表,若為非無(wú)狀態(tài)映射路由,則按照普通IPv6數(shù)據(jù)包轉(zhuǎn)發(fā);步驟(III)若步驟(II)中的所達(dá)IPv6數(shù)據(jù)包為無(wú)狀態(tài)映射路由,則進(jìn)行無(wú)狀態(tài)地址映射操作,把IPv6地址翻譯為IPv4地質(zhì);再進(jìn)行分組翻譯操作,把IPv6分組頭翻譯為IPv4分組頭;步驟(IV)檢查IPv6分組頭之后的協(xié)議若報(bào)文為傳輸控制協(xié)議TCP或用戶數(shù)據(jù)協(xié)議UDP,則要重新計(jì)算校驗(yàn)和,并改變校驗(yàn)和域的值;若報(bào)文為ICMPv6時(shí),把信息類型和代碼由ICMPv6格式翻譯為ICMP格式,同時(shí)若ICMPv6消息后附IPv6數(shù)據(jù)包,則要翻譯該數(shù)據(jù)包為IPv4數(shù)據(jù)包,方法與步驟(I)中所述的方法相同;步驟(V)把步驟(IV)得到的新的數(shù)據(jù)包,轉(zhuǎn)送到IPv4協(xié)議棧,同普通IPv4數(shù)據(jù)包一樣進(jìn)行后續(xù)處理。
全文摘要
基于無(wú)狀態(tài)映射的IPv4和IPv6網(wǎng)互通的方法屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,其特征在于在所選的IPv4和IPv6網(wǎng)間配置一臺(tái)邊界路由器,在該邊界路由器中配置無(wú)狀態(tài)地址映射模塊,以進(jìn)行IPv4和IPv6網(wǎng)間地址映射;分組翻譯模塊,以進(jìn)行分組頭之間的互相翻譯,使得IPv6網(wǎng)中維護(hù)IPv4網(wǎng)的可達(dá)信息或者在IPv4網(wǎng)中維護(hù)IPv6網(wǎng)的可達(dá)性信息從而保證不同網(wǎng)之間的端到端通信,解決了可擴(kuò)展性問(wèn)題。
文檔編號(hào)H04L12/46GK101227373SQ200710177618
公開(kāi)日2008年7月23日 申請(qǐng)日期2008年3月21日 優(yōu)先權(quán)日2008年3月21日
發(fā)明者星 李 申請(qǐng)人:清華大學(xué)