共用方式為


IPv6 Link-local 和 Site-local 位址

IPv6 link-local 和 site-local 位址稱為範圍位址。 Windows Sockets (Winsock) API 支援sockaddr_in6結構中的sin6_scope_id成員,以搭配範圍位址使用。 對於 (fe80::/10 前置詞) 的 IPv6 連結本機位址, sockaddr_in6 結構中的 sin6_scope_id 成員是介面編號。 對於 (fec0::/10 前置詞) 的 IPv6 月臺本機位址, sockaddr_in6 結構中的 sin6_scope_id 成員是網站識別碼。

介面 #5 上連結本機 IPv6 位址的範例如下:

fe80::208:74ff:feda:625c%5

下列命令可在 Windows XP 上使用 Service Pack 1 (SP1) 及更新版本,以在本機電腦上查詢和設定 IPv6:

使用 Netsh.exe 命令所做的設定變更是永久的,而且當電腦或 IPv6 通訊協定重新開機時不會遺失。

在 Windows XP 搭配 Service Pack 1 (SP1) 之前,IPv6 組態和管理使用數個較舊的命令列工具 (Net.exe、Ipv6.exe,以及Ipsec6.exe) 來設定和管理 IPv6。 使用這些較舊的工具,IPv6 變更不會永久,而且會在電腦或 IPv6 通訊協定重新開機時遺失。 只有 Windows XP 支援這些較舊的命令列工具。

在具有 SP1 的 Windows XP 上,下列命令會在本機電腦上顯示 IPv6 介面的清單,包括介面索引、介面名稱,以及各種其他介面屬性。

netsh 介面 ipv6 顯示介面

在具有 SP1 的 Windows XP 上,下列命令會變更與介面索引相關聯的月臺識別碼。

netsh 介面 ipv6 set < interface InterfaceIndex 或 Name > siteid=value

在 Windows XP 上,下列較舊的命令也會將與月臺本機位址相關聯的網站識別碼變更為 3。

ipv6 rtu fec0::/10 3

如果您要傳送或連線到範圍位址,則sockaddr_in6結構中的sin6_scope_id成員可以保持未指定 (零) ,代表模棱兩可的範圍位址。 例如,下列連結本機位址模棱兩可:

fe80::10

如果您要系結至範圍位址,則sockaddr_in6結構中的sin6_scope_id成員必須包含非零值,指定連結本機位址的有效介面編號或月臺本機位址的網站識別碼。

模棱兩可的範圍位址

如果您要傳送或連線到範圍位址,但尚未在 sockaddr_in6 結構中指定 sin6_scope_id 成員,則範圍位址模棱兩可。 為了解決此問題,IPv6 通訊協定會先判斷您是否已將通訊端系結至來源位址。 如果是,系結的來源位址會藉由提供介面編號或月臺識別碼來解析模棱兩可。

如果您要傳送或連線到範圍位址,且未指定 sin6_scope_id 成員或系結來源位址,則 IPv6 通訊協定會檢查路由表。 例如,下列命令會在本機電腦上顯示 IPv6 路由表:

netsh 介面 ipv6 顯示路由

No   Manual   256  fe80::/64      13  Local Area Connection
No   Manual   256  fe80::/64      14  Wireless Network Connection

這表示連結本機位址預設會被視為介面 #13 和 #14 的連結。

當本機電腦有多個網路介面卡時,就會發生模棱兩可的情況。 例如,上述 netsh 命令表示有兩個網路介面 (區域網路連線和無線網路連線) 。 當應用程式指定目的地連結本機位址 (fe80::10 時,例如) 沒有範圍識別碼,則不會清楚要用來傳送封包的介面卡。 只有連結本機單播 (fe80::/64) 或連結範圍多播 (ff00::/8) IPv6 目的地位址,在傳送封包時不會有範圍識別碼。

鄰居搜索

如果您尚未在 sockaddr_in6 結構中指定 sin6_scope_id 成員、未系結來源位址,且未指定連結本機位址的路由,則 IPv6 通訊協定會嘗試「芳鄰探索」來解析目的地連結本機位址。 針對正在傳送的指定封包,會嘗試一個介面。 嘗試的第一個介面會被視為最慣用的介面。 如果芳鄰探索無法解析介面上的連結本機位址,則會卸載要傳送的封包,而且系統會記住目的地連結本機位址無法透過該介面連線。 在下一個要以相同條件傳送的封包上,會針對「芳鄰探索」嘗試不同的介面。 此程式會持續在每個新封包的本機電腦上每個介面,直到芳鄰探索回應目的地連結本機位址或所有可能介面都已嘗試並失敗為止。 每次嘗試解決芳鄰失敗時,就會針對該芳鄰排除一個介面。

如果目的地連結本機位址解析,則會使用該介面來傳送目前的封包。 此介面也用於傳送至相同連結本機目的地位址的任何後續模棱兩可範圍封包。

如果「鄰近探索」無法解析所有介面上的目的地連結本機位址,則系統會嘗試在最慣用的介面上傳送封包, (第一個介面嘗試) 。 網路堆疊會持續嘗試解析最慣用介面上的目的地連結本機位址。 在鄰近探索在所有介面上失敗之後一段時間之後,網路堆疊會再次重新開機進程,並嘗試在所有介面上解析目的地連結本機位址。 目前,當所有介面上再次嘗試芳鄰探索時,這個時間間隔是 60 秒。 不過,此時間間隔可能會在 Windows 版本上變更,不應由應用程式假設。

注意

如果應用程式在「芳鄰探索」解析連結本機位址之後,將相同的連結本機位址系結至不同的介面,則不會使用芳鄰探索傳回的連結本機位址覆寫介面。

 

如需 IP 第 6 版的芳鄰探索詳細資訊,請參閱 IETF 發佈的 RFC4861

IPv6 月臺前置詞

Ipv6.exe

Netsh.exe

使用 IPv6