第二十六篇 -- wifi学习
参考网址:https://blog.csdn.net/zwl1584671413/article/details/77936950
https://blog.csdn.net/Righthek/article/details/39347917
WIFI是遵循IEEE802.11协议
WIFI网络结构,主要介绍涉及智能家居无线网络这块的组成元件:
1、站点STA(Station):所谓的站点,是指具有WIFI通信功能的,并且连接到无线网络中的终端设备。如手机、平板电脑、笔记本电脑等。
2、接入点AP(Access Point):也可称为基站。就是我们平常所说的WIFI热点,更通俗一点,就是我们家里的无线路由器。当我们需要从互联网上获取数据到手机上显示时,接入点就相当于一个转发器,将互联网上其他服务器上的数据转发给我们的手机。同时,接入点也属于站点的一种。
3、基本服务器集BSS(Basic Service Set):基本服务器集的组成情况有两种:a. 由一个接入点和若干个站点组成;b. 由若干个站点组成,最少两个。为什么这么分呢?主要和802.11网络类型有关。有接入点的,称为基础结构型基本服务集(infrastructure BSS);无接入点的,称为独立型基本服务集(Independent BSS,简称IBSS),IBSS也有其它的叫法,称为Ad Hoc Network。
4、服务集识别码SSID(Service Set IDentifier):当我们去一个新地方的时候,开口第一句就是:“请问WIFI账号和密码是多少?”,这里的WIFI账号就是SSID。SSID是通过接入点广播出来了。同时,我们在设置无线路由器时,可修改SSIDD的名称。
5、分布式系统DS(Distribution System):也称为传输系统。它通过基站将多个基本服务器连接起来。而DS属于802.11的逻辑元件,当帧(frame)传送至分布式系统时,随即会被送至正确的基站,而后由基站转送至目的站点STA。分布式系统必须负责追踪站点STA实际的位置,以及帧的传送。若要传送帧给某部移动式站点STA,分布式系统时基站间转送帧的骨干网络,通常称为骨干网络(backbone network)。
6、扩展服务集ESS(Extented Service Set):由一个或者多个基本服务集通过分布式系统串连在一起就构成了ESS。通过ESS,可以扩展无线网络的覆盖范围。
7、门桥(Portal):802.11定义的新名词,作用就相当于网桥。用于将无线局域网和有线局域网或者其他网络联系起来。所有来自非802.11局域网的数据都要通过门桥才能进入IEEE 802.11的网络结构。门桥可以使这两种类型的网络实现逻辑上的综合。
WIFI网络架构图:
网络类型,网络类型主要在BSS中进行分类,如上面提到的独立型基本服务集(Independent BSS)和基础结构型基本服务集(Infrastructure BSS)。
1、独立型基本服务集
在IBSS中,每个站点不需要通过接入点AP就可以与相同IBSS下的任何其他站点彼此建立通信。两者间的距离必须可以在可以直接通信的范围内。通常,IBSS是由少数几部工作站针对特定目的而组成的临时性网络,最低限度的IBSS,是由两个站点组成的。IBSS有时被称为特设网络(ad hoc network)。
2、基础结构型基本服务集
判断是否为基础结构型网络,只要检视是否有基站参与其中。基站负责基础结构型网络所有的传输,包括同一服务区域中所有行动节点之间的通信。位于基础结构型基本服务集的移动式站点,如有必要跟其他移动式站点通信,必须经过两个步骤。首先,由开始对话的站点将帧传递给基站。其次,由基站将此帧转送至目的站点。既然所有通信都必须经过基站,基础结构型网络锁对应的基本服务区域就相当于基站的传送范围。虽然这种做法比直接传送资源耗费较多的资源,不过它有两个主要的优点。
优点:
1. 基础结构型基本服务集被界定在基站的传输范围。所有移动式站点都必须位于基站的传输范围之内,不过移动式站点之间的距离则无限制。允许移动式站点彼此直接通信虽然可以省下一些频宽,不过代价是相对提高了物理层的复杂度,因为每个站点都必须维护与服务区域中其他站点的邻接关系。
2. 基站在基础结构型网络里的作用是协助站点节省电力。基站乐意记住有哪些站点处于省电状态,并且为之暂存帧,以电池供电的工作站可以关闭无线收发器,只有在传输或接收来自基站的暂存帧时才会加以开启。
由于WIFI网络具有移动性,同时WIFI以无线电波作为传输媒介,这种媒介本质上是开放的,且容易被拦截,任何人都可以通过抓包工具截取无线网络的数据包。因此,在设计WIFI协议(其实就是802.11协议)时,需要提供一些传输数据和管理的服务。
1、分布式(Distribution)
只要基础结构型网络里的移动式站点传送任何数据,就会使用这项服务。一旦基站接收到帧,就会使用分布式服务将帧送至目的地。任何行径基站的通信都会通过分布式服务,包括连接至同一部基站的两部移动式站点彼此通信时。
2、整合(Intergration)
整合服务由分布式系统提供,它让分布式系统得以连接至非IEEE 802.11网络。整合功能将因所使用的分布式系统而异,因此除了必粗提供的服务,802.11并未加以规范。
3、关联(Association)
之所以能够将帧传递给移动式站点,是因为移动式站点会向基站登记,或与基站产生关联。关联之后,分布式系统即可根据这些登录信息判定哪个移动式站点该使用哪个基站。如果使用强健安全网络协议(robust security network protocol),连接之后才能进行身份认证。在身份认证完成之前,基站会将丢弃来自站点的所有数据。
4、重新关联(Reassociation)
当移动式站点在同一个扩展服务区域例的基本服务区域之间移动时,它必须随时评估信号的强度,并在必要时切换所连接的接入点。重新关联是由移动式站点所发起,当信号强度显示最好切换关联对象时便会如此做。接入点不可能直接开启重新关联服务。
一旦完成重新关联,分布式系统会更新站点的位置记录,以反映出可通过哪个基站连络上站点。和连接服务一样,在强健安全网络中,除非已经成功完成身份认证,否则来自站点的数据均会被弃置。
5、解除关联(Disassociation)
要结束现有关联,站点可以利用解除关联服务。当站点启动解除关联服务时,储存于分布式系统的关联数据会随即被移除。一旦解除关联,站点即不再附接在网络上。在站点的关机过程中,解除关联是个礼貌性的动作,不过MAC在设计时已经考虑到站点未正式解除关联的情况。
6、身份认证(Authentication)
实体安全防护在有线局域网络安全解决方案中是不可或缺的一部分。网络和连接点(attachment point)受到限制,通常只有位于外围访问控制设备(perimeter access control device)之后的办公区才能加以访问。网络设备可以通过加锁的配线柜(locked wiring closet)加以保护,因此必须依赖额外的身份认证程序,以保护访问网络的用户已获得授权。身份认证是关联的必要前提,唯有经过身份认证的用户才语序使用网络。
站点与无线网络连接的过程中,可能必须经过多次身份认证。在关联之前,站点会先以本身的MAC地址来跟基站进行基本的身份认证。此时的身份认证,通常称为802.11身份认证,有别于后续所进行、牢靠而经过加密的用户身份认证。
7、解除认证(Deauthentication)
解除认证用来终结一段认证关系。因为获准使用网络之前必须经过身份认证,解除认证的副作用就是终止目前的关联。在强健安全网络中,解除认证也会清除密钥信息。
8、机密性(Confidentiality)
在有线局域网络中,坚固的实体控制可以防止对于数据的绝大部分攻击。攻击者必须能够实际访问网络媒介,才有可能窥视往来的内容。在有线网络中国,网线与其他计算资源一样,也要受到实体保护。在设计上,实际访问无线网络,相对而言较为容易,只要使用正确的天线与调制方式就办得到。
802.11初次改版时,机密性(confidentiality)服务原本称为私密性(privacy)服务,而且是由目前已经毫无可信度的有线等效机密(Wired Equivalent Privacy,简称WEP)协议所提供。除了新的加密机制,802.11i另外提供了两种WEP无法解决的关键服务来加强机密性服务,亦即基于用户的身份认证(user-based authentication)以及密钥管理服务。
9、MSDU传递
一个网络如果无法传递数据给接收端,大概也没有什么用。工作站所提供的MSDU(全名为MAC Service Data Unit)传递服务,负责将数据传送给实际的接收端。
10、传输功率控制(TransmitPower Control,简称TPC)
TPC是在802.11h中定义的新服务。欧洲标准要求操作于5GHz频段的站点必须能够控制电波的传输功率,避免干扰其他同样使用5 GHz频段的用户。传输功率控制也有助于避免干扰其他无线局域网络。传输距离是传输功率的函数:站点的传输功率愈高,传输距离就愈远,也就愈容易干扰邻近的网络。如果可以将传输功率调到“刚刚好”(just right),就可以避免干扰到邻近的站点。
11、动态频率选择(Dynamic Frequency Selection,简称DFS)
某些雷达系统的作业范围位于5GHz频段。因此,有些管制当局强制要求无线局域网络必须能够检测雷达系统,以及选择未被雷达系统所使用的频率。有些管制当局甚至要求无线局域网络必须能够均衡使用(uniform use)5GHz频段,因此网络必须具备重新配置频道(re-map channels)的能力。
最后,说一下用C++代码怎么连接wifi,有一篇很好的文章,试了第一部分,是OK的,链接:https://www.jb51.net/article/81199.htm
今天在写wifi连接传输问题的时候,会用到两个头文件
#include <WinSock2.h>
#include "wlanapi.h"
提醒一下,一定要注意两个的顺序,WinSock2.h一定要在wlanapi的前面,不然编译会一直报错,并且如果要引用windows.h的话,那么最好在WinSock2.h的后面。今天被这个问题搞了半天,各种尝试,主要引入的文件有点多,排列组合有点麻烦,人都晕了,一定一定要注意头文件的顺序。
第二十六篇 -- wifi学习的更多相关文章
- 第二十六篇 jQuery 学习8 遍历-父亲兄弟子孙元素
jQuery 学习8 遍历-父亲兄弟子孙元素 jQuery遍历,可以理解为“移动”,使用“移动”还获取其他的元素. 什么意思呢?老师举一个例子: 班上30位同学,我是新来负责教这个班学生的老师 ...
- 第二十五篇 jQuery 学习7 获取并设置 CSS 类
jQuery 学习7 获取并设置 CSS 类 jQuery动态控制页面,那么什么是动态呢?我们就说一下静态,静态几乎又纯html+css完成,就是刷新页面之后,不会再出现什么变动,一个实打实的静态 ...
- 第二十四篇 jQuery 学习6 删除元素
jQuery 学习6 删除元素 上节课我们做了添加元素,模拟的是楼主发的文章,路人评论,那么同学们这节课学了删除之后,去之前的代码上添加一个删除,模拟一个楼主删除路人的评论. jQuery的删除方 ...
- 第二十二篇 jQuery 学习4 内容和属性
jQuery 内容和属性 这节课,我们学习使用jQuery来控制元素的内容.值和属性. html() 控制所选元素的内容(包括HTML标记): text() 控制所选元素的内容: val() ...
- 第二十六篇:两个SOUI新控件 ---- SListView和SComboView(借用Andorid的设计)
SOUI原来实现的SListBoxEx的效率一直是我对SOUI不太满意的地方.包括后来网友实现的SListCtrlEx. 这类控件为每一个列表项创建一个SWindow来容纳数据,当数据量比较大(100 ...
- 第二十六篇-单击事件、Toast(提示框信息)
单击事件有3种方法: 第一种: layout.xml <?xml version="1.0" encoding="utf-8"?> <Line ...
- Python之路(第二十六篇) 面向对象进阶:内置方法
一.__getattribute__ object.__getattribute__(self, name) 无条件被调用,通过实例访问属性.如果class中定义了__getattr__(),则__g ...
- SpringBoot非官方教程 | 第二十六篇: sprinboot整合elk,搭建实时日志平台
转载请标明出处: 原文首发于https://www.fangzhipeng.com/springboot/2017/07/11/sprinboot25-elk/ 本文出自方志朋的博客 这篇文章主要介绍 ...
- 第二十四篇 -- Cache学习
Cache存储器 电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic Random Access Memory)之间,规模较小,但速度很高的存储器,通常由SRAM(Static R ...
随机推荐
- 【逆向实战】ES文件浏览器未授权访问漏洞(CVE-2019-6447)具体分析及利用
/作者:Kali_MG1937 CSDN博客号:ALDYS4 QQ:3496925334 未经许可,禁止转载/ 漏洞简介 CVE-2019-6447是Android端上的一个知名软件:ES文件浏览器的 ...
- NX二次开发-通过3x3矩阵获取XYZ轴矢量
函数:UF_CSYS_ask_wcs() 函数说明:通过3x3矩阵获取XYZ轴矢量 用法: 1 #include <uf.h> 2 #include <uf_mtx.h> 3 ...
- 有效Ajax案例
<script>$(document).ready(function(){ $("input:submit").click(function(){ $.ajax({ t ...
- bzoj2839 集合计数(容斥+组合)
集合计数 内存限制:128 MiB 时间限制:1000 ms 标准输入输出 题目描述 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 ...
- DOS命令行(8)——netsh-网络配置命令行工具
netsh 介绍与语法 netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具,可用来显示与修改当前正在运行的计算机的网络配置(如:IP地址.网关.D ...
- 透彻理解USB总线应用之枚举
Hello,大家好,今天我们来讨论一下USB总线中的枚举(Enumeration),首先简单介绍一下USB系统的基本架构,它由USB主机.USB设备与USB电缆(本文忽略它)组成,如下图所示: 最常见 ...
- kubernetes源码解析---- apiserver路由构建解析(2)
kubernetes源码解析---- apiserver路由构建解析(2) 上文主要对go-restful这个包进行了简单的介绍,下面我们通过阅读代码来理解apiserver路由的详细构建过程. (k ...
- 24、配置Oracle下sqlplus历史命令的回调功能
24.1.前言: 1.在oracle服务器上使用默认的sqlplus写sql命令时,如果写错了一个字母需要修改时,是无法通过 退格键消除错误的字母的,只能另起一行,重新写sql语句,而且也不能通过键盘 ...
- uniapp 微信小程序 打开文件
uni.downloadFile({ url: item.url, success: (res) => { if (res.statusCode === 200) { uni.openDocum ...
- layui comfirm 监听点击确定、取消、“X”关闭按钮
layer.confirm('数据已存在,是否继续', { offset: '200px' , cancel: function (index, layero) { console.log('点击X按 ...