趙開新,孫 波
(河南機電高等??茖W(xué)校計算機科學(xué)與技術(shù)系,河南新鄉(xiāng) 453000)
IPv6協(xié)議解決了IPv4協(xié)議中地址枯竭、骨干路由器路由表龐大、地址配置與使用不方便、安全性不足等問題,從IPv4完全過渡到IPv6不是短期能實現(xiàn)的。目前解決過渡問題的基本技術(shù)主要有3種:雙協(xié)議棧技術(shù)、NAT/PT(Network Address Translation-Protocol Translation)技術(shù)、隧道技術(shù)。雙協(xié)議棧在網(wǎng)絡(luò)節(jié)點上同時啟用IPv4和IPv6兩種協(xié)議棧,使之能夠同時支持兩種協(xié)議的通信。雙協(xié)議?;ネㄐ院?,易于理解,但是需要給每個網(wǎng)絡(luò)設(shè)備和終端分配IPv4地址,主要和其他技術(shù)結(jié)合使用。NAT/PT是指帶協(xié)議轉(zhuǎn)換功能的網(wǎng)絡(luò)地址轉(zhuǎn)換器,通過修改協(xié)議報文頭來轉(zhuǎn)換網(wǎng)絡(luò)地址,實現(xiàn)IPv4節(jié)點IPv6節(jié)點互訪,但網(wǎng)絡(luò)設(shè)備進行協(xié)議、地址轉(zhuǎn)換的處理開銷較大,實現(xiàn)技術(shù)比較復(fù)雜。隧道技術(shù)可以通過現(xiàn)有的運行IPv4協(xié)議的骨干網(wǎng)絡(luò)作為隧道將IPv6網(wǎng)絡(luò)的孤島連接起來,因而是IPv4向IPv6過渡的初期最易于采用的技術(shù)。
隧道的實質(zhì)就是將一種協(xié)議報文封裝在另一種協(xié)議報文中,如圖1所示,利用隧道技術(shù)將IPv6報文封裝在IPv4報文中進行傳輸,用以穿越IPv4網(wǎng)絡(luò),具體實現(xiàn)情況主要有以下兩點:
1)IPv6的數(shù)據(jù)包在路由器RA上被路由至隧道,在隧道的入口對IPv6的報文進行IPv4報頭的封裝。
2)在隧道的出口RB收到封裝好的IPv6 in IPv4報文,先判斷報文是否經(jīng)過分段,如果是,就對數(shù)據(jù)包進行重組,然后去掉IPv4報頭,更新IPv6報頭后查IPv6路由發(fā)送至相應(yīng)接口;如果沒有分段,直接去掉隧道封裝的IPv4報頭,進行相應(yīng)的IPv6報文處理。即完成了隧道報文的解封裝和IPv6報文的路由發(fā)送[1]。
圖1 隧道技術(shù)
隧道可分為手工配置型隧道和自動型隧道兩種。手工配置隧道是由隧道端點所在網(wǎng)絡(luò)的管理員手工配置建立,隧道的端點地址由配置來決定,不需要為站點分配特殊的IPv6地址,適合用于經(jīng)常通信的IPv6節(jié)點之間,其主要缺點是網(wǎng)絡(luò)管理員配置工作復(fù)雜、維護難度大,手動配置隧道主要有GRE隧道,非兼容IPv4的IPv6地址隧道。自動配置隧道的建立和拆除是動態(tài)的,它的端點根據(jù)分組的目的地址確定,適用于單獨的主機之間或不經(jīng)常通信的站點之間。自動隧道通常有IPv4兼容IPv6自動隧道、6to4、ISATAP 等幾種方式[2]。
3.1.1 GRE 隧道的工作原理
GRE(Generic Routing Encapsualation)隧道是兩個節(jié)點之間的鏈路,每條鏈路都是一條單獨的隧道,隧道把IPv6作為載荷協(xié)議,把GRE作為承載協(xié)議,先通過GRE頭部封裝IPv6報文,然后用IPv4報頭封裝GRE封裝后的IPv6報文。IPv6地址配置在Tunnel接口上,Tunnel口的源和目的地址是IPv4地址,并且隧道的所有地址都需要手工配置。
3.1.2 GRE隧道的特點和應(yīng)用
GRE隧道是基于成熟的GRE技術(shù)來封裝報文,其通用性好,易于理解,但GRE隧道是一種手工配置型隧道,如果網(wǎng)絡(luò)中站點數(shù)量多,則管理員配置和維護工作量比較大。一般用于站點固定、站點間傳輸數(shù)據(jù)量大,站點比較少的網(wǎng)絡(luò)中。
3.2.1 IPv4兼容IPv6自動隧道的工作原理
在IPv4兼容IPv6的自動隧道中,只需要設(shè)置隧道的起點地址,隧道的終點地址通過報文的IPv4兼容IPv6地址自動生成,使用IPv4兼容IPv6隧道時,IPv6報文的目的地址和隧道接口的IPv6地址都要采用特殊的地址,格式為:::IPv4ADDR。通過這個嵌入的IPv4地址就可以自動建立隧道,完成IPv6報文的傳送。
3.2.2 IPv4兼容IPv6自動隧道的特點和應(yīng)用
IPv4兼容IPv6自動隧道是隨報文建立的隧道,無論和多少個對端設(shè)備建立隧道,本端只需要有一個隧道接口就可以了,路由器的配置維護比較簡單,但它的局限性是要求IPv6地址必須是特殊的IPv4兼容IPv6地址,并且由于IPv6地址中前綴只能是0,實際上所有節(jié)點處于一個IPv6網(wǎng)絡(luò)中,因此只能用于節(jié)點本身之間的通信。
3.3.1 6to4 隧道的工作原理
6to4隧道和IPv4兼容IPv6隧道類似,是點到多點的自動隧道,主要用于將多個IPv6孤島通過IPv4網(wǎng)絡(luò)連接到IPv6網(wǎng)絡(luò),并且使用一種特殊的6to4地址。6to4隧道通過IPv6報文的目的地址中嵌入IPv4地址,來自動獲取隧道的終點地址。6to4地址以2002開頭,后面跟著32位的IPv4地址轉(zhuǎn)化的32位16進制表示,構(gòu)成一個 48位的 6to4前綴 002:IPv4ADDR::/48,除了64位的接口 ID,還有中間16位可以進行劃分子網(wǎng),這樣就避免了IPv4兼容IPv6隧道中所有節(jié)點處于同一IPv6網(wǎng)絡(luò)中[3]。
3.3.2 6to4 隧道的特點和應(yīng)用
6to4隧道具有自動隧道維護方便的優(yōu)點,同時又克服IPv4兼容IPv6自動隧道不能連接IPv6網(wǎng)絡(luò)的缺陷,它的缺點是必須使用規(guī)定的6to4地址。6to4隧道主要用于解決孤立的IPv6站點、IPv6子網(wǎng),在沒有Internet提供商提供IPv6服務(wù)的情況下與其他孤立的IPv6站點、IPv6主干網(wǎng)內(nèi)部站點之間的通信問題。
3.4.1 ISATAP 隧道的工作原理
ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)不但是一種自動隧道技術(shù),同時還可以進行地址自動配置。ISATAP隧道是點到點的自動隧道技術(shù),通過在IPv6報文的目的地址中嵌入的IPv4地址,可以自動獲取隧道的終點。ISATAP地址格式為:::0:5EFE:IPv4ADDR。通過這個嵌入的IPv4地址就可以自動建立隧道,完成IPv6報文的傳送。
3.4.2 ISATAP 隧道的特點和應(yīng)用
ISATAP隧道的特點是把IPv4網(wǎng)絡(luò)看做一個下層鏈路,IPv6的ND(Neighbor discover)協(xié)議通過IPv4網(wǎng)絡(luò)進行承載,從而實現(xiàn)跨IPv4網(wǎng)絡(luò)設(shè)備的IPv6地址自動配置。分散在IPv4網(wǎng)絡(luò)中的各個雙棧主機能夠通過ISATAP技術(shù)自動獲得全局的IPv6地址并連接起來。另外,ISATAP主機可以生成Link-local ISATAP地址,這些主機也可以使用Link-local ISATAP地址直接通信。ISATAP隧道適用于在IPv4網(wǎng)絡(luò)中的IPv6主機之間的通信或IPv4網(wǎng)絡(luò)中IPv6主機接入到IPv6網(wǎng)絡(luò)的通信。
目前隧道的過渡技術(shù)比較多,上面分析過的各種過渡技術(shù)的特點比較,如表1所示。
如圖2所示,路由器R1,R2和R3通過如圖所示端口相連,路由器R1和R2分別通過F0/0端口連接主機pc1和pc2,pc1和pc2所在的網(wǎng)絡(luò)為IPv6的網(wǎng)絡(luò),路由器之間互連的網(wǎng)絡(luò)為IPv4的網(wǎng)絡(luò),設(shè)備中各個端口IP地址如圖所示。通過6to4技術(shù),來實現(xiàn)IPv6網(wǎng)絡(luò)中的主機pc1和pc2通過IPv4的網(wǎng)絡(luò)進行通信。
?
設(shè)備的主要配置
R1
interface fastethernet 0/0
ipv6 address 2002:0101:0101:1::1 64//配置F0/0口IPv6地址
interface tunnel 1
ipv6 address 2002:0101:0101:2::1 64//配置tunnel 1口IPv6地址
tunnel-protocol ipv6-ipv4 6to4//配置6to4封裝模式
source s0/0//指定6to4封裝包的源接口地址
ip address 1.1.1.1 24
ipv6 route-static 2002::16 Tunnel 1//到pc2所在網(wǎng)段的數(shù)據(jù)路由到tunnel 1口進行封裝
R3
interface fastethernet 0/0
ipv6 address 2002:0202:0202:1::1 64//配置F0/0口IPv6地址
interface tunnel 1
ipv6 address 2002:0202:0202:2::1 64//配置tunnel 1口IPv6地址
tunnel-protocol ipv6-ipv4 6to4//配置6to4封裝模式
source s0/1//指定6to4封裝包的源接口地址
ip address 2.2.2.2 24
ipv6 route-static 2002::16 Tunnel 1//到 pc1所在網(wǎng)段的數(shù)據(jù)路由到tunnel 1口進行封裝
由于R2只進行IPv4的配置,相對比較簡單,這里不再給出配置,另外在三臺路由器上還要啟用動態(tài)路由協(xié)議,以保證IPv4的數(shù)據(jù)包能被正常轉(zhuǎn)發(fā)。當(dāng)pc1向pc2轉(zhuǎn)發(fā)數(shù)據(jù)包時,首先到達路由器R1,通過路由查找,把數(shù)據(jù)包發(fā)到tunnel 1口,然后把IPv6的數(shù)據(jù)包封裝到IPv4的數(shù)據(jù)包中,封裝后的數(shù)據(jù)包被轉(zhuǎn)發(fā)到R3,查找路由后應(yīng)該在R3上解封裝,形成IPv6的數(shù)據(jù)包,轉(zhuǎn)發(fā)到主機pc2。
目前所有的過渡技術(shù)都不是普遍適用的,每一種技術(shù)都適用于某種或幾種特定的網(wǎng)絡(luò),而且常常需要與其他技術(shù)組合適用,所以在實際應(yīng)用時需要綜合考慮各種實際情況來制定合適的過渡策略。
(責(zé)任編輯呂春紅)
[1]杭州華三通信技術(shù)有限公司.H3C網(wǎng)絡(luò)學(xué)院路由交換第3卷[M].杭州:杭州華三通信技術(shù)有限公司,2011.
[2]杭州華三通信技術(shù)有限公司.IPv6技術(shù)[M].北京:清華大學(xué)出版社,2010.
[3]王相林.IPv6核心技術(shù)[M].北京:科學(xué)出版社,2009.