中圖分類號:TN915.04 文獻(xiàn)標(biāo)識碼:A文章編號:1009-6868(2002)03-12-04
摘要:
文章結(jié)合IPv4向IPv6過渡的各種解決方案在具體網(wǎng)絡(luò)設(shè)備中的實(shí)現(xiàn),介紹了各種過渡機(jī)制的工作原理。
關(guān)鍵詞:
IP版本6;遷移;隧道;雙棧;地址轉(zhuǎn)換
ABSTRACT:
This paper focuses on the IPv4-to-IPv6 transition mechanisms, and the implementation of various transition schemes in real networks is discussed in detail.
KEY WORDS:
IPv6; Transition; Tunnel; Dual stack; Address translation
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,IPv4的許多缺陷逐漸暴露出來。Internet工程任務(wù)組(IETF)的IPng工作組(IPng Working Group)提出了修改IP協(xié)議的建議,建議采用IP的下一代版本——IP版本6(IPv6)。目前,IETF已經(jīng)成立了專門的工作組,研究IPv4到IPv6的轉(zhuǎn)換問題,并且已提出了很多方案。本文針對IETF提出的幾個主要的解決方案,并結(jié)合其在路由器設(shè)備上的實(shí)現(xiàn)進(jìn)行詳細(xì)討論。
1 雙協(xié)議棧技術(shù)
新的IPv6協(xié)議棧主要針對原有IPv4協(xié)議棧的網(wǎng)絡(luò)層部分作了重大改動,對于傳輸層以及位于其上的其他協(xié)議基本沒有作什么改動,當(dāng)然由于IP協(xié)議本身發(fā)生了比較大的變化,與IP協(xié)議關(guān)系密切的路由協(xié)議也發(fā)生相應(yīng)變化。支持IPv6和IPv4雙協(xié)議棧路由器的協(xié)議結(jié)構(gòu)如圖1所示。
從圖1可以看出,雙協(xié)議棧的解決方案實(shí)際上就是在一個路由器設(shè)備中維護(hù)IPv6和IPv4兩套路由協(xié)議棧,使網(wǎng)絡(luò)中的主機(jī)可以分別支持IPv6和IPv4協(xié)議,也可以同時支持這兩種協(xié)議,路由器既能與IPv4主機(jī)也能與IPv6主機(jī)通信,分別支持獨(dú)立的IPv6和IPv4路由協(xié)議,IPv4和IPv6路由信息按照各自的路由協(xié)議進(jìn)行計(jì)算,維護(hù)不同的路由表。IPv6數(shù)據(jù)報(包括與IPv4地址兼容的IPv6數(shù)據(jù)報)按照IPv6路由協(xié)議得到的路由表轉(zhuǎn)發(fā),IPv4數(shù)據(jù)報按照IPv4路由協(xié)議得到的路由表轉(zhuǎn)發(fā)。
在支持IPv4/IPv6雙棧的網(wǎng)絡(luò)中,需要一個路由器維護(hù)兩套協(xié)議規(guī)范,實(shí)際上相當(dāng)于一臺路由器硬件平臺模擬了兩個路由器,因此這種解決方案比較復(fù)雜,需要維護(hù)大量的協(xié)議和數(shù)據(jù)。一種改進(jìn)方案是采用一種兼容IPv6和IPv4雙協(xié)議規(guī)范的路由協(xié)議,但到目前為止似乎還沒有這樣的協(xié)議規(guī)范出現(xiàn)。
在過渡的初始階段,路由器可以只運(yùn)行有關(guān)IPv4的路由協(xié)議,對于兼容IPv4地址的IPv6數(shù)據(jù)報的轉(zhuǎn)發(fā)完全按照以前IPv4的轉(zhuǎn)發(fā)方式進(jìn)行,這種方式有一些缺陷。首先它的路由協(xié)議不能生成新的地址方式的IPv6路由條目,另外對于以前的未經(jīng)改造的IPv4路由器不適用。
雙棧策略主要涉及對網(wǎng)絡(luò)中路由器設(shè)備的改造,對于網(wǎng)絡(luò)中的主機(jī)可以不作任何改動,當(dāng)然這種情況下原有的IPv4主機(jī)不能和新的IPv6主機(jī)通信,如果需要通信可以將原有的IPv4主機(jī)改造為雙棧主機(jī)或采用地址/協(xié)議轉(zhuǎn)換方法。雙棧策略是一種比較顯而易見的解決辦法,易于理解,同時對原有的網(wǎng)絡(luò)設(shè)備影響比較小,但這種方法的一個缺點(diǎn)就是其維護(hù)工作比較復(fù)雜,一臺路由器中需要維護(hù)兩套協(xié)議棧,路由器負(fù)擔(dān)較重,效率也比較低。
2 地址/協(xié)議轉(zhuǎn)換技術(shù)
雙棧策略解決了IPv6與IPv4的共存問題,但是對于如何實(shí)現(xiàn)過渡時期IPv4主機(jī)和IPv6主機(jī)之間的平滑通信還沒有一個很自然的解決辦法,因此IETF提出了地址/協(xié)議轉(zhuǎn)化方案。該方案通常用于純IPv4節(jié)點(diǎn)與IPv6節(jié)點(diǎn)之間的通信,對于純IPv6節(jié)點(diǎn)與雙棧節(jié)點(diǎn)中的IPv4協(xié)議通信不建議采用此方案。
地址/協(xié)議轉(zhuǎn)換采用了直接明了的轉(zhuǎn)化方式,不用修改上層協(xié)議即能互相通信。該方案的中心設(shè)備,又稱為NAT-PT網(wǎng)關(guān),能夠?qū)崿F(xiàn)IPv4和IPv6協(xié)議棧的互相轉(zhuǎn)換,包括網(wǎng)絡(luò)層協(xié)議、傳輸層協(xié)議以及一些應(yīng)用層協(xié)議之間的互相轉(zhuǎn)換。NAT-PT網(wǎng)關(guān)的功能和作用如圖2所示。
圖2中,網(wǎng)關(guān)設(shè)備R用于連接兩個IPv4和IPv6網(wǎng)絡(luò),其中R定期向IPv6網(wǎng)絡(luò)廣播它的網(wǎng)絡(luò)地址前綴(假定為PREFIX::/96)。當(dāng)A節(jié)點(diǎn)向C節(jié)點(diǎn)發(fā)送IP報文時,其報文源地址為FEDC:BA98::7654:3210,目標(biāo)地址為PREFIX::132.146.243.30。該報文路由到網(wǎng)絡(luò)設(shè)備R后由它將報文格式轉(zhuǎn)化為IPv4形式并發(fā)送到節(jié)點(diǎn)C。為實(shí)現(xiàn)地址/協(xié)議轉(zhuǎn)換功能,R要預(yù)先分配一部分IPv4地址,如圖中R已經(jīng)分配了地址池120.130.26/24,轉(zhuǎn)換時R從地址池中分配一個IPv4地址作為源目標(biāo)地址,這樣轉(zhuǎn)換后的IPv4報文的源地址和目標(biāo)地址分別為120.130.26.10和132.146.243.30。在協(xié)議轉(zhuǎn)換時并不是針對每個報文都進(jìn)行轉(zhuǎn)換,而是對本次回話中的初始化報文進(jìn)行轉(zhuǎn)換,并將它的參數(shù)如分配的地址等存放在緩存中,其余的報文直接轉(zhuǎn)換。
地址/協(xié)議轉(zhuǎn)換方法有一個限制,就是當(dāng)分配給R的IPv4地址池使用完后,其余的IPv6節(jié)點(diǎn)就不能與網(wǎng)絡(luò)外部的IPv4節(jié)點(diǎn)建立會話連接,對于TCP/UDP(傳輸控制協(xié)議/用戶數(shù)據(jù)報協(xié)議)等使用端口的協(xié)議可以用端口號區(qū)分不同的連接,這樣1個IPv4地址可以復(fù)用63 k個TCP或UDP會話,當(dāng)然這種方法只適用于有端口號的協(xié)議類型。
地址/協(xié)議轉(zhuǎn)換技術(shù)較好地解決了IPv4和IPv6的互通問題,其最大優(yōu)點(diǎn)是原有的各種協(xié)議不加改動就能與新的協(xié)議互通。但該技術(shù)在應(yīng)用上有一些限制:首先在拓?fù)浣Y(jié)構(gòu)上要求一次會話中所有報文的轉(zhuǎn)換都在同一個路由器上,因此地址/協(xié)議轉(zhuǎn)換方法較適用于只有一個路由器出口的STUB網(wǎng)絡(luò)(存根網(wǎng)絡(luò));其次一些協(xié)議字段在轉(zhuǎn)換時不能完全保持原有的含義;另外協(xié)議轉(zhuǎn)換方法缺乏端到端的安全性。
3 隧道策略
在過渡初期,將會出現(xiàn)許多局部的IPv6網(wǎng)絡(luò),但是這些IPv6網(wǎng)絡(luò)需要通過骨干網(wǎng)絡(luò)相聯(lián)才能互相通信,將這些孤立的IPv6網(wǎng)絡(luò)相互連通使用的另一項(xiàng)技術(shù)就是隧道。所謂隧道技術(shù)就是利用現(xiàn)有網(wǎng)絡(luò)設(shè)施中運(yùn)行的IPv4協(xié)議為載體建立IPv6的通信機(jī)制,隧道兩頭的節(jié)點(diǎn)間數(shù)據(jù)報的傳送通過IPv4機(jī)制進(jìn)行,隧道被看成一個直接連接的通道,隧道技術(shù)是IPv4向IPv6過渡的初期最易于采用的技術(shù)。隧道可以在路由器與路由器之間,路由器與主機(jī)之間以及主機(jī)與主機(jī)之間建立,隧道可以手工配置建立也可以自動建立。隧道策略的思路簡要說來就是,路由器將IPv6的數(shù)據(jù)分組封裝入IPv4,IPv4分組的源地址和目的地址分別對應(yīng)隧道入口和出口的IPv4地址,在隧道的出口處,再將IPv6分組取出轉(zhuǎn)發(fā)給目的站點(diǎn)。隧道技術(shù)只要求在隧道的入口和出口處進(jìn)行修改,對其他部分沒有要求,因而比較容易實(shí)現(xiàn)。目前隧道方式主要有4種:
(1)手工配置的隧道
在網(wǎng)絡(luò)遷移的初期,互相獨(dú)立的IPv6網(wǎng)絡(luò)可以通過人工配置的IPv4隧道相連互通,如圖3中兩個IPv6主機(jī)A和B之間的通信。主機(jī)A的IPv6數(shù)據(jù)報到達(dá)路由器R1后,R1使用已經(jīng)建立的隧道將數(shù)據(jù)報傳送到路由器R2,最終到達(dá)主機(jī)B。同樣具有雙棧協(xié)議的主機(jī)C也可與路由器R2建立隧道,實(shí)現(xiàn)與兩個IPv6網(wǎng)絡(luò)的通信。
手工配置隧道的方式比較簡單,在網(wǎng)絡(luò)組成不太復(fù)雜的情況下適用,但當(dāng)網(wǎng)絡(luò)規(guī)模比較大時,網(wǎng)絡(luò)配置管理的負(fù)擔(dān)較重,尤其對于那些已經(jīng)有IPv4連接但想建立與IPv6連接的終端用戶來說比較復(fù)雜。
(2)IPv6 over IPv4
隨著IPv6的廣泛應(yīng)用,有些節(jié)點(diǎn)可能僅支持IPv6協(xié)議,這種節(jié)點(diǎn)一旦安裝在IPv4網(wǎng)絡(luò)中(沒有直接相連的IPv6路由器),需考慮如何保證該節(jié)點(diǎn)能夠與外界通信。IPv6 over IPv4方案利用IPv4網(wǎng)絡(luò)的組播特性建立與外部的虛擬通信鏈路來提供保證。如圖3所示,IPv6節(jié)點(diǎn)D需要與外部通信,它不需要手工配置隧道或與IPv4兼容的地址,而是直接將IPv6報文封裝在IPv4報文中,通過IPv4網(wǎng)絡(luò)的組播特性,將該報文傳送到路由器R1發(fā)送到外部。
IPv6 over IPv4的優(yōu)點(diǎn)是可以使獨(dú)立的沒有和任何IPv6路由器連接的IPv6主機(jī)具有完全的IPv6主機(jī)功能,且不需要IPv4兼容地址和配置隧道的支持。但由于IPv6 over IPv4利用IPv4的組播特性作為虛擬鏈路層,是一種本地傳送機(jī)制,因此其適用范圍很小,只適用于雙棧主機(jī)間的通信,同時必須具備IPv4的多播功能的網(wǎng)絡(luò),不能解決將一個孤立的節(jié)點(diǎn)連接到全局IPv6網(wǎng)絡(luò)中的問題。
(3)IPv6 to IPv4
IPv6 to IPv4采用特殊的IPv6地址,使在IPv4“海洋”中的IPv6“孤島”能相互連接,此時IPv6的出口路由器與其他的IPv6域建立隧道連接。在邊界路由器上,IPv6包將被封裝在IPv4包里并通過隧道傳輸。在隧道起點(diǎn)封裝時,邊界路由器將提取出IPv6 to IPv4地址中的IPv4地址作為隧道終點(diǎn)的地址。封裝后的IP包到達(dá)目的IPv6 to IPv4路由器時被解封裝。站點(diǎn)的IPv4地址包含在IPv6地址前綴中,因此IPv4隧道的末端可從IPv6域的地址前綴中自動提取。由于IPv6 to IPv4可以自動地從IPv6 地址的前綴中提取一個IPv4地址,因此站點(diǎn)能夠配置IPv6而不需要向注冊機(jī)構(gòu)申請IPv6地址空間,這簡化了ISP(Internet服務(wù)提供商)的管理工作。除IPv4地址自動提取外,IPv6 to IPv4機(jī)制還允許在采用IPv6 to IPv4的IPv6站點(diǎn)和純IPv6站點(diǎn)之間通過中繼路由器(IPv6 to IPv4 Relay Router )進(jìn)行通信,這時不要求通信的兩個端點(diǎn)之間具有可用的IPv4連接。
IPv6 to IPv4是一個很有效的解決方案,在每個IPv6 to IPv4區(qū)域使用幾個邊界路由器的IPv4 地址就可以體現(xiàn)其在IPv4網(wǎng)絡(luò)中的位置信息,由于不需要雙棧主機(jī)和IPv4兼容地址,可解決IPv4地址空間的問題。IPv6 to IPv4設(shè)計(jì)使那些分割開的、獨(dú)立的IPv6子網(wǎng)可輕松互聯(lián),而不需要任何ISP提供IPv6的服務(wù),這個特點(diǎn)使其特別適合于VPN(虛擬專用網(wǎng)絡(luò))應(yīng)用。
(4)隧道代理
隧道代理類似于虛擬的IPv6 ISP的功能,為連接到IPv4的網(wǎng)絡(luò)用戶提供IPv6的服務(wù)。隧道代理模型如圖4所示,圖中TB(隧道代理)和TS(隧道服務(wù)器)是主要組成單元。TB代表用戶管理隧道的建立、修改和刪除。TS是雙棧路由器,它連接到Internet。隧道代理的主要思想是:隧道的使用者(雙棧節(jié)點(diǎn))TS連接到隧道代理(TB)上登記并激活隧道,隧道代理根據(jù)用戶的需求生成、更改并配置相應(yīng)的隧道。隧道的使用者TS和隧道代理之間的通道是預(yù)先建立的安全通路,因此只有經(jīng)過授權(quán)的用戶才能要求隧道代理建立隧道。
隧道代理的遂道配置原理如下:客戶端為獲得隧道代理服務(wù),先向TB提出申請,并提供客戶端IPv4地址、該客戶機(jī)想使用的DNS(域名服務(wù)器)域名以及客戶端的類型(主機(jī)還是路由器)等信息;TB接到客戶申請后,首先選擇一個TS作為隧道的端點(diǎn),同時選出IPv6的前綴分配給客戶端,用分配給客戶的IPv6地址升級DNS;接下來配置隧道的TS端,同時把該隧道的信息和參數(shù)通知給客戶機(jī),完成隧道的配置工作。
隧道代理除完成隧道配置工作,還要負(fù)責(zé)通信期間的隧道管理、刪除等工作。
隧道代理機(jī)制的實(shí)現(xiàn)簡單,無需升級任何特別的路由結(jié)構(gòu),這能在早期的IPv6運(yùn)行時吸引更多的IPv6的試用者。它還具有可靠性高的優(yōu)點(diǎn),不會對上層應(yīng)用產(chǎn)生任何影響,且不會降低傳輸?shù)男?。但由于隧道代理服?wù)需要客戶端的身份驗(yàn)證,因此對于采用NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)方式隔離的主機(jī)無效。
4 基于MPLS VPN的隧道機(jī)制
隨著MPLS技術(shù)和標(biāo)準(zhǔn)的成熟,出現(xiàn)了一種基于MPLS VPN的新的IPv6隧道機(jī)制。隨著骨干網(wǎng)越來越多地采用MPLS技術(shù),必須考慮如何在MPLS上集成IPv6。該方法將整個MPLS網(wǎng)絡(luò)看成IPv6隧道,并充分利用MPLS的特性。
該方案具有MPLS網(wǎng)絡(luò)的一切優(yōu)點(diǎn),支持約束路由流量工程,可以把IPv4和IPv6的數(shù)據(jù)流當(dāng)作不同的流,從而在核心網(wǎng)絡(luò)減小IPv4/IPv6爭搶資源的影響。同時由于在MPLS網(wǎng)絡(luò)中,轉(zhuǎn)發(fā)是根據(jù)標(biāo)記進(jìn)行的,不需要數(shù)據(jù)層面支持IPv6的數(shù)據(jù)轉(zhuǎn)發(fā),即無須核心網(wǎng)絡(luò)軟硬件的升級,只需要邊緣路由器具有配置IPv6的能力即可。當(dāng)IPv6核心網(wǎng)絡(luò)達(dá)到一定的規(guī)模,且當(dāng)其數(shù)據(jù)量足夠大時,就可以采用這種方案。
5 總結(jié)
目前IPv4在網(wǎng)絡(luò)設(shè)備中已經(jīng)得到廣泛的應(yīng)用,因此在網(wǎng)絡(luò)中引入新的IPv6協(xié)議不可避免地需要考慮與原有IPv4協(xié)議共存的一系列問題,包括IPv6報文的處理、報文的路由查找、轉(zhuǎn)發(fā)等。這些機(jī)制在新的路由設(shè)備和主機(jī)設(shè)備中的實(shí)現(xiàn)要考慮到與原有IPv4協(xié)議的兼容。
在IPv6和IPv4共存的時期,新的IPv6路由器設(shè)備在路由IPv6數(shù)據(jù)報時必須考慮以下問題:
*9誗對IPv4數(shù)據(jù)報的路由轉(zhuǎn)發(fā);
*9誗對IPv6數(shù)據(jù)報(包括與IPv4地址兼容和不兼容)的路由轉(zhuǎn)發(fā);
*9誗手工配置的靜態(tài)隧道的相關(guān)操作;
*9誗自動隧道的操作,包括本地封裝以及路由過程對該封裝的影響。
新的網(wǎng)絡(luò)設(shè)備要支持以上機(jī)制,需要具備一些新的功能如雙棧環(huán)境中路由的計(jì)算、對手工配置隧道的支持,以及為了支持自動封裝而必須的路由泄漏功能等。上述一些遷移方法的技術(shù)細(xì)節(jié)還沒有最終確定,有些需要在具體的應(yīng)用中解決。相信隨著IPv6技術(shù)的逐漸廣泛應(yīng)用,支持以上遷移技術(shù)的網(wǎng)絡(luò)設(shè)備將在未來的幾年內(nèi)獲得廣泛應(yīng)用?!?/p>
參考文獻(xiàn)
1 RFC2185. Routing Aspects of IPv6 Transition. 1997
2 RFC2766. Network Address Translation-Protocol Translation. 2000
3 RFC3053. IPv6 Tunnel Broker. 2001
4 RFC3056. Connection of IPv6 Domain via IPv4 Clouds. 2001
(收稿日期:2002-04-09)
作者簡介
彭海清,深圳市中興通訊股份有限公司技術(shù)中心研究部主任工程師。西安電子科技大學(xué)計(jì)算機(jī)專業(yè)工程碩士。先后參加了ZXJ10大型程控交換機(jī)、SDH傳輸設(shè)備以及ZXR10核心路由器的研制工作。目前從事數(shù)據(jù)通信領(lǐng)域的研究開發(fā)工作。
李明正,深圳市中興通訊股份有限公司技術(shù)中心研究部工程師。北京航空航天大學(xué)電氣工程學(xué)士,澳大利亞新南威爾士大學(xué)通信工程碩士。目前從事IPv6協(xié)議的研究、開發(fā)工作。
王雅琳,深圳市中興通訊股份有限公司技術(shù)中心研究部高級工程師。中南大學(xué)信息工程學(xué)院工學(xué)博士。目前主要從事數(shù)據(jù)通信、以太網(wǎng)、QoS、IPv6等方面的研究。