在无线局域网中,对于共享的无线信道,当信道的使用产生竞争时,如何采用有效的协调机制或服务准则来分配信道的使用权,这就是无线局域网的MAC层协议所要解决的问题。无线信道与有线信道不同,无线信道是一个开放的、共享的广播信道,多个节点可以同时访问信道,无线局域网的MAC层协议就是定义一定的顺序和有效的方式分配节点访问无线信道的规则。
图3-7 IEEE 802.11扩展服务集网络拓扑
IEEE 802.11系列的MAC层协议支持架构式网络和自组织网络两种类型的无线局域网,它有两种接入方式,即分布协调功能(Dis-tributed Coordination Function,DCF)和点协调功能(Point Coordina-tion Function,PCF)。DCF是IEEE 802.11系列最基本的MAC层方法,其核心是CSMA/CA机制。它包括载波侦听(Carrier Sense,CS)机制、帧间间隔(Inter Frame Space,IFS)和随机退避(Ran-dom back-off)机制。在每个节点使用CSMA机制的分布式接入算法,让各个节点通过争用信道来获取发送权。DCF在所有节点上都进行实现,可以用于架构式和自组织网络结构中,提供竞争服务。PCF是可选的媒体接入方法,用于架构式网络结构中。PCF使用集中控制的接入算法(一般在接入点实现集中控制),用类似于轮询的方法将发送数据权轮流交给各个节点,从而避免了帧冲突的产生。对于时间敏感的业务,如分组语音,就应该使用提供无竞争服务的PCF。由于PCF机制十分复杂,同时并没有性能方面的优势,因此很少被使用。
为了尽量避免帧冲突,IEEE 802.11系列的MAC层协议规定,所有节点在完成发送后,必须在等待一段很短的时间(等待的同时继续侦听)才能发送下一帧。这段时间统称为帧间间隔(IFS)。IFS的长短取决于该节点打算发送的帧的类型。高优先级帧需要等待的时间较短,因此可先获得发送权,而低优先级帧就必须等待较长的时间。若低优先级的节点还没来得及发送而其他节点的高优先级帧已发送到媒体,则媒体变为繁忙状态,因而低优先级帧就只能再推迟发送了。这样就减少了发生碰撞的机会。常用的几种IFS如下:
1)SIFS(Short IFS):SIFS是最短的IFS。当节点获得信道的控制权,为了帧交换序列继续保持信道控制,这时就使用SIFS,提供了最高优先级。
2)PIFS(PCF IFS):仅仅当节点在PCF模式下,为了在非竞争周期开始时获得信道的访问控制优先权而使用的。一旦在这个时间内侦听到信道空闲,就可以进行中心控制方式的无竞争的通信。
3)DIFS(DCF IFS):节点在DCF方式下传输数据帧和管理帧所使用的时间间隔。如果载波侦听机制确定在正确接收到帧之后的DIFS时间间隔中,信道是空闲的,而且退避时间已经过期,节点将进行发送。
4)EIFS(Extended IFS):DCF方式下用于接收数据错误情况下的等待时间,为接收节点发送确认(ACK)帧提供足够的时间。
以上这些帧间间隔的长度实际上就决定了它们的优先级,即EIFS的优先级<DIFS的优先级<PIFS的优先级<SIFS的优先级。当很多节点都在侦听信道时,使用SIFS可具有最高的优先级,因为它的时间间隔最短。(www.daowen.com)
IEEE 802.11DCF有两种工作方式,一种是基本工作模式,即CSMA/CA方式;另一种是RTS/CTS模式。
基本的CSMA/CA方式的工作过程(见图3-8)如下:当一个发送节点侦听到网络的空闲时间达到DIFS时间后,就认为信道是空闲的,因此开始向目的节点发送数据帧。目的节点如果正确接收到此数据帧,就等待SIFS时间后,向发送节点发送一个确认(ACK)帧表示确认。发送节点收到ACK帧之后,整个发送数据帧的过程结束。如果发送节点在发送数据帧之后没有正确接收到目的节点发送的ACK帧,那么发送节点认为此次数据帧的发送失败,将使用随机退避算法等待一段时间之后再重新发送数据帧。
RTS/CTS模式的工作过程(见图3-9)如下:当一个发送节点侦听到网络空闲时间达到DIFS时间之后,首先发送给目的节点一个请求发送(Request To Send,RTS)帧,表示要向目的节点发送数据帧。目的节点在正确接受到RTS帧之后,向发送节点回复一个清除发送(Clear To Send,CTS)帧,表示已经准备就绪。发送节点在正确接收到CTS帧之后,认为此次发帧没有与其他节点发生冲突,在等待SIFS时间之后按照基本的CSMA/CA方式发送数据帧。如果发送节点在发送RTS帧之后没有正确接收到CTS帧,那么发送节点会认为RTS帧发送失败,将使用随机退避算法等待一段时间之后再重新发送RTS帧。
图3-8 基本的CSMA/CA工作方式
RTS/CTS模式的优点在于:如果两个或者两个以上的节点同时发送帧,那么就可以通过RTS帧发现冲突,接下来停止发送数据帧,这样就可以避免使用基本的CSMA/CA方式时,只有当数据帧全部发完之后才能感知发送帧是否发生了冲突,因此在发送较长数据帧时采用RTS/CTS模式可以提高信道的利用率。同时,RTS/CTS模式可以解决隐藏终端的问题。但是额外的RTS帧和CTS帧会增加冗余,降低效率,尤其是对于短数据帧,该机制并不合理。
随机退避算法是当发送节点准备发送帧时发现信道繁忙或者发送帧失败时,随机等待一段时间之后再开始下次发送帧,目的是为了避免进一步的冲突。在RTS/CTS模式下随机退避算法的不同仅仅在于发送节点在发送数据帧之前,需要先发送控制帧(RTS和CTS)。
图3-9 RTS/CTS工作方式
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。