802.11MAC协议的简单分析

网络 网络管理
文章针对802.11MAC协议进行了阐述,文章中我们分析了协议的5个时序间隔,以及操作模式等。从中大家可以发现它的一些特点。

IEEE 802.11MAC协议在一些规定中有着独特的地方。那么我们这里对MAC协议不再过多描述,主要看一下802.11MAC协议的一些特点和工作流程。希望大家能从中有所收获。

802.11MAC协议定义了5类时序间隔,其中两类是由物理层决定的基本类型:短帧空间(SIFS)和时隙 (slot time)。其余3类时序间隔则基于以上两种基本的时序间隔:优先级帧间空间(PIFS)、分散帧间空间(DIFS)和扩展帧间空间(EIFS)。 SIFS是最短的时序间隔,其次为时隙。时隙可视为MAC协议操作的时间单元,尽管802.11信道就整体而言并不工作于时隙级时序间隔上。对于 802.11b网络(即具有DSSS物理层的网络),SIFS和时隙分别为10和20μs。考虑到信号的传播和处理延迟,通常将时隙选择为20μs。 PIFS等于SIFS加1个时隙,而DIFS等于SIFS加2个时隙。EIFS比上述4类时序间隔都长得多,通常在当收到的数据帧出现错误时才使用。

802.11MAC协议支持两种操作模式:单点协调功能(PCF)和分散协调功能(DCF)。PCF提供了可避免竞争的接入方式,而DCF则对基于接入的竞争采取带有冲突避免的载波检测多路访问(CSMA/CA)机制。上述两种模式可在时间上交替使用,即一个PCF的无竞争周期后紧跟一个DCF的竞争周期。

AP首先将轮询消息和数据(如果存在)发送至移动站1(用S1表示)。移动站1应当在SIFS时序间隔内,立即发送确认消息或数据帧(如果数据帧存在)至AP。在收到来自移动站1的ACK消息或数据后,AP将在SIFS时序间隔内轮询移动站2。在本例中,由于轮询消息丢失或者移动站不需要发送数据至AP,因此移动站2并未作出响应。这种情形中,由于在SIFS截止之前AP未收到来自移动站2的响应, AP将在PIFS时序间隔内继续轮询移动站3。PIFS开始于移动站2最后一条轮询消息的末尾。

在退避期间,如果在一个时隙中检测到信道繁忙,那么退避间隔将保持不变,并且只当检测到在DIFS间隔及其下一时隙内信道持续保持空闲,才重新开始减少退避间隔值。当退避间隔为0,将再次传送分组数据。退避机制有助于避免冲突,因为信道可在最近时刻被检测为繁忙。更进一步,为了避免信道被捕获,在两次连续的新分组数据传送之间,移动站还必须等待一个退避间隔,尽管在DIFS间隔中检测到信道空闲。

DCF的退避机制具有指数特征。对于每次分组传送,退避时间以时隙为单位(即是时隙的整数倍),统一地在0至n-1之间进行选取,n表示分组数据传送失败的数目。在第一次传送中,n取值为CWmin=32,即所谓的最小竞争窗(minimum contention window)。每次不成功的传送后,n将加倍,直至达到最大值CWmax=1024。

对于每个成功接收的分组数据,802.11规范要求向接收方发送ACK消息。而且为了简化协议头,ACK消息将不包含序列号,并可用来确认收到了最近发送的分组数据。也就是说,移动站根据间断停起(stop-and-go)协议进行数据交换。一旦分组数据传送结束,发送移动站将在10μs SIFS间隔内收到ACK。如果ACK不在指定的ACK_timeout周期内到达发送移动站,或者检测到信道上正在传送不同的分组数据,最初的传送将被认为是失败的,并将采用退避机制进行重传。

除了物理信道检测,802.11MAC协议还实现了网络向量分配(NAV),NAV的值向每个移动站指示了信道重新空闲所需的时间。所有的分组数据均包含一个持续时间字段,而且NAV将对传送的每个分组数据的持续时间字段进行更新。因此,NAV实际上表示了一种虚拟的载波检测机制。MAC协议就采用物理检测和虚拟检测的组合以避免冲突。

上面描述的协议称为双向握手机制,此外,MAC协议也包含4通(four-way)帧交换协议。实际上,4通协议利用上述竞争过程获得信道接入之后,要求移动站向AP发送一个特殊信号:发送请求(RTS)信号,而不是实际的数据分组包。与此相呼应,AP将在适当的时候,在 SIFS间隔内发送清除-发送(Clear-to-Send, CTS)消息,以通知请求的移动站立即开始分组数据传送。RTS/CTS握手的主要目的是解决所谓的隐藏终端(hidden terminal)问题。

责任编辑:佟健 来源: IT专家网
相关推荐

2011-07-14 10:54:38

2010-09-17 16:36:02

IPX SPX协议

2010-07-05 10:32:03

802.11无线协议

2010-07-12 16:03:55

2010-07-14 17:38:47

MIME协议

2010-09-08 17:35:31

协议栈是什么

2010-06-24 15:55:21

MAC协议

2009-12-24 16:08:30

IEEE 802.11

2010-06-12 14:52:40

802.11无线协议

2013-06-26 09:51:28

无线标准无线网络802.11协议

2009-03-09 09:34:00

802.11v

2013-08-14 17:50:28

802.11ac5G WiFiWiFi

2011-06-03 14:52:13

2010-07-14 17:34:57

SMTP协议

2010-06-13 15:53:35

ICMP协议

2010-06-24 14:53:43

MAC协议

2012-07-09 14:04:54

802.11n

2010-07-05 16:13:34

2010-06-17 23:13:10

路由信息协议

2010-07-01 16:01:05

HTTP协议
点赞
收藏

51CTO技术栈公众号