Echodat 2010-06-24
前文我们对传统的有线网络的MAC协议进行了分析,接下来我们在对无线网络的MAC也进行一个详细的介绍。那么无线网络中的MAC工作方式是如何的呢?无线局域网(WLAN)中MAC所对应的标准为IEEE 802.11,IEEE 802.11 MAC综合了两种工作方式: 分布控制(DCF)和中心控制(PCF)两种工作方式:
1.分布控制方式(DCF),类似CDMA/CD,利用载波监听机制,适用于分布式网络,传输具有突发性和随机性的普通分组数据, 支持无竞争型实时业务及竞争型非实时业务。
2.中心控制方式(PCF),建立在DCF工作方式之上并且仅支持竞争型非实时业务,适用于具备中央控制器的网络。
分布控制方式(DCF)
DCF机制是MAC协议层中最基本的媒体接入控制机制。DCF机制基于CSMA/CA(CSMA/Collision Avoidance载波监听多址接入/碰撞避免) , 并以RTS/CTS消息交换机制作为辅助的介质访问方式。
CSMA/CA协议
CSMA作为随机竞争类MAC协议,算法简单而且性能丰富,所以在实际局域网的使用中得到了广泛的应用。但是在无线局域网中,由于无线传输媒体固有的特性及移动性的影响,无线局域网的MAC在差错控制、解决隐藏终端等方面存在应有别于有线局域网。因此WLAN与有线局域网所采用的CSMA具备一定的差异。WLAN采用CSMA/CA(CSMA/Collision Avoidance)协议,其与CSMA/CD最大的不同点在于其采取避免冲突工作方式。
与CSMA/CD不同,WLAN媒体访问控制(MAC)层采用的CSMA/CA(CSMA/Collision Avoidance)协议,由于在RF传输网络中冲突检测比较困难,所以该协议用避免冲突检测代替802.3协议使用的冲突检测,采用冲突避免机制尽量减小冲突碰撞发生的概率,以提高网络吞吐性能与迟延性能。协议使用信道空闲评估(CCA)算法来决定信道是否空闲,通过测试天线能量和决定接收信号强度RSSI来完成。并且使用RTS、CTS和ACK帧减少冲突。数据加密与普通局域网的等同加密(WEP)算法一样,使用64位密钥和RC4加密算法。
CSMA/CA工作过程:
当发射端希望发送数据时,首先检测介质是否空闲,若是介质为空闲时,送出RTS(Request To Send请求发送),RTS信号包括发射端的地址、接收端的地址、下一笔数据将持续发送的时间等信息,接收端收到RTS信号后,将响应短信号CTS(Clear To Send),CTS信号上也RTS内记录的持续发送的时间,当发射端收到CTS包后,随即开始发送数据包,接收端收到数据包后,将以包内的CRC(Cyclic Redundancy Check,循环冗余校验)的数值来检验包数据是否正确,若是检验结果正确时,接收端将响应ACK包,告知发射端数据已经被成功地接收。当发射端没有收到接收端的ACK包时,将认为包在传输过程中丢失,而一直重新发送包。
CSMA/CA与CSMA/CD的区别
1.载波检测方式:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
2.信道利用率比较:CSMA/CS协议信道利用率低于CSMA/CD协议信道利用率。但是由于无线传输的特性,在无线局域网不能采用有线局域网的CSMA/CD协议。信道利用率受传输距离和空旷程度的影响,当距离远或者有障碍物影响时会存在隐藏终端问题,降低信道利用率。
具体最高的信道利用率与传输速率有关。在IEEE802.11b无线局域网中,在1Mbit/s速率时最高信道利用率可到90%,而在11Mbit/s时最高信道利用率只有65%左右。
虚拟介质检测机制(VCS)
在802.11标准网络内,MAC协议所有接收到RTS与CTS信号的无线设备,都将采用虚拟介质检测(Virtual Carrier Sense)机制,设置NAV(Network Allocation Vector,网络分配矢量),并使用在RTS和CTS中包含的duration字段信息来设置MAC协议参数NAV,duration字段指明了源和目的主机为传输数据将要占用信道的时间长度。当物理层内的NAV指针打开时,设备将认为此时的物理介质正为其他设备所占用而停止发送与接收数据。NAV的值随着时间推移不断减小,在NAV值减到零之前,主机不会发起传输尝试。
虚拟介质检测(VCS)机制设置使其它主机预先知道信道中正在进行的传输情况,从而有效提高了数据帧成功传输的概率。但是VCS机制增加了RTS和CTS的开销,降低了有效数据传输速率。NAV的设计有助于解决无线局域网内隐藏节点的问题。
中心控制方式(PCF)
PCF(Point Coordination Function)机制基于轮询机制,可以用于支持无竞争型实时业务。
PCF工作过程:
希望发送数据的主机首先向AP(Acess Point)发送Association Request(连接请求)帧,并在帧的功能性能字段的CF-Pollable(可轮询CF)子字段中表明希望加入轮询表。在收到AP的ACK信息以后,主机被列入轮询列表。轮询列表中的主机按连接标识(Association ID:AID )升序排列。AID是由AP主机分配的16bit标识符。
AP发出Beacon帧表明CFP期间的开始。然后AP依次向轮询列表中的主机发出Poll帧给AP,或发送Data帧给其它非AP主机;如果在PIFS时间间隔内没有响应,则表明主机无数据要发,AP继续发出下一个Poll帧。