網際網路通訊協定第 6 版 (IPv6) 概觀
網際網路通訊協定第 6 版 (IPv6) 是網際網路網路層級的標準通訊協定套件。 IPv6 旨在解決網際網路通訊協定現行版本 (稱為 IPv4) 在位址耗竭、安全性、自動設定和擴充性等方面的許多相關問題。 IPv6 展開網際網路的功能,以啟用新種類的應用程式,包括點對點與行動應用程式。 以下是目前 IPv4 通訊協定的主要問題:
快速消耗位址空間。
這導致使用網路位址轉譯器 (NAT) 將多個私人位址對應到單一公用 IP 位址。 這項機制引起的主要問題是處理額外負荷以及缺乏端對端連線。
缺少階層式支援。
因為其固有的預先定義類別組織,IPv4 缺少真正的階層式支援。 不可能以真正對應網路拓撲的方式來建立 IP 位址的結構。 此一重大的設計缺陷創造了對大型路由表的需求,以將 IPv4 封包傳遞至網際網路上的任何位置。
複雜的網路組態。
使用 IPv4,必須以靜態方式或使用 DHCP 等組態通訊協定指派位址。 理想的情況下,主機可能不必依賴 DHCP 基礎結構的管理。 相反地,它們可以根據所在的網路區段自行設定。
缺少內建的驗證和機密性。
IPv4 不需要任何提供交換資料驗證或加密之機制的支援。 這會隨著 IPv6 變更。 網際網路通訊協定安全性 (IPSec) 是 IPv6 支援需求。
新的通訊協定套件必須滿足下列基本需求:
- 低額外負荷的大規模路由和定址。
- 各種連線情況的自動組態。
- 內建的驗證和機密性。
IPv6 定址
使用 IPv6 時,位址長度為 128 位元。 使用這類大型位址空間的其中一個原因是,將可用的位址細分到路由網域的階層,反映網際網路的拓撲。 另一個原因是,將連線裝置之網路網路介面卡 (或介面) 的位址對應至網路。 IPv6 特有的固有功能,是在其最低層級解析位址,即網路介面層級,且也擁有自動組態功能。
文字表示法
下列是三種使用文字字串表示 IPv6 位址的慣例格式:
冒號十六進位格式:
這是慣用格式
n:n:n:n:n:n:n:n
。 每個n
代表位址的八個 16 位元元素之一的十六進位值。 例如:3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562
。壓縮格式:
因為位址長度的原因,位址通常會包含由零組成的長字串。 若要簡化撰寫這些位址,請使用壓縮格式,其中單一連續序列的 0 區塊會以雙冒號符號 (
::
) 表示。 這個符號在位址中只會出現一次。 例如,多點傳送位址FFED:0:0:0:0:BA98:3210:4562
的壓縮格式是FFED::BA98:3210:4562
。 單點傳播位址3FFE:FFFF:0:0:8:800:20C4:0
的壓縮格式是3FFE:FFFF::8:800:20C4:0
。 回送位址0:0:0:0:0:0:0:1
的壓縮格式是::1
。 未指定的位址0:0:0:0:0:0:0:0
的壓縮格式是::
。混合格式:
這種格式結合了 IPv4 和 IPv6 位址。 在此情況下,位址格式是
n:n:n:n:n:n:d.d.d.d
,其中,每個 n 代表六個 IPv6 高序位 16 位元位址元素的十六進位值,每個 d 代表 IPv4 位址的十進位值。
位址型別
位址中的前置位元會定義特定的 IPv6 位址類型。 包含這些前置位元的變數長度欄位稱為格式首碼 (FP)。
IPv6 單點傳播位址分為兩個部分。 第一個部分包含位址前置詞,第二個部分包含介面識別碼。 表示 IPv6 位址/前置詞組合的簡潔方式如下:ipv6 位址/前置詞長度。
下例是具有 64 位元前置詞的位址。
3FFE:FFFF:0:CD30:0:0:0:0/64
.
本例中的前置詞為 3FFE:FFFF:0:CD30
。 位址也可以壓縮格式寫入,如 3FFE:FFFF:0:CD30::/64
。
IPv6 會定義下列位址類型:
單點傳播位址:
單一介面的識別碼。 傳送到此位址的封包會被傳遞到已識別的介面。 單點傳播位址是高序位八位元值從多點傳送位址中區隔出來的。 多點傳送位址之高序位八位元的十六進位值為 FF。 此八位元的任何其他值會識別單點傳播位址。 以下是不同類型的單點傳播位址:
連結本機位址:
這些位址用在單一連結,具有下列格式:
FE80::*InterfaceID*
。 連結上的節點之間在處理自動位址組態、鄰居探索,或沒有路由器時,會使用連結-本機位址。 連結-本機位址主要是用在啟動時,以及系統尚未取得較大範圍的位址時。網站本機位址:
這些位址用在單一網站,具有下列格式:
FEC0::*SubnetID*:*InterfaceID*
。 網站-本機位址可用來在網站中定址,不需要全域前置詞。- 全域 IPv6 單點傳播位址:
這些位址可以用在整個網際網路上,且具有下列格式:
*GlobalRoutingPrefix*::*SubnetID*:*InterfaceID*
。多點傳送位址:
一組介面 (通常屬於不同的節點) 的識別碼。 傳送到此位址的封包會被傳遞到該位址所識別的所有介面。 多點傳送位址類型取代 IPv4 廣播位址。
任一傳播位址:
一組介面 (通常屬於不同的節點) 的識別碼。 傳送到此位址的封包只會被傳遞該位址所識別的一個介面。 這是路由計量所識別的最近介面。 任一傳播位址皆是取自單點傳播位址空間,而且語法上沒有分別。 位址介面會將單點傳播與任一傳播位址之間的差異當成其組態的函式執行。
一般情況下,節點一律會有連結-本機位址。 它可能有網站-本機位址和一或多個全域位址。
IPv6 路由
IPv6 的優點是彈性的路由機制。 基於 IPv4 網路識別碼過去和現在的配置方式,大型的路由表需要由位於網際網路骨幹的路由器維護。 這些路由器必須知道所有路由,才能轉送在網際網路上可能導向至任何節點的封包。 因為其能彙總位址,IPv6 可讓您彈性定址,並大幅降低路由表大小。 在這個新的定址架構中,中繼路由器必須只持續追蹤其網路的本機部分,才能正確地轉送訊息。
芳鄰搜索
芳鄰探索提供的部分功能包括:
- 路由器探索:這可讓主機識別本機路由器。
- 位址解析:這可讓節點解析連結層位址,以對應下一個躍點位址 (位址解析通訊協定 [ARP] 的取代項目)。
- 位址自動設定:這可讓主機自動設定網站-本機和全域位址。
芳鄰探索使用 IPv6 的網際網路控制訊息通訊協定 (ICMPv6) 訊息,包括:
- 路由器通告:由路由器依虛擬週期傳送,或回應路由器請求。 IPv6 路由器使用路由器通告公告其可用性、位址前置詞和其他參數。
- 路由器請求:由主機傳送,以要求連結上的路由器立即傳送路由器通告。
- 芳鄰請求:由節點傳送,以處理位址解析、重複位址偵測,或驗證是否仍可連線到芳鄰。
- 芳鄰通告:由節點傳送以回應芳鄰請求,或通知芳鄰連結層位址有所變更。
- 重新導向:由路由器傳送,以指出傳送節點的特定目的地較佳的下一個躍點位址。
IPv6 自動設定
IPv6 的一個重要目標是支援節點隨插即用。 亦即,節點應該可能插入 IPv6 網路,並且可以自動設定,不需要人為介入。
自動設定型別
IPv6 支援下列類型的自動組態:
具狀態的自動設定:
這種組態需要某種程度的人為介入,因為它需要 IPv6 的動態主機設定通訊協定 (DHCPv6) 伺服器來安裝與管理節點。 DHCPv6 伺服器會保留一份要提供組態資訊的節點。 它也會維護狀態資訊,讓伺服器知道每個位址使用多長時間,以及何時可供重新指派。
無狀態的自動設定:
這種組態適合小型組織和個人。 在此情況下,每部主機都會從接收到的路由器通告內容中判斷其位址。 使用 IEEE EUI-64 標準定義位址的網路識別碼部分,就可合理假設主機位址在連結上的唯一性。
無論以何方式判斷位址,節點都必須確認其潛在位址對本機連結而言是唯一的。 這是透過將芳鄰請求訊息傳送給潛在位址所完成。 如果節點收到任何回應,它會知道位址已在使用中,必須判斷另一個位址。
IPv6 行動性
行動裝置的激增造成了新的需求:裝置必須能夠在 IPv6 網際網路上任意變更位置,但卻仍然能維持現有的連線。 為提供這項功能,要指派給行動節點一個隨時可以連線的主目錄位址。 當行動節點在主目錄時,它會連接到主目錄連結,並使用主目錄位址。 當行動節點離開主目錄時,主目錄代理程式 (通常是路由器) 會在行動節點和與其通訊的節點之間轉送訊息。
停用或啟用 IPv6
若要使用 IPv6 通訊協定,請確定您執行的作業系統版本支援 IPv6,並確認已正確設定作業系統和網路類別。
設定步驟
下表列出各種組態
啟用 OS IPv6? | 啟用程式碼 IPv6? | 描述 |
---|---|---|
❌ 否 | ❌ 否 | 可以剖析 IPv6 位址。 |
❌ 否 | ✔️ 是 | 可以剖析 IPv6 位址。 |
✔️ 是 | ❌ 否 | 使用未標記為已淘汰的名稱解析方法,可以剖析 IPv6 位址並解析 IPv6 位址。 |
✔️ 是 | ✔️ 是 | 使用所有的方法,包括標記為已淘汰的在內,可以剖析和解析 IPv6 位址。 |
IPv6 預設為啟用。 若要在環境變數中設定此參數,請使用 DOTNET_SYSTEM_NET_DISABLEIPV6
環境變數。 如需詳細資訊,請參閱 .NET 環境變數:DOTNET_SYSTEM_NET_DISABLEIPV6。