天天看點

IPv4向IPv6過渡的背景、技術、形式

簡介:随着Internet的日益膨脹,現有的IPv4位址已經十分緊缺,雖然使用配置設定臨時IPv4位址或網絡位址翻譯(NAT)等位址使用技術,在一定程度上緩解了IPv4位址不足的狀況,但同時也增加了位址解析和處理方面的開銷,導緻某些高層應用失效,而且仍然無法回避IPv4位址即将被配置設定殆盡這個問題。

關鍵字:IPv4 IPv6

1 IPv6與IPv4互通技術出現的背景及現狀

    随着Internet的日益膨脹,現有的IPv4位址已經十分緊缺,雖然使用配置設定臨時IPv4位址或網絡位址翻譯(NAT)等位址使用技術,在一定程度上緩解了IPv4位址不足的狀況,但同時也增加了位址解析和處理方面的開銷,導緻某些高層應用失效,而且仍然無法回避IPv4位址即将被配置設定殆盡這個問題。采用長度為128 b IP位址的IPv6協定,徹底解決了IPv4位址不足的難題,并且在位址容量、安全性、網絡管理、移動性以及服務品質等方面有明顯的改進,是下一代網際網路絡協定采用的核心标準之一。IPv6與IPv4不相容,但他同所有其他的TCP/IP協定族中的協定相容,即IPv6完全可以取代IPv4。

    在IPv6成為主流協定之前,首先使用IPv6協定棧的網絡希望能與目前仍被IPv4支撐着的Internet進行正常通信,是以必須開發出IPv4/IPv6互通技術以保證IPv4能夠平穩過渡到IPv6。此外,互通技術應該對資訊傳遞做到高效無縫。國際上IETF組建了專門的NGTRANS工作組開展對于IPv4/IPv6過渡問題和高效無縫互通問題的研究。目前已經出現了多種過渡技術和互通方案,這些技術各有特點,用于解決不同過渡時期、不同環境的通信問題,有些已經相當成熟并形成了RFC,有些還隻是作為 Internet draft有待完善。

    2 IPv6與IPv4互通的3種基本技術

    目前解決過渡問題的基本技術主要有3種:雙協定棧(RFC2893 obsolete RFC1933),隧道技術(RFC2893),NAT-PT(RFC2766)。

    2.1 雙協定棧(DualStack)

    雙協定棧技術是使IPv6節點與IPv4節點相容的最直接方式,應用對象是主機、路由器等通信節點。支援雙協定棧的IPv6節點與IPv6節點互通時使用IPv6協定棧,與IPv4節點互通時借助于4over6使用IPv4協定棧。IPv6節點通路IPv4節點時,先向雙棧伺服器申請一個臨時IPv4位址,同時從雙棧伺服器得到網關路由器的TEP(TunnelEndPoint)IPv6位址。IPv6節點在此基礎上形成一個4 over 6的IP包,4 over 6包經過IPv6網傳到網關路由器,網關路由器将其IPv6頭去掉,将IPv4包通過IPv4網絡送往IPv4節點。網關路由器要記住IPv6源位址與IPv4臨時位址的對應關系,以便反方向将IPv4節點發來的IP包轉發到IPv6節點。采用雙協定棧方式互通時的系統如圖1所示。

    這種方式對IPv4和IPv6提供了完全的相容,但由于需要雙路由基礎設施,增加了網絡的複雜度,依然無法解決IP位址耗盡的問題。

    2.2 隧道技術(Tunnel)

    隧道技術提供了一種以現有IPv4路由體系來傳遞IPv6資料的方法:将IPv6包作為無結構意義的資料,封裝在IPv4包中,被IPv4網絡傳輸。根據建立方式的不同,隧道技術可分為手工配置隧道和自動配置隧道兩類。隧道技術巧妙地利用了現有的IPv4網絡,他的意義在于提供了一種使IPv6的節點間能夠在過渡期間通信的方法,但他不能解決IPv6節點與IPv4節點間互通的問題。

    2.3 NAT-PT

    NAT-PT是一種純IPv6節點和IPv4節點間的互通方式,所有包括位址、協定在内的轉換工作都由網絡裝置來完成。支援NAT-PT的網關路由器應具有IPv4位址池,在從IPv6向IPv4域中轉發包時使用。此外網關路由器支援DNS-ALG(DNS,應用層網關),在IPv6節點通路IPv4節點時發揮作用。采用NAT-PT方式互通時的系統構成如圖2所示。

    NAT-PT方式的優點是不需要進行IPv4,IPv6節點的更新改造,缺點是IPv4節點通路IPv6節點的實作方法比較複雜,網絡裝置進行協定轉換、位址轉換的處理開銷較大,一般在其他互通方式無法使用的情況下使用。

    3 過渡期間IPv6和IPv4互通的解決方案

    過渡初期,Internet将由運作IPv4的“海洋”和運作IPv6的“小島”組成,随着時間的推移,IPv4“海洋”将逐漸變小,而IPv6“小島”将越來越多,最終徹底取代IPv4。在過渡期要解決的互通問題可分成2大類:第一類是解決IPv6“小島”間的互通問題;第二類則解決IPv6“小島”與IPv4“海洋”間互通的問題。

    3.1 IPv6“小島”之間的互通方式

     (1)手工配置隧道(Configured Tunnel)

    這種隧道是手工配置建立的,隧道的端點位址由配置決定,不需要為節點配置設定特殊的IPv6位址,适用于經常通信的IPv6節點之間使用。每個隧道的封裝節點必須儲存隧道終點位址,當IPv6包在隧道上傳輸時,終點位址會作為IPv4包的目的位址進行封裝。通常封裝節點要根據路由資訊決定這個包是否通過隧道轉發。采用手工配置隧道方式進行互通的節點間必須有可用的IPv4連接配接,并且至少要具有一個全球惟一的IPv4位址,每個節點都要支援IPv6,路由器需要支援雙協定棧,在隧道要經過NAT設施的情況下該機制失效。

    (2)自動配置隧道(Auto-configured Tunnel)

    這種隧道的建立和拆除是動态的,其端點根據分組的目的位址确定,适用于不經常通信的節點間使用。自動配置隧道需要節點采用IPv4相容的IPv6位址(IPv4ADDR::/96),這些節點間必須有可用的IPv4連接配接,采用這種機制的節點需要有一個全球惟一的IPv4位址。采用這種機制不能解決IPv4位址空間耗盡的問題,并且如果把Internet上全部IPv4路由表包括到IPv6網絡中,将會加劇路由表的膨脹。這種隧道的兩個端點都必須支援雙協定棧,在隧道要經過NAT設施的情況下該機制失效。

    (3)TunnelBroker

    TunnelBroker是一種友善構造隧道的機制,可以簡化隧道的配置過程,适用于單個主機擷取IPv6連接配接的情況。TunnelBroker要求隧道的雙方都支援雙協定棧并有可用的IPv4連接配接,在隧道要經過NAT設施的情況下該機制失效。TB轉換機制包括TunnelServer(TS)和TunnelBroker(TB),Server和Boker位于不同的主機上,隧道的控制通常是web形式的。

    (4)6 over 4,IPv4多點傳播隧道

    6 over 4是一種自動建立隧道的機制,采用前提是IPv4網絡基礎設施支援IPv4多點傳播。該機制适用于IPv6路由器上無直接實體鍊路連接配接的孤立IPv6主機,使得他們能夠将IPv4廣播域作為他們的虛拟鍊路,成為功能完全的IPv6節點。采用這種方法連接配接的IPv6節點不需要IPv4相容位址和手工配置隧道。當采用6 over 4的節點通過一台支援6 over 4的路由器與外界相連時,節點内的主機可以和外部IPv6節點通信,但6 over4沒有解決孤立的IPv6節點連接配接到全球性IPv6 Internet的問題。

    (5)6 to 4

    6 to 4要求采用自動從節點的IPv4位址派生出的特殊IPv6位址(IPv4ADDR::/48),是以采用6 to 4機制的節點必須至少具有一個全球惟一的IPv4位址。由于隧道端點的IPv4位址可以從IPv6位址中提取,是以隧道是自動建立的,這種機制适用于運作IPv6的節點之間的互通。6to 4要求隧道中路由器支援雙協定棧和6 to 4,主機至少支援IPv6協定棧。6 to 4機制允許在采用6 to 4的IPv6節點和純IPv6節點之間通過運作BGP4+的中繼路由器(6to 4 Relay Router)進行互通。這種機制把廣域的IPv4網絡作為一個單點傳播的點到點鍊路層,适合作為IPv4/IPv6共存的初始階段的轉換工具。

    3.2 IPv6“小島”與IPv4“海洋”之間的互通方式

    (1)DualStack Model23

    在這種模型下任意節點都是完全雙協定棧的,不存在IPv4與IPv6之間的互通問題,但是這種機制要給每一個IPv6的節點配置設定一個IPv4位址。這種方法不能緩解IPv4位址資源不足的問題,而且随着IPv6節點的增加會很難得到滿足。

    (2)SIIT(Stateless IP/ICMPTranslation)

    SIIT定義了在IPv4和IPv6的分組報頭之間進行翻譯的方法,這種機制可以和其他機制(如NAT-PT結合用于純IPv6節點同純IPv4節點間的互通,但在采用網絡層加密和資料完整性保護的環境下這種技術失效。

    (3)NAT-PT(Network Address Translation- ProtocolTranslation)

    NAT-PT就是在做IPv4/IPv6位址轉換(NAT)的同時在IPv4分組和IPv6分組之間進行報頭和語義的翻譯(PT),适用于純IPv4節點和純IPv6節點之間的互通。對于一些内嵌位址資訊的高層協定(如FTP),NAT-PT需 要和應用層的網關協作來完成翻譯。在實作方面,如果沒有DNS-ALG的支援,隻能實作由IPv6發起的與IPv4之間的通信,反之,包就會被丢棄;如果有DNS-ALG的支援,就可以實作雙向的通信。

    除了上述3種互通方式,IPv6“小島”與IPv4“海洋”間還可以通過BIS,BIA,SOCKS64,TRT,ALG等方式進行互通。

    4 IPv4向IPv6平穩過渡技術的發展形式

    從前面總結的過渡機制可以看出,每種機制都不是普遍适用的,都隻适用于某一種或幾種特定的網絡情況,而且常常需要和其他技術組合使用。在實際應用時要綜合考慮各種實際情況制定合适的過渡政策。 在IPv4向IPv6過渡時期,通常應采用如下的組網原則:

    (1)在能直接建立IPv6鍊路的情況下使用純IPv6路由。

    (2)在不能使用IPv6鍊路的情況下,IPv6節點之間使用隧道技術。

    (3)雙協定棧的IPv6/IPv4節點和純IPv6節點或者純IPv4的節點通信不需要采用協定轉換,而直接“自動”選擇相應的通信協定(IPv4或者IPv6)。

    (4)對于純IPv6節點和純IPv4節點之間的互通,則應該使用協定轉換(NAT-PT)或者應用層網關(ALG)技術,設計的協定轉換器或者ALG應該盡量保證在不修改原有應用的情況下就可以使用。

    相應于上述組網原則,我們認為IPv4向IPv6過渡采用 分階段演進是最為可行的方式,概括起來有以下4個階段:

    第一階段,IPv4“海洋”中開始有越來越多的IPv6“小島”。這時,必然需要各種适當的過渡機制,可供選擇的機制主要有隧道代理,6 over 4, 6to 4, NAT-PT。

    第二階段,越來越多的IPv6“小島”逐漸變大、變多,成為與IPv4“海洋”不相上下的另一個“海洋”,采用NAT的過渡機制可能會更有效率。

    第三階段,與第一階段正好相反,即IPv6成為整個網絡世界的主流,而IPv4網絡越來越少,形成IPv6“海洋” 和IPv4“小島”并存的情形,可能采用的過渡機制有NAT-PT和DSTM。

    第四階段,IPv6成功應用,那時應該是純IPv6“海洋”,IPv4“小島”也不存在了。這時已不需要過渡技術,各網絡節點間都采用基于IPv6的通信方式。

    IPv4自身的局限性注定了IPv4支撐的Internet會逐漸、平穩地過渡到以IPv6為核心的新一代Internet,在不同的過渡階段、不同的網絡環境應分别采用不同的過渡技術和機制。