1 引言
隨著Internet應用的迅猛發展,現在運行的因特網協議IPv4存在局限性逐漸被暴露出來,其中比較主要的是IPv4地址資源的耗盡和IPv4提供服務的局限性。另外因特網不斷提出對移動性、安全性以及多媒體業務的支持等問題,IPv4都無法解決,這樣就迫使我們必須引入下一代因特網協議——IPv6。隨著CERNET2的開通,高校有必要建立IPv6的網絡平臺,用比較快捷的方式接入IPv6實驗網,為以后IPv4到IPv6的平滑過渡做準備。
2 IPv6網絡平臺的關鍵過渡技術
在不改變現有IPv4網絡結構的情況下,IPv6網絡間的通訊方式主要有以下三種方式:
(1)雙協議棧技術
IPv6的網絡中的主機同時運行IPv4和IPv6兩套協議棧,并且要求整個網絡支持這兩套協議。該技術是其他過渡技術的基礎。
(2)網絡地址轉換/協議轉換技術(Network Address Translation -Protocol Translation)
利用轉換網關來在IPv4和IPv6網絡之間轉換IP報頭的地址,同時根據協議不同對分組做相應的語義翻譯,從而使純IPv4和純IPv6站點之間能夠透明通信。
(3) 隧道技術
這種機制用來在IPv4網絡之上連接IPv6的站點,站點可以是一臺主機,也可以是多個主機。隧道技術思想比較簡單,在隧道的入口處,路由器將IPv6的數據分組封裝入IPv4中,IPv4分組的源地址和目的地址分別是隧道入口和出口的IPv4地址。在隧道的出口處再將IPv6分組取出轉發給目的站點。隧道技術只要求在隧道的入口和出口處進行修改,對其他部分沒有要求。IPv4隧道技術示意圖如圖1所示:

根據封裝/解封裝操作發生位置的不同,隧道可以分為四種:
①路由器到路由器 ( Router-to-Router )
②主機到路由器 ( Host-to-Router )
③主機到主機 ( Host-to-Host )
④路由器到主機 ( Router-to-Host )
根據建立方式的不同,隧道又可以分成兩類:手工配置的隧道 ( Configured Tunnel )和自動配置的隧道 ( Auto-configured Tunnel ) 。
由于IPv6是逐步發展的,因此網絡過渡方案的采用也呈現出一定的階段性。在發展初期,業務量較小,此時主要偏重于IPv6實驗,因此主要采用隧道技術。在IPv6示范網中,我們直接利用操作系統對隧道技術的支持,以手工配置隧道的方式將校園網中IPv6的主機接入了IPv6示范網的主干。
3 IPv6網絡平臺的實現
3.1 操作系統的選擇
Linux是一個開放的操作系統,其內核版本從2.2開始支持IPv6協議。我們在實驗中采用的是Linux Kernel 2.4.20-8版本,它對IPv6有了比較全面的支持。同時對網絡應用也提供了比較穩健的支持。擁有豐富的支持IPv6協議的軟件,像Web服務器Apache,DNS服務器Bind等。所以,在IPv6網絡平臺的實現過程中,選擇Linux操作系統是一個比較理想的選擇。下面的實驗平臺是以RedHat9.0為例。
3.2 平臺的設計
針對目前的網絡狀況,采用“IPv6 Over IPv4”的隧道鏈接。IPv6子網的主機通過邊緣路由器接入CERNET2實驗網,其它的IPv6主機通過隧道鏈路進行通訊。圖2是山東農大構建的IPv6網絡平臺拓撲圖。

該平臺目前有4臺PC機和一臺交換機構成,其中主機A是Linux主機安裝了兩塊網卡,并且作為服務器,相當于一個邊界路由器。主機B是DNS服務器和應用服務器,同時為方便測試設置了兩臺純IPv6終端主機C和D,并且安裝了不同的操作系統。
3.3 配置實現
3.3.1地址規劃
如圖2,首先要為主機設定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。假設兩端的IPv4地址已經配置完成,兩端的IPv4是連通的,否則隧道將無法啟動。
3.3.2配置方法(以服務器主機A為例)
(1)啟用IPv6modprobe ipv6
(2)網絡配置文件 包括一組同時可用于IPv4地址格式和IPv6地址格式初始化文件和腳本文件,還包括域名的設置。例如在/etc/sysconfig/Network腳本中加入條目:
NETWORKING_IPV6=yes
IPV6INIT=yes
IPV6FORWARDING=yes
IPV6AUTOCONF=no
(3)硬件配置文件
修改網卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,添加如下條目:
IPV6INIT=yes
IPV6ADDR=2001:250:5800:ff01::2
創建隧道鏈路Linux系統下6to4隧道統一采用關鍵字sit來標識,例如:sit1,sit2,它們分別標識一個隧道虛擬設備。手工隧道的配置使用ifconfig來實現。這里直接創建配置文件。
創建并配置文件 /etc/sysconfig/network-scripts/ifcfg-sit1,加入如下配置:
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6TUNNELIPV4=219.243.209.193(這里是山大提供的隧道地址)
IPV6ADDR=2001:250:5800:ff01::2/64
隧道另一側的配置完全對稱。然后利用命令/sbin/ifup-sit sit1啟動該隧道。
(4)默認路由的設置
由于目前的需求不大,連入的主機數量不多,我們采用了靜態路由策略,可以隨時轉換到動態路由上去。配置如下:
全局路由/sbin/route-inet6 add 2001::/3
其他鏈接到主機A的用戶就可以訪問到山大從而出國。
/sbin/ip-6 route ::/0 dev sit1
(5)結果測試
建立隧道鏈接后,分別連接主機A和山大,并且通過ping6來測試他們之間是否通訊,同時測試是否可以訪問其他前綴地址的主機。從主機A ping6山大端IPv6地址或其他前綴的IPv6主機。ping6-c 6-s 255 2001:da8:1:ff::1 得到結果如圖3 所示:

4 結束語
IPv6是構建可靠、安全和高效的新IP網絡的長期解決方案。了解IPv4向IPv6網絡演進過渡策略,對于制定網絡長期發展規劃和開展應用的方向都是非常重要的。該實驗網已經成功地連接到CERNET2實驗網,目前運行比較穩定,運行的業務主要有WWW服務、DNS服務等。該網絡平臺的建立,也可以為校園網向下一代網絡過渡提供了一個可行的參考方案。
參考文獻
[1]華為3Com技術有限公司.IPv6技術. 北京:清華大學出版社,2004.
[2]章韻. 網絡隧道技術的原理和應用. 江蘇通訊技術,2001.
[3]鄧旭,孫亞民. IPV4向IPV6遷移技術研究. 南京理工大學學報,2002.
[4] Pete Ldshin. IPv6詳解.機械工業出版社,2000.