第3 章 802.11 MAC
阅读原文时间:2023年07月08日阅读:1

一 前言

802.11 规格的关键在于MAC(介质访问控制层),属于数据链路层,它定义了数据帧怎样在介质上进行传输。MAC 位于各种物理层之上,控制数据的传输。不同的物理层可以提供不同的传输速度,不过物理层之间必须彼此互通。

二 正文

3.1 MAC 所面临的挑战

3.1.1 射频链路质量

在有线的以太网中,假定对方必然会收到所传送的帧是合理的。无线链路问题:噪声问题,多径衰落(multipath fading)所造成的传输死角(dead spot),也可能导致帧的

无法传递。

有线:必然会收到帧。

无线:干扰和多径衰落总会存在。

802.11 采用正面回应机制。所有传送出去的帧都必须得到回应。

图3-1 所列出的步骤称为基本操作,指不可分割的单一处理单元。虽然整个处理过程包含好几个步骤,但还是会被视为单一不可分割的过程。无线电波的链路品质也会影响网络连接的速度。信号质量较好就可以用较高的速度来传送数据。信号质量通常随着距离的拉长而有所衰减,亦即802.11 工作站的数据传输速度,取决于他和接入点之间的相对位置。

3.1.2 隐藏节点的问题

在以太网络中,工作站是通过接收传输信号来行使CSMA/CD 载波侦听的功能。空中的介质线路中包含了信息,而且会传输到各网络节点。无线网络的界线比较模糊,有时候并不是每个

节点都可以跟其他节点直接通信,如图3-2 所示。

如图3-2 所示,节点2 可以之间跟节点1 和节点3 通信,不过某些因素导致节点1 与节点3 无法直接通信。(这与障碍物的关系并不大:节点1 与3 之间可能只是因为距离远,无法收到

对方的无线电波。)从节点1 的角度来看,节点3 属于隐藏节点。隐藏节点:我的看法是,不在节点的无线电波覆盖范围内,且是相对某个节点而言。如对于节点1,则节点3属于隐藏接点。

在无线网络中,由隐藏节点所导致的碰撞问题相当难以监听,因为无线收发器通常是半双工工作模式,即无法同时收发数据。为了防止碰撞发生,802.11 允许工作站使用请求发送(RTS)和允许发送(CTS)帧来清空传送区域。如图3-3 所示,节点1 有个数据帧待传送,因此送出一个RTS 帧启动整个过程。RTS 帧本身带有两个目的:预约无线链路的使用权,并要求接收到这一消息的其他的工作站停止发言。一旦收到RTS 帧,接收端会以CTS 帧应答。随着802.11 逐渐成熟,隐藏节点已经不成问题。在小型、不太活跃、只有几部客户端共享

一个接入点的网络里,很少会有同时进行传输的情况,何况还有不少闲置频宽可供重传之用。如果802.11 网卡的驱动程序支持,使用者可以通过调整RTS 门限值来控制RTS/CTS 程序。只要大于此门限值,就会进行RTS/CTS 交换程序。小于此门限值则会直接传送数据帧。

3.2 MAC 访问控制与时钟

无线介质的访问,是由协调功能所管控。以太网之类的CSMA/CA 访问,是由分布式协调功能(distributed coordination function,简称DCF)所管控。如果需要用到免竞争服务,则可

通过架构于DCF 之上的点协调功能(point coordination function,简称PCF)来管控。免竞争服务只提供于基础网络(infrastructure network),不过只要工作站支持HCF,就可以在网络中提供服务质量(quality of service ,简称QoS)。

DCF(分散式协调功能)

DCF 是标准CSMA/CA 访问机制的基础。

PCF(点协调功能)

点协调功能提供的是免竞争服务。称为点协调者的特殊工作站可以确保不必通过竞争即可使用介质。

HCF(混和式协调功能)

有些应用需要尽力传达更高一级的服务质量,却又不需要用到PCF 那么严格的管控。HCF允许工作站维护多组服务队列,针对需要更高服务品质的应用,则提拔更多的介质访问机会。

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

载波监听主要用来判定介质是否处于可用状态。802.11 具备两种载波监听功能:物理载波监听与虚拟载波监听。只要其中有一个监听功能显示介质处于忙碌状态,MAC 就会将此报告给

高层的协议。虚拟载波监听是由网络分配矢量(Network Allocation Vector,简称NAV)所提供。802.11的帧通常会包含一个duration 位,用来预定一段介质使用时间。。工作站会将NAV 设定为预计使用介质的时间,这包括完成整个处理必须用到的所有帧。其他工作站会由NAV 值倒数至零。只要NAV 的值不为零,代表介质处于忙的状态,此即虚拟载波监听功能。当NAV 为零时,虚拟载波监听功能会显示介质处于闲置状态。

3.2.2 帧间隔

802.11 会用到四种不同的帧间隔。其中三种用来判定介质的访问;为802.11 MAC 内建避免碰撞的功能,所以工作站会延迟介质的访问,直到介质再度空闲。不同的帧间隔,会为不同类型的传输产生不同的优先次序。其后的决定逻辑十分简单:当介质闲置下来时,高优先级的数据所等待的时间较短。

短帧间隔(Short interframe space ,简称SIFS)

SIFS 用于高优先级的传输场合,例如RTS/CTS 以及正面应答帧。经过一段SIFS(时间),即可进行高优先级的传输。

点帧间隔(PCF interframe space ,简称PIFS)

PISF 主要被PCF 使用在免竞争过程,有时被误解为优先性帧间隔。在免竞争时期,有数据传输的工作站可以等待PISF 期间过后加以传送,其优先程度高于任何竞争式传输。

分布式帧间隔(DCF interframe space ,简称DIFS)

DIFS 是竞争式服务中最短的介质闲置时间。如果介质闲置时间长于DIFS,工作站可以立即对介质进行访问。

扩展的帧间隔(Extended interframe space ,简称EIFS)

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

3.2.3 帧间隔与优先程度

一开始,基本操作和一般传送并无不同:在可以开始传送之前,基本操作同样必须等待一段帧间隔(通常是DIFS)时间。不过,其后的步骤即开始使用SIFS,而非DIFS。由于SIFS短于其他帧间隔,一项基本操作的第二(以及之后的)步骤会在其他类型的帧被传送之前将介质占为己用。利用SIFS 与NAV(网络分配矢量),工作站可以视需要占用介质一段时间。

3.3 利用DCF 进行竞争式访问

大部分的传输均采用DCF(分布式协调功能),DCF 提供了类似以太网的标准竞争式服务。DCF 允许多部独立的工作站彼此互动,无须通过中央管控,因此可以运用于IBSS 网络或基础

型网络。试图传送任何数据之前,工作站必须检查介质是否处于闲置状态。若处于忙碌状态,工作站必须延迟访问,并利用指数型退避(orderly exponential backoff)算法来避免碰撞发生。

在所有使用DCF 的传输当中,将会运用到两项基本原则:

1. 如果介质闲置时间长于DIFS,便可立即进行传输。载波监听同时可通过物理与虚拟(NAV)

方式进行。

注释:DIFS为一段帧间隔。虚拟载波监听是由网络分配矢量(Network Allocation Vector,简称NAV)所提供。NAV为预计占用介质的时间。举例:在饭馆中,点了黄焖鸡付钱后,老板会给你一个有号码的计时器,当计时器为0时,老板做好了,你就可以拿黄焖鸡吃。侯餐的计时器类似于NAV,预计等待吃饭的时间。

a. 如果之前的帧接收无误,介质至少必须空出一段DIFS 时间。

b. 如果之前的传输出现错误,介质至少必须空出一段EIFS 时间。

注释:DIFS 是竞争式服务中最短的介质闲置时间。如果介质闲置时间长于DIFS,工作站可以立

即对介质进行访问。扩展的帧间隔(Extended interframe space ,简称EIFS),EIFS 并非固定的时间间隔。只有在帧传输出现错误时才会用到EIFS。

2.如果介质处于忙碌状态,工作站必须等候至频道再度闲置。802.11 称之为访问延期。一旦访问延期,工作站会等候介质闲置一段DIFS 时间,同时准备指数型退避访问程序。

其中有一些规则取决于“线上”的特殊状况,与之前传送的结果有关。

1. 错误复原(error recovery)属于传送端的责任。传送端预期每个帧均应收到应答信息,
而且必须负责重传,直到传送成功为止。

a. 只有收到正面应答讯息,才表示传送成功。基本交换操作必须完成才算成功。如果某个
预期的应答迟迟未到,传送端即会认定其已丢掉,必须加以重送。

b. 所有单点传播数据必须得到应答。(因此,即使无线电波链路本质上属于广播介质,相
较于广播数据,单点传播数据基本上还是具备较高的服务质量。)

c. 只要传送失败,重传计数器就会累计,然后重新加以传送。

3.以下的帧类型可在SIFS 之后传输,因此优先程度较高:应答(acknowledgment)、RTS/CTS 交换程序中的CTS,以及分段程序中的帧片段。

a.一旦传送出第一个帧,工作站就会取得频道的控制权。以后帧及其回应均可使用SIFS进行传送,以锁定频道不被其他工作站使用。

b.传送中,后续帧会将NAV 更新成该介质预计使用的时间

4.如果较高层的封包长度超过所设定的门限,必须使用扩展帧格式。

a.长度超过RTS 门限的封包,必须使用RTS/CTS 交换程序。
b.长度超过分段门限的封包,必须加以分段。

3.3.1 DCF 与错误复原

错误监听与更正是由起始基本帧交换过程的工作站来决定。一旦监听到错误,该工作站必须负责重传。错误监听必须由传送端负责。有时候传送端可根据应答的有无,推论帧是否已经漏失。只要帧被重传,重传器就会累计。每个帧或帧片段就会分别对应到一个重传计数器。工作站本身具有两个重传计数器:短帧重传计数器与长帧重传计数器。

短帧重传计数器会在下列情况发生时归零:
之前传送的RTS 得到CTS 的应答时
之前传送的未分段帧得到MAC 层的应答时
收到广播或组播的帧时
长帧重传计数器会在下列情况发生时归零:
之前传送的帧大于RTS 门限值,并且得到MAC 层的应答时
收到广播或组播的帧时

除了响应的重传计数器,MAC 会赋予每个帧片段最长的『存活期』。传送出第一个帧片段之后,存活计数器随即启动。一旦超过存活时间,该帧便会被丢弃,因此不会重传其余的帧片段。

3.3.2 使用重传计数器

数据传送是通过基本次序,整个过程必须完成才算传送成功。短帧和长帧:网络管理人员利用不同长度的帧来调整网络的稳定性。

长帧需要较多的缓存空间,所以两种不同重传限制的一个潜在应用,就是放宽长帧的重传限制,以减少所需要的缓存空间。

3.3.3 DCF 与延迟

当帧传送完成并且经过一段DIFS 时间,工作站便会试图传送之前拥塞的数据。DIFS 之后所紧接的一段时间,称为竞争期间或退避期间。此期间可进一步分割为时槽(slot)。时槽长度因介质而异。速度较高的物理层会使用较短的时槽。工作站会随机挑选某个时槽,等候该时槽到来以便访问介质。所有时槽的选择机会均等。当多部工作站同时试图传送数据,挑到第一个时槽(亦即取得最小随机号码)的工作站可以优先传送。

介质为无线的电磁波(某种频率/谱的---波长)

3.3.4 Spectralink 语音优先性

语音对于网络服务品质的敏感性,远高于数据方面的应用。

3.3.5 帧的分段与重组

当干扰存在时,分段封包同时有助于提升可靠性。利用帧的分段,无线局域网络的工作站可将干扰局限于较小的帧片段,而非较大的帧。

当上层封包超过网络管理人员所设定的分割门限,就会进行帧的分割。

。帧控制信息用来指示是否还有其他帧片段待接收。

正如任何的RTS/CTS 交换,RTS 与CTS 会将NAV 设定成从预定时间到第一个帧片段结束。

3.3.6 帧格式

挑战(干扰和多径衰落)-》MAC 被迫采用了许多特殊的功能

3.3.7 Frame Control 位

(Protocol 位)协议版本位由两个bit 构成,用以显示该帧所使用的MAC 版本。

TypeSubtype 位(类型与次类型位用来指定所使用的帧类型。)

TO DSFrom DSbit

这两个bit 用来指示帧的目的地是否为传输系统.

More fragments bit

若较上层的封包经过MAC 分段处理,最后一个片段除外,其他片段均会将此bit 设定为1

Retry bit

有时候可能需要重传帧。任何重传的帧会将此bit 设定为1,以协助接收端剔除重复的帧。

Power management bit

此bit 用来指出传送端在完成目前的基本帧交换之后是否进入省电模式。1 代表工作站即将进入省电模式,而0 则代表工作站会一直保持在清醒状态。

More data bit

为了服务处于省电模式的工作站,基站会将这些由“传输系统”接收而来的帧加以暂存。

Protected Frame bit

相对于有线网络,无线传输本质上就比较容易遭受拦截。如果帧受到链路层安全协议的保

护,此bit 会被设定为1,而且该帧会略有不同。

Orderbit

帧与帧片段可依序传送,不过发送端与接收端的MAC 必须付出额外的代价。一旦进行“严

格依序”传送,此bit 被设定为1。

3.3.8 Duration/ID 位

Duration/ID 位紧跟在frame control 位之后

3.5.2.1 Duration:设定NAV

此数值代表目前所进行的传输预计使用介质多少微秒。

3.5.2.2 免竞争期间所传送的帧

在免竞争期间(contention-free period,简称CFP),第14 个bit 为0 而第15 个bit 为1。其他所有bit 均为0,因此duration/ID 位的值为32768。这个数值被解读为NAV。

3.5.2.3 PS-Poll 帧

在PS-Poll(省电模式-轮询)帧中,第14 与第15 个bit 会被同时设定为1。移动式工作站可以关闭天线以达到省电目的。休眠中的工作站必须定期醒来。为确保不致丢失任何帧,从休眠状态醒来的工作站必须送出一个PS-Poll 帧,以便从基站取得之前暂存的任何帧。此外,醒来的工作站会在PS-Poll 帧中加入连接识别码(association ID,简称AID),以显示其所隶属的BSS。AID 包含在PS-Poll 帧中,其值介于1-2,007。而介于2,008-16,383 的值目前保留并未使用。

3.3.9 Address 位

一个802.11 帧最多可以包含四个地址位。这些位地址位均经过编号,因为随着帧类型不同,这些位的作用也有所差异(详见第4 章)。基本上,Address 1 代表接收端,Address 2 代表传

送端,Address 3 位被接收端拿来过虑地址。举例而言,在基础网络里,第三个地址位会被接收端用来判定该帧是否属于其所连接网络

802.11 所使用的定位模式,乃是依循其他IEEE 802 网络所使用的格式,包括以太网。地址位本身的长度有48 个bit。如果传送给实际介质的第一个bit 为0,该地址位代表单一工作站(单点传播[unicast])。如果第一个bit 为1,该地址代表一组实际工作站,称为组播(多点传播[multicast])地址。如果所有bit 均为1,该帧即属广播(broadcast),因此会传送给连接至

无线介质的所有工作站。
这些长度48 个bit 的地址位有各种不同的用途:

目的地址
和以太网一样,目的地址(Destination address)是长度48 个bit 的IEEE MAC 识别,码,
代表最后的接收端,亦即负责将帧交付上层协议处理的工作站。
源地址
此为长度48 个bit 的IEEE MAC 识别码,代表传输的来源。每个帧只能来自单一工作站,
因此Individual/Group bit 必然为0,代表来源地址(Source address)为单一工作站。
接收端地址
此为长度48 个bit 的IEEE MAC 识别码,代表负责处理该帧的无线工作站。如果是无线工
作站,接收端地址即为目的地址。如果帧的目的地址是与基站相连的以太网结点,接收端即为基
站的无线界面,而目的地址可能是连接到以太网的一部路由器。
传送端地址
此为长度48 个bit 的IEEE MAC 识别码,代表将帧传送至无线介质的无线界面。传送端地
址通常只用于无线桥接。

3.3.10 Basic Service Set ID (BSSID)
要在同一个区域划分不同的局域网络,可以为工作站指定所要使用的BSS(基本服务集)。
在基础网络里,BSSID(基本服务集标识)即是基站无线界面所使用的MAC 地址。而对等(Ad
hoc)网络则会产生一个随机的BSSID,并将Universal/Localbit 设定为1,以防止与其他官方
指定的MAC 地址产生冲突。
要使用多少地址位,取决于帧类型。大部分的数据帧会用到三个位:来源、目的以及BSSID。
数据帧中,地址位的编号与排列方式取决于帧的传送路径。大部分的传输只会用到三个地址,这
解释了为什么在帧格式中,四个地址位都有其中三个位相邻的。

3.3.11 顺序控制位

此位的长度为16 个bit,用来重组帧片段以及丢弃重复帧。。它由4 个bit 的fragment number

(片段编号)位以及12 个bit 的sequence number(顺序编号)位所组

3.3.12 帧主体

帧主体(Frame Boby)亦称为数据位,负责在工作站间传送上层数据(payload)。

802.11 与其他链路层技术不同之处:。首先,在802.11 帧中并无任何上层协议的标记可供区别。上层协议是以额外标头type 位加以标记,同时将其作为802.11所承载数据的开始其次,802.11 通常不会将帧填补至最小长度。

3.3.13 帧检验序列(FCS)

和以太网一样,802.11 帧也是以帧检验序列(frame check sequence,简称FCS)作为结束MAC是数据链路层,传输数据,在各种物理层之上。

3.4 802.11 对上层协议的封装

传输时,用来封装LLC 数据的方式有两种。其中一种是RFC 1042 所描述的方式(为IETF 封装),另外一种则是802.1H 所规范的方式(隧道式封装)。

3.5 竞争式数据服务

802.11 局域网络中负责运送数据的基本交换程序。802.11 定义了两组截然不同的基本交换程序。其一为DCF,用于竞争服务,详见本章。第二种交换方式为PCF,用于免竞争服务(contention-free service)。DCF 说使用的帧交换方式在802.11 MAC 中占有决定性的地位。

3.5.1 广播与组播数据或管理帧

广播与组播帧的交换过程最为简单,因为这些帧无须应答。组播帧无法加以分段,也无须得到应答。整个基本交换过程只牵涉到一个帧,根据竞争式访问控制规则加以传递。因为帧的交换过程只牵涉到一个帧,所以将NAV(网络分配矢量)设定为0。因环境而异,组播帧可能会遇到低劣的服务质量,因为这些帧没有得到任何应答。

3.5.2 单点传播帧

在802.11 标准中,针对个别工作站所传送的帧称为直接数据(direct data)。单点传播帧必须得到应答以确保可靠性,亦即可借助各种机制来改善传输效率。

3.7.2.1 单一帧(最后一个片段)及其正面应答

两部工作站之间的传输可靠性建立在简单的正面应答上。

此帧会利用NAV 为本身、应答及SIFS 预定介质使用权。设定较长的NAV,是为了替整个交换程序锁住虚拟载波,以保证接收端可以传送应答。因为此交换程序是以ACK 做为结束,所以没

有必要再锁住虚拟载波,因此该ACK 中NAV 会被设定为0。

3.7.2.2 帧分段

包括IP 在内,一些较上层的网络协议或多或少都会用到帧分段。在网络层进行分段的缺点是,接收端必须加以重组;如果帧在传输过程中遗失,整个封包就必须重传。在链路层使用分段

机制可以提升速度,亦即以较小的MTU 在转运点(hop)间传送数据

3.7.2.3 RTS/CTS

为保证介质使用权以及数据传输不被中断,工作站可使用RTS/CTS 的交换方式。

3.7.2.4 TRS/CTS 与帧分段

实际上,RTS/CTS 交换过程通常与帧分段并行。虽然经过分段,帧片段还是有一定的长度,因此可受惠与TRS/CTS 程序所确保的介质独家使用权,免与隐藏节点的竞争

3.5.3 省电程序

在RF 系统中,放大器是最耗电的元件,由它负责将发送出的信号放大,以及将所收到的信号放大到可处理的水平。802.11 工作站可以关闭无线电波收发器,并且定期进入休眠状态,以维持最长的电池使用时间。在这段期间,基站会为每部处于休眠状态的工作站暂存帧。若有暂存帧,基站会在后续的Beacon 帧中告知工作站。由省电状态唤醒的工作站可以使用PS-Poll 帧取得这些暂存帧。接收到PS-Poll 帧的基站,可以立即采取回应,也可以等到环境许可,比较空闲时再予以应答。

3.7.3.1 立即应答

基站可以对PS-Poll(省电模式-轮询)帧立即作出应答。

3.7.3.2 延迟应答

除了立即应答,基站可以先回复一个简单应答。这种做法称为延迟应答(deferred response),因为基站虽然回应了访问暂存帧的要求,但未并立即采取实际的发送行动。

3.5.4 多种速率支持(Multirate Support)

能够以不同速度工作的网络技术必须具备一种机制,可以协调出一种收发端彼此均可接受的数据率。速度协商对工作站而言尤其方便_1. 每部工作站均保有一份速率清单,其中记录工作站与所连接BSS 均支持的所有速率。(所谓BSS,通常相当于一部基站,不过较新的产品可以让使用者依虚拟基站自订速率。)高于速率组合的传输速率是不允许用来传送帧的。_____2. 每个BSS 必须负责维护一组基本速率,即打算加入此BSS 的工作站所必须支持的速率___清单。任何传送至群组接收地址的帧必须以基本速率传送,确保所有工作站均可正确解读。________3. 用来起始帧交换的控制帧,如RTS 与CTS,必须以基本速率组合中的一种速率进行传_________输。这一规则可以确保必须以CTS 回应RTS 帧的工作站,能够以相同速率工作。__

4. 发送给特定工作站的帧,会在Address 1 位记载单点传播目的地址。单点传播帧(Unicast frame)可以使用目的端支持的任一速率传送。至于数据速率的选择方式,

802.11 标准并未加以规范。

5. ACK 或CTS 之类的应答帧必须以基本速率组合所包含的速率传送,但不能高于这次传输所使用的起始帧。应答帧必须使用与起始帧相同的调制方式(DSSS、CCK或OFDM)。

3.7.4.1 选速与降速

802.11 界面均支持某种降速机制,可以适应不同网络环境选择所使用的数据率。信号质量-à信噪比.

直接测量信噪比,可以针对最近一个帧的瞬间信号质量,或者就最近一段期间所接收到之一定数量的帧取平均数。

至于间接测量;如果帧已经丢失且帧重传计数器已经用尽,那就降速至下一档,然后重试一遍;反复进行以上步骤直到帧送出,或者一直尝试到最低速率都无法成功传递为止。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章