電腦網路與 Internet 通訊

單元 11 IPv6 與雙協定路徑

學習目標與問題

先讀 03 至 05。你應能解析 128-bit 位址、說明 NDP 及 SLAAC、判斷 IPv6 預設路由來源,並追蹤雙協定的不同路徑。IPv4 代理正常不代表 IPv6 一定同樣被接管。

多播成員管理 MLDv2 與 NDP 用途不同;詳 04A。03A 以 IPv4 來源政策示範,不替代 IPv6 完整來源選擇。

11.1 位址與標頭

IPv6 常以八組 16-bit 十六進位表示;每組可省略前導零,連續零組可用 :: 壓縮一次。RFC 5952 正規化用小寫、壓縮最長連續零組,同長選左側,單一零組不用 ::。2001:db8::1 是文件用範例位址;::1 是 loopback;fe80::/10 是 link-local 範圍,跨介面使用時常需 scope/zone 識別;fc00::/7 是 ULA 範圍。

IPv6 基本標頭固定 40 bytes,含 Next Header 和 Hop Limit,部分資訊放 extension headers。路由器不替轉送的過大 IPv6 封包分片;來源需處理 PMTU、必要時來源分片。因此不能把「沒有中間分片」寫成「IPv6 從不分片」。ICMPv6 Packet Too Big 是重要路徑訊號。

11.2 NDP 不是 ARP 改成更長位址

NDP 使用 ICMPv6,包含鄰居解析、路由器探索、重複位址偵測等。Neighbor Solicitation/Advertisement 常配合 solicited-node multicast 做鄰居解析;Router Solicitation/Advertisement 提供路由器及前綴相關資訊。IPv6 不用 IPv4 式 ARP 廣播。

link-local 位址可用於相鄰路由器下一跳。預設路由通常來自 RA;DHCPv6(現行 RFC 9915)可提供位址及其他參數,但沒有標準的預設路由選項,因此不能把 IPv4 DHCP 提供閘道的模式直接套到 DHCPv6(手動設定另計)。各系統取得 DNS 的方法可能包括 RA 的 RDNSS 或 DHCPv6,需查平臺支援。

11.3 SLAAC 與位址生命週期

SLAAC 利用 RA 的前綴資訊形成位址,還需遵守旗標、有效期和 DAD。Ethernet 等常見鏈路的 SLAAC 需要 64-bit 介面識別碼,通常使用 /64 前綴;不能說所有 IPv6 路由都必須 /64。介面識別碼不必由 MAC 永久生成,穩定位址與臨時隱私位址降低不同形式的追蹤。主機可以同時持有 link-local、global 及臨時位址。

例:路由器公告 2001:db8:10::/64 及預設路由。主機可形成 2001:db8:10::abcd,送另一遠端前綴時選路由器的 link-local 下一跳,再用 NDP 解析鏈路位址。全球位址存在不保證防火牆允許入站,也不保證 ISP 回程正常。

11.4 雙協定與 Happy Eyeballs

名稱可有 A 及 AAAA。應用可競逐或調整 IPv6/IPv4 連線嘗試,改善其中一條路徑不佳的等待。兩條路徑可能不同,DNS 回覆、路由、代理接管、防火牆和 VPN 設定都需兩套檢查。

IPv6 不依賴 IPv4 式 NAT 才能對外通訊,但仍需防火牆、端點安全和合理位址管理。若全隧道政策只涵蓋 0.0.0.0/0,::/0 可能走原出口;這是政策覆蓋問題,並不是 IPv6 天然不安全。

實驗、習題與檢核

L03 練 IPv6 正規化與前綴;L14 追蹤 A/AAAA 兩種路徑。只做離線表不需要改動自己的 IPv6 設定。

  1. 將 2001:0db8:0000:0000:0000:0000:0010:0001 縮寫。
  2. IPv6 預設路由通常從哪類訊息取得?
  3. 為何「IPv6 沒有 NAT」不等於所有服務都對外開放?
  4. 預期全部走 VPN 時,應如何檢查 IPv4 及 IPv6 政策?

檢核:能把位址形成、路由、鄰居解析和存取政策分開。版本註記:RFC 9915 於 2026 年取代 RFC 8415;Happy Eyeballs v3 此次查閱仍為 Internet-Draft,正文採 RFC 8305 的已發布模型。位址表示另查 RFC 4291/5952,RA 的 DNS 選項查 RFC 8106。

來源:RFC 8200、RFC 4861、RFC 4862、RFC 9915、RFC 8305。