1 引言
隨著Internet應(yīng)用的迅猛發(fā)展,現(xiàn)在運行的因特網(wǎng)協(xié)議IPv4存在局限性逐漸被暴露出來,其中比較主要的是IPv4地址資源的耗盡和IPv4提供服務(wù)的局限性。另外因特網(wǎng)不斷提出對移動性、安全性以及多媒體業(yè)務(wù)的支持等問題,IPv4都無法解決,這樣就迫使我們必須引入下一代因特網(wǎng)協(xié)議——IPv6。隨著CERNET2的開通,高校有必要建立IPv6的網(wǎng)絡(luò)平臺,用比較快捷的方式接入IPv6實驗網(wǎng),為以后IPv4到IPv6的平滑過渡做準備。
2 IPv6網(wǎng)絡(luò)平臺的關(guān)鍵過渡技術(shù)
在不改變現(xiàn)有IPv4網(wǎng)絡(luò)結(jié)構(gòu)的情況下,IPv6網(wǎng)絡(luò)間的通訊方式主要有以下三種方式:
(1)雙協(xié)議棧技術(shù)
IPv6的網(wǎng)絡(luò)中的主機同時運行IPv4和IPv6兩套協(xié)議棧,并且要求整個網(wǎng)絡(luò)支持這兩套協(xié)議。該技術(shù)是其他過渡技術(shù)的基礎(chǔ)。
(2)網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換技術(shù)(Network Address Translation -Protocol Translation)
利用轉(zhuǎn)換網(wǎng)關(guān)來在IPv4和IPv6網(wǎng)絡(luò)之間轉(zhuǎn)換IP報頭的地址,同時根據(jù)協(xié)議不同對分組做相應(yīng)的語義翻譯,從而使純IPv4和純IPv6站點之間能夠透明通信。
(3) 隧道技術(shù)
這種機制用來在IPv4網(wǎng)絡(luò)之上連接IPv6的站點,站點可以是一臺主機,也可以是多個主機。隧道技術(shù)思想比較簡單,在隧道的入口處,路由器將IPv6的數(shù)據(jù)分組封裝入IPv4中,IPv4分組的源地址和目的地址分別是隧道入口和出口的IPv4地址。在隧道的出口處再將IPv6分組取出轉(zhuǎn)發(fā)給目的站點。隧道技術(shù)只要求在隧道的入口和出口處進行修改,對其他部分沒有要求。IPv4隧道技術(shù)示意圖如圖1所示:
根據(jù)封裝/解封裝操作發(fā)生位置的不同,隧道可以分為四種:
①路由器到路由器 ( Router-to-Router )
②主機到路由器 ( Host-to-Router )
③主機到主機 ( Host-to-Host )
④路由器到主機 ( Router-to-Host )
根據(jù)建立方式的不同,隧道又可以分成兩類:手工配置的隧道 ( Configured Tunnel )和自動配置的隧道 ( Auto-configured Tunnel ) 。
由于IPv6是逐步發(fā)展的,因此網(wǎng)絡(luò)過渡方案的采用也呈現(xiàn)出一定的階段性。在發(fā)展初期,業(yè)務(wù)量較小,此時主要偏重于IPv6實驗,因此主要采用隧道技術(shù)。在IPv6示范網(wǎng)中,我們直接利用操作系統(tǒng)對隧道技術(shù)的支持,以手工配置隧道的方式將校園網(wǎng)中IPv6的主機接入了IPv6示范網(wǎng)的主干。
3 IPv6網(wǎng)絡(luò)平臺的實現(xiàn)
3.1 操作系統(tǒng)的選擇
Linux是一個開放的操作系統(tǒng),其內(nèi)核版本從2.2開始支持IPv6協(xié)議。我們在實驗中采用的是Linux Kernel 2.4.20-8版本,它對IPv6有了比較全面的支持。同時對網(wǎng)絡(luò)應(yīng)用也提供了比較穩(wěn)健的支持。擁有豐富的支持IPv6協(xié)議的軟件,像Web服務(wù)器Apache,DNS服務(wù)器Bind等。所以,在IPv6網(wǎng)絡(luò)平臺的實現(xiàn)過程中,選擇Linux操作系統(tǒng)是一個比較理想的選擇。下面的實驗平臺是以RedHat9.0為例。
3.2 平臺的設(shè)計
針對目前的網(wǎng)絡(luò)狀況,采用“IPv6 Over IPv4”的隧道鏈接。IPv6子網(wǎng)的主機通過邊緣路由器接入CERNET2實驗網(wǎng),其它的IPv6主機通過隧道鏈路進行通訊。圖2是山東農(nóng)大構(gòu)建的IPv6網(wǎng)絡(luò)平臺拓撲圖。
該平臺目前有4臺PC機和一臺交換機構(gòu)成,其中主機A是Linux主機安裝了兩塊網(wǎng)卡,并且作為服務(wù)器,相當于一個邊界路由器。主機B是DNS服務(wù)器和應(yīng)用服務(wù)器,同時為方便測試設(shè)置了兩臺純IPv6終端主機C和D,并且安裝了不同的操作系統(tǒng)。
3.3 配置實現(xiàn)
3.3.1地址規(guī)劃
如圖2,首先要為主機設(shè)定IP地址。作為例子,主機A:IPv4地址為192.168.168.2,IPv6地址為2001:250:5800:ff01::2;主機B:IPv4地址為192.168.168.1,IPv6地址為2001:250:5800:ff01::1;為方便測試,主機C:IPv6地址為2001:250:5800:ff01::3;主機D:IPv6地址為2001:250:5800:ff01::4。假設(shè)兩端的IPv4地址已經(jīng)配置完成,兩端的IPv4是連通的,否則隧道將無法啟動。
3.3.2配置方法(以服務(wù)器主機A為例)
(1)啟用IPv6modprobe ipv6
(2)網(wǎng)絡(luò)配置文件 包括一組同時可用于IPv4地址格式和IPv6地址格式初始化文件和腳本文件,還包括域名的設(shè)置。例如在/etc/sysconfig/Network腳本中加入條目:
NETWORKING_IPV6=yes
IPV6INIT=yes
IPV6FORWARDING=yes
IPV6AUTOCONF=no
(3)硬件配置文件
修改網(wǎng)卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,添加如下條目:
IPV6INIT=yes
IPV6ADDR=2001:250:5800:ff01::2
創(chuàng)建隧道鏈路Linux系統(tǒng)下6to4隧道統(tǒng)一采用關(guān)鍵字sit來標識,例如:sit1,sit2,它們分別標識一個隧道虛擬設(shè)備。手工隧道的配置使用ifconfig來實現(xiàn)。這里直接創(chuàng)建配置文件。
創(chuàng)建并配置文件 /etc/sysconfig/network-scripts/ifcfg-sit1,加入如下配置:
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6TUNNELIPV4=219.243.209.193(這里是山大提供的隧道地址)
IPV6ADDR=2001:250:5800:ff01::2/64
隧道另一側(cè)的配置完全對稱。然后利用命令/sbin/ifup-sit sit1啟動該隧道。
(4)默認路由的設(shè)置
由于目前的需求不大,連入的主機數(shù)量不多,我們采用了靜態(tài)路由策略,可以隨時轉(zhuǎn)換到動態(tài)路由上去。配置如下:
全局路由/sbin/route-inet6 add 2001::/3
其他鏈接到主機A的用戶就可以訪問到山大從而出國。
/sbin/ip-6 route ::/0 dev sit1
(5)結(jié)果測試
建立隧道鏈接后,分別連接主機A和山大,并且通過ping6來測試他們之間是否通訊,同時測試是否可以訪問其他前綴地址的主機。從主機A ping6山大端IPv6地址或其他前綴的IPv6主機。ping6-c 6-s 255 2001:da8:1:ff::1 得到結(jié)果如圖3 所示:
4 結(jié)束語
IPv6是構(gòu)建可靠、安全和高效的新IP網(wǎng)絡(luò)的長期解決方案。了解IPv4向IPv6網(wǎng)絡(luò)演進過渡策略,對于制定網(wǎng)絡(luò)長期發(fā)展規(guī)劃和開展應(yīng)用的方向都是非常重要的。該實驗網(wǎng)已經(jīng)成功地連接到CERNET2實驗網(wǎng),目前運行比較穩(wěn)定,運行的業(yè)務(wù)主要有WWW服務(wù)、DNS服務(wù)等。該網(wǎng)絡(luò)平臺的建立,也可以為校園網(wǎng)向下一代網(wǎng)絡(luò)過渡提供了一個可行的參考方案。
參考文獻
[1]華為3Com技術(shù)有限公司.IPv6技術(shù). 北京:清華大學出版社,2004.
[2]章韻. 網(wǎng)絡(luò)隧道技術(shù)的原理和應(yīng)用. 江蘇通訊技術(shù),2001.
[3]鄧旭,孫亞民. IPV4向IPV6遷移技術(shù)研究. 南京理工大學學報,2002.
[4] Pete Ldshin. IPv6詳解.機械工業(yè)出版社,2000.