徐志桐
摘要:本文主要介紹在IPv4網絡上部署IPv6的各種策略,包括Ipv6 over Ipv4隧道技術、在專用數據鏈路上部署Ipv6、在MPLS骨干網上部署Ipv6、使用雙協議棧部署Ipv6。并對各種技術進行詳細分析、比較及部署應用。
關鍵詞:IPv6;隧道;數據鏈路專線;MPLS;雙協議棧
在完全過渡到IPv6骨干網絡之前,一般可以在邊緣網絡上部署IPv6,涉及在IPv4網絡上承載IPv6的流量,允許互相隔離的IPv6孤島互相通信。從所有的邊緣網絡到核心網絡,全網運行IPv4和IPv6,或者IPv4主機和IPv6主機之間透明通信,技術上都是可能的。各種技術的保證網絡可以平滑升級以增加IPv6的部署,這種升級對現有的IPv4網絡的正常運行不會帶來太大或幾乎沒有影響。
以下介紹并討論IPv6的四種主要部署策略。
1基于IPv4隧道部署IPv6
隧道是用IPv4的包封裝IPv6的流量,這樣IPv6的報文才能在IPv4的骨干網絡上傳送。在不升級現有IPv4系統結構的前提下,允許孤立的IPv6端系統或路由器可以互相通信。對于服務提供商或企業來說,在IPv4和IPv6的共存階段,隧道技術是IPv6部署的關鍵策略之一。
隧道允許服務提供商在不用大量升級IPv4的網絡架構或對當前的IPv4業務有影響的前提下,可以維用戶提供端到端的IPv6業務。隧道也可以使企業的IPv6孤島互聯或連接到遠端的IPv6網絡上(如6bone),只需通過現有的IPv4網絡即可實現。
1.1 IPv6手動配置隧道
手動配置隧道等價于在跨IPv4骨干網的IPv6域之間的永久鏈路。主要的功能用于安全穩定的連接,如兩個邊緣路由器間、端系統和邊緣路由器間的通信,或者在端系統到IPv6的Internet之間的連接(6bone或CNGI)。在隧道一端的邊緣路由器和端系統,必須支持雙棧功能。
在隧道的每一端,需要在隧道終結的雙棧路由器的接口上配置IPv4和IPv6的地址, 用IPv4地址標識實體和出口(源和目的)。對于企業來說,ISP將為其提供合適的IPv6地址前綴,同時ISP也需要為其提供隧道出口的IPv4地址。
因為在每條隧道只在兩個路由器之間存在,增加路由器就需要在每兩臺路由器之間著增加隧道。因為每條隧道需要獨立的管理,路由器越多,就需要更多的管理開銷。就如使用NAT等其它隧道機制一樣,當應用到外部的IPv4頭時,如果傳輸映射是穩定和預先建立,只允許沿著隧道的的路徑傳送。
1.2 IPv6 over IPv4 GRE 隧道
IPv6 over IPv4 GRE隧道使用標準的GRE隧道技術,被設計用來提供標準的點到點封裝業務的實現。如IPv6手動配置的隧道,GRE隧道用于實現兩點之間的鏈路實現,每條鏈路之間都有一條獨立的隧道。這些隧道一般不捆綁某種特定的傳輸協議,但在這里IPv6作為承載于GRE之上的承載協議。
IPv6 over IPv4 GRE隧道的主要用途是可以在兩個邊緣路由器或邊緣路由器和端系統之間提供安全穩定的連接。這里的端系統和邊緣路由器,要求必須實現雙堆棧。
1.3 隧道代理
隧道代理業務允許IPv6業務應用在遠端的雙堆棧端系統上,或IPv6端系統連接到雙堆棧路由器上,接入到IPv6的骨干網上。隧道代理業務用6-over-4隧道將IPv6的端系統連接到遠端的IPv6骨干網上。一般隧道代理用戶企業用戶,隧道代理可以自動管理隧道的建立請求和配置,而不必通過網絡管理員手動配置隧道。
使用這種業務的關鍵限制是,端系統或路由器從遠端的服務器上接受配置的改變,這樣就存在一定的安全性隱患。并非所有的服務提供商都能提供隧道代理業務,并且也并非所有的可靠的隧道代理業務支持路由器實用此類腳本。
1.4 自動IPv4兼容隧道
自動IPv4兼容隧道可以配置在兩臺邊緣路由器之間或邊緣路由器和端系統之間。邊緣路由器和端系統之間必須是雙堆棧。IPv4兼容隧道在隧道的端點之間(隧道的源和目的),可以自動由IPv4兼容的IPv6地址的低32位定義IPv4地址。IPv4兼容的IPv4地址是一種特殊的IPv6地址,其中高96位為0:0:0:0:0:0,而低32位表示為隧道相應的IPv4地址。
IPv4兼容的隧道機制是一種轉換機制,盡管這種機制的隧道容易在IPv4的上建立IPv6,但這種機制卻不適合再大規模的網絡上建立,因為每個主機需要IPv4和IPv6的地址,用來決定隧道的端點。進一步的限制是所有的通信只能在IPv4兼容的地址間實現。
1.5 自動的 6to4 隧道
自動的6to4隧道可以使孤立的IPv6域通過IPv4的網絡互聯或者連接孤立的IPv6域到IPv6的骨干網上,如CNGI或6bone。這種隧道和手動隧道關鍵的不同是,路由器不需要被成對配置(這樣也不需要手動配置),因為這里把IPv4的網絡看成虛擬的非廣播域連接。使用嵌在IPv6地址中的IPv4地址來尋找隧道的另一端點。
每個IPv6的域也需要一個雙堆棧路由器,通過唯一的IPv6地址前綴的路由表來識別IPv4的隧道(隧道目的端的IPv4地址相關的IPv6地址前綴是2002::/16)。這個唯一的路由前綴由(IANA Internet Assigned Number Authority)分配,用于 6to4的隧道策略。每個節點即使只有一個共有的IPv4地址,也會分配唯一的IPv6路由前綴。
2 在MPLS骨干網上部署IPv6
使用IPv6 over MPLS backbones的技術,使互相孤立的IPv6域能夠互相通信,這種技術可以在基于MPLS IPv4的骨干網上實現。因為轉發基于標簽實現而不是IP報文頭實現,可以提供更高效的機制來實現IPv6的部署,這種實現方式可以使骨干網的結構盡量少的升級和重新配置。 另外,MPLS固有的VPN及流量工程的可靠性,保證了IPv6和VPN或外部網絡能夠很好的結合在一起,這種VPN是基于IPv4的VPN和MPLS-TE的技術實現。
2.1 利用客戶邊緣路由器(CE)間的隧道實現IPv6
利用MPLS網絡上CE路由器間的隧道實現IPv6是一種最簡單的IPv6部署方式,不會影響MPLS網絡的運行,也不需改變相關的骨干網P路由器和連接到客戶端PE路由器的配置。
在遠端IPv6域之間的通信使用標準的隧道機制,如使用IPv6 over IPv4 的隧道機制,這種機制與純IPv4隧道的MPLS VPN非常相似。CE路由器需要升級成雙棧路由器,需要配置IPv4兼容的隧道或6to4的隧道,但在PE路由器之間的通信使用純IPv4,在MPLS域中的流量也是IPv4。雙棧路由器使用IPv4兼容或6to4的地址,而不是由服務提供商提供的IPv6地址。
2.2邊緣路由器上(PE)實現IPv6
進一步的部署策略是在MPLS PE 路由器上配置IPv6。這種策略對服務提供商來說有一個最大的優點,即不必升級核心網絡的軟件和硬件,這樣可以減小對現有IPv4業務帶來的運營和成本影響。這種策略也可以保持當前MPLS特性的優點,如保持基于IPv4的MPLS或VPN業務,同時可以給企業客戶提供純IPv6的業務,企業客戶也可以使用由ISP提供的IPv6地址前綴。每臺PE路由器必須要支持IPv6的連通性,這樣要求將PE升級為雙棧(變為6PE路由器),并且需要在連接到核心網絡的接口上運行MPLS。根據節點的業務需要,每個路由器可以在到CE路由器的接口上配置只IPv6或同時配置IPv6和IPv4業務,這樣可以提供純IPv6或IPv6和IPv4兩種混合業務。6PE路由器既可以交換IPv4的路由器協議,也可交換IPv6路由協議,而CE路由器的相應接口不必運行MPLS。 6PE路由器用兩層MPLS標簽封裝IPv6的業務流量。上層標簽由標簽分發協議(LDP)分發標簽,標簽分發協議利用核心層的設備的,通過IPv4路由信息將報文傳送到目的的6PE路由器。第二層或底層的標簽附帶目的IPv6的前綴,通過多協議BGP4的路由協議來傳遞IPv6的路由。
3用雙協議棧骨干網部署IPv6
使用雙協議棧骨干網是同時部署IPv4和IPv6的基本策略。要求所有網絡中的設備升級成支持雙協議棧。IPv4通信使用IPv4協議棧,通過運行特殊的IPv4路由協議,來轉發基于路由器學習的IPv4報文。IPv6的通信使用IPv6的協議棧,路由器運行特定的IPv6的路由協議,來轉發基于路由器學習的IPv6報文。關鍵的需求是每個節點都需要有一個全球單播的IPv6地址前綴,另外還需要合適的IPv6 DNS解析服務,可以將主機名同時映射到IPv4和IPv6的地址,具體選擇IPv4和IPv6的應用取決與從DNS解析庫返回的響應,根據應用選擇基于IP流量的類型的正確地址,及特殊的通信請求。
4在專用數字鏈路上部署IPv6
除以上在IPv4環境下部署IPv6的策略,還需要考慮協議轉換機制,如實現將IPv6-only 的瀏覽器連接到IPv4-only的WEB服務器,或雙協議棧的服務器(如同時處理IPv4-only和IPv6-only的郵件服務器),可以同時處理IPv4和IPv6的應用。這些機制的實現驅動IPv6從測試階段向實際的應用階段發展。更重要的是能讓應用開發商認識到從長遠角度IPv6更能降低成本,從而開發出更多的IPv6的應用。
對運營級網絡來說,在IPv4環境下部署IPv6,要視具體的網絡環境及網絡規模,酌情考慮部署策略,綜合考慮投資、可持續發展等因素。建議從初期的在Ipv4環境下部署,逐步過渡到最終的全IPv6網絡。