支持的芯片

Wi-Fi NAN 概述

Wi-Fi Aware,也称为 NAN (Neighbor Awareness Networking) 协议,是一项由 Wi-Fi 联盟认证的技术标准。 它允许支持该功能的设备在不依赖于传统的网络基础设施、互联网连接或 GPS 信号的情况下,快速发现、连接并与其他 Wi-Fi 设备交换数据。 与传统的 Wi-Fi 直连(Wi-Fi Direct)相比,NAN 在设备发现阶段功耗更低、效率更高,适合需要持续感知周围环境的应用场景。 这使得一系列创新的点对点(P2P)应用成为可能,例如:

  • 社交应用:查找附近有共同兴趣的朋友或加入一个本地游戏。

  • 信息共享:在会议室里快速分享文件给所有与会者。

  • 本地服务:在商场里接收附近商家的优惠券,或在博物馆里获取关于展品的详细介绍。

Wi-Fi NAN 的高效与低功耗特性,得益于其独特的工作机制,主要包括 NAN 集群、服务发布/订阅模型以及数据链路的建立。

NAN 集群

多个邻近的 NAN 设备可以自动组成一个 NAN 集群 (NAN Cluster) ,集群中的设备能够相互通信。在集群内部,设备共享一套共同的时间信标以进行同步。

设备不会一直保持唤醒状态,而是遵循一个严格的同步时钟,仅在被称为发现窗口 (Discovery Window, DW) 的极短时间片内被唤醒。 在 DW 期间,设备可以广播自己的服务或侦听来自其他设备的服务。在其余绝大部分时间里,设备都处于低功耗的休眠状态。 这种同步休眠/唤醒机制是 NAN 实现低功耗的关键,它避免了传统 Wi-Fi 为了发现彼此而需要持续扫描所带来的较大电量消耗。

../../_images/nan_cluster.png

Wi-Fi NAN 集群

服务发布/订阅模型

Wi-Fi NAN 采用了一种高效的发布/订阅 (Publish/Subscribe) 模型进行服务发现:

  • 发布服务 (Publish): 设备可以作为发布者向集群广播它所能提供的服务。

  • 订阅服务 (Subscribe): 其他设备(订阅者)则侦听它们感兴趣的特定服务。

  • 服务发现 (Discovery): 当订阅者在发现窗口期间侦听到匹配其订阅请求的发布消息时,则成功订阅服务。

建立数据链路 (NAN Data Path)

一旦服务订阅成功,两个设备之间就可以选择建立一个 NAN 数据链路 (NAN Data Path, NDP)。这是一个基于 Wi-Fi 的点对点直连链路,具有以下特点:

  • 高带宽: 利用 Wi-Fi 的高速率进行数据传输。

  • 低延迟: 直接连接,无需通过 AP 中转。

  • 安全性: 可以使用 WPA2 安全标准对数据链路进行加密。

NDP 建立后,设备就可以进行文件传输、视频串流、实时游戏等需要高带宽和低延迟的交互。

参考资料

Wi-Fi NAN 特性支持

Realtek 设备对 Wi-Fi NAN 协议提供了全面的支持,能够作为 NAN 网络中的任何角色运行。具体支持能力如下:

  • 核心功能支持

    • 创建 NAN 集群: 当周围没有可用的 NAN 网络时,设备能够主动初始化一个新的 NAN 集群,并承担主节点 (Master) 的角色,负责广播同步信标,为其他设备的加入提供基础。

    • 加入 NAN 集群: 设备能够自动扫描并发现附近已经存在的 NAN 集群,并与之同步时钟,无缝融入现有的邻近感知网络中,与其他设备进行服务发现。

    • 发布服务: 设备可以广播(发布)一个或多个服务,让周边设备发现。

    • 订阅服务: 设备可以订阅(搜索)特定的服务,并发现提供这些服务的设备。

    • 建立数据链路: 设备间可以建立开放或加密的 NAN 数据链路,并协商时间窗口以进行点对点数据交换。

  • NAN 安全性支持

    • 支持设备间建立加密的数据路径。基于 WPA2 AES 加密方式对单播数据帧进行保护。

    • 支持 NAN 配对 (NAN Pairing) 进行设备间安全身份认证、密钥协商、分发与管理。

    • 支持使用 GTK & IGTK 进行管理帧保护与多播数据帧保护。

    • 支持使用 BIGTK 进行信标帧保护 (Beacon Protection)。

  • 主要特性

    • 高带宽、低延迟的数据传输: 基于 Wi-Fi 技术,确保数据交换的性能。

    • 安全连接: 在 Wi-Fi 层对已配对设备间的连接进行认证与加密。

    • 多连接能力:支持与多个 Wi-Fi NAN 设备同时建立连接。

    • 网络并发:支持 Wi-Fi NAN 功能与传统 Wi-Fi 网络( STA 模式 或 SoftAP 模式)并发使用,互不影响。

    • 稳健的拓扑结构:采用完全的点对点拓扑,单个节点的加入或离开不会中断其他节点间的现有连接。

Wi-Fi NAN 移植指南

Realtek Wi-Fi NAN 功能支持 Linux Host, Wi-Fi 网卡模式 S2H (WHC 典型模式), 或 RTL8730E Linux。

Device 驱动移植参考 Wi-Fi 网卡模式 Device 驱动移植,Host 驱动移植参考 Wi-Fi 网卡模式 Host 驱动移植 中 Linux 部分。

Wi-Fi NAN 使用指南

Realtek NAN utility 是一款用户空间工具,它结合了开源 iw 库和其他专有库,旨在为 Wi-Fi NAN 操作提供直观的方式。 该工具提供了三种控制 NAN 设备的方法:

  • 测试脚本:nan_test.sh 是一个用于发出 iw/vendor 命令并接收相应事件的 NAN 测试脚本。

  • Realtek 演示应用程序:rtw_aware 是一个通过共享库控制 NAN 设备的应用程序;本文档介绍了更多详细信息。

  • 共享库:用户可以通过共享库中导出的 API 和事件通知开发自己的 Wi-Fi NAN 应用程序。

../../_images/nan_utility_components.png

Wi-Fi NAN Utility 架构