周國(guó)軍 劉愛民
1 玉林師范學(xué)院數(shù)學(xué)與信息科學(xué)學(xué)院 廣西玉林 5370002 玉林師范學(xué)院教育技術(shù)中心 廣西玉林 537000
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和互聯(lián)網(wǎng)規(guī)模的不斷擴(kuò)大,IPv4已經(jīng)面臨地址空間不足、網(wǎng)絡(luò)安全性不高、QoS無(wú)法保證等問(wèn)題。為了從根本上解決這些問(wèn)題,IETF提出了IPv6,經(jīng)過(guò)十幾年的研究和實(shí)驗(yàn),目前IPv6已經(jīng)進(jìn)入商用部署階段[1]。由于Internet上的大量設(shè)備使用IPv4,IPv6不可能在短時(shí)期內(nèi)取代IPv4,為了實(shí)現(xiàn)IPv4向IPv6平穩(wěn)過(guò)渡,保證IPv4和IPv6網(wǎng)絡(luò)之間的互相通信是必須解決的問(wèn)題[2]。目前解決IPv4向IPv6過(guò)渡問(wèn)題的基本技術(shù)有雙協(xié)議棧技術(shù)、隧道技術(shù)和協(xié)議翻譯技術(shù)[3]。NAT-PT(Network Address Translation-Protocol Translation)是一種典型的協(xié)議翻譯技術(shù),NAT-PT設(shè)備完成IPv4/IPv6地址的轉(zhuǎn)換,并對(duì)協(xié)議進(jìn)行翻譯,從而實(shí)現(xiàn)IPv4網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的互相通信。
計(jì)算機(jī)網(wǎng)絡(luò)是一門實(shí)踐性很強(qiáng)的課程,結(jié)合理論教學(xué)開展實(shí)驗(yàn)是該課程教學(xué)中不可缺少的環(huán)節(jié)。由于網(wǎng)絡(luò)設(shè)備價(jià)格昂貴,很多高校沒(méi)有足夠的硬件設(shè)備用于網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)。在硬件設(shè)備缺乏的情況下,采用網(wǎng)絡(luò)模擬軟件搭建網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái),不但可以解決實(shí)驗(yàn)室設(shè)備投入和需求之間矛盾,而且能提高實(shí)驗(yàn)教學(xué)的效率和質(zhì)量[4]。GNS3是一款常見的圖形化網(wǎng)絡(luò)模擬軟件,可以在Windows、Linux等系統(tǒng)下運(yùn)行,能夠模擬路由器、防火墻、交換機(jī)等網(wǎng)絡(luò)設(shè)備。由于GNS3使用真實(shí)的Cisco IOS操作系統(tǒng),使用該軟件可以模擬復(fù)雜的網(wǎng)絡(luò)環(huán)境,讓學(xué)生體驗(yàn)與真實(shí)硬件平臺(tái)相同的學(xué)習(xí)環(huán)境[5]。本文以NAT-PT技術(shù)為例,介紹如何在Windows系統(tǒng)下基于GNS3搭建實(shí)驗(yàn)環(huán)境,通過(guò)實(shí)驗(yàn)?zāi)MIPv4與IPv6網(wǎng)絡(luò)互相通信。
NAT-PT是一種IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)之間直接通信的過(guò)渡方式[6],IPv4/IPv6地址轉(zhuǎn)換和協(xié)議翻譯由NAT-PT設(shè)備完成。其技術(shù)要點(diǎn)包括兩個(gè)方面:一方面是NAT-PT設(shè)備向IPv6網(wǎng)絡(luò)發(fā)布一個(gè)長(zhǎng)度為96比特的IPv6前綴,該前綴與IPv4地址相拼接就是IPv4地址轉(zhuǎn)換后的IPv6地址,IPv6主機(jī)使用轉(zhuǎn)換后的IPv6地址訪問(wèn)IPv4網(wǎng)絡(luò);另一方面,NATPT設(shè)備為IPv6網(wǎng)絡(luò)分配IPv4地址池,并維護(hù)IPv4和IPv6地址的映射關(guān)系,IPv4主機(jī)使用IPv4地址池中的地址訪問(wèn)IPv6網(wǎng)絡(luò),從而實(shí)現(xiàn)IPv4節(jié)點(diǎn)和IPv6節(jié)點(diǎn)之間的透明通信。
本文的實(shí)驗(yàn)在Windows系統(tǒng)下進(jìn)行,下面介紹搭建實(shí)驗(yàn)環(huán)境的基本步驟。
1)下載、安裝GNS3。在GNS3的官方網(wǎng)站(http://www.gns3.net)下載最新版本的安裝程序,采用默認(rèn)的安裝方式,把 WinPcap、Wireshark、Dynamips、Pemu、VPCS、GNS3 等組件安裝到計(jì)算機(jī)中。
2)配置IOS。GNS3沒(méi)有提供Cisco IOS映像文件,需要從其他途徑獲取。啟動(dòng)GNS3后,選擇“Edit”菜單下的“IOS images and hypervisors”,在打開的對(duì)話框中單擊“Image files”右邊的按鈕,選擇已準(zhǔn)備好的IOS映像文件,單擊“打開”按鈕返回對(duì)話框,再單擊“save”按鈕保存配置。本文的實(shí)驗(yàn)使用的IOS映像文件為c3745-advipservicesk9-mz.124-3c.bin。
3)為路由器選擇一個(gè)合適的IDLE PC值。一個(gè)合適的IDLE PC值可以有效地降低IOS消耗的CPU資源。以路由器R1為例,操作過(guò)程:從GNS3圖形窗口的Node Types區(qū)拖動(dòng)1臺(tái)Router c3700(命名為R1)到工作區(qū),單擊工具欄上的“Start/Resume”按鈕啟動(dòng)路由器;右鍵單擊R1圖標(biāo),選擇“Idle PC”菜單項(xiàng),GNS3將自動(dòng)計(jì)算IDLE PC值并列出多個(gè)選項(xiàng),選擇帶“*”標(biāo)注的選項(xiàng),單擊“OK”按鈕保存IDLE PC值。
4)為主機(jī)配置NIO_udp接口。本文的實(shí)驗(yàn)采用VPCS軟件模擬主機(jī),VPCS軟件中的虛擬PC機(jī)使用UDP端口號(hào)與GNS3的主機(jī)進(jìn)行通信。其中,第1臺(tái)虛擬PC機(jī)(VPCS[1])默認(rèn)的UDP本地端口號(hào)、遠(yuǎn)程端口號(hào)分別為20000、30000,第2臺(tái)虛擬PC機(jī)(VPCS[2])默認(rèn)的UDP本地端口號(hào)、遠(yuǎn)程端口號(hào)分別為20001、30001,依此類推。以PC1為例,為PC1配置NIO_udp接口的過(guò)程:拖動(dòng)1臺(tái)Host(命名為PC1)到工作區(qū),右鍵單擊PC1圖標(biāo),選擇“Configure”菜單項(xiàng),在打開的對(duì)話框中單擊“PC1”結(jié)點(diǎn),再單擊“NIO UDP”選項(xiàng)卡,在Local port欄輸入30000,在Remote port欄輸入20000,分別單擊“Add”“OK”按鈕為PC1上添加一個(gè)NIO_udp接口。
根據(jù)NAT-PT技術(shù)的基本要點(diǎn)設(shè)計(jì)實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)。使用的設(shè)備包括:1臺(tái)型號(hào)為c3700的路由器(命名為R1)用于模擬NAT-PT設(shè)備,2臺(tái)以太網(wǎng)交換機(jī)(命名為S1、S2)用于模擬IPv4、IPv6網(wǎng)絡(luò),2臺(tái)主機(jī)(命名為PC1、PC2)用于模擬IPv4、IPv6主機(jī)。其中,R1的f0/0接口與S1相連,R1的f0/1接口與S2相連。2臺(tái)主機(jī)使用NIO_udp接口分別與S1、S2相連。實(shí)驗(yàn)拓?fù)鋱D如圖1所示。給路由器和主機(jī)分配的IP地址如表1所示。

表1 路由器接口與主機(jī)IP地址分配表

1)按照?qǐng)D1在GNS3圖形窗口中建立實(shí)驗(yàn)拓?fù)鋱D。
2)對(duì)路由器R1進(jìn)行配置,包括三個(gè)方面的配置內(nèi)容:
①給接口f0/0、f0/1分配IP地址,并啟用接口的NATPT功能:

1)執(zhí)行命令R1# show ipv6 nat translation,結(jié)果表明路由器R1的NAT-PT表中還沒(méi)有IPv4與IPv6的轉(zhuǎn)換條目。因此,此時(shí)IPv4主機(jī)無(wú)法訪問(wèn)IPv6主機(jī),但是IPv6主機(jī)可以訪問(wèn)IPv4主機(jī),把IPv4主機(jī)的32位IPv4地址與96位IPv6前綴相拼接,就得到了轉(zhuǎn)換后的IPv6地址。例如,PC1的地址為192.168.11.2,IPv6前綴為2013:1111::/96,則轉(zhuǎn)換后的IPv6地址為2013:1111::c0a8:b02。可見,采用動(dòng)態(tài)NAT-PT,通信只能由IPv6主機(jī)發(fā)起。
2)PC2 上 ping PC1,即:VPCS[2]>ping 2013:1111::c0a8:b02。然后執(zhí)行命令R1# show ipv6 nat translation,結(jié)果如圖2所示。結(jié)果表明,ping命令創(chuàng)建了一條轉(zhuǎn)換條目,該條目列出了PC2的IPv6地址轉(zhuǎn)換后的IPv4地址(即為192.168.12.1),該地址是路由器R1按照IPv4地址池的地址范圍給PC2動(dòng)態(tài)分配的。

3)PC1使用PC2轉(zhuǎn)換后的IPv4地址去訪問(wèn)PC2,在PC1上ping PC2,即:VPCS[1]> ping 192.168.12.1。結(jié)果如圖3所示,表明PC1與PC2能夠互相通信。
4)執(zhí)行命令R1# show ipv6 nat translation,查看R1的NAT-PT表,結(jié)果如圖4所示。結(jié)果表明,路由器R1已經(jīng)為PC1、PC2建立IPv4/IPv6的映射關(guān)系。路由器按照NATPT表轉(zhuǎn)發(fā)IP分組,從而實(shí)現(xiàn)IPv4與IPv6網(wǎng)絡(luò)的互相通信。


隨著IPv6網(wǎng)絡(luò)的逐步部署,掌握IPv4向IPv6過(guò)渡技術(shù)是很重要的。本文使用GNS3模擬軟件搭建網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境,解決了因缺乏網(wǎng)絡(luò)設(shè)備而無(wú)法開展IPv6實(shí)驗(yàn)教學(xué)的問(wèn)題。設(shè)計(jì)一個(gè)IPv4與IPv6網(wǎng)絡(luò)互相通信的實(shí)驗(yàn)教學(xué)案例,通過(guò)對(duì)NAT-PT設(shè)備(路由器)進(jìn)行配置和對(duì)實(shí)驗(yàn)進(jìn)行測(cè)試,使學(xué)生理解NAT-PT技術(shù)的基本要點(diǎn)和IPv4/IPv6互相通信的基本原理。在玉林師范學(xué)院信計(jì)、信管專業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)中,大多數(shù)學(xué)生能夠在2課時(shí)內(nèi)完成該實(shí)驗(yàn),取得很好的實(shí)驗(yàn)教學(xué)效果。
[1]仝亞鵬,李振強(qiáng),魏冰.IPv6過(guò)渡技術(shù)分析[J].電信科學(xué),2011(1):52-59.
[2]王曉峰,吳建平,崔勇.互聯(lián)網(wǎng)IPv6過(guò)渡技術(shù)綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2006,27(3):385-394.
[3]畢軍,王優(yōu),冷曉翔.IPv6過(guò)渡研究綜述[J].電信科學(xué),2008(10):12-21.
[4]續(xù)志學(xué).關(guān)于高等院校建立虛擬教學(xué)實(shí)驗(yàn)室網(wǎng)絡(luò)平臺(tái)的探討[J].中國(guó)教育技術(shù)裝備,2011(18):124-126.
[5]彭春燕,劉兵.GNS3在計(jì)算機(jī)網(wǎng)絡(luò)課程教學(xué)中的應(yīng)用[J].學(xué)理論,2010(20):292-293.
[6]梁廣民,王隆杰.思科網(wǎng)絡(luò)實(shí)驗(yàn)室CCNP(路由技術(shù))實(shí)驗(yàn)指南[M].北京:電子工業(yè)出版社,2012:324-325.