你好
欢迎来到计算机通信与网络课堂
今天我们要讲的是
WiFi概述
首先我们来看一下什么是WiFi
所谓的WiFi就是我们所说的执行
802.11协议的
无线局域网
802.11有很多个不同的版本
它从不同的角度来定义无线WiFi
包括使用不同的频率
传输速度不同
传输距离不同
而使用的场景也不同等等
来定义了不同的版本
而这不同的版本的协议综合起来
就形成了一个802.11协议族
首先看看这个中间的802.11a
11a我们可以看得出来
它给定了它所适应的频率范围
和它的最高速度
802.11g它使用的是另外一个
频率范围和可获得的另外一种速度
再还有一种叫做802.11n这种的话它
可以适合于多天线的接收
在下面它可以定义了两个不同的平台
它可以使用
而且在他的协议中间
它支持单流的通讯和多流的通讯
在单流通讯下和多流通讯下
我们可以获得不同的传输速率
再看看802.11ac
而802.11ac也是一样
它是在这样的一个频率范围下来使用
他也支持单速率和单流或多流的传输
而在单流和多流的传输下面
在不同的平台下
它可以获得不同的传输速率
再看看802.11b因为802.11b
它是工作的频段
是不需要许可证的
所以我们用的就比较广泛
在我们这个课上我们就稍稍详细一点的
介绍一下
802.11b
802.11b它是工作在2.4
和2.48这样的兆赫兹的
平台上面大家都知道在家里面
如果你有无线的座机
那么也是工作在这个频段上面
而他能够提供的最高的速率是11兆
它采用的传输方法是直接序列扩频技术
什么是直接扩频技术
它主要是把一个信道划分成
若干个子信道
而且这些子信道之间还有部分的重叠
在这个范围下面我们可以看到
它把它化成了11个这样的部分
那么在通信的过程中间
他可以选择其中的一个或者几个进行通讯
那么在802.11b主机
和AP的关联过程中间
是怎么进行的呢
首先它是这样的一个过程
第一步基站它周期性的发送信标帧
所有在他服务范围内的主机
都能够收到这个信标帧
当我们的主机收到了这个信标帧以后
就知道这个地方存在有一个AP
如果我希望和他关联
那么我就会和他进行通讯
发一个报文给他
这样的话就建立了一个关联的关系
通过关联了以后
我们再发一个DHCP
这样的一个协议
就能够动态的获得IP地址
在这个获得了以后
还有可能这个AP
还要做一些身份验证的工作
这就要看我们有没有设置这种安全需求
如果有了这种安全需求
他就进行鉴别
如果你是一个匿名的
那么就不需要鉴别
我们来看看802.11协议组
它有一个共性
就是都使用CSMA/CA协议
来实现多路访问
这个地方大家可以看到
这里使用的是CA协议
而不是像有线网络中间使用的CD协议
我们这种协议都可以用在
有固定基础设施的无线网络
和没有基础设施的自组织
无线网络上
我们来看看它的通讯过程
无线终端通过基站进行通讯
一个基站的服务范围
我们把它称为一个基本服务集
BSS
一个基本服务集
它包括有我们的无线终端和基站本身
如果说我们是自组织网络
没有基站
那么这个服务集就只有终端自己
大家可能就会想到为什么这个地方
使用的是CA而不是CD
CA是指的冲突避免而不是冲突检测呢
主要是因为在无线通讯的过程中间
有可能在某些情况下
我们检测不到冲突
比如说有遮挡物的情况下
比如说在距离较远的情况下
信号太弱
你无法收到是否冲突的信号
我们来看看整个WiFi
它的工作过程中间
发送方的工作流程
第一步首先我们要侦听信道是否空闲
空闲了以后
他还要等待一个时间间隔
我们把它称为叫做DIFS时间段
这个时间段以后我们才开始发送数据
发送数据以后
我们在等待对方的返回信号
如果说我们在侦听的工作中间发现信道忙
该怎么办呢
我们就会随机地退后一个时间
这个随机的退后以后再继续进行侦听
如果信道空闲了
在进入上面的步骤
如果说等你到了时间信道现在空闲
那么你就可以开始发送数据
如果你收到了接收方的确认信号
这个时候你才可以继续进入下一个循环
发送你还需要继续发送的数据
如果说你没有收到确认信号
那么我们就认为你的信号
在路途中间冲突了
这个时候你就返回第三步重新增添信号
到他空闲
再来看看接收方
如果接收方收到了数据以后
他就会等待一个小的时间段
称为SIFS
这样一个时间段以后
他要回复一个ACK报文给予确认
这个地方ACK报文的确认是必须的
因为我们在检测冲突的时候是检测不到的
有些因此必须靠我们的确认报文
来知道报文是否发生了冲突
接着我们来看看WiFi在冲突避免上面
做了一些什么工作
它整体的思路是在发送数据之前
我发送方来预约一下信道
如果预约好了信道以后
我再来发送数据
如果没有预约到信号
我就暂时不发送数据
采用这种非随机访问的方式
来避免长的数据帧产生冲突
具体怎么做呢
首先发送方在发送数据之前
他要用CSMA协议发送一个
请求帧给AP说我希望要发送数据
我希望预约一个信道
虽然 RTS本身也可能产生冲突
但是因为这个报文很小
所以它产生冲突的时间也会很短
我们的AP收到了以后
它就会给发一个允许发送的CTS帧
当你发送方收到了CTS帧以后
你就可以开始发送数据
也就是说你现在预约信道已经成功
RTS在发的时候
其他所有的发送方也都能够收到这个帧
收到了以后他就知道
还有人已经在请求信道了
那么我就再等一等
在推迟以后再进行发送
这样就可以完全避免数据帧产生冲突
我们来看看这个图示所表示的
整个冲突避免过程
它的一个整个过程大家可以看到
发送方首先要侦听
侦听到空闲的时候必须再等待一个时间段
然后他发送请求帧
请求预约信道
当AP收到了以后
等待一个时间段
给一个响应报文说这个信道可以使用
当发送方收到了响应报文以后
它再等待一个小的时间段
就可以开始真正的发送数据
发送数据以后
接收方正确的收到了数据
等待一个小的时间段
要给他一个ACK的应答报文
在这个过程中间
其他的发送方看到别人已经在通讯
所以他就进行等待
一直到链路空闲为止
那么在WiFi里发送信号的过程中间
如果真正的发生了冲突
该怎么处理呢
我们来看看这个图
A和B都发出请求
预约信道的报文就发生了冲突
发生了冲突以后
后果就是你收不到响应报文
也就是说你收不到CTS的报文
他就会继续再来重发
为什么再一次发的时候
可能就不冲突了呢
因为它要回退一个随机的时间
而A和B这两个随机的时间就不相等了
所以下一次再来发的时候
这个冲突就避免了
当A收到了确认CTS以后
它就可以开始发送数据
另外我们来看看802.11
它的帧格式有什么不同
在这个里面大家可以发现
它的最大变化就是地址段多了一项
地址段多了一项
为什么会多了一项呢
是因为它需要由AP来接入进行转发一下
所以有一个AP的地址
大家可以看得到
在这个地方就是多了一个AP的地址
那么这个AP地址多了以后
它在传输的过程中间是怎么使用的呢
我们来看看这个图
当我们的移动主机和AP连接
进行传送数据这一段
他就需要有三个地址
包括有AP的地址和你要去的
目标的地址和你自己的地址
而在AP到路由器这一段的话
那么它就只需要两个地址
那么通过这些地址
我们可以看得到我们的
预约信道帧和响应帧
在报文里面怎么来表达
以及我们的确认和时间
在这报文里面该怎么处理
接着我们来看一看它的移动性
如果说我们802.11里面的
移动节点H1
它的移动性是在同一个子网内移动
那么这个时候也就是说它的IP地址
是相同的
IP地址相同
只有什么不同呢
你可能要从一个基站
移动到另外一个基站了
这个时候你该和哪个基站相连呢
我们可以看得到
这个就要通过我们的交换机
交换机一开始可能以为你是在BSS1
这个服务集里面
但是你慢慢移动到BSS2
这个服务集里面去了
交换机我们都知道它的交换表是在
数据交换的过程中间
他动态的去修改他的交换表
因此我们当你移动到了
第二个服务集的时候
你再发送数据
你就会从右边的服务器连到交换机上
这样交换机就知道你移动了右边的服务器
它就可以在以后的转发过程中间
从右边子网给你传播
另外我们再来看看802.11
它的速率的自适应性
因为我们知道在无线网络中间
我可能受各种因素的影响
你的噪音可能会大
我受到的干扰可能会大
因此我的比特错误率就会提高
那么我为了很好的传输
我可能会调整我的速率
以降低我的比特出错率
大家来看看
当我们的终端逐渐远离
你相关联的基站的时候
那么你的这个SNR
也就是信噪比就开始减小
这样的话你的比特出错率就开始增加
增加到某个水平
怎么办呢
我们就把发送数据的速率降下来
降下来了以后又使得它的
比特出错率降下来
另外我们再来看看
有一个叫做802.15的无线网络
这种无线网络我们称为叫做
无线个人区域网
这个区域网大家用的可能比较多
它的工作半径只有在10米以内
大家所熟知的比如说你用的无线鼠标
无线键盘
无线耳机等等
这些东西就是用的802.15这样的
无线个人区域网
它就是一种自组织网络
它没有固定的基础设施
这个技术是从蓝牙技术逐渐演变过来的
他工作的频率范围也是一个不需要申请的
可以自由使用的频谱范围
而它的速率大家可以看到
是比较低的一个速率
但是在我们的应用场景下
这种速率就已经足够
好
谢谢
今天的课就讲到这儿