Windows 使用哪些設定來決定網路位置?

Windows 使用哪些設定來決定網路位置?

Windows 具有網路位置感知(NLA)的概念,這意味著您可以將網路配置為「公有」(即家庭/工作)、「私人」等。

為此目的,它使用哪些資訊來對網路進行「指紋識別」?

答案1

答案2

來源:http://msdn.microsoft.com/en-us/library/ms740558%28VS.85%29.aspx

網路位置感知(NLA)服務提供者對於可能在不同網路之間移動的電腦或裝置以及在多個網路可用時選擇最佳配置至關重要。例如,在實體網路之間漫遊的無線電腦可以使用 NLA 根據有關其可用網路連接的資訊來確定正確的配置。當多宿主電腦與一個網路具有實體連接,同時也透過撥接連接或隧道連接到另一個網路時,NLA 也被證明是有價值的。

過去,開發人員必須獲取有關邏輯網路介面的信息,從而根據大量不同的網路資訊做出有關網路連接的決策。在這些情況下,開發人員必須根據 IP 位址、介面的子網路、與介面關聯的網域名稱系統 (DNS) 名稱、NIC 的 MAC 位址、無線網路名稱或其他網路資訊。 NLA 透過提供一個標準介面來枚舉邏輯網路連接訊息,將其與實體網路介面資訊相關聯,然後在先前返回的資訊失效時提供通知,從而緩解了這個問題。

NLA 提供以下網路位置資訊:

  • 邏輯網路身份

    NLA 首先嘗試透過 DNS 網域名稱來識別邏輯網路。如果邏輯網路沒有域名,NLA 會根據儲存在註冊表中的自訂靜態資訊並最終根據其子網路位址來識別該網路。

  • 邏輯網路介面

    對於電腦連接到的每個網絡,NLA 提供一個 AdapterName,它唯一標識實體介面(例如 NIC)或邏輯介面(例如 RAS 連接)。然後,AdapterName 可以與 IP Helper API 中可用的函數一起使用,以獲得進一步的介面特徵。

NLA 將邏輯網路實作為服務類,具有關聯的類 GUID 和屬性。 NLA 傳回資訊的每個邏輯網路都是該服務類別的一個實例。

答案3

根據最近在非網域、靜態設定網路上進行的實驗(使用 Server 2012,但我懷疑早期版本類似),NLA 服務使用預設閘道的連結層 (MAC) 位址來識別網路。

細節尚不清楚,但我認為可以用網路分析儀來解決。如果配置的預設網關沒有回應,則 NLA 無法識別該網絡,因此它肯定會進行某種查詢。 (也就是說,您不能只輸入虛擬網關位址,甚至不能輸入虛擬網關位址加上靜態 arp 條目;與特定網路關聯的網關 MAC 位址必須實際回應,以便 NLA 確定適配器已連接到該網路。)

也可以看看我的部落格條目一種欺騙 Windows 2012 將適配器指派給唯一網路的方法。

如果適配器由 DHCP 指派位址,則邏輯可能會有所不同。我還沒有調查過。域網路上的邏輯是根據現有答案記錄的。

相關內容