CSMA/CA

CSMA/CA

目录导航

产生背景

虽然CSMA/CD协议已成功地应用于有线连接的局域网,但无线局域网不能简单地搬用CSMA/CD协议。其主要原因是:

第一,CSMA/CD协议要求一个站点在发送本站数据的同时还必须不间断地检测信道,以便发现是否有其他的站也在发送数据,这样才能实现“冲突检测”的功能。但在无线局域网的设备中要实现这种功能花费过大。

第二,更重要的是,即使能够实现冲突检测的功能,且在发送数据报时检测到信道是空闲的,但是,由于无线电波能够向所有的方向传播,且其传播距离受限,在接收端仍然有可能发生冲突,从而产生隐藏站问题和暴露站问题。

此外,无线信道还由于传输条件特殊,造成信号强度的动态范围非常大。这就使发送站无法使用冲突检测的方法来确定是否发生了碰撞。

因此,无线局域网不能使用CSMA/CD协议,而是以此为基础,制定出更适合无线网络共享信道的载波监听多路访问/冲突避免CSMA/CA协议。CSMA/CA协议利用ACK信号来避免冲突的发生,也就是说,只有当客户端收到网络上返回的ACK信号后,才确认送出的数据已经正确到达目的。

工作流程

802.11标准为数据帧定义了不同的信道使用优先级,使用三种不同的时间参数:短帧间隔SIFS、长帧间隔DIFS和点协同间隔PIFS。SIFS最短,使用它作为等待时延的结点将用最高的信道使用优先级来发送数据帧。网络中的控制帧以及对所接收数据的确认帧都采用SIFS作为发送之前的等待时延。DIFS最长,所有的数据帧都采用DIFS作为等待时延。PIFS具有中等级别的优先级,主要作为AP定期向服务区内发送管理帧或探测帧所用的等待时延。

图一图一CSMA/CA协议的工作原理如图一所示,主要工作流程是:

(1)当主机需要发送一个数据帧时,首先检测信道,在持续检测到信道空闲达一个DIFS之后,主机发送数据帧。接收主机正确接收到该数据帧,等待一个SIFS后马上发出对该数据帧的确认。若源站在规定时间内没有收到确认帧ACK,就必须重传此帧,直到收到确认为止,或者经过若干次重传失败后放弃发送。

(2)当一个站检测到正在信道中传送的MAC帧首部的“持续时间”字段时,就调整自己的网络分配向量NAV。NAV指出了必须经过多少时间才能完成这次传输,才能使信道转入空闲状态。因此,信道处于忙态,或者是由于物理层的载波监听检测到信道忙,或者是由于MAC层的虚拟载波监听机制指出了信道忙。

分类

CSMA/CA分为两类,第一类是时分多路复用技术与CSMA/CD相结合的方式;第二类是二次检测避免冲突方式。下面分别介绍这两种方式。

第一类避免冲突的工作方式要点如下:每次传递结束后,立即把时间划分成时间片,这些时间片分属网络中各结点。结点根据时间片的先后发送信息,具有第一个时间片的结点首先发送,发送结束后,按优先权顺序把发送权交给具有第二个时间片的结点。轮到某个结点而该结点又无报文可发时,它的时间片就空闲不用。如果在时间片轮回一周后,所有结点都无报文可发,那么网络就返回到CSMA/CD方式,这时又按竞争方式获取信道。信道在CSMA/CD方式下使用一次后,系统又回到时间片方式。在这种可避免冲突的系统中,通常给某些结点以特殊的优先权,使它们总是能在第一个时间片发送信息。如果给它们的时间片没有使用,则重新在其他结点轮流分配时间片。在这种系统中,结点必须有能力完成时间片的同步,执行分配时间片的算法以及CSMA/CD方式的算法,因此,实现起来较复杂,价格也较贵。这种方法的优点是效率高。

第二类避免冲突的CSMA/CA技术,称为二次检测信道访问技术。这是一种与第一种方式完全不同的CSMA/CA技术。它由结点在发送信息前对介质进行两次检测来避免冲突的发生,其工作方式如下:准备发送信息的结点在发送前侦听介质一段时间(大约为介质最长传播延迟时间的2倍),如果在这一段时间内介质为“闲”,则开始准备发送,发送准备的时间较长,约为前一段侦听时间的2~3倍。准备结束后,真正要将信息发送前,再由结点对介质进行一次迅速短暂的侦听,若仍为空闲,则可正式发送。如果这时侦听到介质上有信息传输,则马上停止自己即将开始的发送。按某种算法延迟一段随机时间,然后再重复以上的二次检测过程,所以这种方式又称为“二次检测”法。由于第二次侦听的时间短,在这么短暂的时间内有两个点同时发送信息的可能性很小,因此基本上可以避免冲突。同时,这种方式没有“边发边听”,而仅仅是“先听后发”,这样,用不着“边听边发”的复杂的冲突检测装置,降低了成本。这种方法的缺点是,发送后一旦发生冲突,也不中止自己的发送,直到发送完毕才知道错误,再重新侦听、重发。

与CSMACD的差别

CSMA/CD可以检测冲突,但无法避免冲突;对于CSMA/CA,在发送包的同时不能检测到信道上有无冲突,只能尽量避免。CSMA/CD和CSMA/CA的主要差别表现在:

(1)两者的传输介质不同:CSMA/CD用于总线式以太网,而CSMA/CA用于无线局域网802.11a/b/g/n等。

(2)检测方式不同:CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。

(3)对于WLAN中的某个结点,其刚刚发出的信号强度要远高于来自其他结点的信号强度,也就是说它自己的信号会把其他的信号覆盖掉。

(4)在WLAN中,本结点处有冲突并不意味着在接收结点处就有冲突。

相关百科
返回顶部
产品求购 求购