Chapter8 WLAN
Chapter8 WLAN
概述
802.11网络有两种使用模式
基础设施模式/有架构模式
- 每个客户端与一个接入点(AP—Access Point)连接,接入点与其他网络连接
- 几个接入点可通过有线网络连接形成扩展的802.11网络
- 基本服务集BSS=一个基站(即AP) + 若干个移动站
- BSS内的站之间可通信,与BSS外的通信需通过基站进行
- 服务集标识符SSID:每个AP分配一个≤32 字节的SSID和一个信道
- 关联:移动站与AP建立连接,加入该基本服务集
- 被动扫描
- 移动站等待接收AP周期性发出的信标帧
- 信标帧中包含有若干系统参数(如服务集标识符 SSID 以及支持的速率等)
- 主动扫描
- 移动站主动发出探测请求帧,等待 AP 发回的探测响应帧
- 被动扫描
- 重新关联:移动站改变其首选AP,即加入另一BSS
- 移动站从一个BSS漫游至另一个BSS时
自组织网络模式
- 多台计算机相互连接形成网络,相互间发送帧
- 无接入点
Wi-Fi(Wireless fidelity)
- 改善基于IEEE 802.11的无线网络产品之间的互通性
- 使用IEEE 802.11系列协议的局域网就称为Wi-Fi
- 热点:在公共场所提供Wi-Fi接入Internet服务的地点
802.11协议栈
- 客户端和AP的协议相同
- MAC子层决定如何分配信道
- LLC子层屏蔽IEEE802协议之间的差异,同时承上启下
IEEE 802.11 物理层
- 无线频段
- 多数无线频段由政府管理和分配,需license才可使用
- 预留了无需许可即可免费使用的频段
- ISM频段:ISM—-Industrial, Scientific, Medical
- 限制:发射功率 < 1Watt
802.11物理层的几种实现方法
- 红外IR 早期,已很少使用
- 2.4GHz跳频扩频FHSS 早期,已很少使用
- 直序扩频DSSS
- 正交频分复用(OFDM)
- 多入多出(MIMO)
IEEE 802.11 MAC层
Carrier Sense Multiple Access / Collision Avoidance
WLAN使用CSMA/CA协议
- 无线网络适配器的接收信号强度远小于发送信号强度,像CSMA/CD协议那样进行碰撞检测(边发送边听)比较困难
- 隐蔽站问题:无线信号覆盖范围有限,即使能够进行碰撞检测,也可能检测不到碰撞
802.11的MAC层提供两种服务
- 分布协调功能 DCF
- 竞争式服务
- 各站按照CSMA/CA协议竞争使用信道
- 点协调功能 PCF
- 非竞争式服务
- 集中控制方法,由AP逐个轮询各站发送数据,避免了碰撞的产生
CSMA/CA主要特性
- 发送前退避 → 同时检测到信道空闲的站退避时间长度不同
- 发送站/接收站之间RTS/CTS握手 → 使隐藏站得知数据传输
- 虚拟载波监听与NAV配合使用 → 等待站无须持续监听信道
- 接收站正确接收数据帧后,需返回ACK帧 → 使发送站知道是否发生冲突
- 不同类型的帧设置不同的帧间间隔 → 控制帧等高优先级帧能更快地发送出去
帧间间隔IFS
- 所有站完成发送后,需要等待一段时间,任何站才可以发送帧
- 要发送的帧类型不同,等待的时间间隔也不同
- SIFS: Short IFS,短帧间间隔,长度28μs
- 用于CTS、ACK等帧
- DIFS: DCF IFS,DCF帧间间隔,长度128μs
- 用于DCF模式下数据帧
- SIFS: Short IFS,短帧间间隔,长度28μs
- 高优先级帧的等待时间较短,可以抢先发送
- 低优先级帧的等待时间较长,等待完毕后如信道忙,则重新等待
虚拟载波监听
“虚拟载波监听”的意思是:其他站并没有监听信道,而是在收到发送站的通知后才不发送 数据
发送站将它要占用信道的时间放在MAC帧 “持续时间(Duration)”字段
本帧结束后还要占用信道多少时间(单位: μs),包括确认帧所需时间
网络分配向量 NAV
- 当一个站检测到正在信道中传送的 MAC 帧首部的“持续时间”字段时,就调整自己的网络分配向量 NAV
- NAV 指出了必须经过多少时间才能完成数据帧的这次传输,才能使信道转入到空闲状态
发送前退避机制
- 站点要发送数据帧,不仅要等待DIFS帧间间隔,还进入争用窗口,退避 一段时间后再次检测信道,信道空闲才发送
- 目的:避免多个站点同时检测到信道空闲后发送导致碰撞
- 仅当站点检测到信道空闲且发送第一个数据帧时,才不退避
CSMA/CA的退避算法
使用二进制指数退避算法
第i次退避:在2^(2+i)个时隙中随机选择,即:{0, 1, …, 2^(2+i) -1}
第1次退避:退避时间0—7个时隙
第2次退避:退避时间0—15个时隙
站点每过一个时隙就检测一次信道
若检测到信道空闲,退避计时器就继续倒计时
若检测到信道忙,就冻结退避计时器的剩余时间,重新等待信道变为空闲并再经过时间DIFS后,从剩余时间开始继续倒计时
站点发送数据帧的流程:
① 若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空 闲,在等待时间 DIFS 后,就发送整个数据帧。
② 否则,执行 CSMA/CA退避算法。一旦检测到信道忙,就冻结退避计时器。 只要信道空闲,退避计时器就进行倒计时。
③ 当退避计时器时间减少到零时(这时信道只可能是空闲的),站点就发送整个的帧并等待ACK
④ 若收到ACK,就知道帧被目的站正确收到了。
这时如果要发送第二帧,就要从上面的步骤②开始,先行退避。 若在规定时间内没有收到ACK,就要重传此帧(重新执行发送流程),直到收到确认为止,或者经过若干次的重传失败后放弃发送
发送站可对信道进行预约
- 目的:减少隐蔽站带来的碰撞
- RTS:Ready to send,发送站发送的请求发送帧
- CTS:Clear to send,目的站返回的允许发送帧
- RTS/CTS帧很短,虽增加了开销,但与直接发送较长数据帧导致碰撞相比,开销较小
IEEE 802.11 帧结构
802.11的帧分为三种类型:数据帧、控制帧、管理帧
- 管理帧格式与数据帧相同,数据内容依管理帧类型而不同
- 控制帧较短,只有一个地址,没有数据
数据帧:
帧控制(Frame control)
Version: 协议版本
Type和Subtype: 帧类型(数据、控制、管理)和子类型(如RTS、CTS等)
To DS和From DS: 该帧是发送到或是来自于AP连接的网络
More Fragment: 分片传输用
Retry: 是否是重传帧
Power management: 指明发送方进入节能模式
More data: 发送方还有更多的帧需要发送
Protected: 该帧数据部分是否被加密
Order: 告诉接收方高层是否按顺序处理帧序列
持续时间(Duration)
本帧及ACK帧将占用信道时间(单位:us)
其它站根据该字段调整NAV,进行虚拟载波监听
地址(Address)
连续3个字段,802标准地址(即MAC地址)
网内两个站之间通信需通过AP,涉及三个地址
PC———>AP——>Internet
ToDS FromDS
| To DS | From DS | Address1 | Address2 | Address3 | | ——- | ———- | ———— | ———— | ———— | | 0 | 1 | 目的IP | AP IP | 源IP | | 1 | 0 | AP IP | 源IP | 目的IP |
帧序号(Sequence):2字节,用于重复帧的检测
- 数据(Data):帧的有效载荷
- 帧中数据最多2312字节
- 一般小于1500字节
- 帧校验(Frame check sequence):32位CRC校验
IEEE 802.11 安全性
第一代安全协议:WEP
- 各方面安全性都存在缺陷
- 通过异或操作加密数据,密钥分配较弱导致输出经常重复
- 通过32位CRC实现完整性保护,防攻击能力很弱
WPA2(正式标准)
移动站在通过AP发送帧之前须进行认证
- 如果802.11网络是开放(open)的 可直接通信,无需认证
- 否则必须进行认证
WPA2认证方式
- 有认证服务器
- 配置认证服务器,存有用户名和口令数据库
- 适用于企业
- 无认证服务器
- 移动站和AP间使用预共享密钥进行认证
- 适用于家庭和小型应用场合
认证握手过程:4次握手
① AP发出一个随机数(nonce)用于识别(nonce: 仅使用一次的临时值)
② 客户端选取自己的临时值nonce,并用其nonce、MAC地址、AP的MAC地址、主密钥作为参数计算会话密钥KS ,客户端将自己的临时值和消息完整性检查值(MIC)发送给AP
③ AP分发一个组密钥KG,用于后续的广播和组播
④ 客户端确认组密钥
后续的通信使用AES算法加密,密钥为会话密钥KS