分類
技術 發展
瀏覽次數
43
Microsoft 近期開始為 Windows 11 推出 Windows Customer-side Translator(WinCLAT),讓 IPv4 應用程式可以在 IPv6-only 網路中透過 464XLAT 與 IPv4 網路通訊。
WinCLAT 要進行 IPv4 與 IPv6 的轉換,首先必須知道網路所使用的 NAT64 前綴(NAT64 Prefix)。WinCLAT 可以透過 IPv6 Router Advertisement(RA)或 DNS 來取得這項資訊,而 DHCPv4 Option 108 則扮演不同的角色。
464XLAT 是一種讓 IPv4 應用程式能在 IPv6-only 網路上運作的技術。
其中,CLAT(Customer-side Translator)會將應用程式產生的 IPv4 封包轉換成 IPv6 封包,並透過 IPv6-only 網路送往 PLAT(Provider-side Translator)。
在轉換過程中,CLAT 會將目的地 IPv4 位址嵌入 NAT64 IPv6 前綴所形成的 IPv6 位址中。PLAT 收到封包後,再取出其中的 IPv4 位址,將 IPv6 封包轉換回 IPv4,最後送往目的地 IPv4 位址。
NAT64 的 Well-Known Prefix(WKP)為 64:ff9b::/96,由 RFC 6052 所定義。
64:ff9b::/96
IPv4 位址可以嵌入這個前綴的最後 32 位元,形成對應的 IPv6 位址。
例如,對僅提供 IPv4 的網站進行 DNS 查詢時,使用一般 DNS 伺服器只會得到 A 紀錄;如果改用支援 DNS64 的 DNS 伺服器,則還會得到 DNS64 合成的 AAAA 紀錄。這個 AAAA 紀錄使用 NAT64 前綴,而最後 32 位元則包含原始 IPv4 位址的十六進位表示。
例如 ace9:3910 就代表 IPv4 位址 172.233.153.111。
ace9:3910
172.233.153.111
不過,網路使用的 NAT64 前綴不一定是 64:ff9b::/96,也可能是網路自行配置的 Network-Specific Prefix(NSP)。因此,WinCLAT 必須先探索網路所使用的 NAT64 前綴,才能正確進行流量轉換。
WinCLAT 有兩種方式可以取得 NAT64 前綴:
ipv4only.arpa
透過 RA 進行 NAT64 前綴探索是較優先採用的方法。
IPv6 路由器可以透過 Router Advertisement,在網路連線上公告 NAT64 前綴。啟用 WinCLAT 的 Windows 11 用戶端收到這項資訊後,就可以使用公告的 NAT64 前綴,建立 IPv4 流量所需要的 IPv6 目的地位址。
如果 RA 與 DNS 前綴探索都可使用,Windows 會以 DNS 作為備援方式。
WinCLAT 也可以透過 DNS 探索 NAT64 前綴。
在 IPv6-only 網路中,WinCLAT 會查詢 ipv4only.arpa 的 AAAA 紀錄。這個網域本身具有兩筆 A 紀錄:
192.0.0.170
192.0.0.171
但沒有原生的 AAAA 紀錄。
當 DNS 伺服器支援 DNS64 時,DNS64 會使用網路所配置的 NAT64 前綴,將上述 IPv4 位址合成 AAAA 紀錄。WinCLAT 再從這些合成的 AAAA 紀錄中取得 NAT64 前綴,並將其用於 IPv4 流量轉換。
DHCPv4 Option 108 稱為 IPv6-Only Preferred,由 RFC 8925 定義。
Option 108 的用途,是讓 DHCPv4 伺服器告知用戶端:目前網路環境可以不需要原生 IPv4 位址,改以 IPv6 連線為主。
支援這項功能的用戶端,會在 DHCPDISCOVER 或 DHCPREQUEST 訊息中要求 Option 108。如果 DHCP 伺服器回覆的 DHCPOFFER 包含有效的 Option 108,用戶端通常會在指定的等待時間內停止 DHCPv4 設定,改為使用 IPv6 連線。
在這段期間,IPv4 應用程式則可以透過 464XLAT,在 IPv6-only 網路上取得 IPv4 連線能力。
需要注意的是,DHCPv4 Option 108 並不會提供 NAT64 前綴。WinCLAT 仍然必須透過 Router Advertisement 或 DNS 來探索 NAT64 前綴。
Windows DHCP Server 原生並不支援 DHCP Option 108。不過,管理員可以透過建立 Custom Predefined Option 的方式,讓 Windows DHCP Server 提供 DHCP Option 108。
WinCLAT 讓 Windows 11 上的 IPv4 應用程式可以在 IPv6-only 網路中,透過 464XLAT 與 IPv4 網路進行通訊。
要完成這項功能,WinCLAT 必須先取得網路使用的 NAT64 前綴。前綴可以透過 IPv6 Router Advertisement 中的 PREF64 選項取得,也可以透過 DNS 查詢 ipv4only.arpa,從 DNS64 合成的 AAAA 紀錄中探索。
而 DHCPv4 Option 108 則是另一項獨立的機制,主要用途是告知支援的用戶端,可以不需 IPv4 的設定,改以 IPv6 連線為主。它本身並不負責提供 NAT64 前綴。
本文為作者個人想法,不代表TWNIC之立場,若對此內容有興趣,請參閱原文:https://directaccess.richardhicks.com/2026/09/28/how-windows-clat-winclat-discovers-the-nat64-prefix/
識破冒名詐騙:以「可驗證」築起企業資安第一道防線
2026/10/17 ~ 2026/10/22
2026/11/14 ~ 2026/11/20
2027/02/28 ~ 2027/03/04
2026/10/01
2026/09/30
2026/09/29