IPv4 對應的 IPv6 位址是一個 128 位元的值,遵循 RFC 4291 第 2.5.5.2 節:80 個零位元、16 個位元為 1(以 FFFF 表示),接著是原本的 32 個 IPv4 位元。標記法 ::ffff:192.0.2.1、::ffff:c000:201 以及 0000:0000:0000:0000:0000:ffff:c000:0201 皆描述 IPv4 位址 192.0.2.1 同一個對應值,而 IPv4 轉 IPv6 轉換器可從一筆嚴格的點分十進位輸入產生各種拼法。當搜尋如何在 Xbox 上將 IPv4 改為 IPv6 時,若出現像這樣的文章,潛在的工作通常不外乎兩件事:啟用家用路由器上的 IPv6,讓主機能使用雙協定堆疊連線;或是產生應用程式、記錄檔、ACL 或測試 fixture 所預期的 IPv4 對應標記法,以便在 IPv6 大小的位址結構中儲存 IPv4 對等點。轉換器只處理第二項工作。它完全在瀏覽器中執行,不進行任何網路查詢、不儲存任何資料,也絕不會指派全域可路由的 IPv6 前綴。

how to change ipv4 to ipv6 on xbox
在 Xbox 上將 IPv4 改為 IPv6:對應位址指南

「在 Xbox 上將 IPv4 改為 IPv6」實際上代表什麼

Xbox 主機以雙協定堆疊用戶端形式運作。它們接受來自區域網路的 IPv4 與 IPv6,並優先採用服務所公告的路徑,但並未提供任何主機層級的開關來將位址從一種通訊協定轉換成另一種。廣泛流傳的 Xbox 變更通訊協定指南,其實是在說明路由器設定:登入 Netgear、ASUS、TP-Link 或 Linksys 的管理頁面,開啟 IPv6 區段,並以自動設定或原生選項啟用它。一旦路由器公告 IPv6,主機便會透過 SLAAC 或 DHCPv6 自動取得。

對應的處理發生在堆疊較低層。當 Xbox 連線到雙協定堆疊遊戲伺服器、內容 CDN 或 Xbox Live 邊緣節點時,您的路由器與主機所協商的目的地位址,即使底層傳輸仍是 IPv4,仍可能以 128 位元 IPv6 socket 位址的形式抵達應用程式或中介層。這正是 IPv4 對應的 IPv6 位址派上用場的地方。負責檢查封包擷取、編寫記錄過濾器、填入黑名單,或建立測試 fixture 的維運人員,需要一種方式將原始 IPv4 寫入 IPv6 大小的結構中,讓管線的其餘部分能與標準化後的形式進行比對。

若您的當務之急是連線,正確的下一步是路由器的 IPv6 設定頁面。若您的當務之急是產生某段程式碼、設定檔或資料庫欄位所預期的對應標記法,則下方的轉換器才是正確的工具。

RFC 4291 IPv4 對應表示法說明

RFC 4291 將 IPv4 對應位址的 128 位元劃分為三個區段。開頭 80 個位元為零;接下來的 16 個位元全為 1,以四個十六進位字元 FFFF 表示;最後 32 個位元則為原始 IPv4 位址的網路位元組順序。固定的前綴正是讓這種形式可被辨識的關鍵:任何以 80 個零位元開頭,後接 FFFF 的 IPv6 位址,根據定義就是 IPv4 對應值,並非原生 IPv6 指派。

由此衍生兩項實際影響。第一,IPv4 對應位址不可能成為全域唯一的 IPv6 目的地;IPv4 位元位於低序半部,前綴中並無任何部分會向網際網路其餘部分公告可路由的 IPv6 前綴。第二,解析 IPv6 的程式庫認得這個前綴,因此能將對應值還原為其 IPv4 形式,這就是 Python 的 ipaddress.IPv6Address.ipv4_mapped 屬性,能對任何以文件記載的 ::ffff: 前綴開頭的 IPv6 位址運作的原因。

逐步將 IPv4 轉換為 IPv4 對應的 IPv6

  1. 在瀏覽器中開啟 IPv4 轉 IPv6 轉換器。不涉及上傳、帳號或網路查詢;轉換會在本機執行。
  2. 輸入一筆嚴格的點分十進位 IPv4 位址,不可有前後空白、符號、CIDR 後綴,任何八位元組也不可有前置零。典型值為 192.0.2.1。
  3. 工具會將四個八位元組組合成兩個 16 位元字,在前方加上 80 個零位元,並在零區段與 IPv4 位元之間插入固定的 FFFF 標記,從而建構出 RFC 4291 的 IPv4 對應表示法。
  4. 選擇目標平台所預期的標記法:混合式(::ffff:192.0.2.1)適用於人類可讀的設定與雙協定堆疊記錄;壓縮十六進位(::ffff:c000:201)適用於標準化儲存;完整展開(0000:0000:0000:0000:0000:ffff:c000:0201)適用於差異比對與鑑識傾印中需要對齊之處。
  5. 使用專屬的複製控制項複製所選形式,以免一併夾帶相鄰的空白,然後在目標平台上貼上並標準化,再進行儲存或部署。
  6. 將解析後的值與目標平台所維護的 IP 位址程式庫進行交叉比對,再將轉換後的字串視為原則或正式環境設定中的權威值。

讀懂三種輸出標記法

對於輸入 192.0.2.1,八位元組會變成十六進位的 c0 00 02 01,八位元組配對會組合成 16 位元字 c000 與 0201,而完整的 128 位元值會呈現為三種等效的文字形式。

形式192.0.2.1 的值典型用途
混合式::ffff:192.0.2.1雙協定堆疊記錄、封包擷取、允許清單審查
壓縮十六進位::ffff:c000:201標準化資料庫欄位、API 酬載
完整展開0000:0000:0000:0000:0000:ffff:c000:0201易於比對的文字、固定寬度的 fixture

混合式將最後 32 位元保留為熟悉的點分十進位,讓維運人員一眼就能看出原始 IPv4。壓縮式將每對 IPv4 八位元組合併成一個 16 位元字,並依標準 IPv6 文字規則省略這些字內部的前導零。展開式則將全部八個 16 位元群組填補為四位十六進位數字,使逐行比較與測試 fixture 變得可預測。全程使用小寫十六進位,讓輸出能乾淨地複製到 shell 變數與設定檔中,無需加上引號。

對應位址在 Xbox 相關工作中的出現場景

有幾種實際情況會在面向主機的管線中產生 IPv4 對應的 IPv6 位址。繫結至 IPv6 監聽端並設定 IPV6_V6ONLY=0 的 Linux 遊戲伺服器,會同時接受兩種通訊協定家族,並將 IPv4 對等點以 ::ffff: 開頭的 IPv6 socket 位址形式呈現給應用程式。將對等位址儲存於 128 位元欄位的記錄函式庫、存取控制清單、反向代理標頭及配對遙測,即使線上傳輸全程都是 IPv4,仍會看到這種對應形式。若您維護的是預期 32 位元 IPv4 值的黑名單、速率限制器或私有網路規則,在比對之前將對應位址還原為其 IPv4 形式進行標準化,可避免規則悄悄漏掉項目。

同樣的注意事項也適用於以雙協定堆疊模式透過家用路由器連線的主機:IPv4 路徑與 IPv6 路徑會抵達同一個目的地服務;若監聽端設定不當,僅依據文字前綴進行比對,便可能將對應形式視為外部流量。請務必使用有維護的程式庫進行解析,並在相等性檢查前先做標準化。當值是要寫入設定檔、測試 fixture 或原則時,請先將轉換後的字串貼到目標平台,確認它能如預期解析,而不是僅憑目視判斷。

對應位址不等於 NAT64 或 6to4

有數種 IPv6 移轉機制都致力於讓 IPv4 與 IPv6 主機能夠互通,這些機制有時會與 RFC 4291 的對應形式混淆。它們有著不同的前綴,操作意義也截然不同,而此轉換器刻意只輸出對應形式,如此單一按鈕便不會在不知情的情況下選定某種部署機制。

機制前綴形狀用途
IPv4 對應(RFC 4291)80 個零位元,接著 ::ffff:在雙協定堆疊 API 中,以 128 位元 IPv6 結構表示 IPv4 節點
IPv4 相容(已棄用)96 個零位元,接著 IPv4 位元RFC 4291 已明確棄用的舊式形式
6to42002::/16,內嵌 IPv4透過 IPv4 骨幹網路以通道傳輸 IPv6,使用公開 IPv4
NAT6464:ff9b::/96(知名前綴)或網路專屬在閘道器將 IPv6 用戶端流量轉譯為 IPv4 目的地

在這些機制之間選擇,屬於網路架構決策,應由熟悉本地堆疊與移轉計畫的維運人員負責。IPv4 對應形式是一種表示法,而非移轉機制。它不會配置原生 IPv6 空間、設定路由、轉譯封包,也不會讓僅支援 IPv4 的服務可透過公開 IPv6 網際網路存取。若要進行子網規劃、原生 IPv6 前綴指派或轉譯服務設定,請使用專為該獨立任務設計的標準與工具;若您需要計算原生 IPv6 區塊的前綴長度、主機範圍或位址總數,IPv6 子網計算機涵蓋了該工作流程,而逐步指南如何計算 IPv6 子網遮罩則詳細說明了位元運算過程。

輸入規則與常見拒絕情況

此轉換器採用與 Python 現代 ipaddress 程式庫相同的嚴格規則。有效的輸入為剛好四個十進位八位元組,每個介於 0 到 255 之間,不可有前後空白、符號、簡寫、十六進位標記法或 CIDR 後綴。192.00.2.1 會被拒絕,因為第二個八位元組帶有前置零;在舊式解析器中,該欄位會被讀為八進位,若接受它就會產生不同的整數與誤導性的對應形式。不解析主機名稱,因為解析會引入網路相依性、可能隨時間變動,並會將一個具確定性的本機轉換器變成查詢工具。

貼上值時,請貼上您打算表示的數值位址;若原則區分私有、回環、多點傳送、文件或全域可達範圍,請另外分類其範圍。轉換器不會指派範圍;它只格式化位元。八個外部 fixture 涵蓋零、一、私有、回環、文件及最大 IPv4 值,測試會斷言混合式與壓縮式輸出,以及完整的展開形式與無效輸入邊界,因此您可以信賴螢幕上所見的相同措辭。

在正式環境的程式碼中,請與目標平台的 IP 位址程式庫進行交叉比對,並記錄該平台是否根本預期使用對應位址。有些平台會直接拒絕混合式,有些會將其標準化為不同的等效拼法,少數則會保留您所複製的確切字串。當相等性很重要時,請比較解析後的值或標準化後的形式,而不是原始文字。轉換器的存在,是為了從這項比較中排除算術錯誤與標記法漂移;最終的接受決定仍屬於消費該值的平台。

若您在權衡選項,如何找出位址的 IPv6 前綴對此有詳細說明。