IPv4" title="IPv4">IPv4的缺陷和Internet的飛速發(fā)展導(dǎo)致IPv6" title="IPv6">IPv6的產(chǎn)生和發(fā)展,目前,IPv6網(wǎng)絡(luò)正從試驗(yàn)性網(wǎng)絡(luò)逐步走向?qū)嶋H應(yīng)用,但未來一段時(shí)間內(nèi),IPv4網(wǎng)絡(luò)仍然占據(jù)主導(dǎo)地位,IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)并存的局面仍將繼續(xù),這樣,實(shí)現(xiàn)IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)互連成為IPv6網(wǎng)絡(luò)走向?qū)嶋H應(yīng)用的重要步驟。
1、NAT-PT實(shí)現(xiàn)互連原理
網(wǎng)絡(luò)地址和協(xié)議轉(zhuǎn)換(NAT-PT)是一種將實(shí)現(xiàn)IPv4分組格式和IPv6分組格式之間轉(zhuǎn)換和動(dòng)態(tài)NAT有機(jī)結(jié)合的地址和協(xié)議轉(zhuǎn)換技術(shù),它對(duì)IPv6網(wǎng)絡(luò)中終端的地址配置沒有限制,也不需要對(duì)想和IPv4網(wǎng)絡(luò)通信的終端分配IPv4地址。它和IPv4網(wǎng)絡(luò)所采用的動(dòng)態(tài)NAT一樣,在網(wǎng)絡(luò)邊界的地址和協(xié)議轉(zhuǎn)換器設(shè)置一組IPv4地址,并以此構(gòu)成IPv4地址池,當(dāng)IPv6網(wǎng)絡(luò)中的某個(gè)終端發(fā)起和IPv4網(wǎng)絡(luò)中的終端之間的會(huì)話時(shí),由地址和協(xié)議轉(zhuǎn)換器為發(fā)起會(huì)話的終端分配一個(gè)IPv4地址,并將該IPv4地址和該終端發(fā)起的會(huì)話綁定在一起。如果會(huì)話是TCP連接,則可用會(huì)話兩端的源和目的地址、源和目的端口號(hào)來標(biāo)識(shí)該會(huì)話。在會(huì)話存在期間,該IPv4地址一直分配給發(fā)起會(huì)話的終端,當(dāng)屬于該會(huì)話的IPv6分組經(jīng)過地址和協(xié)議轉(zhuǎn)換器進(jìn)入IPv4網(wǎng)絡(luò)時(shí),用該IPv4地址取代IPv6分組的源地址,并完成IPv6分組至IPv4分組的轉(zhuǎn)換。IPv4網(wǎng)絡(luò)中的終端用該IPv4地址和發(fā)起會(huì)話的終端通信,當(dāng)屬于該會(huì)話的IPv4分組進(jìn)入地址和協(xié)議轉(zhuǎn)換器時(shí),用該IPv4分組的目的地址檢索會(huì)話表,用會(huì)話表中給出的發(fā)起會(huì)話的終端的IPv6地址取代IPv4分組的目的地址,并完成IPv4分組至IPv6分組的轉(zhuǎn)換。在NAT-PT中,96bit網(wǎng)絡(luò)前綴可以是任意的網(wǎng)絡(luò)地址,但必須保證IPv6網(wǎng)絡(luò)將目的地址和該96bit網(wǎng)絡(luò)前綴匹配的IPv6分組路由到網(wǎng)絡(luò)邊界的地址和協(xié)議轉(zhuǎn)換器。地址和協(xié)議轉(zhuǎn)換器將和96bit網(wǎng)絡(luò)前綴匹配的目的地址的低32bit作為IPv4地址。反之,地址和協(xié)議轉(zhuǎn)換器在IPv4分組的源地址前加上96bit網(wǎng)絡(luò)前綴后作為IPv6分組的源地址。
2、單向會(huì)話通信過程
下面結(jié)合圖1詳細(xì)討論一下NAT-PT的工作機(jī)制。
圖1 NAT-PT實(shí)現(xiàn)網(wǎng)絡(luò)地址和協(xié)議轉(zhuǎn)動(dòng)過程
在圖1中,當(dāng)終端A發(fā)起和終端C的會(huì)話時(shí),終端A發(fā)送一個(gè)以2001::2E0:FCFF:FE00:7為源地址,以2::10.1.1.1為目的地址的IPv6分組,該IPv6分組被IPv6網(wǎng)絡(luò)路由到路由器" title="路由器">路由器R3。路由器R3在會(huì)話表中檢索該IPv6分組屬于的會(huì)話,由于該IPv6分組是發(fā)起會(huì)話的IPv6分組,會(huì)話表中找不到該IPv6分組所屬的會(huì)話,路由器R3為終端A分配一個(gè)IPv4地址,這里假定是193.1.1.1,同時(shí),在會(huì)話表中創(chuàng)建一項(xiàng),將分配該終端A的IPv4地址和終端A發(fā)起的會(huì)話綁定在一起,如表1所示。路由器R3將該IPv6分組轉(zhuǎn)換成IPv4分組,通過IPv4路由表確定的傳輸路徑將IPv4分組轉(zhuǎn)發(fā)給下一跳路由器R2。該IPv4分組經(jīng)過路由器R2轉(zhuǎn)發(fā)后到達(dá)終端C,完成終端A至終端C的傳輸過程。IPv6分組轉(zhuǎn)換成IPv4分組時(shí)各字段的轉(zhuǎn)換過程如表2所示,源和目的地址的轉(zhuǎn)換如圖2所示。
表1 IPv4地址和會(huì)話之間的綁定
表2 IPv6首部至IPv4首部轉(zhuǎn)換
表3 IPv4首部至IPv6首部轉(zhuǎn)換
當(dāng)終端C向終端A發(fā)送數(shù)據(jù)時(shí),終端C構(gòu)建一個(gè)以10.1.1.1.1為源地址,193.1.1.1為目的地址的IPv4分組,該IPv4分組被IPv4網(wǎng)絡(luò)路由到路由器R3路由器R3用該IPv4分組的目的地址檢索會(huì)話表,找到對(duì)應(yīng)項(xiàng),用對(duì)應(yīng)項(xiàng)給出的IPv6地址取代目的地址由于為路由器R3配置的網(wǎng)絡(luò)前綴為2::/96,源地址被轉(zhuǎn)換成2::10.1.1.1IPv4分組轉(zhuǎn)換成IPv6分組時(shí)各字段的轉(zhuǎn)換過程如表3所示,源和目的地址的轉(zhuǎn)換如圖2所示
圖2 IPv4分組至IPv6分組轉(zhuǎn)換過程
圖3 用DNS應(yīng)用層網(wǎng)關(guān)實(shí)現(xiàn)雙向會(huì)話
終端A后續(xù)發(fā)送給終端C的IPv6分組,由于在會(huì)話表中找到對(duì)應(yīng)項(xiàng),可以根據(jù)對(duì)應(yīng)項(xiàng)中給出的IPv4地址進(jìn)行源地址轉(zhuǎn)換在會(huì)話存在期間,會(huì)話表中給出的地址映射一直保持一旦會(huì)話結(jié)束,這種地址映射也隨之消除,分配的IPv4地址可以再次分配給其他IPv6網(wǎng)絡(luò)中的終端不同類型會(huì)話的結(jié)束方式不同,有些類型的會(huì)話有會(huì)話結(jié)束過程,有些類型的會(huì)話沒有明顯的會(huì)話結(jié)束過程,后一種類型的會(huì)話用規(guī)定時(shí)間內(nèi)一直沒有屬于該會(huì)話的IP分組通過作為該會(huì)話的結(jié)束條件
3、雙向會(huì)話通信過程
和IPv4動(dòng)態(tài)NAT一樣,NAT-PT只能用于由IPv6網(wǎng)絡(luò)中的終端發(fā)起會(huì)話的應(yīng)用,如果某個(gè)應(yīng)用需要由IPv4網(wǎng)絡(luò)中的終端發(fā)起會(huì)話,NAT-PT是無法實(shí)現(xiàn)的,因?yàn)?,IPv4網(wǎng)絡(luò)中的終端是無法用某個(gè)IPv4地址來綁定IPv6網(wǎng)絡(luò)中的某個(gè)終端的如果非要實(shí)現(xiàn)由IPv4網(wǎng)絡(luò)中的終端發(fā)起的會(huì)話,需要采用靜態(tài)NAT,即在路由器R3配置靜態(tài)的IPv4地址和IPv6地址之間的映射在圖3中,如果終端C希望訪問IPv6網(wǎng)絡(luò)中的DNS服務(wù)器" title="DNS服務(wù)器">DNS服務(wù)器(IPv6 DNS),就構(gòu)建以10.1.1.1為源地址,以193.1.1.5為目的地址的IPv4分組,該IPv4分組到達(dá)路由器R3后,路由器R3通過配置的靜態(tài)地址映射,將目的地址轉(zhuǎn)換成2001::2E0:FCFF:FE00:9但如果對(duì)IPv6中的其他終端也采用靜態(tài)地址映射,需要為所有可能和IPv4網(wǎng)絡(luò)通信的終端靜態(tài)分配IPv4地址,這顯然是不可能的對(duì)于圖3所示的網(wǎng)絡(luò)結(jié)構(gòu),路由器R3不僅是地址和協(xié)議轉(zhuǎn)換器,還是DNS應(yīng)用層網(wǎng)關(guān)
DNS用于將完全合格的域名解析成IP地址,如果是IPv6網(wǎng)絡(luò),則解析成IPv6地址,如果是IPv4網(wǎng)絡(luò),則解析成IPv4地址DNS服務(wù)器給出完全合格的域名和對(duì)應(yīng)的IP地址之間的映射,如終端A 2001::2E0:FCFF:FE00:7當(dāng)終端C想發(fā)起和終端A之間的會(huì)話時(shí),終端C通過終端A的完全合格的域名:終端A解析出終端A對(duì)應(yīng)的IPv4地址由于在路由器R3中已經(jīng)靜態(tài)配置了IPv6網(wǎng)絡(luò)中的DNS服務(wù)器的IPv6地址:2001::2E0:FCFF:FE00:9和IPv4地址:193.1.1.5之間的映射,終端C向IPv4地址為193.1.1.5的DNS服務(wù)器發(fā)送請(qǐng)求報(bào)文,請(qǐng)求報(bào)文被封裝成IPv4分組后進(jìn)入IPv4網(wǎng)絡(luò),被IPv4網(wǎng)絡(luò)路由到路由器R3由路由器R3完成IPv4 DNS請(qǐng)求報(bào)文至IPv6 DNS請(qǐng)求報(bào)文的轉(zhuǎn)換,并將請(qǐng)求報(bào)文封裝成以2::10.1.1.1為源地址,以2001::2E0:FCFF:FE00:9為目的地址的IPv6分組,通過IPv6網(wǎng)絡(luò)將該IPv6分組傳輸?shù)絀Pv6網(wǎng)絡(luò)的DNS服務(wù)器IPv6網(wǎng)絡(luò)的DNS服務(wù)器根據(jù)完全合格的域名:終端A解析出IPv6地址:2001::2E0:FCFF:FE00:7,并將該地址通過DNS響應(yīng)報(bào)文回送給源地址為2::10.1.1.1的終端(終端C)響應(yīng)報(bào)文被IPv6網(wǎng)絡(luò)路由到路由器R3,由路由器R3在IPv4地址池中選擇一個(gè)IPv4地址(這里假定是193.1.1.1)分配給終端A,同時(shí)在會(huì)話表中建立2001::2E0:FCFF:FE00:7和193.1.1.1之間的映射路由器R3將IPv6 DNS響應(yīng)報(bào)文轉(zhuǎn)換為IPv4 DNS響應(yīng)報(bào)文,并將IPv4 DNS響應(yīng)報(bào)文封裝成以10.1.1.1為目的地址的IPv4分組,通過IPv4網(wǎng)絡(luò)將該IPv4分組傳輸?shù)浇K端C,終端C隨后用IPv4地址:193.1.1.1和終端A進(jìn)行通信需要指出的是,在上述通信過程中,IPv4網(wǎng)絡(luò)中的終端通過DNS的地址解析過程創(chuàng)建會(huì)話,并將地址映射和該會(huì)話綁定在一起,所有源地址為2001::2E0:FCFF:FE00:7的IPv6分組或目的地址為193.1.1.1的IPv4分組都屬于該會(huì)話,按照會(huì)話表中給出的地址映射完成地址轉(zhuǎn)換這種類型的會(huì)話只能用規(guī)定時(shí)間內(nèi)一直沒有屬于該會(huì)話的IP分組通過作為該會(huì)話的結(jié)束條件
IPv4網(wǎng)絡(luò)中所有終端和服務(wù)器對(duì)應(yīng)的IPv6地址是固定的,IPv6網(wǎng)絡(luò)中的終端可以獲取Pv4網(wǎng)絡(luò)中所有終端和服務(wù)器對(duì)應(yīng)的IPv6地址,因此,IPv6網(wǎng)絡(luò)中的終端可以通過直接給出IPv6地址的方式和IPv4網(wǎng)絡(luò)中的終端通信當(dāng)然,記住完全合格的域名總比記住128bit的IPv6地址容易,因此,IPv6網(wǎng)絡(luò)中的終端可能通過完全合格的域名(如終端C)發(fā)起和IPv4網(wǎng)絡(luò)中的終端之間的會(huì)話這種情況下,由IPv6終端向IPv4網(wǎng)絡(luò)的DNS服務(wù)器發(fā)送DNS請(qǐng)求報(bào)文,由路由器R3完成IPv6 DNS請(qǐng)求報(bào)文至IPv4 DNS請(qǐng)求報(bào)文的轉(zhuǎn)換當(dāng)路由器R3接收到IPv4網(wǎng)絡(luò)中的DNS服務(wù)器回送的DNS響應(yīng)報(bào)文時(shí),一方面通過加上網(wǎng)絡(luò)前綴2::,將解析出的IPv4地址轉(zhuǎn)換成IPv6地址,另一方面完成IPv4 DNS響應(yīng)報(bào)文至IPv6 DNS響應(yīng)報(bào)文的轉(zhuǎn)換