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

表1 路由器接口與主機IP地址分配表

1)按照圖1在GNS3圖形窗口中建立實驗拓撲圖。
2)對路由器R1進行配置,包括三個方面的配置內容:
①給接口f0/0、f0/1分配IP地址,并啟用接口的NATPT功能:

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

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


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