嵌入式WiFi串口WiFi联网过程协议详解.docx

嵌入式WiFi串口WiFi联网过程协议详解.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串口透传WiFi联网过程协议描述 目前,在嵌入式领域,智能家居、智能工业、智能公交等等控制中,WiFi已经成为了一种普遍被采用的技术。 笔者常年在嵌入式WiFi行业做一线技术开发。本文主要从协议层面描述的是一个串口WiFi模块加电到联网过程中所经历的过程。 本文以SimpleWiFi的S2W-M02为例,通过Commviewforwifi抓包工具描述串口WiFi的联网过程: 第一步:设备上电,WiFi模块发起扫描过程: 在此过程以前,通常已经将需要连接的无线路由器的名称(ssid)和密码已经通过其他方式设置到了模块里面。比方说S2W-M02是通过web网页的方式或者AT指令的方式已经将ssid和密码设置到了模块中。模块上电后将发起扫描动作(探测请求数据帧)。通常这一过程在WiFi联网过程中称之为主动扫描(相对应的被动扫描请查阅相关文档)。 探测请求帧(PROBE REQ)数据协议如下: 通过上图红圈1中,我们可以清楚的看到。S2W-M02发起了一个类型(Type-0 subtype-4)为探测请求的数据帧。该数据即为模块的扫描请求数据帧。该帧目的地址为广播地址(如上图2中所示,FFFFFFFFFFFF),也就是说环境中所有的WiFi热点都会接收到该数据帧。从抓包数据中我们看出SimpleWiFi发起的探测请求帧中的含有设置过的热点的名称。这样可以减少热点发送的探测响应帧的数量。 无线路由器在收到探测请求帧后,将对比自己的SSID。如果SSID与自己SSID相同,那么将回应探测相应帧给终端(S2W-M02)。如下图所示,思科无线路由器回应探测相应帧给SimpleWiFi模块。 从上图,我可以看出。无线路由器给S2WM02模块(红色部分为数据的地址信息)。 第二步:模块收到路由器信息后,发起鉴权请求过程 SimpleWiFi模块在收到路由器的探测相应数据后,将解析路由器的信息。包括路由器的capability信息。比方说HT信息域,此信息域代表无线路由器所支持的一些功能的信息。模块收到该信息后,设置相关的寄存器(比方说,信道、加密方式、支持的速率、11N的相关信息),以便来适应该无线路由器。 设置参数后,S2W-M02模块将发起鉴权请求帧(具体数据帧格式见802.11协议)。该数据帧如下图所示: 我们从上图可以看出:SimpleWiFi模块发起了鉴权数据帧给无线路由器(Type-0 Subtype-11),该数据帧含有鉴权的类型(open方式还是共享秘钥方式)。该数据帧是模块发给无线路由器的一个单播数据。 路由器在收到鉴权请求数据的时候,将根据鉴权类型回应鉴权相应帧给终端(S2W-M02)。改数据帧中包含鉴权结果。如下图所示: 上图1红圈处我可以看出数据类型,上图2红圈处我们可以看到数据发送方向(发起方为无线路由器,接收端为S2W-M02模块)。上图3红圈处代表鉴权结果。 如果无线路由器采用的是WEP64或者WEP128的共享秘钥的加密方式的话,鉴权过程分为4步。这2种方式的加密,现在很少有人使用。可以参考802.11协议栈了解相关的信息,该文档就不做描述了。 第三步:鉴权成功后,模块发起关联过程 在SimpleWiFi模块收到成功的鉴权结果后。模块将发起关联Association过程。该过程主要是告诉无线路由器,模块所支持的一些功能信息(比方说采用的加密方式)。同时,在关联相应数据帧中,无线路由器也将通知模块关联结果等信息。关联相应帧中有很多信息与第一步中的探测响应帧一样,都是代表无线路由器所支持的功能。 模块发起的关联请求数据帧,如下图所示: 上图1红圈处我可以看出数据类型,上图2红圈处我们可以看到数据发送方向(发起方为SimpleWiFi模块,接收端为无线路由器)。该数据中包括模块的capability,以及将要使用的加密方式等等,详细的数据域可以参照802.11协议。 无线路由器在接收到关联请求帧后,将根据自身的情况(是否支持该加密方式、是否支持模块的特殊功能)将生成关联相应帧,关联相应帧体中含有关联的结果。如下图所示: 上图1红圈处我可以看出数据类型,上图2红圈处我们可以看到数据发送方向(发起方为无线路由器,接收端为SimpleWiFi模块)。上图3红圈处有关联的结果显示。 至此,模块与无线路由器的802.11的鉴权和关联步骤已经完成。通过关联的结果,我们可以查看模块使用过程中的一些问题。比方说,路由器的加密方式不支持、以及模块和无线路由器是否支持QOS功能等。 接下来,模块与无线路由器将进行秘钥协商阶段。不同的加密方式秘钥协商的过程有些区别。如果采用WPA或者WPA2相关的加密方式的话。我们从抓包过程可以看见EAPOL过程即我们通常所说的4步握手过程。秘钥协议分为单播秘钥协商和广播秘钥

文档评论(0)

jyr0221 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档