computer-network-note-8
无线局域网(WLAN)
概 述
-
802.11网络有两种使用模式
- 基础设施模式/有架构模式(Infrastructure mode)
- 每个客户端与一个接入点(AP—Access Point)连接,接入点与其他网络连接
- 几个接入点可通过有线网络连接形成扩展的802.11网络
- 自组织网络模式(ad hoc mode)
- 多台计算机相互连接形成网络,相互间发送帧
- 无接入点
-
基础设施模式/有架构模式(Infrastructure mode)
-
基本服务集(BSS, Basic Service Set):一个基站( 即AP) + 若干个移动站
-
BSS内的站之间可通信,与BSS外的通信需通过基站进行
-
每个AP分配一个≤32 字节的服务集标识符SSID和一个信道
SSID: Sevice Set Identifier <-相当于该基本服务集的名字
-
-
关联(association):移动站与AP建立连接,加入该基本服务集
-
移动站与AP建立关联的方法
- 被动扫描
- 移动站等待接收AP周期性发出的信标帧(beacon frame)
- 信标帧中包含有若干系统参数(如服务集标识符 SSID 以及支持的速率等)
- 主动扫描
- 移动站主动发出探测请求帧(probe request frame),等待 AP 发回的探测响应帧(probe response frame)
- 被动扫描
-
重新关联(Reassociation):移动站改变其首选AP,即加入另一BSS– 移动站从一个BSS漫游至另一个BSS时
-
Wi-Fi与802.11
- Wireless fidelity(无线保真)的缩写
- 是一个无线网络通信技术的品牌,由Wi-Fi联盟(Wi-Fi Alliance)拥有
- 目的
- 改善基于IEEE 802.11的无线网络产品之间的互通性
- 一般认为,使用IEEE 802.11系列协议的局域网就称为Wi-Fi
- 热点(Hotspot)
- 在公共场所提供Wi-Fi接入Internet服务的地点
-
802.11协议栈 (与其他IEEE802协议类同)
- 客户端和AP的协议相同
- MAC子层决定如何分配信道
- LLC子层屏蔽IEEE802协议之间的差异,同时承上启下
IEEE802.11的物理层
- 无线频段
- 多数无线频段由政府管理和分配,需license才可使用
- 预留了无需许可即可免费使用的频段
- ISM频段:ISM—Industrial, Scientific, Medical
- 限制:发射功率 < 1Watt (WLAN一般不超过50mW)
- 802.11物理层的几种实现方法:
- 红外IR
- 2.4GHz跳频扩频FHSS
- 直序扩频DSSS
- 正交频分复用(OFDM)
- 多入多出(MIMO)+OFDM
IEEE802.11的MAC层
- 以太网的CSMA/CD协议取得了巨大的成功
- WLAN与以太网同属IEEE802系列标准
- 无线网络的特点使得WLAN不能简单照搬CSMA/CD:
- 无线网络适配器的接收信号强度远小于发送信号强度,像CSMA/CD协议那样进行碰撞检测(边发送边听)比较困难
- 无线信号覆盖范围有限,即使能够进行碰撞检测,也可能检测不到碰撞 -> 隐蔽站问题
- WLAN使用CSMA/CA协议
- CSMA/CA: Carrier Sense Multiple Access / Collision Avoidance
- 由于无线网络的特性,难以像有线网络那样检测冲突,因此着眼于避免冲突
- 比CSMA/CD复杂得多
- 802.11的MAC层提供两种服务
- 分布协调功能 DCF:各站按照CSMA/CA协议竞争使用信道
- 点协调功能 PCF:集中控制方法,由AP逐个轮询各站发送数据,避免了碰撞的产生
- 在实际应用中,DCF使用较多
- DCF需要考虑的问题:如何尽可能减少冲突
-
帧间间隔(InterFrame Space)
- 所有站完成发送后,需要等待一段时间,任何站才可以发送帧
- 要发送的帧类型不同,等待的时间间隔也不同
- SIFS: Short IFS,短帧间间隔,用于CTS、ACK等帧
- DIFS: DCF IFS,DCF帧间间隔,用于DCF模式下数据帧
- AIFS1/AIFS4: Arbitration IFS,不同优先级的帧
- EIFS: Extended IFS,收到坏帧时报告问题
- 高优先级帧的等待时间较短,可以抢先发送
- 低优先级帧的等待时间较长,等待完毕后如信道忙,则重新等待
-
802.11的载波监听机制
- 物理载波监听:简单地检查信道看是否存在有效的信号
- 虚拟载波监听:802.11特有的机制
-
虚拟载波监听(Virtual Carrier Sense)
- 发送站将它要占用信道的时间放在发送帧中,其他站在收到该信息后,将不在这一段时间内发送数据 -> 冲突概率大大减少
- 该时间放置在MAC帧 “持续时间(Duration)”字段
- 本帧结束后还要占用信道多少时间(单位: 微秒),包括确认帧所需时间
- “虚拟载波监听”的意思是:其他站并没有监听信道,而是在收到发送站的通知后才不发送数据
-
网络分配向量 NAV (Network Allocation Vector)
- 当一个站检测到正在信道中传送的 MAC 帧首部的“持续时间”字段时,就调整自己的网络分配向量 NAV (Network Allocation Vector)
- NAV 指出了必须经过多少时间才能完成数据帧的这次传输,才能使信道转入到空闲状态。
-
发送前退避机制
- 站点要发送数据帧,不仅要等待DIFS帧间间隔,还进入争用窗口,退避一段时间后再次检测信道,信道空闲才发送
- 目的:避免多个站点同时检测到信道空闲后发送导致碰撞
- 仅当站点检测到信道空闲且发送第一个数据帧时,才不退避
-
CSMA/CA的退避算法
- 使用二进制指数退避算法:
- 第 i 次退避:在$2^{2+i}$个时隙中随机选择,即:{0, 1, …, $2^{2+i-1}$}
- 第 1次退避:退避时间0—7个时隙
- 2次退避:退避时间0—15个时隙
- 第 i 次退避:在$2^{2+i}$个时隙中随机选择,即:{0, 1, …, $2^{2+i-1}$}
- 站点每过一个时隙就检测一次信道:
- 若检测到信道空闲,退避计时器就继续倒计时
- 若检测到信道忙,就冻结退避计时器的剩余时间,重新等待信道变为空闲并再经过时间DIFS后,从剩余时间开始继续倒计时
- 使用二进制指数退避算法:
-
按照CSMA/CA,站点发送数据帧的流程:
- 若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待时间 DIFS 后,就发送整个数据帧。
- 否则,执行 CSMA/CA退避算法。一旦检测到信道忙,就冻结退避计时器。只要信道空闲,退避计时器就进行倒计时。
- 当退避计时器时间减少到零时(这时信道只可能是空闲的),站点就发送整个的帧并等待ACK。
- 若收到ACK,就知道帧被目的站正确收到了。这时如果要发送第二帧,就要从上面的步骤②开始,先行退避。若在规定时间内没有收到ACK,就要重传此帧(重新执行发送流程),直到收到确认为止,或者经过若干次的重传失败后放弃发送。
-
为减少隐蔽站带来的碰撞,发送站可对信道进行预约
- RTS:Ready to send,发送站发送的请求发送帧
- CTS:Clear to send,目的站返回的允许发送帧
- RTS/CTS帧很短,虽增加了开销,但与直接发送较长数据帧导致碰撞相比,开销较小
- RTS/CTS帧可与NAV配合使用,帧中填入所需持续时间
- 可选:使用RTS/CTS、数据帧达到一定长度时使用、不使用
-
CSMA/CA主要特性总结
- 发送前退避:同时检测到信道空闲的站退避时间长度不同
- 发送站/接收站之间RTS/CTS握手:使隐藏站得知数据传输
- 虚拟载波监听与NAV配合使用:等待站无须持续监听信道
- 接收站正确接收数据帧后,需返回ACK帧:使发送站知道是否发生冲突
- 不同类型的帧设置不同的帧间间隔:控制帧等高优先级帧能更快地发送出去
IEEE802.11的帧结构
- 802.11的帧分为三种类型:数据帧、控制帧、管理帧
- 帧控制(Frame control):包含11个子字段
- Version: 协议版本
- Type和Subtype: 帧类型(数据、控制、管理)和子类型( 如RTS、CTS等 )
- To DS和From DS: 该帧是发送到或是来自于AP连接的网络
- More Fragment: 分片传输用
- Retry: 是否是重传帧
- Power management: 指明发送方进入节能模式
- More data: 发送方还有更多的帧需要发送
- Protected frame: 该帧数据部分是否被加密
- Order: 告诉接收方高层是否按顺序处理帧序列
- 持续时间(Duration)
- 本帧及ACK帧将占用信道时间(单位:微秒)
- 其它站根据该字段调整NAV,进行虚拟载波监听
- 地址(Address):
- 连续3个字段,802标准地址( 即MAC地址)
- 网内两个站之间通信需通过AP,涉及三个地址
- 帧序号(Sequence):2字节,用于重复帧的检测
- 数据(Data):帧的有效载荷
- 帧中数据最多2312字节
- 一般小于1500字节
- 帧校验(Frame check sequence):32位CRC校验
- 管理帧格式与数据帧相同,数据内容依管理帧类型而不同
- 控制帧较短,只有一个地址,没有数据
IEEE802.11的安全性
-
第一代安全协议:WEP(Wired Equivalent Privacy)
- 各方面安全性都存在缺陷
- 通过异或操作加密数据,密钥分配较弱导致输出经常重复
- 通过32位CRC实现完整性保护,防攻击能力很弱
- 2002年被首次攻破
- 目前使用免费软件可在很短时间内破解WEP
- 各方面安全性都存在缺陷
-
在此背景下,802.11i组仓促上马
- 2003年推出WPA(WiFi Protected Access)
- 2004年推出WPA2,成为正式标准
- WPA是802.11i的子集
-
同一时期,中国推出了WAPI(Wireless LAN Authentication and Privacy Infrastructure),强制性国家标准原理与802.11i相似
-
移动站在通过AP发送帧之前须进行认证(authentication)
- 如果802.11网络是开放(open)的
- 可直接通信,无需认证
- 否则必须进行认证
- 如果802.11网络是开放(open)的
-
WPA2的两种认证方式
- 有认证服务器
- 配置认证服务器,存有用户名和口令数据库
- 使用802.1x实现认证
- 适用于企业
- 无认证服务器
- 移动站和AP间使用预共享密钥(preshared key)进行认证
- 适用于家庭和小型应用场合
- 有认证服务器
-
认证握手过程:4次握手
- AP发出一个随机数(nonce)用于识别(nonce: 仅使用一次的临时值)
- 客户端选取自己的临时值nonce,并用其nonce、MAC地址、AP的MAC地址、主密钥作为参数计算会话密钥KS ,客户端将自己的临时值和消息完整性检查值(MIC)发送给AP
- AP分发一个组密钥$K_G$,用于后续的广播和组播
- 客户端确认组密钥
-
后续的通信使用AES算法加密,密钥为会话密钥$K_S$
- Title: computer-network-note-8
- Author: Charles
- Created at : 2024-02-21 17:49:06
- Updated at : 2024-02-21 18:09:24
- Link: https://charles2530.github.io/2024/02/21/computer-network-note-8/
- License: This work is licensed under CC BY-NC-SA 4.0.
recommend_articles
recommend_articles
Comments