無線承載網(wǎng)絡(luò)(Wireless Hosted Network)是Windows 7和安裝有 WLAN 服務(wù)的Windows Server 2008 R2中一項新增的WLAN特性。該特性實(shí)現(xiàn)了以下兩個主要功能:
這兩個功能同時存在于 Windows 系統(tǒng)中。啟用和禁用無線承載網(wǎng)絡(luò)時也就同時啟用和禁用了“虛擬WiFi”和“軟AP”。無法在Windows中分別禁用或啟用這兩個功能。
通過此特性,Windows 計算機(jī)能通過一塊物理無線網(wǎng)卡以客戶端身份連接到(由物理設(shè)備提供的)硬AP,同時又能作為軟AP,允許其它設(shè)備與自己連接。此特性需要計算機(jī)上安裝有支持“承載網(wǎng)絡(luò)”功能的無線網(wǎng)卡。無線網(wǎng)卡的驅(qū)動程序必須實(shí)現(xiàn)微軟為 Windows 7 定義的“無線LAN設(shè)備驅(qū)動程序模型”。 無線網(wǎng)卡驅(qū)動程序必須支持“無線承載網(wǎng)絡(luò)”特性,才能取得“Windows 7 徽標(biāo)認(rèn)證”。
一臺計算機(jī)上只能開啟一個無線承載網(wǎng)絡(luò),并且該無線承載網(wǎng)絡(luò)只使用一塊無線網(wǎng)卡。如果不止一塊無線網(wǎng)卡支持承載網(wǎng)絡(luò)特性,Windows將選擇其中一塊來提供無線承載網(wǎng)絡(luò)。通過承載網(wǎng)絡(luò)API,支持承載網(wǎng)絡(luò)的無線網(wǎng)卡最多可以虛擬為 3 塊邏輯網(wǎng)卡:
基站網(wǎng)卡(station adapter)(STA),供客戶端或 ad hoc(臨時)無線應(yīng)用程序使用。 STA 網(wǎng)卡會繼承物理網(wǎng)卡的所有設(shè)置,并表現(xiàn)出與物理網(wǎng)卡完全相同的行為。理論上,在虛擬化之后,我們可以認(rèn)為STA網(wǎng)卡和物理網(wǎng)卡是完全相同的。只要其物理無線網(wǎng)卡存在, STA網(wǎng)卡就一直存在于系統(tǒng)中。
AP網(wǎng)卡,被“無線承載網(wǎng)絡(luò)”用來承載軟AP。AP網(wǎng)卡只在首次調(diào)用無線承載網(wǎng)絡(luò)(即首次調(diào)用WlanHostedNetworkStartUsing、 WlanHostedNetworkForceStart或 WlanHostedNetworkInitSettings 函數(shù))之后才出現(xiàn)在Windows 中,直到無線承載網(wǎng)絡(luò)被禁用后才會消失。如果再次啟用無線承載網(wǎng)絡(luò),則 AP網(wǎng)卡會再次出現(xiàn)。
虛擬基站網(wǎng)卡(virtual station adapter)(VSTA),被硬件廠商用于擴(kuò)展無線承載網(wǎng)絡(luò)功能。VSTA是可選的,并且只能由相應(yīng)的IHV(獨(dú)立硬件制造商)服務(wù)來創(chuàng)建。與AP網(wǎng)卡不同的是,VSTA網(wǎng)卡在IHV服務(wù)將其初始化之后出現(xiàn),并在IHV服務(wù)將其釋放之后消失。
虛擬 WiFi 會將邏輯網(wǎng)卡映射到 NDIS 端口。Windows 將決定STA, AP 和 VSTA 網(wǎng)卡綁定到哪個NDIS端口。STA網(wǎng)卡只能被綁定到端口 0。AP網(wǎng)卡會被綁定到虛擬化啟動之后下一個可用的 NDIS端口, 該綁定關(guān)系將一直保持不變,直到禁用無線承載網(wǎng)絡(luò),虛擬化結(jié)束為止。同樣,VSTA會被綁定到IHV服務(wù)將其初始化后的下一個可用 NDIS端口,直到IHV服務(wù)將其釋放,該綁定關(guān)系才會結(jié)束。
IHV可以創(chuàng)建VSTA網(wǎng)卡,而無需創(chuàng)建軟AP網(wǎng)卡。
通過虛擬化技術(shù),物理網(wǎng)卡可以虛擬出以下幾種組合情形:
除 STA 網(wǎng)卡一種情況以外,其他所有組合都只能在啟用無線承載網(wǎng)絡(luò)之后才能生效。在無線承載網(wǎng)絡(luò)禁用的情況下,STA網(wǎng)卡就是物理網(wǎng)卡。只要它已啟用,在系統(tǒng)還未調(diào)用無線承載網(wǎng)絡(luò)之前,它就是STA網(wǎng)卡。
在系統(tǒng)中,不允許在AP網(wǎng)卡和其他網(wǎng)卡之間建立二層橋接,這一限制對系統(tǒng)中的VSTA網(wǎng)卡同樣適用。
Windows 中的無線承載網(wǎng)絡(luò)特性實(shí)現(xiàn)了“軟AP”,但它并不是用來替代基于硬件的無線AP設(shè)備的。特別是在運(yùn)行無線承載網(wǎng)絡(luò)時,如果計算機(jī)進(jìn)入睡眠(待機(jī))、睡眠狀態(tài),或進(jìn)行了重啟,無線承載網(wǎng)絡(luò)將會停止,并且在喚醒或重啟完成之后,并不會自動開啟。另外,軟AP不能提供DNS解析。如果不通過Internet連接共享(見下文)提供外部DNS服務(wù)器,在任何兩臺連接到該軟AP的計算機(jī)或設(shè)備(包括承載該AP的計算機(jī))之間的“完全限定的域名 (FQDN)”解析操作將只在它們雙方都將軟AP網(wǎng)絡(luò)類型標(biāo)記為“專用”(家庭或工作) 時才會正常工作。當(dāng)承載軟AP的計算機(jī)將該軟AP網(wǎng)絡(luò)標(biāo)記為“專用”時,只需讓連接到該軟AP網(wǎng)絡(luò)的計算機(jī)或設(shè)備將該軟AP網(wǎng)絡(luò)標(biāo)記為“專用”, FQDN解析就可以進(jìn)行了。
軟AP和ad hoc網(wǎng)絡(luò)在同一塊物理網(wǎng)卡上是互斥的。當(dāng)AP網(wǎng)卡上運(yùn)行著軟AP網(wǎng)絡(luò)時,若有用戶或應(yīng)用程序在STA網(wǎng)卡上啟動ad hoc網(wǎng)絡(luò),則軟AP網(wǎng)絡(luò)就會停止。當(dāng)STA網(wǎng)卡上運(yùn)行著ad hoc 網(wǎng)絡(luò)時試圖在AP網(wǎng)卡上啟動軟AP網(wǎng)絡(luò),則該操作會失敗。
為了對承載軟AP的計算機(jī)和與其連接的設(shè)備間的通訊提供安全保護(hù),無線承載網(wǎng)絡(luò)要求所有設(shè)備必須使用WPA2-PSK/AES加密機(jī)制。無線承載網(wǎng)絡(luò)首次被調(diào)用(即首次調(diào)用WlanHostedNetworkStartUsing、 WlanHostedNetworkForceStart或 WlanHostedNetworkInitSettings函數(shù))時會生成一個 63字符的共享密鑰。 用戶和應(yīng)用程序無法更改該共享密鑰的值,但是應(yīng)用程序可以調(diào)用WlanHostedNetworkRefreshSecuritySettings函數(shù),請求操作系統(tǒng)生成一個新密鑰,用戶則可以使用netsh wlan 生成新密鑰。該共享密鑰被稱作無線承載網(wǎng)絡(luò)的“主密鑰”或“系統(tǒng)密鑰”,在無線承載網(wǎng)絡(luò)從啟動直到停止階段的整個過程中保持不變。這個主密鑰在netsh wlan 命令中叫做“系統(tǒng)安全密鑰”。
為了便于使用,無線承載網(wǎng)絡(luò)還支持“第二密鑰”,也稱作“用戶安全密鑰”,使用起來更加友好,但是安全性稍差。在netsh wlan命令中將其稱作“用戶安全密鑰”。它并非由Windows 生成,而是由用戶指定。應(yīng)用程序可以調(diào)用WlanHostedNetworkSetSecondaryKey函數(shù),用戶則可以使用netsh wlan 命令來設(shè)置或更改其值。該密鑰可以是永久性的,也可以是臨時性的。在無線承載網(wǎng)絡(luò)正在運(yùn)行的情況下,臨時密鑰(第二密鑰)將在無線承載網(wǎng)絡(luò)停止之后失效;在無線承載網(wǎng)絡(luò)未運(yùn)行的情況下,它將在無線承載網(wǎng)絡(luò)從下次啟動到停止這段時間內(nèi)有效。
在任何計算機(jī)中,無線承載網(wǎng)絡(luò)都有且只有一個主密鑰,一個第二密鑰。所有使用 WiFi Protected Setup (WPS) 技術(shù)的設(shè)備都將接收到主密鑰。其他手動配置的設(shè)備可以選擇使用其中任意一個密鑰。一旦某個密鑰發(fā)生變更,使用該舊密鑰的所有設(shè)備都必須在重新提供新密鑰之后才能再連接到無線承載網(wǎng)絡(luò)。不過,使用其他未變更密鑰來連接的設(shè)備仍然可以連接到無線承載網(wǎng)絡(luò)。
應(yīng)用程序可以注冊取得無線承載網(wǎng)絡(luò)的通知,這樣,當(dāng)無線承載網(wǎng)絡(luò)屬性發(fā)生變化時,將會有WLAN通知發(fā)送給該應(yīng)用程序的回調(diào)函數(shù),方法是調(diào)用 WlanRegisterNotification,并且?guī)习琖LAN_NOTIFICATION_SOURCE_HNWK 數(shù)據(jù)值的dwNotifSource 參數(shù)。
Windows 為 IT 管理員提供了兩種管理無線承載網(wǎng)絡(luò)的方法。第一種是通過組策略對已經(jīng)加入域的計算機(jī)禁用無線承載網(wǎng)絡(luò),第二種是使用netsh wlan 命令,在本地計算機(jī)上啟用或禁用無線承載網(wǎng)絡(luò)。
無線承載網(wǎng)絡(luò)的應(yīng)用場景
對于 Windows 計算機(jī),無線承載網(wǎng)絡(luò)主要有兩個應(yīng)用場景:
• 向其他無線設(shè)備提供無線個人區(qū)域網(wǎng)(wireless PAN)。
• 向其他計算機(jī)和設(shè)備提供網(wǎng)絡(luò)連接共享。
無線個人區(qū)域網(wǎng)是無線承載網(wǎng)絡(luò)本身的主要應(yīng)用場景。計算機(jī)啟動無線承載網(wǎng)絡(luò)之后,任何支持WPA2-PSK/AES的無線設(shè)備都能像連接到硬件AP一樣連接到軟AP網(wǎng)絡(luò),它們相當(dāng)于進(jìn)入了一個無線個人區(qū)域網(wǎng),能夠與承載該軟AP的Windows 計算機(jī)或其他已連接的設(shè)備交換信息。
要為其他計算機(jī)和設(shè)備提供網(wǎng)絡(luò)連接共享,則需使用Internet 連接共享 (ICS)功能。在這個場景中,ICS的公共接口是提供共享的網(wǎng)絡(luò)連接,專用接口是承載軟AP的虛擬網(wǎng)卡。提供共享的網(wǎng)絡(luò)連接可以是以太網(wǎng)、無線局域網(wǎng)或無線廣域網(wǎng)。如果是無線局域網(wǎng)連接,則ICS的公共接口可以來自其他無線網(wǎng)卡,也可以是軟AP所在物理網(wǎng)卡對應(yīng)的基站虛擬網(wǎng)卡。最常見的共享類型是 Internet 連接,即ICS公共接口上的網(wǎng)絡(luò)連接可以訪問Internet。
無線承載網(wǎng)絡(luò)可以和Windows 7 和 Windows Server 2008 R2 中的另一項新功能——WiFi Protected Setup (WPS) 進(jìn)行交互。無線承載網(wǎng)絡(luò)和 WPS 支持這樣一種應(yīng)用場景:設(shè)備支持 WPS,但AP硬件不支持WPS。在這種場景中,Windows 會在后臺調(diào)用軟AP,將AP硬件的網(wǎng)絡(luò)配置推送到支持WPS的設(shè)備上。
用戶和應(yīng)用程序如何使用無線承載網(wǎng)絡(luò)
最終用戶可以使用第三方應(yīng)用程序或 netsh命令與無線承載網(wǎng)絡(luò)交互。Windows 7 和 Windows Server 2008 R2 目前還沒有可配置或管理無線承載網(wǎng)絡(luò)的用戶界面。
第三方應(yīng)用程序和 netsh 命令都是基于公開的無線承載網(wǎng)絡(luò)函數(shù)來實(shí)現(xiàn)的。這一系列函數(shù)能對在Windows 7 和 Windows Server 2008 R2 上配置無線承載網(wǎng)絡(luò)提供了完善的功能。
下方提供了無線承載網(wǎng)絡(luò)的函數(shù)列表和用戶最常用的一些操作命令:
netsh 命令供高級用戶或管理員使用。
Netsh.exe 具有很多個與無線局域網(wǎng)(WLAN)相關(guān)的子命令。在命令提示符中鍵入以下命令可以獲得 netsh 和WLAN的完整選項列表:
netsh wlan /?
Technet 網(wǎng)站上也提供了用于WLAN管理的Netsh 命令的詳細(xì)聯(lián)機(jī)文檔。有關(guān)詳細(xì)信息,請參閱 Netsh commands for Wireless Local Area Network (WLAN)(英文)。
以下是用于WLAN和無線承載網(wǎng)絡(luò)管理的部分常用 netsh 命令,還有許多命令組合并未列出: