IEEE 802.11 MAC理解(一)

来源:互联网 发布:centos7 nat网络配置 编辑:程序博客网 时间:2024/06/08 11:13

SIFS

Short Interframe Space(SIFS):在802.11系列无线局域网中SIFS是固定值,SIFS是最小的帧间间隔,因此采用SIFS的节点具有访问无线链路的最高优先级。它等于节点从发送状态切换到接收状态并能正确解码所需要的时间,或者从接收状态转为发送状态所需要的时间,在SIFS过期后可能发送的数据包包括ACK、CTS帧,不同标准中规定的SIFS值不同。

StandardSIFS(μs)IEEE 802.11b10IEEE 802.11a16IEEE 802.11g10

DIFS

DCF Interframe Space(DIFS):在DCF协议中,节点在开始发送数据之前需要监测信道是否空闲。如果信道已经空闲,则节点仍需等待DIFS段时间才开始发送数据;而如果在DIFS时间段内任一时刻信道被监测为忙,则节点不得不推迟它的数据发送。DIFS和SIFS间的计算关系如下:

DIFS = SIFS + (2 * Slot time)

StandardSlot Time(µs)DIFS(µs)IEEE 802.11b2050IEEE 802.11a934IEEE 802.11g9 or 2028 or 50

PIFS

PCF Interframe Space(PIFS):PCF使得AP等待PIFS而不是DIFS时间以访问信道,由于DIFS > PIFS > SIFS,因此AP总比普通节点具有更高的访问信道的优先级。

PIFS = SIFS + Slot time

StandardSlot time(µs)PIFS(µs)IEEE 802.11b2030IEEE 802.11a925IEEE 802.11g9 or 2019 or 30

EIFS

Extended Interframe Space(EIFS):在前一帧出错的情况下,发送节点不得不延迟EIFS而不是DIFS时间段后再发送下一帧。

EIFS = Transmission time of Ack frame at lowest basic rate + SIFS + DIFS



IEEE802.11MAC的基本访问方法就是DCF,即CSMA/CA。在网络中,所有站点都必须实现DCF,站点都以DCF为基本访问方式。

载波侦听

CSMA/CA的基础是载波侦听,IEEE802.11根据WLAN的戒指特点提出了两种载波检测方式。一种是基于物理层的载波检测方式,另一种是虚拟的载波检测方式。(1)基于物理层的载波检测方式。从接收到的射频或天线信号来检测信号能量,或者是根据接收信号的质量来估计信道的忙闲状态;(2)虚拟载波检测方式。通过MAC报头RTS/CTS中的NAV(Network allocation vector)来实现。只要其中的一个NAV提示信号传输介质正在被其他用户所使用,那么传输介质就认为已经处于忙状态。NAV可以看成一个计算器,它以同一的速率逐渐递减,直至为0。为0表示信道空闲。

 

IEEE802.11CSMA/CA的工作原理

IEEE802.11标准在基本CSMA/CA基础上引入了RTS/CTS选项,它是个可选项。引入了RTS/CTS的CSMA/CA的工作原理表述如下:所有无线站点在发送数据前先进行载波侦听操作,以查看通信线路是否空闲,如果其他站点正在传输数据,那么该侦听站点就会随机等待一段时间(再等待大于DIFS的空闲时间后,启动退避机制),然后再进行重新发送。如果侦听到介质空闲(这里的空闲是指侦听到大于DIFS的空闲时间后),那么它就会先发送一个比较短的请求发送信息(RTS),RTS 消息是由目的地址和需要占用的传输时间组成的,这样一来,其他的站点就会知道必须等待多长的时间才能够发送。目的端收到RTS后,就会发出一个允许发送的短消息(CTS)(等待SIFS的时间),告诉源站点可以发送数据而不必担心会发生冲突。然后源站点开始发送数据(等待SIFS时间后发送数据)。数据到达目的端后,目的端就会发送一条ACK信号(等待SIFS时间),表示数据已经接收到了。如果没有收到ACK的话,MAC层就会重传那段数据(重传数据时,会重新启动退避机制)。

(原则上来讲,在该协议中,二进制退避机制主要是针对RTS的发送,因为RTS数据发送后,后续数据就会无冲突的进行。)整个过程如图1、2所示

 

 

IEEE802.11MAC详细分析
图1

 

IEEE802.11MAC详细分析
图2

(从图1、2可以看出,当NAV=0,要发送数据的节点开始侦听一个DIFS的时间,DIFS时间后,信道若闲,则发送数据,若忙,则继续监听一个IFS的空闲时间后,开始执行二进制退避算法开始竞争窗口(当然如果此时有新的要发送数据节点就不需要退避,再等待了DIFS的空闲时间就开始发送数据)。在执行算法过程中,如果信道变忙,则退避计数器暂停,直到信道空闲时重新启动,否则当退避计数器为0时发送数据。)

 

简而言之,IEEE802.11MAC协议一方面通过载波侦听机制来查看传输介质是否存在空闲,另一方面通过冲突避免机制进行随机的时间等待。

 

帧间间隔

帧与帧之间的时间间隙为帧间间隔(IFS)。帧间间隔对于无线局域网十分重要,它是传输介质上的一段强制的空闲时间周期。所有使用载波侦听功能的站点只有在检测到信道空闲时间大于IFS后,才认为信道空闲(所以默认即使NAV=0,也要至少监听一个IFS)。MAC层定义了3种IFS。(1)SIFS。(2)PIFS。(3)DIFS。

SIFS:它是最短的时间区段,用以间隔需要立即响应的帧,如控制帧等。如图2 所示。当站点已获得介质控制权并且需要持续控制以完成帧交换顺序时,会使用SIFS。使用该间隔,可以防止其他正在等待介质的站点试图使用介质。DIFS:工作在DCF模式的站点使用DIFS来发送数据帧和管理帧。如果一个工作于DCF模式的站点能够正确接收到数据帧,且在DIFS时隙边界处的载波侦听显示介质空闲,且其退避时间已经结束时,则可以发送数据。

不同的IFS与无线站点的数据传输速率没有任何关系。IFS大小的定义为传输介质的时间缺口,IFS对于所有的物理层都应该是固定的。这些帧间隔的时间以us来进行测量。

 

 IEEE802.11MAC详细分析

图3 帧间隔(IFS)

 

DCF退避规程详细叙述

随机退避时间:当站点需要发送数据帧和控制帧时(无论什么帧,只要在要发送数据的时候监听到信道忙,则在监听到DIFS间隔后必须启动退避。如果要发送数据时,监听信道为空闲,则监听到DIFS空闲后,信道仍空闲则可以发送数据。如果监听到信道闲,而没有监听到DIFS空闲后则仍会启用退避机制),应调用载波侦听机制确定当前介质状态。如果介质忙,站点将推迟发送,直至介质空闲时间为DIFS。在DIFS后,站点将在发送前生成一个随机退避时间以推迟发送。如果其本身退避时间为非0,则继续使用该计数器。

何时启动退避规程:对于要发送数据的站点而言,当物理载波或虚拟载波侦听发现介质忙时,则该站点启动退避(该退避是在监听到DIFS的空闲时间后开始)。当发送站点预测一个发送失败后,也将启动退避。

  IEEE802.11MAC详细分析

                               图4 退避详细执行过程

 

退避规程简介如下:在退避规程开始时,站点随机计算一个退避时间来设置退避计时器。只有当介质空闲时间达到DIFS时,开始退避。执行退避规程的站点用载波侦听机制决定每个退避时隙间介质是否有活动,如果在某一退避时隙间介质没有活动的报告,则退避规程将退避定时器减1个时隙时间;如果在退避时隙期间,介质状态有忙,退避规程将挂起,退避定时器对该时隙不计数。当介质空闲时间达到DIFS时,允许重新开始退避规程(在之前剩下的退避时间进行退避)。只要退避定时器为0,就可以发送。当数据发送成功后,退避规程在接收到ACK之后重新开始;当数据没有被成功发送,退避规程在ACK定时器结束之后重新开始。如果发送成功,CW在随机退避间隙选定之前值CWmin,站点相应的重传计数器更新。该规程的结果为:在多个正要延迟发送且进入随机退避的站点之间,使用随机函数选用最小退避时间的站点将赢得竞争。


原创粉丝点击