求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

6to4檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋

轉換策略計劃者考慮的關鍵問題是當使用者對ISP所提供的基本IPv6傳輸協議還沒有合理的選擇時,如何激活IPv6路由域間的連通性。當缺少本地IPv6服務時, 提供連通性的解決辦法之一是將IPv6的分組封裝到IPv4的分組中(6over4隧道技術)。6to4是一種自動構造隧道的方式,它的好處在於只需要一個全球惟一的IPv6地址便可使得整個站點獲得IPv6的連接。在IPv4 NAT 協議中加入對IPv6和6to4 的支持,是一個很吸引人的過渡方案。

工作原理

6to4採用特殊的IPv6地址使在IPv4海洋中的IPv6孤島能相互連接。此時IPv6的出口路由器與其他的IPv6域建立隧道連接。IPv4隧道的末端可從IPv6域的地址前綴中自動提取,因為站點的IPv4地址包含在IPv6地址前綴中。6to4另一個讓人感興趣的特點是它可以自動從IPv6 地址的前綴中提取一個IPv4地址。通過這個機制,站點能夠配置IPv6而不需要向註冊機構申請IPv6地址空間。這同時也簡化了ISP提供商的管理工作。可以設想,在一個擁有很多部門的企業里,各部門內部使用私有地址和NAT技術,利用6to4策略可以建立一個虛擬IPv6外部網。它同樣可以重新建立起點到點的IP連接,且允許企業在不同地方的服務器使用IPsec協議,從而進一步提高了網絡的安全性。此外,6to4機制還允許在採用6to4的IPv6站點和純IPv6站點之間通過中繼路由器 ( 6to4 Relay Router )進行通信,這時不要求通信的兩個端點之間具有可用的IPv4連接,中繼路由器建議運行BGP4+,適應範圍更廣。

使用方法

6to4機制的簡單運用是在沒有本地IPv6的 ISP 服務時, 幾個IPv4站點需使用IPv6進行交互, 因而每一站點都需要確定一個路由來運行雙層協議棧(即IPv4和IPv6兼容)和6to4隧道,以確保這個路由有全球範圍的路由地址(非專用IPv4地址空間)。

在運行過程中,當6to4站點內的IPv6主機試圖通過域名訪問其他6to4站點內的IPv6主機時,均可通過IPv4或IPv6協議實現。訪問方主機選擇帶有6to4前綴的IPv6地址來發送一個信息包至距離最近的路由器,直至到達站點旁的路由器(假定該站點也提供6to4服務)。

當站點同時擁有6to4連通性和本地IPv6連通性時,會有多種6to4的使用方法。最簡單的一種就是當某個站點試圖訪問另一個僅有6to4連通性的站點時,上文所提到的源地址的選擇算法可確保得到站點的6to4 IPv6地址。在此並不需要選擇目的地址,因為只有一個選擇:6to4。

同樣,當僅擁有6to4連通性的站點試圖訪問同時擁有6to4和本地IPv6連通性的站點時,在多個目的地址中主機的選擇規則決定了6to4地址的選擇,因為只有一個本地6to4 IPv6源地址是有效的。

另一特殊情況是當某個擁有6to4和本地IPv6連通性的站點試圖訪問另一個僅有本地IPv6連通性的站點時,制訂一個源地址的選擇算法可確保得到站點的本地IPv6地址。在此並不需要選擇目的地址,因為只需選擇本地IPv6地址即可。

接收規則

當請求方站點的6to4路由器發送信息包到另一站點(不在一個子網或一個用戶網絡中),並且下一個目的地址的前綴包含特殊的6to4 TLA值2002::/16,需使用41類型的IPv4協議將IPv6信息包封裝於IPv4信息包內,如轉換機制RFC所定義的那樣。IPv4源地址包含於請求方站點的6to4前綴內(即6to4路由器的網絡外部接口的IPv4地址,它包含於IPv6信息包的6to4前綴內),同時接收方IPv4地址成為下一個IPv6發送包目的地址的6to4前綴。

當接收站點的6to4路由器收到IPv4信息包,且識別出是41類型的IPv4協議時,即進行IPv4安全檢測,去除文件頭,用IPv6源信息包進行本地傳送。

以上的發送規則是對IPv6發送規則所作的惟一修正,因為基本的IPv6轉換機制的接收規則早已確定。隨着DNS內加載適當個數的6to4前綴,任何站點均可脫離人工隧道配置而相互協作。

返迴路徑和源地址的選擇

可以雙向傳送的信息包才是有效的。因此當與具有6to4前綴的站點交互時必需在發送的信息包內使用一個6to4前綴作為源地址; 換言之,源地址必須帶有6to4前綴。(這個簡單例子說明,雙方站點僅有IPv4連通性不再是通信障礙,它們可以通過6to4前綴來進行通信)。DNS在搜尋主機名後僅可返回一個IPv6地址,且帶有6to4前綴,因此上述源地址的選擇不再是個問題。

轉播

最為複雜的6to4假設情況是僅有6to4連通性的站點和僅有IPV6連通性的站點進行通信。這可通過同時支持6to4和IPv6連通性的6to4轉播來實現。事實上,6to4轉播就是一個IPv4/IPv6雙層棧路由器。

6to4轉播加載路線於IPv6底層組織所附帶的2002::/16結構。IPv6網絡必須過濾、丟棄任何超過16位的6to4前綴。此外,6to4轉播必須加載本地IPv6路由策略允許的6to4連接,其中包括6to4路由器在只支持6to4連接的站點中選擇一個BGP4+點對點進程,或是通過一個默認路由到6to4轉播。

因此,當一個只支持6to4轉播的站點發送信息包給另一個只支持IPv6的站點時,它會發送一個封裝的IPv6信息包給6to4轉播,而6to4轉播會刪去 IPv4頭(解封裝)並把信息包傳給那個只支持IPv6的站點。

理論上,上述過程可能需要由多個6to4轉播來實現,每一個轉播分離一個IPv6的路由域。在實際應用中,所有的IPv6 ISP都被連在一起,即使是手動配置的IPv6 ISP也是如此。