关于无线托管网络

无线托管网络是安装了无线 LAN 服务的 Windows 7 和 Windows Server 2008 R2 上支持的一项新 WLAN 功能。 此功能实现两个主要函数:

  • 将物理无线适配器虚拟化为多个虚拟无线适配器,有时称为虚拟 Wi-Fi。
  • 基于软件的无线接入点 (AP) 有时称为使用指定虚拟无线适配器的 SoftAP。

这两个函数在 Windows 系统中共存。 启用或禁用无线托管网络可启用或禁用虚拟Wi-Fi和 SoftAP。 无法在 Windows 中单独启用或禁用这两个函数。

借助此功能,Windows 计算机可以使用单个物理无线适配器作为客户端连接到硬件接入点 (AP) ,同时充当软件 AP,允许其他支持无线的设备连接到它。 此功能要求在本地计算机上安装支持托管网络的无线适配器。 无线适配器的驱动程序必须实现 Microsoft 定义的用于 Windows 7 的无线 LAN 设备驱动程序模型。 若要接收 Windows 7 徽标,无线驱动程序必须实现无线托管网络功能。

本地计算机上随时最多启用一个无线托管网络,无线托管网络仅使用一个无线适配器。 如果有多个支持托管网络的无线适配器,Windows 将选择一个适配器用于无线托管网络。 使用托管网络 API 时,支持托管网络的无线适配器将虚拟化为最多 3 个逻辑适配器:

  • 工作站适配器 (STA) 供客户端或临时无线应用程序使用。 STA 适配器继承原始物理无线适配器的所有设置,并表现出与物理适配器相同的行为。 从概念上讲,可以在虚拟化后将 STA 适配器视为与物理适配器完全相同。 只要存在相应的无线物理适配器,STA 适配器就始终位于系统中。
  • 无线托管网络用于托管 SoftAP 的 AP 适配器。 只有在首次调用无线托管网络后,才 (首次调用 wlanHostedNetworkStartUsingWlanHostedNetworkForceStart 或WlanHostedNetworkInitSettings 函数) 时,才在 Windows 系统中存在 AP 适配器。 创建后,AP 适配器将保留在系统中,直到禁用无线托管网络。 如果稍后启用无线托管网络,则 AP 适配器将再次显示在系统中。
  • 虚拟工作站适配器 (VSTA) 供硬件供应商用来扩展 Windows 中的无线托管网络功能。 VSTA 适配器是可选的,只能由相应的 IHV 服务在系统中创建。 与 AP 适配器不同,VSTA 适配器仅存在于 Windows 系统中,从 IHV 服务初始化适配器到 IHV 服务释放适配器的时间为止。

虚拟Wi-Fi将逻辑适配器映射到 NDIS 端口。 STA、AP 和 VSTA 适配器与特定 NDIS 端口的绑定由 Windows 决定。 STA 适配器始终绑定到端口 0。 当虚拟化启动时,AP 适配器绑定到下一个可用的 NDIS 端口,绑定将保持不变,直到禁用无线托管网络时虚拟化结束。 当 VSTA 适配器由相应的 IHV 服务初始化时,它将绑定到下一个可用的 NDIS 端口,并且绑定在 IHV 服务释放之前保持不变。

可以在不创建 SoftAP 适配器的情况下创建 VSTA 适配器供 IHV 使用。

以下组合对具有虚拟化的物理适配器有效:

  • STA 适配器。
  • STA 和 AP 适配器。
  • STA 和 VSTA 适配器。
  • STA、AP 和 VSTA 适配器。

除 STA 适配器情况外,所有其他组合仅在启用无线托管网络时才有效。 对于单个 STA 适配器的情况,如果无线托管网络处于禁用状态,则为物理适配器。 如果启用了无线托管网络,则当无线托管网络从未在系统中调用时,它是 STA 适配器。

禁止在 AP 适配器与系统中的任何其他适配器之间进行第 2 层桥接。 当 VSTA 适配器存在于系统中时,相同的限制也适用于它。

Windows 中的无线托管网络功能实现 SoftAP。 但是,此 SoftAP 并非旨在取代基于硬件的无线 AP 设备。 具体而言,如果无线托管网络在计算机进入睡眠状态 (待机) 、休眠或计算机重启之前运行,则无线托管网络将停止。 计算机从睡眠、休眠或重启恢复后,无线托管网络不会自动重启。 此外,SoftAP 不提供 DNS 解析。 如果外部 DNS 服务器无法使用 Internet 连接共享 (请参阅下面的 ICS 讨论) ,完全限定的域名 (FQDN) 解析与 SoftAP 连接的任意两台计算机或设备(包括托管 SoftAP 的计算机)仅在两个实体将 SoftAP 网络类型的网络类型标记为“专用 (家庭”或“工作”在网络类别弹出) 。 由于托管 SoftAP 的计算机始终将 SoftAP 网络类型标记为专用,因此只有连接到 SoftAP 的计算机或设备需要将 SoftAP 网络类型标记为专用,FQDN 解析才能正常工作。

SoftAP 和即席网络在同一物理适配器上互斥。 如果 SoftAP 在 AP 适配器上运行,并且用户或应用程序在 STA 适配器上启动即席网络,则 SoftAP 将关闭。 如果临时网络在 STA 适配器上运行,则尝试在 AP 适配器上启动 SoftAP 将失败。

若要为托管 SoftAP 的计算机与连接到 SoftAP 的设备之间的无线通信提供保护,无线托管网络要求连接的所有设备都使用 WPA2-PSK/AES 密码套件。 共享密钥是 Windows 在首次调用无线托管网络时生成的 63 个字符的值, (首次调用 wlanHostedNetworkStartUsingWlanHostedNetworkForceStartWlanHostedNetworkInitSettings 函数时) 。 用户或应用程序无法更改此共享密钥的值,但应用程序可以通过调用 WlanHostedNetworkRefreshSecuritySettings 函数请求操作系统重新生成新密钥,或者用户可以使用 netsh wlan 命令请求操作系统重新生成新密钥。 此共享密钥称为无线托管网络的主密钥或系统密钥,在无线托管网络的启动和停止之间是永久性的。 此主键在 netsh wlan 命令中称为“系统安全密钥”。

为了方便使用,无线托管网络还支持辅助或用户安全密钥的概念,该密钥更便于用户使用,但安全性可能较低。 此辅助密钥在 netsh wlan 命令中称为“用户安全密钥”。 辅助密钥不是由 Windows 生成的。 用户必须为此键提供值。 用户或应用程序可以通过调用 WlanHostedNetworkSetSecondaryKey 函数或使用 netsh wlan 命令来设置或更改密钥值。 辅助密钥可以设置为永久性或临时密钥。 对于临时密钥,如果无线托管网络已在运行,则辅助密钥将有效,直到无线托管网络停止。 对于临时密钥,如果无线托管网络未运行,则它仅在下一个无线托管网络启动和停止之间有效。

在任何计算机上,无线托管 Hetwork 只有一个主键和最多一个辅助密钥。 通过 Wi-Fi 受保护的安装程序 (WPS) 预配的任何设备都将接收主密钥。 其他手动配置的设备可以使用任一密钥。 每当密钥发生更改时,任何具有旧密钥值的设备都将无法在未使用新密钥重新预配的情况下连接到无线托管网络。 但是,具有其他未更改密钥的设备应能够继续连接到无线托管网络。

应用程序可以注册无线托管网络通知,因此当无线托管网络上的属性发生更改时,将向应用程序回调发送 WLAN 通知。 应用程序通过调用 WlanRegisterNotification 来注册无线托管网络通知,并将 dwNotifSource 参数设置为包含 WLAN_NOTIFICATION_SOURCE_HNWK 位。

Windows 为 IT 管理员提供了两种管理无线托管网络功能的方法。 对于属于域成员的计算机,管理员可以使用组策略来禁止无线托管网络。 使用 netsh wlan 命令,管理员可以在计算机上本地启用或禁用无线托管网络。

无线托管网络支持的方案

无线托管网络为 Windows 计算机提供了两种主要方案:

• 提供无线个人区域网 (无线 PAN) 的功能,可用于各种其他无线设备。

• 供其他计算机和设备使用的网络连接共享。

无线 PAN 是无线托管网络自行启用的主要方案。 在计算机上启动无线托管网络后,支持 WPA2-PSK/AES 的任何支持无线的设备都可以连接到 softAP,就像连接到常规硬件 AP 一样。 连接到无线托管网络的设备形成无线 PAN,可在其中与托管 SoftAP 的 Windows 计算机以及它们之间交换信息。

供其他计算机和设备使用的网络连接共享需要使用 Internet 连接共享 (ICS) 。 在此方案中,ICS 的公共接口是共享连接,而专用接口是托管 SoftAP 的虚拟适配器。 共享连接可以是以太网、无线 LAN 或无线 WAN 连接。 对于无线 LAN 连接,ICS 的公共接口可以来自另一个无线 LAN 适配器,也可以来自托管 SoftAP 的同一物理无线适配器上的工作站虚拟适配器。 网络共享最常见的用途是共享 Internet 连接,ICS 公共接口上的网络可以访问 Internet。

无线托管网络与 Wi-Fi 受保护的安装程序 (WPS) 进行交互,这是 Windows 7 和 Windows Server 2008 R2 中安装了无线 LAN 服务的另一项重要新功能。 无线托管网络和 WPS 支持为不支持 WPS 的硬件 AP 预配支持 WPS 的设备的方案。 在这种情况下,在后台调用 Windows 上托管的 SoftAP,将硬件 AP 配置文件推送到支持 WPS 的设备。

用户和应用程序对无线托管网络的访问权限

最终用户使用第三方应用程序或 netsh 命令与 Windows 中的无线托管网络功能进行交互。 目前没有本机用户界面可用于在安装了无线 LAN 服务的 Windows 7 或 Windows Server 2008 R2 上配置或管理无线托管网络。

第三方应用程序和 netsh 命令基于使用公共无线托管网络功能。 这组函数提供了一套完整的功能,用于在安装了无线 LAN 服务的 Windows 7 和 Windows Server 2008 R2 上管理无线托管网络。

下面是无线托管网络函数的列表,以及最终用户认为该函数将用于的常见操作:

使用的函数 说明
WlanHostedNetworkForceStartWlanHostedNetworkStartUsing
启动无线托管网络。
WlanHostedNetworkForceStopWlanHostedNetworkStopUsing
停止无线托管网络。
WlanHostedNetworkInitSettingsWlanHostedNetworkSetSecondaryKeyWlanHostedNetworkRefreshSecuritySettings
配置无线托管网络设置 (更改 SSID、更改辅助密钥或请求) 重新生成主密钥。
WlanHostedNetworkQueryStatusWlanHostedNetworkQuerySecondaryKeyWlanHostedNetworkQueryProperty
查询无线托管网络设置和信息, (状态、SSID、辅助密钥、主密钥或列出当前连接的设备) 。

 

netsh 命令供高级用户或管理员使用。

Netsh.exe 有许多用于无线 LAN 的子命令。 通过键入以下内容,可在命令提示符下获取 netsh 和无线 LAN 选项的完整列表:

netsh wlan /?

Technet 上也提供了有关无线 LAN 的所有 Netsh 命令的文档。 有关详细信息,请参阅 无线局域网 (WLAN) 的 Netsh 命令

以下是一些通常用于无线 LAN 和无线托管网络的 netsh 命令,但支持其他命令组合:

命令 说明
netsh wlan start hostednetwork
启动无线托管网络。
netsh wlan stop hostednetwork
停止无线托管网络。
netsh wlan set hostednetwork [mode=]allow|disallow
启用或禁用无线托管网络。
netsh wlan set hostednetwork [ssid=]<ssid> [key=]<passphrase> [keyUsage=]persistent|temporary
配置无线托管网络设置。
netsh wlan refresh hostednetwork [data=] key
刷新无线托管网络密钥。
netsh wlan show hostednetwork [[setting=]security]
显示无线托管网络信息。
netsh WLAN 显示设置
显示无线 LAN 全局设置。

 

使用无线托管网络和 Internet 连接共享

无线托管网络示例

WlanHostedNetworkForceStart

WlanHostedNetworkInitSettings

WlanHostedNetworkQueryProperty

WlanHostedNetworkQuerySecondaryKey

WlanHostedNetworkQueryStatus

WlanHostedNetworkRefreshSecuritySettings

WlanHostedNetworkSetProperty

WlanHostedNetworkSetSecondaryKey

WlanHostedNetworkStartUsing

WlanHostedNetworkStopUsing

WlanRegisterVirtualStationNotification