IPv6過渡技術簡介之Teredo
Teredo 是一項地址分配和自動隧道技術,是IPv6過渡技術中的一種,它能夠跨越 IPv4 Internet 實現 IPv6 單播連接。在它之前已經有了一種能夠通過 IPv4 Internet 實現 IPv6 單播連接的自動隧道技術 —— 6to4 。 6to4 路由器使用一個公用的 IPv4 地址來構建 6to4 前綴,起到 IPv6 通告和促進路由器的作用。 6to4 路由器壓縮和解壓經過站點節點的 IPv6 數據流。
6to4 技術依靠公用 IPv4 地址的配置以及邊界設備中采用的 6to4 路由功能。在許多小型辦公室/家庭辦公室(SOHO)配置中, IPv4 Internet 絡地址轉換 (NAT) 被廣泛使用。如要了解更多關于網絡地址轉換工作的情況,請參閱文中的“網絡地址轉換(NAT)概述”。在大多數 NAT 配置中,提供 NAT 功能的設備并不具備成為 6to4 路由器的功能。即使 NAT 設備普遍支持 6to4 ,還是有一些配置包含多層NAT。在這些多層配置中,支持 6to4 的NAT無法成為路由器,因為它不具備一個公共的 IPv4 地址。
Teredo 通過在站點內的主機之間實現 IPv6 數據包隧道來解決現今 NAT 設備缺乏 6to4 功能以及多層 NAT 配置問題。相反, 6to4 使用邊緣設備之間的隧道。主機之間隧道給 NAT 帶來了另外一個問題:IPv4 壓縮的 IPv6 數據包發送時協議域的 IPv4 標頭設定為41。大多數的 NAT只解析 TCP 或者 UDP 數據流,而且需要通過手動設置來實現對其它協議的解析或者安裝負責處理解析的 NAT 編輯器。因為協議41的解析并不是 NAT 的通用功能,所以 IPv4 壓縮的 IPv6 通信傳輸不能通過一般的 NAT。為了使 IPv6 數據傳輸能夠通過單個或多層 NAT, IPv6 數據包必須壓縮成 IPv4 UDP 格式的數據,包含 IPv4 和 UDP 標頭各一個。UDP 數據普遍能夠被 NAT 解析而且能夠通過多層 NAT。
總之, Teredo 是一項 IPv6過渡技術,能夠實現在處于單個或者多個 IPv4 NAT 后的主機之間的 IPv6 自動隧道。來自 Teredo 主機的 IPv6 數據流能夠通過 NAT,因為它是以 IPv4 UDP 數據格式發送的。如果 NAT 支持 UDP 端口解析,那么它就支持 Teredo 。但是對稱 NAT是一個例外,詳細情況在本文的 “NAT 的種類” 中講解。
Teredo 是作為實現IPv6過渡技術最后一種轉換技術而設計的,認識到這一點很重要。如果原來的 IPv6 、 6to4 或者ISATAP連接可用,那么主機就不必作為 Teredo 的客戶端。現在,越來越多的 IPv4 NAT 經過了升級以便能夠支持 6to4 ,而且 IPv6 連接變得越來越普遍, Teredo 將會使用得越來越少,直到最后完全被放棄。