1.6.2 雙協定棧技術
雙協定棧(DualStack)是目前在營運商進行 IPv6改造中的一種主流技術,指在一台裝置上同時啟用 IPv4協定棧和 IPv6協定棧。這樣的話,這台裝置既能和IPv4網絡通信,又能和 IPv6網絡通信。如果這台裝置是一個路由器,那麼這台路由器的不同接口上,分别配置了 IPv4位址和 IPv6位址,并很可能分别連接配接了 IPv4網絡和 IPv6網絡。如果這台裝置是一個計算機,那麼它将同時擁有 IPv4位址和 IPv6位址,并具備同時處理這兩個協定位址的功能。采用雙協定棧是使 IPv6 節點保持與純 IPv4節點相容最直接的方式,針對的對象是通信端節點(包括主機、路由器)。這種方式對IPv4和 IPv6提供了完全的相容,但是對于 IP位址耗盡的問題幫助有限, 是一種 IPv4到 IPv6的過渡技術。由于需要雙路由基礎設施,這種方式反而增加了網絡的複雜度。
在網絡運作雙協定棧的時候,作為網絡中的主機或路由器裝置在接收資料包和發送資料包的工作方式如下。
1. 接收資料包
雙棧節點與其他類型的多棧節點的工作方式相同。鍊路層接收到資料段,拆開并檢查標頭。如果IPv4/IPv6標頭中的第一個字段,即IP資料包的版本号是 4,該資料包就由 IPv4的協定棧來處理;如果版本号是6,則由 IPv6的協定棧處理;如果建立了自動隧道機制,則采用相應的技術将資料包重新整合為 IPv6資料包,由IPv6的協定棧來處理。
2. 發送資料包
由于雙棧主機同時支援IPv4和 IPv6兩種協定,是以當其在網絡中通信時需要根據情況确定使用其中一種協定棧進行通信,這就需要制定雙協定棧的工作方式。 在網絡通信過程中,目的位址作為路由選擇的主要參數,因而根據應用程式所使用 的目的位址的協定類型對雙協定棧的工作方式做出以下約定。
(1) 若應用程式使用的目的位址為 IPv4位址,則使用 IPv4協定。
(2) 若應用程式使用的目的位址為IPv6位址,且為本地線上網絡,則使用 IPv6協定。
(3) 若應用程式使用的目的位址為 IPv4相容的IPv6位址,且非本地線上網絡,則使用 IPv4協定,此時的 IPv6将封裝在 IPv4中。
(4) 若應用程式使用的目的位址是非 IPv4相容的IPv6位址,且非本地線上網絡,則使用IPv6協定,類似約定(2)。
(5) 若應用程式使用域名作為目标位址,則先從域名伺服器得到相應的 IPv4/IPv6位址,然後根據位址情況進行相應的處理。
以上(1)~(5)是雙協定棧的工作方式,随着 IPv6網絡規模的不斷擴大,這些工作方式必将做相應的修改和補充,這将取決于過渡的程序與 IPv6 網絡的不斷演進。