[译] 关于无线承载网络(Wireless Hosted Network)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

 无线承载网络(Wireless Hosted Network)是Windows 7和安装有 WLAN 服务的Windows Server 2008 R2中一项新增的WLAN特性。该特性实现了以下两个主要功能:

image

这两个功能同时存在于 Windows 系统中。启用和禁用无线承载网络时也就同时启用和禁用了“虚拟WiFi”和“软AP”。无法在Windows中分别禁用或启用这两个功能。

通过此特性,Windows 计算机能通过一块物理无线网卡以客户端身份连接到(由物理设备提供的)硬AP,同时又能作为软AP,允许其它设备与自己连接。此特性需要计算机上安装有支持“承载网络”功能的无线网卡。无线网卡的驱动程序必须实现微软为 Windows 7 定义的“无线LAN设备驱动程序模型”。 无线网卡驱动程序必须支持“无线承载网络”特性,才能取得“Windows 7 徽标认证”。

一台计算机上只能开启一个无线承载网络,并且该无线承载网络只使用一块无线网卡。如果不止一块无线网卡支持承载网络特性,Windows将选择其中一块来提供无线承载网络。通过承载网络API,支持承载网络的无线网卡最多可以虚拟为 3 块逻辑网卡:

  • 基站网卡(station adapter)(STA),供客户端或 ad hoc(临时)无线应用程序使用。 STA 网卡会继承物理网卡的所有设置,并表现出与物理网卡完全相同的行为。理论上,在虚拟化之后,我们可以认为STA网卡和物理网卡是完全相同的。只要其物理无线网卡存在, STA网卡就一直存在于系统中。
  • AP网卡,被“无线承载网络”用来承载软AP。AP网卡只在首次调用无线承载网络(即首次调用WlanHostedNetworkStartUsing、 WlanHostedNetworkForceStart或 WlanHostedNetworkInitSettings 函数)之后才出现在Windows 中,直到无线承载网络被禁用后才会消失。如果再次启用无线承载网络,则 AP网卡会再次出现。
  • 虚拟基站网卡(virtual station adapter)(VSTA),被硬件厂商用于扩展无线承载网络功能。VSTA是可选的,并且只能由相应的IHV(独立硬件制造商)服务来创建。与AP网卡不同的是,VSTA网卡在IHV服务将其初始化之后出现,并在IHV服务将其释放之后消失。

虚拟 WiFi 会将逻辑网卡映射到 NDIS 端口。Windows 将决定STA, AP 和 VSTA 网卡绑定到哪个NDIS端口。STA网卡只能被绑定到端口 0。AP网卡会被绑定到虚拟化启动之后下一个可用的 NDIS端口, 该绑定关系将一直保持不变,直到禁用无线承载网络,虚拟化结束为止。同样,VSTA会被绑定到IHV服务将其初始化后的下一个可用 NDIS端口,直到IHV服务将其释放,该绑定关系才会结束。

IHV可以创建VSTA网卡,而无需创建软AP网卡。

通过虚拟化技术,物理网卡可以虚拟出以下几种组合情形:

image

除 STA 网卡一种情况以外,其他所有组合都只能在启用无线承载网络之后才能生效。在无线承载网络禁用的情况下,STA网卡就是物理网卡。只要它已启用,在系统还未调用无线承载网络之前,它就是STA网卡。

在系统中,不允许在AP网卡和其他网卡之间建立二层桥接,这一限制对系统中的VSTA网卡同样适用。

Windows 中的无线承载网络特性实现了“软AP”,但它并不是用来替代基于硬件的无线AP设备的。特别是在运行无线承载网络时,如果计算机进入睡眠(待机)、睡眠状态,或进行了重启,无线承载网络将会停止,并且在唤醒或重启完成之后,并不会自动开启。另外,软AP不能提供DNS解析。如果不通过Internet连接共享(见下文)提供外部DNS服务器,在任何两台连接到该软AP的计算机或设备(包括承载该AP的计算机)之间的“完全限定的域名 (FQDN)”解析操作将只在它们双方都将软AP网络类型标记为“专用”(家庭或工作) 时才会正常工作。当承载软AP的计算机将该软AP网络标记为“专用”时,只需让连接到该软AP网络的计算机或设备将该软AP网络标记为“专用”, FQDN解析就可以进行了。

软AP和ad hoc网络在同一块物理网卡上是互斥的。当AP网卡上运行着软AP网络时,若有用户或应用程序在STA网卡上启动ad hoc网络,则软AP网络就会停止。当STA网卡上运行着ad hoc 网络时试图在AP网卡上启动软AP网络,则该操作会失败。

为了对承载软AP的计算机和与其连接的设备间的通讯提供安全保护,无线承载网络要求所有设备必须使用WPA2-PSK/AES加密机制。无线承载网络首次被调用(即首次调用WlanHostedNetworkStartUsing、 WlanHostedNetworkForceStartWlanHostedNetworkInitSettings函数)时会生成一个 63字符的共享密钥。 用户和应用程序无法更改该共享密钥的值,但是应用程序可以调用WlanHostedNetworkRefreshSecuritySettings函数,请求操作系统生成一个新密钥,用户则可以使用netsh wlan 生成新密钥。该共享密钥被称作无线承载网络的“主密钥”或“系统密钥”,在无线承载网络从启动直到停止阶段的整个过程中保持不变。这个主密钥在netsh wlan 命令中叫做“系统安全密钥”。

为了便于使用,无线承载网络还支持“第二密钥”,也称作“用户安全密钥”,使用起来更加友好,但是安全性稍差。在netsh wlan命令中将其称作“用户安全密钥”。它并非由Windows 生成,而是由用户指定。应用程序可以调用WlanHostedNetworkSetSecondaryKey函数,用户则可以使用netsh wlan 命令来设置或更改其值。该密钥可以是永久性的,也可以是临时性的。在无线承载网络正在运行的情况下,临时密钥(第二密钥)将在无线承载网络停止之后失效;在无线承载网络未运行的情况下,它将在无线承载网络从下次启动到停止这段时间内有效。

在任何计算机中,无线承载网络都有且只有一个主密钥,一个第二密钥。所有使用 WiFi Protected Setup (WPS) 技术的设备都将接收到主密钥。其他手动配置的设备可以选择使用其中任意一个密钥。一旦某个密钥发生变更,使用该旧密钥的所有设备都必须在重新提供新密钥之后才能再连接到无线承载网络。不过,使用其他未变更密钥来连接的设备仍然可以连接到无线承载网络。

应用程序可以注册取得无线承载网络的通知,这样,当无线承载网络属性发生变化时,将会有WLAN通知发送给该应用程序的回调函数,方法是调用 WlanRegisterNotification,并且带上包含WLAN_NOTIFICATION_SOURCE_HNWK 数据值的dwNotifSource 参数。

Windows 为 IT 管理员提供了两种管理无线承载网络的方法。第一种是通过组策略对已经加入域的计算机禁用无线承载网络,第二种是使用netsh wlan 命令,在本地计算机上启用或禁用无线承载网络。

无线承载网络的应用场景

对于 Windows 计算机,无线承载网络主要有两个应用场景:

• 向其他无线设备提供无线个人区域网(wireless PAN)。

• 向其他计算机和设备提供网络连接共享。

无线个人区域网是无线承载网络本身的主要应用场景。计算机启动无线承载网络之后,任何支持WPA2-PSK/AES的无线设备都能像连接到硬件AP一样连接到软AP网络,它们相当于进入了一个无线个人区域网,能够与承载该软AP的Windows 计算机或其他已连接的设备交换信息。

要为其他计算机和设备提供网络连接共享,则需使用Internet 连接共享 (ICS)功能。在这个场景中,ICS的公共接口是提供共享的网络连接,专用接口是承载软AP的虚拟网卡。提供共享的网络连接可以是以太网、无线局域网或无线广域网。如果是无线局域网连接,则ICS的公共接口可以来自其他无线网卡,也可以是软AP所在物理网卡对应的基站虚拟网卡。最常见的共享类型是 Internet 连接,即ICS公共接口上的网络连接可以访问Internet。

无线承载网络可以和Windows 7 和 Windows Server 2008 R2 中的另一项新功能——WiFi Protected Setup (WPS) 进行交互。无线承载网络和 WPS 支持这样一种应用场景:设备支持 WPS,但AP硬件不支持WPS。在这种场景中,Windows 会在后台调用软AP,将AP硬件的网络配置推送到支持WPS的设备上。

用户和应用程序如何使用无线承载网络

最终用户可以使用第三方应用程序或 netsh命令与无线承载网络交互。Windows 7 和 Windows Server 2008 R2 目前还没有可配置或管理无线承载网络的用户界面。

第三方应用程序和 netsh 命令都是基于公开的无线承载网络函数来实现的。这一系列函数能对在Windows 7 和 Windows Server 2008 R2 上配置无线承载网络提供了完善的功能。

下方提供了无线承载网络的函数列表和用户最常用的一些操作命令:

image

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

Netsh.exe 具有很多个与无线局域网(WLAN)相关的子命令。在命令提示符中键入以下命令可以获得 netsh 和WLAN的完整选项列表:

netsh wlan /?

Technet 网站上也提供了用于WLAN管理的Netsh 命令的详细联机文档。有关详细信息,请参阅 Netsh commands for Wireless Local Area Network (WLAN)(英文)

以下是用于WLAN和无线承载网络管理的部分常用 netsh 命令,还有许多命令组合并未列出:

image


本文由 wbpluto 翻译自 MSDN Library,目的是让国内爱好者更多的了解相关技术。全文内容忠于原文,词汇遵照微软官方翻译,只有少数语句为了便于理解和阅读而做了语序上的调整



本文转自wbpluto 51CTO博客,原文链接:http://blog.51cto.com/wbpluto/476711,如需转载请自行联系原作者

相关文章
|
6月前
|
传感器 数据采集 算法
无线传感器网络(WSN)在物联网中的作用
【6月更文挑战第7天】物联网中的无线传感器网络(WSN)正加速发展,它由微型传感器节点组成,用于环境数据感知和传输。WSN助力实时监测(如农业、工业生产)、资源管理(能源和物流)、智能交通等领域,提供关键数据支持。Python代码示例展示了数据采集和传输过程。尽管面临能量限制和网络挑战,WSN在物联网中的角色不可或缺,将持续推动社会智能化和可持续发展。
255 2
|
2月前
|
机器学习/深度学习 Python
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
神经网络剪枝是一种通过移除不重要的权重来减小模型大小并提高效率的技术,同时尽量保持模型性能。
63 0
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
|
2月前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
|
3月前
|
传感器 监控 物联网
无线传感器网络的基本架构及其广泛应用
无线传感器网络的基本架构及其广泛应用
290 0
|
5月前
|
传感器 算法
基于无线传感器网络的MCKP-MMF算法matlab仿真
MCKP-MMF算法是一种启发式流量估计方法,用于寻找无线传感器网络的局部最优解。它从最小配置开始,逐步优化部分解,调整访问点的状态。算法处理访问点的动态影响半径,根据带宽需求调整,以避免拥塞。在MATLAB 2022a中进行了仿真,显示了访问点半径请求变化和代价函数随时间的演变。算法分两阶段:慢启动阶段识别瓶颈并重设半径,随后进入周期性调整阶段,追求最大最小公平性。
基于无线传感器网络的MCKP-MMF算法matlab仿真
|
4月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
6月前
|
传感器 监控 算法
【计算巢】无线传感器网络(WSN)在智能城市中的应用
【6月更文挑战第3天】智能城市中的无线传感器网络(WSN)在交通监控、环境监测、能源管理和公共安全等领域发挥关键作用。通过模拟代码展示了传感器收集环境数据的过程。尽管面临部署成本、网络安全和数据处理挑战,但WSN为城市发展带来巨大潜力,随着技术进步,将在智能城市中创造更多便利与改善。
97 3
【计算巢】无线传感器网络(WSN)在智能城市中的应用
|
5月前
|
传感器 监控 算法
基于虚拟力优化的无线传感器网络覆盖率matlab仿真
**摘要:** 本文探讨了基于虚拟力优化提升无线传感器网络(WSNs)覆盖率的方法。通过在MATLAB2022a中仿真,显示了优化前后网络覆盖率对比及收敛曲线。虚拟力优化算法模拟物理力,以优化传感器节点布局,防止重叠并吸引至目标区域,同时考虑墙壁碰撞。覆盖计算利用平面扫描法评估圆形和正方形传感器的覆盖范围。算法通过迭代优化网络性能,以提高WSNs的监控能力。
|
6月前
|
Docker 容器
docker network inspect 查询出来的网络的创建命令是什么
【6月更文挑战第17天】docker network inspect 查询出来的网络的创建命令是什么
88 1
|
6月前
|
监控 网络协议 Ubuntu
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
1119 1