摘要:文章簡要介紹了IPv4/IPv6隧道技術的原理,提出了一種實現IPv4/IPv6隧道技術的具體方法,并得到了驗證與應用。該實現方法簡單易行,易于推廣,利用當前很多網絡實驗的現有條件都可實現,是一種研究IPv4/IPv6隧道技術的好方法。
關鍵詞:IPv6;IPv4/IPv6隧道;IPv4/IPv6過渡
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)33-9604-03
A method of Realizing IPv4/IPv6 Tunnel Technology
LAN Ji-ming1, ZHANG Hai-yan2
(1.School of Computer Science, Sichuan University of Science Engineering, Zigong 643000; 2.School of Science, Sichuan University of Science Engineering, Zigong 643000,China)
Abstract: The paper gives a brief introduction to the principle of the IPv4/IPv6 tunnel technology, provides a detailed method of realizing IPv4/IPv6 tunnel technology, which has been verified and applied. This method is realized and applied easily under existing conditions of many network laboratory. This is good method to research on IPv4/IPv6 tunnel technology during the IPv4/IPv6 transition period.
Key words: IPv6; IPv4/IPv6 tunnel; IPv4/IPv6 transition
目前,Internet是基于IPv4協議的,其中存在大量的IPv4主機及各種IPv4網絡設備,要想將IPv4徹底推倒,迅速完成從IPv4到IPv6的改造,這顯然是不現實的,也是違背計算機行業“向下兼容”、逐步過渡的規律的。因此,IPv4和IPv6將長期共存和交互,IPv4必須平滑、無縫、安全地向IPv6過渡,這是Internet未來發展的必然。IETF的下一代互聯網過渡(the Next Generation Transitions,the NGTrans)工作組己經提出了一些過渡策略和技術,其中隧道技術是一種比較實用和成熟的技術,被廣泛采用。本文僅針對隧道技術,提出了一種在普通網絡實驗室就能實現的方法,簡單易行。
1 IPv4/IPv6隧道技術的原理
在IPv4/IPv6過渡的初期,也就是在IPv6網絡流行于全球之前,總會有些網絡首先采用IPv6協議,而這些網絡就像是IPv4海洋中的一些小島,我們希望如果能在IPv4的“海底”建立一條“隧道”實現這些“小島”之間的連接,那么這些IPv6小島就可以跨越IPv4海洋實現彼此之間的通信,這就是隧道(Tunnel)技術。
隧道的端點可以是主機或者路由器,但都必須是雙協議棧的結點,它們連接兩種網絡,進行報文的封裝與拆封。在隧道入口處,入口端點將IPv6報文封裝到IPv4報文中,IPv4報文的源地址和目的地址分別是隧道入口和出口的IPv4地址。封裝后的IPv4報文將通過IPv4的路由器進行傳輸,報頭的協議字段設置為41,指示這個報文的負載是一個IPv6的報文。在隧道的出口處,出口端點對IPv4報文進行拆封,將IPv6報文取出來,轉發給目的站點。由于隧道技術只要求在隧道的入口和出口端對報文進行修改,在其他地方沒有什么要求,所以這種技術是很容易實現的。圖1是隧道技術實現的基本原理。[1]
在實際的應用中,根據封裝和拆封操作發生位置的不同,以及隧道配置方式的不同,隧道技術可以被分為若干種類。但是,不管采用哪種隧道技術,最終發出的報文的封裝是一樣的,即使隧道兩端分別采用不同的配置方式(如一端采用Configured Tunnel配置,另一端采用Auto-Configured Tunnel配置),只要參數不出錯,它們都是可以互相通信的。
實際上,隧道技術不僅適合于過渡的初期,通過建立IPv6 over IPv4隧道實現將IPv4海洋中的兩個IPv6孤島連接起來,也適合于過渡的后期,類似地建立起IPv4 over IPv6隧道,從而將IPv6海洋中的IPv4孤島連接起來。[2]
根據隧道節點的組成情況,隧道可分為以下4種類型:路由器—路由器隧道、路由器—主機隧道、主機—主機隧道、主機—路由器隧道。在實際應用中,根據隧道建立的方式不同,隧道技術又可分為:配置型隧道(Configured Tunnel)和自動型隧道(Automatic Tunnel)兩大類。自動型隧道又包括ISATAP、6to4、6over4、TB、Teredo、DSTM(Dual Stack Transition Mechanism)等類型。下面我們以配置型隧道為例進行實驗。[3]
2 IPv4/IPv6隧道技術的一種實現方法
2.1 實現平臺
本實現方法的硬件平臺是在四川理工學院
網絡實驗室自行搭建的,網絡拓撲圖如圖2所示。
其中,R1和R2由兩個銳捷三層交換機RG-S3760-24來實現的,IPv6主機由學生用機配置而成。在R1和R2兩邊分別是一個IPv6網絡,在R1和R2之間是一個模擬的IPv4網絡,通過建立隧道Tunnel 0實現兩個IPv6網絡之間的通信。在IPv4/IPv6過渡的初期這個平臺很具有代表性。
2.2 在路由器和主機上的主要配置
由于本實驗中,路由器R1和R2、主機A和B的配置是對稱相似的,所以下面僅以R1和主機A的配置為例進行表述。
1) R1的f 0/1配置
12switch(config)#hostname R1
(為此三層交換機取一個名字)
R1(config)#interface f 0/1
(配置f 0/1接口)
R1(config-if)#no switch
(開啟三層交換機接口的路由功能)
R1(config-if)#ipv6 enable
(開啟對IPv6協議的支持)
R1(config-if)#ipv6 address 2001:1::1/64
(為f 0/1指定一個IPv6地址)
2) R1的f 0/2配置
R1(config-if)#interface f 0/2
(配置f 0/2接口)
R1(config-if)#no switch
(開啟路由功能)
R1(config-if)#ip add 10.1.1.1 255.255.255.0
(為f 0/2指定一個IPv4地址)
R1(config-if)#no shut
(激活此接口,使配置生效)
3) R1上的隧道配置
R1(config-if)#interface tunnel 0
R1(config-if)#ipv6 enable
R1(config-if)#ipv6 address 2001:10::1/64
R1(config-if)#tunnel source 10.1.1.1
R1(config-if)#tunnel destination 10.1.1.2
R1(config-if)#tunnel mode:ipv6ip
R1(config-if)#exit
(返回上一級模式)
4) 設路由
R1(config)#ipv6 route 2001:2::/64 tunnel0
(將所有訪問2001:2::/64節點的信息都由tunnel0隧道路由出去)
R2的配置與R1相似,IP地址如圖4-2所示,不再累述。
5) 主機設置
在主機上安裝IPv6協議以后做如下設置。
主機A的設置:
c:\\Documents and Settings\\Administrator>netsh
netsh>interface ipv6
netsh interface ipv6>add address “本地連接 3” 2001:1::2
(在“本地連接 3”接口上設置主機IPv6地址)
netsh interface ipv6> add route 2001:2::/64“本地連接 3” 2001:1::1
(為“本地連接 3”增加到2001:2::/64的路由表項,缺省網關為R1的f 0/1接口地址2001:1::1)
主機B的設置:與上類似,不再累述。
6) 連通性測試
在主機A的“命令提示符”狀態下,鍵入如圖3所示的命令,分別測試主機A到R1 f0/1的連通性、主機A到R2 f0/1的連通性、主機A到主機B的連通性,結果均已順利連通。
3 IPv4/IPv6隧道技術的應用
在上面搭建的硬件平臺上,可以完成很多IPv4/IPv6過渡研究。本文采用Windows XP SP3操作系統和VC6.0+SP6+PSDK2003集成開發環境,自行開發了一個與協議無關的網絡聊天程序,并在此平臺上調試通過。此硬件平臺很容易擴充,構建起更加復雜的網絡結構,并可實現IPv6-in-IPv4隧道發現技術的研究。[4]
4 結束語
該文在普通的網絡實驗室成功地搭建了IPv4/IPv6隧道,并在此硬件平臺之上做了許多相關的IPv4/IPv6過渡研究,得到了成功地應用,值得推廣。
參考文獻:
[1] 藍集明,張海燕.對IPv4/IPv6過渡技術的分析與研究[J].電腦知識與技術,2008,4(7):1886.
[2] 沈慶偉,張霖.基于隧道的IPv4/ IPv6過渡技術分析[J].計算機技術與發展,2007,7(5):170-171.
[3] 李振強,趙曉宇,馬嚴.IPv6技術揭秘[M].北京:人民郵電出版社,2006.
[4] 藍集明,符長友.IPv6-in-IPv4隧道發現技術研究[J].四川理工學院學報:自然科學版,2009,22(2):42.