摘 要: 鑒于IPv6網(wǎng)絡的逐步部署,對于計算機及相關專業(yè)學生而言,掌握IPv4/IPv6過渡技術(shù)是很重要的。介紹了IPv4向IPv6過渡技術(shù),探討了在缺乏網(wǎng)絡設備的情況下采用模擬軟件GNS3開展IPv4/IPv6過渡技術(shù)實驗,詳細介紹了如何利用GNS3軟件模擬雙協(xié)議棧技術(shù)和隧道技術(shù)。該模擬實驗提高了學生的實踐能力,取得了很好的實驗教學效果。
關鍵詞: IPv6; 過渡技術(shù); GNS3軟件; 雙協(xié)議棧; 隧道
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2013)04-04-03
Simulation of transition technologies from IPv4 to IPv6 by GNS3 software
Zhou Guojun, Cheng Yuqiang
(School of Mathematics and Information Science, Yulin Normal University, Yulin, Guangxi 537000, China)
Abstract: With the gradual deployment of IPv6 network, it is important for university students of computer science or related majors to grasp IPv6 transition technologies. The IPv4 to IPv6 transition technologies are introduced. Application of GNS3 software to experimental teaching of IPv6 transition technologies for lack of network devices is analyzed. Two experiments are designed in detail, which simulate dual stack and tunnel technology. It can improve students' practical ability, and can achieve good effect in experiment teaching.
Key words: IPv6; transition technology; GNS3 software; dual stack; tunnel
0 引言
計算機網(wǎng)絡課程是一門理論與實踐緊密結(jié)合的課程,通過實驗能加深對網(wǎng)絡協(xié)議的理解,從而掌握網(wǎng)絡設備的配置和基本的網(wǎng)絡技術(shù)。此外,網(wǎng)絡實驗還能提高學生的學習興趣、培養(yǎng)學生解決實際問題的動手能力和創(chuàng)新能力[1]。
目前,很多高校還沒有足夠的網(wǎng)絡設備用于實驗教學,主要是因為網(wǎng)絡設備價格昂貴,需要投入大量資金才能組建一個網(wǎng)絡實驗室。在缺乏物理設備的情況下,采用模擬軟件搭建網(wǎng)絡實驗平臺,保證實驗課的順利進行,是一種有效的解決辦法[2]。常見的網(wǎng)絡模擬軟件有:Packet Tracer、Bonson NetSim、GNS3等,由于GNS3使用真實的Cisco IOS操作系統(tǒng),并且整合了WinPcap、Dynamips、PemuWrapper,不但能模擬真實的網(wǎng)絡環(huán)境,而且使用圖形窗口界面使得操作簡單方便,能滿足大多數(shù)網(wǎng)絡實驗的要求[3]。在“下一代因特網(wǎng)”章節(jié)的教學中,要開展的基本實驗有IPv6地址結(jié)構(gòu)、雙協(xié)議棧和隧道技術(shù)實驗[4]。本文介紹了在Windows系統(tǒng)下使用GNS3 0.8.3.1軟件模擬IPv4向IPv6過渡的雙協(xié)議棧技術(shù)和隧道技術(shù)。
1 IPv4向IPv6過渡技術(shù)簡介
由于Internet上的大量設備使用IPv4協(xié)議,為了實現(xiàn)IPv4向IPv6的平滑過渡,目前采用的典型過渡技術(shù)有雙協(xié)議棧技術(shù)、隧道技術(shù)和NAT-PT技術(shù)[5]。謝希仁編著的《計算機網(wǎng)絡》(第5版)教材介紹了前兩種過渡技術(shù)。雙協(xié)議棧技術(shù)的要點是:使一部分主機(或路由器)裝有兩個協(xié)議,即IPv4和IPv6協(xié)議,雙協(xié)議棧主機采用IPv4地址與IPv4主機通信,采用IPv6地址與IPv6主機通信。隧道技術(shù)的要點是:首先把IPv6數(shù)據(jù)報封裝成IPv4數(shù)據(jù)報,然后在IPv4網(wǎng)絡的隧道中傳輸,當離開隧道時再把IPv6數(shù)據(jù)報分離出來交給IPv6主機。
2 實驗環(huán)境搭建
以下給出在Windows系統(tǒng)下搭建實驗環(huán)境的基本步驟。
⑴ 安裝GNS3。在GNS3的官方網(wǎng)站(http://www.gns3.net/download/)下載Windows系統(tǒng)下的安裝程序(GNS3-0.8.3.1-all-
in-one.exe),采用默認的安裝方式,把WinPcap、Wireshark、Dynamips、Pemu、VPCS、GNS3等組件安裝到計算機中。
⑵ 配置IOS。啟動GNS3,在“New Project”對話框中輸入工程名和工程目錄,單擊“OK”按鈕創(chuàng)建一個新工程。選擇“Edit”菜單下的“IOS images and hypervisors”,在打開的對話框中單擊“Image files”右邊的按鈕,選擇IOS映像文件,單擊“打開”按鈕。再分別單擊“save”、“close”按鈕保存配置。本文的實驗使用的IOS映像文件為c3640-ik9o3s-mz[1].124-25c.bin。
⑶ 為IOS選擇一個合適的IDLE PC值,降低IOS所消耗的CPU資源。從GNS3圖形窗口的Node Types區(qū)拖動1臺Router c3600(命名為R1)到工作區(qū),單擊工具欄上的“Start/Resume”按鈕啟動路由器。右鍵單擊R1圖標,選擇“Idle PC”菜單項,GNS3將自動計算IDLE PC值并列出多個可選項, 一般可以選擇第1項,單擊“OK”按鈕保存IDLE PC值。
⑷ 為主機配置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接口的過程如下:從GNS3圖形窗口的Node Types區(qū)拖動1臺Host(命名為PC1)到工作區(qū),右鍵單擊PC1圖標,選擇“Configure”菜單項,在打開的對話框中單擊左邊的“PC1”結(jié)點,再單擊“NIO UDP”選項卡,在Local port欄輸入30000,在Remote port欄輸入20000,分別單擊“Add”、“OK”按鈕為PC1上添加一個NIO_udp接口。
3 實驗設計與測試
3.1 雙協(xié)議棧實驗設計與測試
⑴ 建立實驗的拓撲圖
分別拖動1臺Router c3600(命名為R1)、2臺Ethernet switch(命名為S1、S2)、4臺Host(命名為PC1-PC4)到工作區(qū)。其中,R1的f0/0接口與S1相連,R1的f1/0接口與S2相連。4臺主機使用NIO_udp接口與S1、S2相連,網(wǎng)絡拓撲圖如圖1所示。
⑵ 給路由器和主機分配IP地址
路由器R1是雙協(xié)議棧路由器,PC1、PC3是IPv4主機,PC2、PC4是IPv6主機,給路由器和主機分配的IP地址如表1所示。
⑶ 對路由器進行配置
根據(jù)表1給路由器R1的f0/0、f1/0接口分配IP地址,基本配置如下:
R1(config)#ipv6 unicast-routing
R1(config)#interface f0/0
R1(config-if)#ip address 202.11.11.1 255.255.255.0
R1(config-if)#ipv6 address 2013:1212::1/64
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#int f1/0
R1(config-if)#ip address 202.13.13.1 255.255.255.0
R1(config-if)#ipv6 address 2013:1414::1/64
R1(config-if)#no shutdown
⑷ 測試及實驗結(jié)果分析
根據(jù)表1給4臺主機分配IP地址,配置如下:
VPCS[1]> ip 202.11.11.2 202.11.11.1 24
VPCS[2]> ip 2013:1212::2/64
VPCS[3]> ip 202.13.13.2 202.13.13.1 24
VPCS[4]> ip 2013:1414::2/64
在VPCS[1]上ping 202.13.13.2,結(jié)果如下:
VPCS[1]> ping 202.13.13.2
202.13.13.2 icmp_seq=1 tt1=63 time=78.000 ms
202.13.13.2 icmp_seq=2 tt1=63 time=62.000 ms
202.13.13.2 icmp_seq=3 tt1=63 time=62.000 ms
202.13.13.2 icmp_seq=4 tt1=63 time=78.000 ms
202.13.13.2 icmp_seq=5 tt1=63 time=63.000 ms
在VPCS[2]上ping 2013:1414::2,結(jié)果如下:
VPCS[2]> ping 2013:1414::2
2013:1414::2 icmp6_seq=1 tt1=62 time=79.000 ms
2013:1414::2 icmp6_seq=2 tt1=62 time=78.000 ms
2013:1414::2 icmp6_seq=3 tt1=62 time=78.000 ms
2013:1414::2 icmp6_seq=4 tt1=62 time=79.000 ms
2013:1414::2 icmp6_seq=5 tt1=62 time=78.000 ms
實驗結(jié)果分析:測試結(jié)果表明PC1與PC3、PC2與PC4能夠正常通信,這是因為路由器R1使用IPv4與主機PC1、PC3通信,而采用IPv6與PC2、PC4通信。可見,該實驗能很好地模擬雙協(xié)議棧技術(shù)。
3.2 隧道實驗設計與測試
⑴ 建立實驗的拓撲圖
分別拖動3臺Router c3600(命名為R1、R2、R3)、2臺Host(命名為PC1、PC2)到工作區(qū)。其中,R1的f1/0接口與PC1的NIO_udp接口相連,R1的s0/0接口與R2的s0/0接口相連,R2的s0/1接口與R3的s0/0接口相連,R3的f1/0接口與PC2的NIO_udp接口相連。網(wǎng)絡拓撲圖如圖2所示。
⑵ 給路由器和主機分配IP地址
給路由器接口和主機分配的IP地址如表2所示。
⑶ 對路由器進行配置
對路由器R1、R2、R3的配置包括四個基本步驟,第一步是根據(jù)表2給路由器的接口分配IP地址,基本配置過程如下:
R1(config)#interface f1/0
R1(config-if)#ipv6 address 2013:1111::1/64
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface s0/0
R1(config-if)#ip address 202.12.12.1 255.255.255.0
R1(config-if)#clock rate 128000
R1(config-if)#no shutdown
路由器R2、R3的配置與R1相似,不再列出。
第二步是在路由器上配置路由,使R1、R2、R3能夠在IPv4網(wǎng)絡上通信。該步驟采用RIPv2路由協(xié)議配置動態(tài)路由,基本配置過程如下:
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#network 202.12.12.0
路由器R2、R3的配置與R1相似,不再列出。
第三步是在路由器R1、R3之間創(chuàng)建一條IPv6隧道,基本配置過程如下:
R1(config)#ipv6 unicast-routing
R1(config)#interface tunnel0
R1(config-if)#ipv6 address 2013:1313::1/64
R1(config-if)#tunnel source s0/0
R1(config-if)#tunnel destination 202.23.23.2
R1(config-if)#tunnel mode ipv6ip
R1(config-if)#no shutdown
R3(config)#ipv6 unicast-routing
R3(config)#interface tunnel0
R3(config-if)#ipv6 address 2013:1313::2/64
R3(config-if)#tunnel source s0/0
R3(config-if)#tunnel destination 202.12.12.1
R3(config-if)#tunnel mode ipv6ip
R3(config-if)#no shutdown
第四步是為R1添加一條到達PC2的IPv6路由,為R3添加一條到達PC1的IPv6路由,該步驟采用靜態(tài)路由,配置如下:
R1(config)#ipv6 route 2013:3232::0/64 2013:1313::2
R3(config)#ipv6 route 2013:1111::0/64 2013:1313::1
⑷ 測試及實驗結(jié)果分析
根據(jù)表2給PC1、PC2分配IPv6地址,配置如下:
VPCS[1]> ip 2013:1111::2/64
VPCS[2]> ip 2013:3232::2/64
在VPCS[1]上ping 2013:3232::2,結(jié)果如下:
VPCS[1]> ping 2013:3232::2
2013:3232::2 icmp6_seq=1 tt1=60 time=172.000 ms
2013:3232::2 icmp6_seq=2 tt1=60 time=172.000 ms
2013:3232::2 icmp6_seq=3 tt1=60 time=172.000 ms
2013:3232::2 icmp6_seq=4 tt1=60 time=140.000 ms
2013:3232::2 icmp6_seq=5 tt1=60 time=141.000 ms
實驗結(jié)果分析:測試結(jié)果表明,PC1與PC2能夠正常通信,這是因為在IPv4網(wǎng)絡上創(chuàng)建了一條IPv6隧道,PC1、PC2通過IPv6隧道進行通信。可見,該實驗能很好地模擬隧道技術(shù)。
4 結(jié)束語
隨著IPv6網(wǎng)絡的不斷推廣,掌握IPv4向IPv6過渡技術(shù)是很重要的。本文介紹了使用GNS3模擬軟件搭建網(wǎng)絡實驗環(huán)境的基本步驟,解決了因缺乏網(wǎng)絡設備而無法開展IPv6實驗教學的問題。設計了雙協(xié)議棧實驗和隧道實驗,通過對路由器和主機進行配置,對實驗進行測試和分析表明,學生能更好地理解和掌握雙協(xié)議棧技術(shù)和隧道技術(shù),該實驗教學起到了促進理論教學的作用;同時,也培養(yǎng)了學生的動手能力,提高了學生的學習興趣。在我校信計、信管專業(yè)的計算機網(wǎng)絡實驗教學中,大多數(shù)學生能夠在2課時內(nèi)完成本實驗,取得了很好的實驗教學效果。
參考文獻:
[1] 張純?nèi)荩郧铮瑓螛?面向應用型網(wǎng)絡人才培養(yǎng)的實踐教學改革初探[J].電子科技大學學報(社科版),2008.10(4):62-65
[2] 李領治,陸建德.計算機網(wǎng)絡理論與實踐教學改革[J].計算機教育,2010.23:90-92
[3] 彭春燕,劉兵.GNS3在計算機網(wǎng)絡課程教學中的應用[J].學理論,2010.20:292-293
[4] 鞏永旺,徐秀芳,劉穎.計算機網(wǎng)絡實驗教學體系建設模型[J].計算機教育,2011.5:91-94
[5] 畢軍,王優(yōu),冷曉翔.IPv6過渡研究綜述[J].電信科學,2008.10:12-21