IPv6和IPv4之間的通訊機制和方法

2021-05-24 07:34:47 字數 4765 閱讀 4916

在前面兩個部分(《ipv6技術之發展現狀和技術原理》《ipv6技術之移動連線特性簡述》)中主要講解了ipv6自身的一些原理和特點,但是由於現存的網路體系多為ipv4結構,因此,在今後較長的一段時間裡都將是兩者相互並存,這就勢必造成兩者之間相互通訊的問題,幸好,ipv6的設計者們已經為這個問題準備好了解決方法。

一、背景現狀

儘管ipv6已被認為是下一代網際網路絡協議核心標準之一。但是,新生事物從誕生到廣泛應用需要乙個過程,尤其是對於現時ipv4仍然很好的支撐著的internet。在ipv6的網路流行於全球之前,總是有一些網路首先使用ipv6協議棧並希望能夠與當前的internet正常通訊。為達到這一目的,研究者們必須開發出ipv4 / ipv6互通技術以保證ipv4能夠平穩過渡到ipv6,除此之外,互通技術應該對普通使用者做到「無縫」,使用起來沒有感到不便,對資訊傳遞做到高效。

在過渡時期,要解決相互通訊的問題無非兩類:第一類就是ipv6之間互相通訊的問題;第二類就是解決ipv6與ipv4之間的通訊問題。

針對這兩類問題已經提出了很多方案,有一些已經相當成熟並形成了rfc(request for commnets),有一些還只是作為internet draft,有待進一步完善。

二、過渡技術

目前解決過渡問題基本技術主要有三種:雙協議棧(rfc 2893 obsolete rfc1933)、隧道技術(rfc 2893)、nat-pt(rfc 2766)。

(1) 雙協議棧 ( dual stack)

採用該技術的節點上同時執行ipv4和ipv6兩套協議棧。這是使ipv6節點保持與純ipv4節點相容最直接的方式,針對的物件是通訊端節點(包括主機、路由器)。這種方式對ipv4和ipv6提供了完全的相容,但是對於ip位址耗盡的問題卻沒有任何幫助。由於需要雙路由基礎設施,這種方式反而增加了網路的複雜度。

(2) 隧道技術 ( tunnel)

隧道技術提供了一種以現有ipv4路由體系來傳遞ipv6資料的方法:將ipv6的分組作為無結構意義的資料,封裝在ipv4資料報中,被ipv4網路傳輸。根據建立方式的不同,隧道可以分成兩類:(手工)配置的隧道和自動配置的隧道。隧道技術巧妙地利用了現有的ipv4網路,它的意義在於提供了一種使ipv6的節點之間能夠在過渡期間通訊的方法,但它並不能解決ipv6節點與ipv4節點之間相互通訊的問題。

(3) 閘道器轉換(nat-pt)

轉換閘道器除了要進行ipv4位址和ipv6位址轉換,還要包括協議並翻譯。轉換閘道器作為通訊的中間裝置,可在ipv4和ipv6網路之間轉換ip報頭的位址,同時根據協議不同對分組做相應的語義翻譯,從而使純ipv4和純ipv6站點之間能夠透明通訊。

三、ipv6通訊

它是指v6與v6之間的通訊,主要方法有以下幾種:

(1) 手工配置隧道 ( configured tunnel)

這種隧道的建立是手工配置的,需要隧道兩個端點所在網路的管理員協作完成。隧道的端點位址由配置來決定,不需要為站點分配特殊的ipv6位址,適用於經常通訊的ipv6站點之間。每乙個隧道的封裝節點必須儲存隧道終點的位址,當乙個ipv6包在隧道上傳輸時終點位址會作為ipv4包的目的位址進行封裝。通常封裝節點要根據路由資訊決定乙個包是否要通過隧道**。

採用手工配置隧道進行通訊的站點之間必須有可用的ipv4 連線,並且至少要具有乙個全球唯一的ipv4位址。站點中每個主機都至少需要支援ipv6,路由器需要支援雙棧。在隧道要經過nat設施的情況下這種機制不可用。

手工配置隧道的主要缺點是網路管理員的負擔很重,因為他要為每一條隧道做詳細的配置。

(2) 自動配置的隧道 ( auto-configured tunnel )

這種隧道的建立和拆除是動態的,它的端點根據分組的目的位址確定,適用於單獨的主機之間或不經常通訊的站點之間。自動配置的隧道需要站點採用ipv4相容的ipv6位址,這些站點之間必須有可用的ipv4連線,每個採用這種機制的主機都需要有乙個全球唯一的ipv4位址。

採用這種機制不能解決ipv4位址空間耗盡的問題(採用手工配置隧道的站點就不需要ipv4位址)。兩外還有一種危險就是如果把internet 上全部ipv4路由表包括到ipv6網路中,那麼會加劇路由表膨脹的問題。這種隧道的兩個端點都必須支援雙協議棧(手工配置就不需要)。在隧道要經過nat設施的情況下這種機制不可用。

(3) 隧道中介(tunnel broker)

tunnel broker不是一種隧道機制,而是一種方便構造隧道的機制。可以簡化隧道的配置過程,適用於單個主機獲取ipv6連線的情況。tunnel broker也可用於站點之間,但這時可能會在ipv6的路由表中引入很多條目,導致ipv6的路由表過於龐大,違背了ipv6設計的初衷。使用者可以通過tunnel broker從支援ipv6的isp處獲得持久的ipv6位址和網域名稱。 tunnel broker要求隧道的雙方都支援雙棧並有可用的ipv4連線,在隧道要經過nat設施的情況下這種機制不可用。採用tb方法,可以使ipv6 的isp可以很容易對使用者執行接入控制,按照策略對網路資源進行分配。

tb轉換機制包括tunnel server(ts)和tunnel broker(tb)。server和boker位於不同的計算機上,對於隧道的控制通常是web形式的。

(4) 6 over 4

6 over 4 是一種點到點、點到路由和路由到點的自動隧道技術,它被用作通過ipv4內部網的ipv6節點之間的單點或多點連線。這種隧道端點的ipv4位址採用鄰居發現的方法確定。與手工配置隧道不同的是,它不需要任何位址配置;與自動隧道不同的是它不要求使用v4相容的v6位址。但是採用這種機制的前提就是ipv4網路基礎設施支援ipv4多播。這裡的ipv4多播域可以是採用全球唯一的ipv4位址的網路,或是乙個私有的ipv4網路的一部分。這種機制適用於ipv6路由器沒有直接連線的物理鏈路上的孤立的ipv6主機,使得它們能夠將ipv4廣播域作為它們的虛擬鏈路,成為功能完全的ipv6站點。基本原理如下圖示。 

(5) 6 to 4

6to4也是一種將v4轉換成v6的自動構造隧道機制,這種機制要求站點採用特殊的ipv6位址,這種位址是自動從站點的ipv4位址派生出來的。所以每個採用6to4機制的節點至少必須具有乙個全球唯一的ipv4位址,(這種位址分配方法,可以使得其它域的邊界路由器自動地區分隧道接收端點是否在本域內)。由於這種機制下隧道端點的ipv4位址可以從ipv6位址中提取,所以隧道的建立是自動的。6to4不會在ipv4的路由表中引入新的條目,在ipv6的路由表中只增加一條表項。採用6to4機制的ipv6 isp只需要做很少的管理工作,這種機制很適用於執行ipv6的站點之間的通訊。6to4要求隧道中至少有兩台路由器支援雙棧和6to4,主機要求至少支援ipv6協議棧。

這種機制把廣域的ipv4網路作為乙個單播的點到點鏈路層。這種機制適合作為v4/v6共存的初始階段的轉換工具,它可以與防火牆、nat共存,但是nat box必須具有全球唯一的ipv4位址,並且應有6to4機制和完備的路由功能。在windows2003中的原理如下圖。 

四、ipv6/ipv4通訊

(1) dual stack model (雙棧模型 )

在這種模型下,任意節點都是完全雙棧的。這時不存在ipv4與ipv6之間的相互通訊問題,但是這種機制要給每乙個ipv6的站點分配乙個ipv4位址。這種方法不能解決ipv4位址資源不足的問題,而且隨著ipv6站點的增加會很難得到滿足,因此這種方法只能用在早期的變遷過程。

(2) limited dual stack model (限制型雙棧模型)

在這種模型下,伺服器和路由器仍然是雙棧的,而非伺服器的主機只需要支援ipv6。這種機制可以節省大量的ipv4位址,但是在純ipv6和純ipv4節點之間的通訊將會出現問題,為了解決這種問題,必須與其它技術結合使用。

(3) siit ( stateless ip/ icmp translation,無狀態ip/icmp 轉換 )

(4) nat-pt (network address translation - protocol translation,網路位址—協議轉換 )

nat-pt就是在做ipv4/ipv6位址轉換(nat)的同時在ipv4分組和ipv6分組之間進行報頭和語義的翻譯(pt)。適用於純ipv4站點和純ipv6站點之間的通訊。對於一些內嵌位址資訊的高層協議(如ftp),nat-pt需要和應用層的閘道器協作來完成翻譯。在nat-pt的基礎上利用埠資訊,就可以實現napt-pt,這點同目前ipv4下的nat-pt沒有本質區別。

該機制適用於過渡的初始階段,使得基於雙協議棧的主機,能夠執行ipv4應用程式與ipv6應用互相通訊。這種技術允許不支援ipv6的應用程式透明地訪問純ipv6站點。該機制要求主機必須是雙棧的,同時要在協議棧中插入三個特殊的擴充套件模組:網域名稱解析器、位址對映器和翻譯器,相當於在主機的協議棧中使用了nat-pt。

(5) bia ( bump-in-the-api, internet draft )

這種技術同bis類似,只是在api層而不是在協議棧的層次上進行分組的翻譯,所以它的實現比bis要簡單一些,因為不需要對ip包頭進行翻譯。bis與bia的主要區別是:bis用在沒有ipv6協議棧的系統上,bia用在有ipv6協議棧的系統上。

當雙棧主機上的ipv4應用與其它ipv6主機通訊時,api翻譯器檢測到從ipv4應用發出的基於socket api的函式,就呼叫ipv6 socket api函式與ipv6主機通訊。

除了上述7種通訊方式,ipv6與ipv4之間還可以通過trt、dstm、alg等方式進行通訊。因為篇幅的關係,不再予以介紹。

五、過渡機制

從已有的過渡機制可以看出,目前所有的方案都是針對某一種問題而提出的。這些過渡機制都不是普遍適用的,每一種機制都適用於某種或幾種特定的網路情況,而且常常需要和其它的技術組合使用。在實際應用時需要綜合考慮各種實際情況來制定合適的過渡策略。對於某一類互連問題,設計者們可以找出新的方式,並隨著網路技術和發展不斷的改進和更新這種方式。

為選擇乙個合適的機制,首先要明確應用的型別、範圍和系統的型別,然後選擇合適的轉換機制進行設計和實施。

IPv4與IPv6之間的區別

ipv4和ipv6是是目前使用的兩種internet協議版本,ipv4和ipv6協議之間存在各種差異,包括它們的功能,但關鍵的一點是它生成的位址 位址空間 的數量的區別。下面我們就來具體的給大家介紹ipv4和ipv6協議之間的區別。1 位址長度 ipv4協議具有32位 4位元組 位址長度 ipv6協...

IPV4和IPV6的區別

internet的主機都有乙個唯一的ip位址,ip位址用乙個32位二進位制的數表示乙個主機號碼,但32位位址資源有限,已經不能滿足使用者的需求了,因此internet研究組織發布新的主機標識方法,即ipv6。在rfc1884中 rfc是request for comments document的縮寫...

IPv4和IPv6的區別

ipv4,是網際網路協議 internet protocol,ip 的第四版,也是第乙個被廣泛使用,構成現今網際網路技術的基石的協議。ipv6是下一版本的網際網路協議,也可以說是下一代網際網路的協議,它的提出最初是因為隨著網際網路的迅速發展,ipv4定義的有限位址空間將被耗盡,位址空間的不足必將妨礙...