1. 程式人生 > >IPv4到IPv6的過渡技術

IPv4到IPv6的過渡技術

由於Internet的規模以及目前網路中數量龐大的IPv4使用者和裝置,IPv4到v6的過渡不可能一次性實現。而且,目前許多企業和使用者的日常工作越來越依賴於Internet,它們無法容忍在協議過渡過程中出現的問題。所以IPv4到v6的過渡必須是一個循序漸進的過程,在體驗IPv6帶來的好處的同時仍能與網路中其餘的IPv4使用者通訊。能否順利地實現從IPv4到IPv6的過渡也是IPv6能否取得成功的一個重要因素。
  實際上,IPv6在設計的過程中就已經考慮到了IPv4到IPv6的過渡問題,並提供了一些特性使過渡過程簡化。例如,IPv6地址可以使用IPv4相容地址,自動由IPv4地址產生;也可以在IPv4的網路上構建

隧道,連線IPv6孤島。目前針對IPv4-v6過渡問題已經提出了許多機制,它們的實現原理和應用環境各有側重,這一部分裡將對IPv4-v6過渡的基本策略和機制做一個系統性的介紹。
  在IPv4-v6過渡的過程中,必須遵循如下的原則和目標:
  ·保證IPv4和IPv6主機之間的互通;
  ·在更新過程中避免裝置之間的依賴性(即某個裝置的更新不依賴於其它裝置的更新);
  ·對於網路管理者和終端使用者來說,過渡過程易於理解和實現;
  ·過渡可以逐個進行;
  ·使用者、運營商可以自己決定何時過渡以及如何過渡
  主要分三個方面:IP層的過渡策略與技術、鏈路層對IPv6的支援、IPv6對上層的影響
  對於IPV4
向IPV6技術的演進策略,業界提出了許多解決方案。特別是IETF組織專門成立了一個研究此演變的研究小組NGTRANS,已提交了各種演進策略草案,併力圖使之成為標準。縱觀各種演進策略,主流技術大致可分如下幾類:
  

雙棧策略


  實現IPv6結點與IPv4結點互通的最直接的方式是在IPv6結點中加入IPv4協議棧。具有雙協議棧的結點稱作“IPv6/v4結點”,這些結點既可以收發IPv4分組,也可以收發IPv6分組。它們可以使用IPv4與IPv4結點互通,也可以直接使用IPv6與IPv6結點互通。雙棧技術不需要構造隧道,但後文介紹的隧道技術中要用到雙棧。 IPv6/v4結點可以只支援手工配置隧道,也可以既支援手工配置也支援自動
隧道

  

隧道技術


  在IPV6發展初期,必然有許多區域性的純IPV6網路,這些IPV6網路被IPV4骨幹網路隔離開來,為了使這些孤立的“IPV6島”互通,就採取隧道技術的方式來解決。利用穿越現存IPV4因特網的隧道技術將許多個“IPV6孤島”連線起來,逐步擴大IPV6的實現範圍,這就是目前國際IPV6試驗床6Bone的計劃。
  工作機理:在IPV6網路與IPV4網路間的隧道入口處,路由器將IPV6的資料分組封裝入IPV4中,IPV4分組的源地址和目的地址分別是隧道入口和出口的IPV4地址。在隧道的出口處再將IPV6分組取出轉發給目的節點。
  隧道技術在實踐中有四種具體形式:構造隧道、自動配置隧道、組播隧道以及6to4。
  

TB(Tunnel Broker,隧道代理)


  對於獨立的v6使用者,要通過現有的IPv4網路連線IPv6網路上,必須使用隧道技術。但是手工配置隧道的擴充套件性很差,TB的主要目的就是簡化隧道的配置,提供自動的配置手段。對於已經建立起IPv6的ISP來說,使用TB技術為網路使用者的擴充套件提供了一個方便的手段。從這個意義上說,TB可以看作是一個虛擬的IPv6 ISP,它為已經連線到IPv4網路上的使用者提供連線到IPv6網路的手段,而連線到IPv4網路上的使用者就是TB的客戶。
  

雙棧轉換機制(DSTM


  DSTM的目標是實現新的IPv6網路與現有的IPv4網路之間的互通。使用DSTM,IPv6網路中的雙棧結點與一個IPv4網路中的IPv4主機可以互相通訊。DSTM的基本組成部分包括:
  ·DHCPv6伺服器,為IPv6網路中的雙棧主機分配一個臨時的IPv4全網唯一地址,同時保留這個臨時分配的IPv4地址與主機IPv6永久地址之間的對映關係,此外提供IPv6隧道隧道末端(TEP)資訊;
  ·動態隧道埠DTI:每個DSTM主機上都有一個IPv4埠,用於將IPv4報文打包到IPv6報文裡;
  ·DSTM Deamon:與DHCPv6客戶端協同工作,實現IPv6地址與IPv4地址之間的解析。
  

協議轉換技術

其主要思想是在V6節點與V4節點的通訊時需藉助於中間的協議轉換伺服器,此協議轉換伺服器的主要功能是把網路層協議頭進行V6/V4間的轉換,以適應對端的協議型別。
  優點:能有效解決V4節點與V6節點互通的問題。
  缺點:不能支援所有的應用。這些應用層程式包括:① 應用層協議中如果包含有IP地址、埠等資訊的應用程式,如果不將高層報文中的IP地址進行變換,則這些應用程式就無法工作,如FTPSTMP等。② 含有在應用層進行認證、加密的應用程式無法在此協議轉換中工作。
  

SOCKS64

一個是在客戶端裡引入SOCKS庫,這個過程稱為“socks化”(socksifying),它處在應用層socket之間,對應用層的socket API和DNS名字解析API進行替換;
  另一個是SOCKS閘道器,它安裝在IPv6/v4雙棧結點上,是一個增強型的SOCKS伺服器,能實現客戶端C和目的端D之間任何協議組合的中繼。當C上的SOCKS庫發起一個請求後,由閘道器產生一個相應的執行緒負責對連線進行中繼。SOCKS庫與閘道器之間通過SOCKS(SOCKSv5)協議通訊,因此它們之間的連線是“SOCKS化”的連線,不僅包括業務資料也包括控制資訊;而G和D之間的連線未作改動,屬於正常連線。D上的應用程式並不知道C的存在,它認為通訊對端是G。
  

傳輸層中繼(Transport Relay)


  與SOCKS64的工作機理相似,只不過是在傳輸層中繼器進行傳輸層的“協議翻譯”,而SOCKS64是在網路層進行協議翻譯。它相對於SOCKS64,可以避免“IP分組分片”和“ICMP報文轉換”帶來的問題,因為每個連線都是真正的IPV4或IPV6連線。但同樣無法解決網路應用程式資料中含有網路地址資訊所帶來的地址無法轉換的問題。
  

應用層代理閘道器(ALG


  ALG是Application Level Gateway的簡稱,與SOCKS64、傳輸層中繼等技術一樣,都是在V4與V6間提供一個雙棧閘道器,提供“協議翻譯”的功能,只不過ALG是在應用層級進行協議翻譯。這樣可以有效解決應用程式中帶有網路地址的問題,但ALG必須針對每個業務編寫單獨的ALG代理,同時還需要客戶端應用也在不同程式上支援ALG代理,靈活性很差。顯然,此技術必須與其它過渡技術綜合使用,才有推廣意義。
  

過渡策略總結


  雙棧隧道是主流
  所有的過渡技術都是基於雙棧實現的
  不同的過渡策略各有優劣、應用環境不同
  網路的演進過程中將是多種過渡技術的綜合
  根據運營商具體的網路情況進行分析
  由不同的組織或個人提出的IPV4向IPV6平滑過渡策略技術很多,它們都各有自己的優勢和缺陷。因此,最好的解決方案是綜合其中的幾種過渡技術,取長補短,同時,兼顧各運營商具體的網路設施情況,並考慮成本的因素,為運營商設計一套適合於他自己發展的平滑過渡解決方案。