802.11协议精读(一)

入职后用半个月的时间略读过一次《802.11无线网络》,现在打算精读一次,所以,做好笔记。
此前读过的一些章节依然会迅速过掉。
这次依然打算只关注连接、验证的细节,对安全相关不做精读。
希望有特殊的感悟。

Chapter 1-3

802.11网络包含四种主要物理组件

1.工作站 station
2.接入点 access point
需要注意的是,具备无线至有线的桥接功能的设备称为接入点,接入点的功能不仅于此,但是桥接最为重要
3.无线媒介 wireless medium
4.分布式系统 distribution system
当几个接入点串联以覆盖较大区域时,彼此之间必须相互通信以掌握移动式工作站的行踪
分布式系统属于802.11的逻辑组件,负责将帧传送至目的地
分布式系统是接入点间转发帧的骨干网络 backbone network

网络类型
IBSS: independant BSS 独立基本服务集

通常是由少数几个工作站为了特定目的而组成的暂时性网络,相互之间可以直接通信
比如在会议室中支持个别会议之用,会议结束,IBSS随即瓦解
因为持续时间不长,规模甚小且目的特殊,有时被称为特设BSS: ad hoc BSS

基础结构性网络 : infrastructure BSS

包含接入点,其负责基础结构型网络所有的通信
这种网络内的工作站跟其他工作站进行通信,需要接入点转运帧

  • 允许工作站间直接通信虽然可以省下一些带宽,但是相对提高了物理层的复杂度,因为每个工作站都必须维持与服务区域中其他工作站的邻接关系

  • 接入点在基础结构型网络里的作用时协助工作站节省电力。接入点可以记住有哪些工作站处于省电状态并且为之暂存帧,工作站关闭无线收发器,只在传输或者接收这种暂存帧时才会加以开启

ESS: extended service set 扩展服务集

利用骨干网络将几个BSS串联在一起,构成ESS
所有位于同一个ESS的接入点将会使用相同的服务组标识符,SSID
隶属于同一个ESS的工作站可以相互通信

网络服务

定义网络技术的方式之一就是看它能够提供哪些服务

分布式
整合
关联

产生关联之后,分布式系统即可根据这些登记信息判断哪个移动式工作站该使用哪个接入点。
如果使用强健安全网络(robust security network protocol),那么关联之后才能进行身份验证
在身份验证完成之前,接入点会丢弃来自工作站的所有数据

重新关联

重新关联是由移动式工作站所开启,当关联强度显示最好切换关联对象时便会如此做
接入点不可能直接开启重新关联服务
(有些AP会可以将工作站剔除,强迫它们进行重新关联过程)

取消关联
身份验证

关联之前,工作站会先以本身的MAC地址来跟接入点进行基本的身份验证,称为802.11身份验证
这种验证有别于后续所进行的牢靠而经过加密的用户身份验证

解除身份验证
机密性
MSDU传递

MSDU,即MAC Service Data Unit

传输功率控制

Transmit Power Control,即TPC,是在802.11h中定义的新服务
欧洲标准要求操作于5GHz频带的工作站必须能够控制电波的传输功率,避免干扰其他同样使用5GHz频带的用户
工作站传输功率越高,传输距离就越远,也就越容易干扰附近的网络

动态频率选择

避免在5GHz频带干扰雷达操作

移动性的支持

接入点之间可能出现的三种转换

1.不转换
2.BSS转换 seamless transition (漫游)
3.ESS转换

隐藏节点问题

如果802.11网卡的驱动程序支持,用户可通过调整RTS阈值(threshold)来控制RTS/CTS交换过程
只要帧大于此阈值,RTS/CTS交换过程就会进行,小于此阈值则会直接传送帧
PS:此阈值指帧长

MAC访问模式与时机
DCF distributed coordination function 分布式协调功能

标准CSMA/CA访问机制的基础。在传送数据之前,它会先检查无线链路是否处于清空状态
为了避免冲突,当某个传送者占据信道时,工作站会随机为某个帧选定一段退避(backoff)时间
在某些情况下,DCF可利用CTS/RTS清空技术进一步减少冲突发生的可能性

PCF point coordination function 点协调功能

PCF提供无竞争服务
称为点协调者(point coordinator)的特殊工作站可以确保不必通过竞争即可使用媒介
实际并不常见(实际上目前只有Wi-Fi6应用到了)

HCF 混合协调功能

尚未完全标准化

载波监听功能与网络分配矢量

802.11具备两种载波监听:物理载波监听和虚拟载波监听
只要有一个显示媒介处于忙碌状态,MAC就会将此状况汇报给叫高层的协议

物理载波监听由于硬件打造不易和隐藏节点问题,无法提供所有必要的信息

虚拟载波监听是由网络分配矢量(Network Allocation Vector,简称NAV)所提供
802.11的帧通常会包含一个Duration字段,用来预定一段媒介试用版时间
NAV实质是一个定时器,以微秒(microsecond)为单位
利用NAV可保证工作站的原子操作不被中断

DIFS Distributed Interframe Space,分布式帧间间隔
一次RTS/CTS过程后,再经过一段DIFS,便进入竞争窗口(contention window)

帧间间隔

这一段很没意思,但是还是要看

短帧间间隔 SIFS:Short Interframe Space

用于高优先级的传输场合,例如RTS/CTS以及肯定确认帧

PCF帧间间隔 PIFS:PCF interframe spcae

被PCF使用在无竞争操作中

DCF帧间间隔 DIFS:DCF interframe spcae

是竞争式服务中最短的媒介闲置时间

扩展帧间间隔 EIFS:Extended interframe space

帧传输错误时才用到

DCF与错误恢复

每个帧或帧片段分别对应到一个重传计数器
工作站本身有两个重传计数器:短帧重传计数器(short retry counter)与长帧重传计数器(long retry counter)
短帧和长帧取决于RTS阈值

MAC还会赋予每个帧片段,生存时间计时器(lifetime counter)随即启动
一旦超过生存时间,该帧便会被丢弃,因此不会重试其余的帧片段

帧的分段与重组

利用帧的分段,工作站可让干扰只影响较小的帧片段,而非较大的帧
通过降低可能被干扰的数据量,帧片段可以提高整体的有效吞吐量
当上层封包的大小超过网络管理人员所设定的分段阈值(fragment threshold)时,就会进行分段
每个帧片段都有相同的帧序号(frame sequence number)以及一个递增的帧片段编号(fragment number)用于重组

构成整个帧的所有帧片段通常会在所谓的片段突发期(fragment burst)传送
工作站在片段突发期会一直持有信道的掌控权
NAV可确保其他工作站在此片段突发期不适用该信道
RTS/CTS会将NAV设定成从预定时间到第一个帧片段结束,其后的片段会彼此串联,一直掌握媒介的使用权

一般的802.11MAC帧格式

这一段内容当初看的很细,也没怎么记住
实际开发的时候,omnipeek和wireshark等工具会直接给出各字段的含义

这里只记录一些,在前段时间觉得自己忽略的东西

Frame Control字段
Power Management位

此位用来指出发送端在完成当前的原子帧交换之后是否进入省电(power-save)模式
接入点所传送的帧中此位必然为0,只有工作站才需要PS

more data位

接入点设定此位,代表至少有一个帧待传给休眠中的工作站

Protected Frame位

PMF功能。如果帧受到链路层安全协议层的保护,则此位被设定为1,而且该帧会略有不同

order位

帧与帧片段可依次传送,不过发送端与接收端的MAC必须付出额外的代价
一旦进行严格依次传送,则此位被设定为1

Duration/ID字段

此字段有三种可能的形式

Duration(设定NAV)

此时第15位被设定为0。此数值代表当前所进行的传送预计使用媒介多少微秒

无竞争周期所传送的帧

无竞争周期(CFP, contention-free period),第14位为0,第15位为1,其他所有位均为0
PS:Wi-Fi5之前没有CFP

这里科普下802.11的竞争机制(这个东西很重要):

当一个节点需要发送帧时,要调用载波侦听机制来确定信道的忙/闲状态,如果信道忙,它将推迟直到信道连续处于闲状态达到 DIFS 时间,为了避免发送冲突,这时该节点在发送前必须经过一个附加的退避周期,将产生一个随机的退避时间(Backoff Time),并存入退避计数器,如果退避计数器中已经包含有一个非 0 的值,那么就不再执行产生随机退避时间的过程。一个节点执行退避过程时,在每一个时隙中侦听信道的状态,如果信道闲,则将退避时间计数器减 1;如果信道忙,则退避过程将被推迟,退避时间计数器被冻结(即不再递减),直到侦听到信道处于连续空闲状态达到DIFS 时间,退避过程重新被激活,继续递减。当退避计数器递减到 0 时,节点就可以执行发送。当多个节点同竞争信道时,每个节点都经过一个随机时间的退避过程,才能占有信道,这样就大大减少了发送冲突发生的概率。另外,通过采用退避过程中的冻结机制,使得被推迟的节点在下一轮竞争中无需再次产生一个新的随机退避时间,只需继续进行计数器递减,那么,等待时间长的节点优先级就高于新加入的节点,就可能优先得到信道,从而维护了竞争节点之间一定的公平性。

PS-Poll帧

省电-轮询帧,第14、15位同时设定为1
工作站可以关闭天线以达到省电目的,休眠中的工作站必须定期醒来
醒来时的工作站必须送出一个PS-Poll帧,以从接入点取得之前缓存的任何帧
此外,苏醒的工作站会在PS-Poll帧中加入关联标识符(association ID,简称AID),以显示其隶属的BSS
AID的值介于1~2007,之后的值尚未使用

Address字段

这部分之前看的比较细,这里记录一些细节

基本上,Address1~3依次代表接收端、发送端、被接收端拿来过滤地址
比如,在基础结构型网络中,Address3会被接收端用来判断该帧是否属于其所关联的网络

如果传送给实际媒介的第一个位为0,单播 unicast
第一位为1,则该地址代表一组实体工作站,组播 multicast
所有位都为1,广播 broadcast

Sequence Control顺序控制字段

此字段用来重组帧字段以及丢弃重复帧,由4位的片段编号和12位的顺序编号组成
具备QoS扩展功能的工作站对 sequence control 字段的解读稍有不同,因为这类工作站必须同时维护多组传送队列

帧主体
帧校验序列(FCS)
广播与组播数据或管理帧

广播与组播帧无需响应,成帧与寻址在802.11中较为复杂
组播帧无需分段,也无需得到确认,基于contention-based access control规则加以传送

单播帧
基本的肯定确认(最后一个片段)
帧分段

如果帧在传送过程中遗失,整个封包就必须重传

后续的数据帧会继续延长NAV以涵盖后续的确认,直到最后一个数据帧才会将More Fragment位设定为0
而最后一个确认则会将NAV设定为0

帧的分段是由MAC的分段阈值参数控制,大部分的网卡驱动程序都允许用户设定此参数

省电程序

在RF系统中,放大器是最耗电的组件
接收到PS-Poll帧的接入点可以立即采取响应,也可以等到环境许可、比较空闲时再予以响应
采用哪种PS-Poll响应由接入点所采用的芯片组的厂商决定
有些芯片厂商同时支持两种模式,有些则支持一种

立即响应
延迟响应

通过PS-Poll请求帧的工作站必须保持清醒,直到该帧传送完成
收到数据帧后,工作站还必须停留在清醒状态,直到下一个Beacon帧被传送出来
(这个Beacon帧的作用是显示已无缓存帧)

多种速率支持

工作站必须能够适应变动的环境,必要时更改传送速率。
有些通则适用于所有工作站:
1.每个工作站均持有一份操作速率列表,记录工作站于所连BSS均支持的所有速率
高于操作速率集的传送速率是不允许用来传送帧的
2.每个BSS必须负责维护一组基本速率,即打算加入此BSS的工作站所必须支持的速率列表
任何传送至组接收地址的帧必须以基本速率传送,以确保所有工作站均可正确解读
3.用来开始帧交换的控制帧,如RTS和CTS,必须以基本速率集中的一种来进行传送

选速与降速

速率选择主要决定一张网卡该在何时提高速率以提高链路品质
速率选择如何实现留给芯片组厂商自行决定,它是可编程的,一般由驱动接口的程序代码控制
速率选择机制可以通过驱动程序或者固件升级

最常被用来判断何时应该变速的算法,其实是通过一些不是那么严谨的信号质量测量
信号质量可以直接就信噪比(signal-to-noise ratio)加以测量
或者间接观察有多少帧需要重传

帧的处理与桥接
无线媒介至有限媒介

无线接入点的核心就是桥接器,负责在无线与有线媒介之间转换帧。
以下是接入点必须进行的一系列操作:
1.检测该帧的基本完整性;针对所使用的物理层,查看物理层标头,然后验证帧上的FCS
2.继续查看是否应该进一步处理该帧
不匹配接入点BSSID的帧应予以丢弃(有些产品并未实现此步骤)
检测并移除重复的帧(产生重复帧的原因很多,最常见的是ACK遗失或损坏)
3.解密
4.解密后,查看该帧是否为帧片段,是否需要进一步重组
5.经过步骤2的BSSID校验,判断接入点必须桥接该帧,较复杂的802.11 MAC标头就会被转换为较简单的Ethernet MAC标头
6.重新计算FCS
7.将产生的新帧交付给Ethernet接口传送

有线媒介至无线媒介

1.验证Ethernet FCS后,接入点首先检查是否需要进一步处理所接收到的帧
即查看该帧的目的地址是否属于当前与接入点关联的工作站
2.将SNAP标头附加于Ethernet帧的数据之前
3.对帧的传送进行调度
4.一旦帧被置于队列待传,就会被赋予一个顺序编号
如果帧需要分段,会根据事先设定好的分段阈值进行分段
5.如果帧需要保护,对帧(或每个帧片段)的主体加密
6.802.11标头根据Ethernet MAC标头产生
7.重新计算FCS
8.将产生的新帧交付给802.11接口传送

服务质量扩展功能

quality of service extension
服务质量扩展功能会影响帧的传送顺序

802.11e服务质量扩展功能并非只用单一传送队列,而是在上述有线至无线桥接过程中的第4、5、7步采用多组传送队列
这些步骤会根据优先次序(priority order)进行帧处理,而优先次序取决于帧的内容以及配置设定中预先指定的优先级分级规则

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据引用\[1\],作者在入职后花了半个月的时间略读了《802.11无线网络》,现在打算进行精读,并做好笔记。作者表示此前读过的一些章节会迅速过掉,这次的重点是关注连接和验证的细节,而对于安全相关的内容不做精读。作者希望在精读过程中能够有特殊的感悟。 根据引用\[2\],802.11i是一项对安全性进行了大幅改善的协议,其中引入了强健安全网络(Robust Security Network)。为了让工作站之间能够交换安全性信息,开发了Extended Supported Rates和Wi-Fi Protected Access。 根据引用\[3\],在802.11协议中,广播和组播帧无需响应,而成帧和寻址较为复杂。组播帧无需分段,也无需得到确认,而单播帧则需要进行基本的肯定确认(最后一个片段)。帧分段是协议中的一个重要概念。 综上所述,802.11协议精读将涉及连接和验证的细节,以及强健安全网络和Wi-Fi Protected Access的相关内容。同时,了解帧分段和成帧与寻址的复杂性也是重要的。 #### 引用[.reference_title] - *1* *2* [802.11协议精读(二)](https://blog.csdn.net/AngryDog1024/article/details/117464088)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [802.11协议精读(一)](https://blog.csdn.net/AngryDog1024/article/details/117464068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值