android wifi aware,WifiAware实现及协议模型

一 协议介绍

wifiAware即Neighbor Awareness Networking(NAN), 为wifi联盟基于802.11协议之上定制的相邻设备发现协议.

104164ff28c8c5cce3defde98489a924.png

以上为一个标准的NAN集合, 集合内部包含了若干已经关联的设备.(这里的关联不是指wifi AP-STA的那种关联, 仅是构建一个基本集合, 并没有association request/response).

为了以高能效不断地执行发现功能,Wi-Fi Aware 吸取了与低占空比“介质访问控制(Medium Access Control,简称MAC)”协议和自适应集群有关的工作成果。Wi-Fi Aware 通过协议建立公共“时钟”,以保持所有节点都接受相同的时间调度,因此降低了能耗,同时该技术还有足够强的应对变化的能力,即使某个设备移动到可及范围以外,也能保持群组不受影响。简而言之, 就好像是将组内的成员定期聚集聚集到一次开会并同步信息, 只不过cluster内同步的信息简洁, 会议的时间也只不过几十上百毫秒.

Wi-Fi Aware 设备无需通过 Wi-Fi 接入点(AP),就可自主检测、提醒和连接其他设备。Wi-Fi Aware 应用可以配置为,提醒用户,附近有运行相同应用的设备。发现功能可以基于距离等各种参数执行,例如,当另一个运行相同应用的设备距离不到 10 英尺(约 3.048 米)远时,提醒用户。应用也可以配置为,建立与另一个设备点对点的安全数据连接,以进行应用数据交换。

Wifiaware不影响设备使用P2P或STA功能.

二 设备发现和加入

(1)发现

根据协议介绍, 设备发现为被动的接收已经存在的cluster定期发布的beacon来加入已经存在的cluster. 同时为了节省信道资源, Beacon discovery仅仅在6ch发送. 5G信道为wifiaware中的可选操作, 当工作在5G信道时, 低频扫描信道固定为44ch, 高频扫描固定为149信道, 低频高频都支持的设备, 扫描固定在149ch. 此外, 协议规定, 不仅Beacon可以作为让NAN device发现cluster的信标帧, 包含NAN信息的probe response也可以让NAN device发现cluster. (Probe response在什么场景下发送, 协议中没有明确的规定).

这里有一个问题, 想要加入一个cluster的NAN device可以通过接收Beacon discovery来加入cluster. 如果当前环境中没有任何cluster存在, 岂不是存在所有NAN device一直处于被动扫描状态? 这一点协议中提供了将两个cluster合并的操作和单个设备创建cluster的实现, 如下

协议中隐晦的表明, 当一个NAN设备准备加入一个cluster中时, 会进行被动扫描且可能创建一个cluster. (当时读协议的时候纠

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值