前言

相像一下,走在商场里,看到一家没吃过的新店,拿出手机,就能收到店家的菜单,然后再决定要不要进去。

走在博物馆里,看到一件文物,很好奇这是什么,但是周围又没有向导,这时候如果只要掏出手机,就会跳出简介。

地铁里,为了打发时间,但是信号又不好,这时候想找个陌生人抱怨一下,掏出手机,随手发条消息,只要静静等待有缘人的回复....

这就是Wi-Fi的感知技术,让Wi-Fi可以发现周围的“同类”,集自由组网,数据传输和测距于一身的Wi-Fi Aware技术。

Wi-Fi Aware 发展史

Wi-Fi Aware又名 Neighbor Awareness Networking(NAN),业内大多数人更喜欢用NAN来称呼他。从2015年协议第一版至今,总共经历了三个大版本,5个版本的迭代,发展到了如今的3.2版本,发展历程如下图所示:

NAN milestone​

第一版NAN协议定下了NAN的三大功能,组网,数据链路建立和测距。此后的版本升级都是围绕着这三大功能中的某部一份进行着完善。

2017年第二版NAN协议增加了对数据链路的加密保护,允许建立加密的数据链路进行数据传输。

2018年在V3.0版本中又增加了建立IPv6数据链路和使用BLE来进行service的发现操作。

2020年1月在V3.1版本中补充了相关的NFC操作,方便双方进行秘钥的协商操作。

下面我们先根据NAN的三大主体功能介绍一些相关的概念和名词,后续再根据这三大功能分别展开。

NAN的自由组网

NAN的组网不同于我们熟悉的Wi-Fi组网,在NAN的网络中,没有STA和AP的概念,大家只要加入到同一个集群中那就是同属于同一个网络。这里先引出第一个概念NAN的集群,NAN Cluster。

在一个NAN集群中,会存在1个NAN Master和0~n个普通NAN设备。但是NAN Master并不同于Wi-Fi网络中的AP,其他NAN设备并不需要跟NAN Master建立连接。NAN Master的主要责任是负责向外界广播NAN集群的存在。宣传的方法就是广播NAN的beacon帧。

每个NAN Cluster都有自己的一个ID,这个ID是从 50:6F:9A:01:00:00~50:6F:9A:01:FF:FF中随机生成的。发送属于这个集群的所有帧的A3地址位都需要使用这个ID用于表明自己所属的集群。

对于加入一个集群的过程也很简单,只要遇到最高CG(Cluster Grade)的集群就无条件加入到该集群中去。

由于NAN的集群是间歇性工作的,每隔一段时间才醒来进行集群信息的同步,所以大家需要遵循其中某一个设备的时钟来方便大家的同时唤醒,而这个负责维护集群时钟的设备则被称为锚设备(Anchor Master),而大家一起醒来同步时钟的这个时间段则被称为Discovery Window。

在一个集群里的设备可以发布自己的服务,也可以订阅别人的服务,发布服务的一方叫做Publisher,订阅服务的一方则称之为Subscriber。完成了服务的发布和订阅后双方才算建立了真正的联系。接下来我们来总结一下在组网过程中提到的概念。

NAN数据链路的建立

当需要进行类似图片或者文件的传输时,这时候就需要建立NAN的Data Path也就是数据链路了。这里需要先介绍几个和数据链路相关的概念:

首先是NAN Manager Interface(NMI)说的直白点这就是一个MAC地址,但是NAN所有和管理相关的操作都是通过这个MAC地址发出的,例如建立通信数据链路,测速。

接下来是NAN Data Interface(NDI)这又是另一个MAC地址,当通讯数据链路建立好后,将会使用这个MAC地址完成数据通信工作。

再接着是NAN Data Path(NDP)用于表示两个NAN设备之间建立的一条数据链路。

然后是NAN Data Link(NDL),由于两个NAN设备之间可能存在多个服务队,每个服务队之间可能有不同的NDP,但是这两个NAN设备是唯一的,所以NDL泛指两个NAN设备之间建立的NDP的集合。

最后则是NAN Data Cluster,指的是NDL的集合。

用一组关系图来表示则可以如下:

在协议的最初版本,建立的数据链路都是采用open的方式,即不加密传输。到了协议的第二版本则引入了NAN的加密传输,也就是在建立NDP的时候像正常的Wi-Fi一样,通过4次握手的过程协商出一套用于后续数据通信的加密秘钥。这个过程称为NAN对等加密协商。在后续的文章里我们将慢慢展开如何协商NAN的加密秘钥,已经如何用NFC进行密码的生成。

NAN的测距

作为NAN网络三大功能之一的测距,其实相对简单,即利用RTT算法进行时间往返计算,最后取平均值后得到两个NAN设备之间的距离。

总结

作为Wi-Fi联盟推出的一项Wi-Fi标准,不知道是限于没有好的应用还是大家不熟悉,不论是在国内还是国外都很少被提及,尤其是在国内,个人感觉还是挺可惜的,后续会抽时间按照NAN的三大功能展开,争取解释清楚NAN协议的内容,方便在以后的开发时,能让更多工程师不至于因为协议不清楚而错失一个好的选项。

参考:【1】Wi-Fi Aware Speciation V3.2

【2】Wi-Fi Aware | Wi-Fi Alliance

【3】iBeacon的强劲对手:Wifi Aware 你了解吗?

Wi-Fi Aware -- 用Wi-Fi来发现世界相关推荐

  1. 离开大公司,我才发现世界多残酷

    本文作者木沐,清华大学MBA,大型跨国企业高管,专注于职场和个人成长领域的研究和实战经验分享.转载自微信公众号"职场木沐说"(id: mumushuo2017). 朋友阿虹的父亲去 ...

  2. 双基因突变患者_宁夏发现世界首例双基因突变病例 患者矮小

    如果你看过<纳尼亚传奇>,一定会对里面的矮人印象深刻.他们虽然个头不高,却踏实能干.忠诚可靠.在我们的生活中,也有这么一个"矮人家庭".这一家的两个孩子,老大虽然已经1 ...

  3. 澳大利亚发现世界首批杂交鲨鱼

    国际在线专稿:据英国<每日电讯报>1月3日报道,澳大利亚科学家日前在澳大利亚东部海岸附近发现了57条杂交鲨鱼.这是世界上首次发现杂交鲨鱼,它们可能是全球变暖的产物. 澳大利亚科学家在新南威 ...

  4. eeGeo的Recce地图-----换个方式发现世界

        什么是Reece 地图的用途大概分为两种:一,它可以用来导航.查询公交信息:二,它可以帮你发现城市的每个角落,就像Google 卫星地图和街景地图所做的那样.创业公司eeGeo派驻在硅谷的代表 ...

  5. 计算机考古:发现世界上最古老的用户手册

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...

  6. 这世界就是,一些人总在昼夜不停地运转,而另外一些人,起床就发现世界已经变了。...

    2019独角兽企业重金招聘Python工程师标准>>> 有些人出生就含着金钥匙,有些人出生连爸妈都没有,人生跟人生是没有可比性的,我们的人生是怎么样,完全决定于自己的感受.你一辈子都 ...

  7. SAP FI模块与SD、MM的接口配置基本方法

    1 FI/SD 借口配置 FI/SD通过tcode VKOA为billing设置过帐科目,用户可以创建自己的科目定义数据表. 科目是做到COA级的,通过KOFI/KOFK这两个condition ty ...

  8. FI:物料分类账分析

    FI:物料分类账分析 (2012-05-08 14:20:55) 转载▼ 标签: 物料分类账 标准成本 杂谈 分类: SAPFI 物料分类账分析 物料分类帐我将分为3块来讲,分别为: 背景分析& ...

  9. 关于citrix 负载及WI的一些问题

    关于citrix 负载及WI的一些问题. 现在的情况是 用户访问APP1上的应用是正常的.但是APP1上的负载一大,去访问APP2时,就访问不了.我看了一下,用户这时的访问地址已经变成http://a ...

最新文章

  1. NAR:浙大陈云/马忠华团队揭示病原真菌组蛋白H3K27甲基化识别新机制
  2. 有赞统一日志平台初探
  3. Microtransactions
  4. matplotlib绘制混淆矩阵_混淆矩阵及其可视化
  5. 快速傅里叶变换(FFT)——按时间抽取DIT的基
  6. DIN+DIEN,机器学习唯一指定涨点技Attention
  7. 解决Pycharm中import时无法识别自己写的程序(转载)
  8. Jupyter notebook实现远程登陆
  9. 6.Python学习笔记:[enumerate元素加序号;isdigit()像数字;len()计算长度]
  10. wpf之MEF+MVVM结合
  11. SQL Server 2005 中行号的显示,分页
  12. codeforces 460C - Present 二分加模拟
  13. linux识别不了搜狗安装包,为啥安装使用搜狗拼音不成功?
  14. java报告模板_JAVA报告模板.doc
  15. 官宣,港珠澳大桥终于来了
  16. 图卷积神经网络(GCN)相关应用
  17. 使用css让div半透明
  18. css实现剪切蒙版,CSS3“蒙版(剪切路径)”: clip-path
  19. 给JavaScript 初心者的ES2015 实战
  20. APP爬虫之央视新闻

热门文章

  1. 阿里巴巴系统架构首次曝光
  2. 微软Windows多媒体技术介绍
  3. Luckysheet(excel)引入chartMix的问题
  4. 2018版CAD已推出,功能强大到你不可想象!
  5. mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this ope
  6. 学会这些Excel技巧
  7. 《怎样在股市获得稳健收益》精品课笔记
  8. 《BangDream》:从乐队企划到音乐游戏
  9. 飞凌嵌入式RK3399开发板使用过程中问题实录及解决思路
  10. 汽车行业报告汇总(附下载)