網路層:轉送與 IP

IPv6 轉換機制(IPv6 transition mechanisms)

IPv6 轉換機制是一些搭橋的技巧,讓舊的 IPv4 網際網路與新的 IPv6 網際網路在世界緩慢切換的過程中得以共存。它們要解決的問題殘酷地簡單:你無法按一個開關就在一夜之間把整個網際網路轉換掉,而一台純 IPv6 裝置也無法直接和一台純 IPv4 裝置對話。所以我們需要辦法讓兩者並存、並在那段(非常長的)重疊期間彼此連得到。

主要有三大類。雙協定堆疊(dual-stack)最乾淨:一台主機或路由器同時跑 IPv4 與 IPv6,依對方支援哪一種來挑選——但它需要裝置同時擁有一個 IPv4 與一個 IPv6 位址,所以一旦 IPv4 位址真的用光,它就幫不上忙。隧道(tunnelling)把一種協定裝在另一種裡面:例如把 IPv6 封包包成 IPv4 封包的酬載,以穿越一段純 IPv4 的網路(如 6in4、6to4 等方案),就像把一個公制包裹裝進一個英制尺寸的木箱裡運送。轉譯(translation)則真的在兩種協定之間改寫:NAT64(搭配 DNS64)讓一個純 IPv6 的用戶端能連到純 IPv4 的伺服器,做法是把位址轉譯,很像 NAT 改寫 IPv4 位址那樣。

每種做法的取捨不同:雙協定堆疊最簡單,但設定加倍、而且仍消耗 IPv4 位址;隧道能穿越老舊網路,卻增加開銷、還可能掩蓋 MTU 問題;轉譯能連到最頑固的純 IPv4 服務,卻會破壞那些把原始 IP 位址嵌進資料裡的協定。誠實的結論是:沒有單一乾淨的解法——轉換是混亂且持續進行的,這也是全面部署 IPv6 花了這麼多年的一大原因。

一支現代手機使用雙協定堆疊:它同時擁有一個 IPv6 位址與一個 IPv4 位址,在網站支援時偏好 IPv6,不支援時悄悄退回 IPv4。在內部純 IPv6 的電信業者上,NAT64 進行轉譯,讓手機仍能連到純 IPv4 的網站。

雙協定堆疊、隧道、轉譯——讓 IPv4 與 IPv6 共存的三種方式。

這些都不是永久解法;它們是一場長達數十年的遷移所搭的鷹架。尤其是轉譯,會破壞任何在酬載中攜帶字面 IP 位址的協定(某些 VoIP 與 FTP 模式)。

又称
dual-stacktunnellingNAT64IPv6 轉換機制IPv6 過渡機制