3. 802.11 MAC基础

Posted huangdengtao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3. 802.11 MAC基础相关的知识,希望对你有一定的参考价值。

部分参考于:https://www.cnblogs.com/hunaiquan/p/5566534.html

1.简介

MAC位于各式物理层之上,控制数据的传输。它负责核心成帧操作,以及与有限骨干网络之间的交互。不同的物理层可能提供不同的传输速度,不过物理层之间必须彼此互用。

和Ethernet一样,802.11采用载波监听多路访问(carrier sense multiple access,简称CSMA)机制来控制对传输媒介的访问。不过,冲突(collisions)会浪费宝贵的传输资源,因此802.11转而使用冲突避免(CSMA/CA)机制,而非使用Ethernet所实行的冲突检测(CSMA/CD)机制。和Ethernet一样,802.11采用的是不具中枢控制功能的分布式访问机制,因此每个802.11工作站访问媒介的方式都一样。802.11与Ethernet之间的主要差异在与所使用的底层媒介不同。

2.射频链路品质

802.11采用肯定确定(positive acknowledgment)机制。所有传送出去的帧都必须得到响应。只要有任何一个环节失败,该帧即被视为已经漏失。此步凑为原子操作(不可打断)
技术图片

3.隐藏节点的问题

无线收发器通常只要半双工工作模式,无法同时收发。

物理媒介线路中包含了信号,而且会传输至个各个网络节点。无线网络的界限比较模糊,有时候并不是每个节点都可以跟其它节点直接通信。
技术图片

上诉图中节点2可以直接和节点1,3通信。不过某些原因导致节点1和节点3无法直接通信(可能是距离太远)。节点1和节点3互为隐藏节点。如果使用简单的传输祈求协议,节点1和节点3有可能同时传送数据,这会造成节点2无从响应任何数据。此外节点1和节点3无从得知发生错误,因为只要节点2才知道有冲突发生。

为了防止冲突发生802.11允许工作站使用Request to Send(请求发送,简称RTS),及(Clear to Send,简称CTS)信号来清空传送区域。
技术图片

过程分析:
    节点1有个帧待传,因此送出一个RTS帧以启动整个过程。RTS帧本身带有两个目的:预约无线链路的使用权与要求接收到这一帧的其他工作站保持沉默。一旦接收到RTS帧,
接收端会一CTS帧应答。和RTS帧一样,CTS帧也会命令附近的工作站保持沉默。等到RTS/CTS完成交换过程,节点1即可传送之前待传的帧无需担心来自其他隐藏节点的干扰。

当然随着802.11逐渐成熟,隐藏节点已经不在是问题。

4.MAC访问模式与时机

无线媒介的访问是由协调功能(coordination function)控制。
?a.分布式协调功能(distributed coordination function,简称DCF)。
?b.如果需要用到无竞争服务(contention-free service),则可通过构建于DCF之上的点协调功能(point coordination function,简称PCF)来控制。
?c.混合协调功能(hybrid coordination function,简称HCF)

DCF(分布式协调功能)(有竞争)

DCF是标准的CSMA/CA访问机制的基础。在传送数据之前,它会先检查无线链路是否处于清空状态。为了避免冲突的发生,当某个传送这占据信道时,工作站会随机为

每个帧选定一段退避(backoff)时间。在某些情况之下,DCF可利用CTS/RTS清空技术进一步减少发生冲突的可能性。

PCF(点协调功能)(无竞争)

点协调功能提供的是无竞争服务。可以确保不必通过竞争即可使用媒介。点协调者位于接入点,因此只有基础结构网络才会使用PCF。

HCF(混合协调功能)

处于DCF和PCF的中间部分

技术图片

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

载波监听主要用来判断媒介是否处于可用状态

802.11具备两种载波监听功能:

a.物理载波监听(physical carrier-sensing)
b.虚拟载波监听(virtual carrier-sensing)
只要两者其中一个监听功能忙,MAC就会将此状况汇报给较高层的协议

物理载波监听

物理载波监听功能是有物理层提供,取决于所使用的媒介与调剂方式。

虚拟载波监听

虚拟载波监听是由网络分配矢量(Network Allocation Vector,简称NAV)所提供NAV本事其实就是一个定时器(timer),用来指定预计要占用媒介多少时间。

技术图片

分析

此图说明了NAV如何保障整个过程不受干扰。(每个工作站各自有相应的定时器)NAV是由RTS与CTS帧上的标头来载送的,此处之所以特别画出一条NAV先是为了要显示NAV与空中实际传输情况的关
系。只要NAV线上出现NAV条状图,工作站就必须延迟访问媒介,因此虚拟载波监听机制将会支出媒介处于忙碌状态。
为了确保整个过程不被中断,节点1会在其RTS帧中设定NAV,以防止传送RTS时其他工作站对媒介进行访问,所有收到RTS帧的工作站均会延迟访问媒介,直到NAV消失。
接收端会以CTS帧加以响应,其中也包含NAV,不过为时较短,此NAV可防止其他工作站在传输工程中访问媒介,直到传输过程结束。完成整个过程,经过一段分布式帧间间隔(DIFS)之后,任何工
作站均可对媒介进行访问,此时便进入竞争窗口。

6.帧间间隔

SIFS、PIFS、DIFS三者用来决定媒介的访问。此外还有一个帧间间隔EIFS。

SIFS:短帧间间隔

SIFS用于高优先级的传输场合

PIFS:PCF帧间间隔

PIFS主要被PCF使用在无竞争操作中,有时被误称为优先级帧间间隔。

DIFS:DCF帧间间隔

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

EIFS:扩展帧间间隔

EIFS并非固定的时间间隔。只有在帧传输出现错误时才会用到EIFS。

7.帧间间隔与优先级

由于SIFS短于其他帧间间隔。所以帧间间隔为SIFS的会比其他帧间间隔的先抢占到媒介,从而实现较高优先级。

8.帧的分段与重组

当上层的分包大小超过网络管理人员所设定的分段阈值时,就会进行帧的分段。每个帧片段都有相同的帧符号以及一个递增的帧片段编号以便重组。
技术图片

分析:

帧片段与其确认之间以SIFS区隔,因此工作站在片段突发期会一直持有信道的掌控权。NAV可以确保其他工作站在此片段突发期间不能使用该信道。正如任何的RTS/CTS交换,RTS与CTS会将NAV设定成从预定时间到
第一个帧片段结束。其后的帧片段会彼此串联。每个帧片段都会设定NAV,继续掌握媒介的使用权,直到下一个帧的确认结束。如图3-8中,Frament 0设定了NAV并继续掌握媒介直到ACK 1,而Frament 1也设定了
NAV并继续掌握媒介直到ACK 2,以此类推。当最后一个帧片段及其确认送出时,NAV即会被设定为0,代表媒介即将在片段突发期完成之后释放。

9.帧格式

字段的传送顺序由左到右,最高有效位将会最后出现
技术图片

Frame Control字段

2字节长度
技术图片

Protocol字段

Protcol(协议版本)字段由两位构成,用以显示该帧所使用的MAC版本

Type与Subtype字段

Type(类型)与Subtype(子类型)字段用来指定使用的帧类型

技术图片

技术图片

To DS与From DS位

DS:分布式系统(distribution system)

技术图片

More fragment位

帧分段处理

Retry位

重传

Power management位

是否进入省电(power-save)模式。1代表工作站即将进入省电模式,0代表工作站不会进入省电模式。

注意:接入点不允许进入省电模式

More data位

服务于省电模式中的工作站。如果接入点设定此位,即代表至少有一个帧待穿给休眠中的工作站。

Protected Frame

如果帧受到链路层安全协议的保护,此位会被设定为1

Order位

帧与帧片段可依次传送。

Duration/ID字段

有三种可能的形式:NAV,CFP,PS-Poll
技术图片

Duration:设定NAV

当第15个位被设定为0时,Duration/ID字段就会被用来设定NAV。

无竞争周期所传送的帧(CFP)

第14位为0,而第15位为1,其他所有为均为0.此时Duration/ID字段的值为32768.这个数值被解读为NAV,它让没有收到Beacon(信标)帧的任何工作站都得以公告无竞争周期。

PS-Poll帧

在(省电-轮询)帧中,第14位与15位会被同时设定为1.移动式工作炸可以关闭天线以达到省电的目的,休眠中的工作站必须定期醒来,
为确保不遗漏任何帧。从休眠中醒来的工作站必须送出一个PS-Poll帧,以便从接入点取得之前缓存的任何帧

Address字段

一个802.11帧最多可以包含4个地址(address)字段。
Address 1:接收端
Address 2:发送端
Address 3:被接收端拿来过滤地址。在基础结构网络里,第三个地址字段会被接收端用来判断该帧是否属于其所关联的网络。

单播

第一位为0,该地址代表单一工作站

组播

第一位为1,该地址代表一组实体工作站

广播

所有位为1,会传送给所有连接至无线媒介的工作站

目的地地址

代表最后的接收端,即负责将帧交付上层协议处理的工作站

来源地址

为单一工作站

接收端地址

负责处理该帧的无线工作站

发送端地址

将帧传送至无线媒介的无线接口。发送端地址通常只用于无线桥接。

注意

接收端:负责将无线电波解码为802.11帧的工作站
目的端:负责处理帧中网络层封包的工作站

发送端:负责将帧传送至无线链路
来源:产生帧中网络层协议封包的工作站

基本服务集标识符(BSSID)

在基础结构型网络里,BSSID即是接入点无线接口所使用的MAC地址。

Sequence Control:顺序控制字段

此字段的长度为16位,用来重组帧片段及丢弃重复帧。它是由4位的片段编号字段以及12的顺序编号字段组成。

技术图片

frame body:帧主体

也称为数据字段,负责在工作站之间传递上层有效载荷(playload)

FCS:帧校验序列

FCS通常被视为循环冗余校验(cyclic redundancy  check,简称CRC)码,FCS的计算范围涵盖MAC标头里所有字段以及帧主体。
  1. 802.11 对上层协议的封装
    ===
    逻辑链路控制(logica-link control,简称LLC)
    地址解析协议(Address Resolution Protocol,简称ARP)
    封装LLC数据的方式有两种:RFC 1024有时候被称为IETF封装,802.1H有时候被称为隧道封装
    技术图片

RFC 1024与802.1H均衍生字802.2的子网访问协议(sub-network access protocol,简称SNAP)。MAC地址会被赋值到封装帧的开头,然后插入SNAP标头。SNAP标头以目的地服务接入点(destionation service access point,简称DSAP)与源服务接入点(source service access point,简称SSAP)开始。在地址之后,SNAP包含一个控制(Control)字段。和高层数据链路协议及其衍生协议一样,此控制字段会被设定为0x03,代表未编号信息(简称UI)。SNAP所置入的最后一个字段是组织唯一标识符(简称OUI)。802.1H与RFC 1024之间的唯一差异在于其所使用的OUI。

11.基于竞争的数据服务

802.11定义了两组截然不同的原子交换过程:DCF,用于基于竞争的服务;PCF用于无竞争服务

12.广播与组播数据或管理帧

广播数据帧会在Address1字段中填入广播地址
组播数据帧会在Address2字段中填入组播地址
广播管理帧会在Address1字段中填入广播地址
技术图片

组播和广播传播帧,不必等待应答

13.单播帧

单点传播帧必须得到应答以确保可靠性

单一帧及其确认
技术图片

分析:

此帧会利用NAV为其本身,其确认及发生于其间的SIFS预定媒介使用权。设定较长的NAV是为了替整个交换过程锁定虚拟载波,
以确保接收端可以传送确认。因为交换过程是以ACK结束,所以没有必要在锁定细腻载波,因此ACK中的NAV会被设定为0。

14.帧分段

技术图片

最后两个帧的交换和之前的过程没有两样,NAV的设定也完全相同。不过,倒数第二个帧之前的所有帧均会使用NAV为下一个帧片段及其确认(ACK2)。为了表示是帧片段,MAC会将帧头的控制字段的More Fragments位设定为1.最后一个确定(ACK3)除外,其余确认都会继续为下一个数据片段及其确认延长锁定媒介时间。后续的数据帧会继续延长NAV以涵盖后续的确认,直到最后一个数据帧才会将More Fragments位设定为0,而最后一个确认(ACK3)则会将NAV设定为0.帧片段的数据并无限制,不过帧的总长度必须短于PHY对交换过程所做的限制。

帧分段是有MAC的分段阈值参数控制

15.RTS/CTS

RTS/CTS交换的做法和帧分段没有什么两样,只是RTS帧并未携带任何数据。RTS中的NAV可以让CTS完成操作,而CTS则可用来为数据保留媒介使用权。
技术图片

16.省电程序

在休眠期间,接入点会为每个处于休眠的工作站缓存单播帧。若有缓存帧,接入点会有后续的Beacon帧告知工作站。从省电状态苏醒的工作站可以使用PS-Poll帧取得这些缓存帧。
技术图片

17.立即响应

MAC规范说明书要求所有收到PS-Poll的工作站必须更新NAV,将NAV的值设定为一个SIFS(短帧间间隔)加上一个ACK。虽然此NAV对数据帧而言过短,但接入点会取得媒介使用权,而所有工作站都会为了这个数据帧而延迟访问媒介。当数据帧传送结束时,NAV随即更新以反映该数据帧中的数值。
技术图片

18.延迟响应

除了立即响应,接入点可以先回复一个简单响应。这种做法称为延迟响应。
使用延迟响应的优点之一在于接入点方面的软件较易实现,因为确认信息可以通过芯片组固件立即传送,至于数据可以先予以缓存,然后依正常流程传送。
技术图片

分析:

图3-21说明了整个过程。此图中工作站刚从省电模式转变为活跃模式。同时注意到接入点已经为它缓存了帧,

于是工作站会发出PS-Poll给接入点,要求接收这些缓存帧。不过,接入点可能会选择延迟响应,因此只响应一个ACK。
到目前为止,接入点已经确认了工作站的缓存帧的请求,并且承诺即将在某个时间点加以传送。工作站必须在活跃
模式下等待,也许经过几次原子帧交换之后,接入点就会送出工作站所要的数据。

19.多种速率支持

1.每个工站均持有一份操作速率列表,其中记录工作站与其所连接BSS均支持的所有速率。
2.每个BSS必须负责维护一组基本速率,即打算加入BSS的工作站必须支持的速率列表。
3.用来起始帧交换的控制帧,如 RTS 与 CTS,必须以基本速率组合中的一种速率进行传输。这一规则可以确保必须以
CTS 回应 RTS 帧的工作站,能够以相同速率工作。
4.发送给特定工作站的帧会在Address 1字段记载单播目的地址。单播帧(unicast frame)可以使用目的端支持的任一速率传送。
5.ACK或CTS之列的确认帧必须以基本速率集所包含的速率传送。

20.选速和降速

速率选择主要在决定一张网卡该在何时升速以提高链路质量。速率选择如何实现,留给芯片厂商自行决定。改变速率,可以通过信号质量(信噪比),或者间接观察有多少帧需要重传。当信号质量变差,芯片就会以降速来适应。间接测量,则是监测瞬间或平均漏失多少帧,然后予以适度补偿。

21.帧的处理与桥接

无线接入点的核心其实就是桥接器,负责在无线与有线媒介之间转换帧。

22.无线媒介至有线媒介

1. 当接入点收到一个帧时,首先会检测该帧基本的完整性。
2-1. 传送至接入点的帧会将接入点的MAC地址作为802.11 MAC标头的Address 1字段。
2-2.802.11 MAC 接着监测且移出重复的帧。
3. 一旦基站判定需要进一步处理该帧,就必须予以解密,因为该帧会受到链路层安全算法的保护。
4.  成功解密之后,基站即检视该帧是否为帧片段,需要进一步重组。完整性保护( integrity protection)针对重组后完整帧,而不是个别的帧片段。
5.如果经过步骤 2-1 的 BSSID 检验,判定基站必须桥送该帧,较复杂的 802.11 MAC 标头就会被转换为较简单的以太网 MAC 标头。
5-1.记录在 802.11 MAC 标头之 Address 3 位里的目的地址,会被复制到以太网的目的地址。
5-2. 记录在 802.11 MAC 标头之 Address 2 位里的源地址,会被复制到以太网的源地址。
5-3. 从 802.11 Data 位里的 SNAP 标头,将(Type)类型代码复制到以太网帧里的 Type 位。如果该以太网帧亦使用 SNAP,就复制整个 SNAP 标头。
5-4.顺序信息主要供帧片段重组之用,不过当帧被桥送之后即予以丢弃。
5-5.如果有标准的服务质量处理程序,即在此进行无线与有线的 Qos 对应。不过到目前为止,用来表示服务质量的形式,通常就是在有线帧中使用 802.1p优先性等级 bit,或者其他的控制形式。
6.重新计算帧检验码。以太网与 802.11 使用相同的算法来计算 FCS,不过 802.11 帧多出一些位,同时为 FCS 所保护。
7.所产生的新帧交付以太网界面传送。

23.有线网络至无线媒介

1. 验证以太网 FCS 后,基站首先会检视是否需要进一步处理所接收到的帧,亦即检视该帧的目的地址是否属于目前与基站连接的工作站。
2. 将 SNAP 标头附加于以太网帧的数据之前。上层封包是以 SNAP 标头进行封装,而其Type 位是自以太网帧里的类型代码复制而来。如果该以太网帧亦使用 SNAP,则复制整个 SNAP 标头。
3.对帧的传送进行排程。 802.11 包含复杂的省电过程,将帧置于传送序列之前,基站可能会将帧暂存于缓存区。省电过程将于第 8 章祥述。
4.一旦帧被置于序列待传,就会被赋予一个顺序编号。如有必要,所产生的数据可以用完整性检验值加以保护。如果帧需要分段,则会根据事先设定好的分段门限进行分段。分段帧时,将会在 Sequence Control 位指定片段编号。
5.如果帧需要保护,则对帧(或每个帧片段)的本体加密。
6. 802.11 MAC 标头是根据以太网 MAC 标头产生。
6-1. 将以太网 的目的地址复制到 802.11 MAC 标头的 Address 1 位。
6-2. 将 BSSID 置于 MAC 标头的 Address 2,以做为无线介质上之帧的发送者。
6-3. 将帧的源地址复制到 MAC 标头的 Address 3 位。
6-4. 将其他位填入 802.11 MAC 标头。也就是把预计传送时间填入 Duration 位,并把适当的旗标填入 Frame Control 位。

7. 重新计算帧检验码。以太网与 802.11 使用相同的算法来计算 FCS,不过 802.11 帧多出一些位,同时为 FCS 所保护。
8.所产生的新帧交付 802.11 界面传送。

以上是关于3. 802.11 MAC基础的主要内容,如果未能解决你的问题,请参考以下文章

80211MAC基础

IEEE 802.11 无线局域网

802.11无线帧协议分析(MAC架构)

H3C 802.11 MAC层工作原理

802.11N协议解析

802.11相关术语及其设计