admin管理员组

文章数量:1531374

2024年6月11日发(作者:)

CSMA/CA的MAC(多址接入)部分又可以分为两类:基本方案和RTS/CTS (Request To Send/Clear To

Send)方案。下面讨论RTS/CTS方案。

当采用RTS/CTS方案时,如果一个节点有数据需要发射,首先检测信道是否空闲:

(1)如果信道空闲且空闲持续时间的长度达到DIFS(分布式的帧间间隔),节点则首先发射一个RTS分

组来预约信道,然后目标接收节点应答一个CTS组。

(2)如果信道非空闲,或空闲持续时间小于DIFS,则节点进入冲突避免(CA)状态。当节点接收到CTS

分组后,开始发射DATA分组,最后目标接收节点再应答一个ACK分组。由于RTS分组(长度为44字节)

之间的冲突对网络性能造成的损害要远远小于DATA分组(长度为2346字节)之间的冲突所造成的损害,因

此,采用RTS/CTS方案可以提高网络的性能。但是,当DATA分组的长度较小时,就需要考虑发射RTS

/CTS所造成的开销。

CSMA/CA的CS(载波检测)部分包括物理层的载波检测和MAC层的虚拟载波检测。前者主要是检测

其他节点造成的信道物理状态的变化。后者则通过使每个节点都各自维持一个NAV(网络分配矢量)参数来

实现。当一个节点(如A)收到其他节点发射的RTS、CTS和DATA分组时,从这些分组的头部提取出该数

据交换序列剩余的持续时间来更新A自己的NAV。根据NAV的值,A的MAC层就能够知道当前的数据

传送活动将在什么时候结束。因此,采用虚拟载波检测的主要目的是为了在多跳Ad hoc网络中防止出现

隐终端问题。此外,在许多节省能量消耗的方案中,虚拟载波检测机制对于确定节点应该何时从“睡眠"

状态“醒来"而进入到“活跃”状态也是非常重要的。

CSMA/CA中的CA(冲突避免)部分比较简单:当节点接收到新的数据发送任务时,首先检查载波检

测的结果,如果信道空闲且持续时间超过DIFS时间,则立即发送该分组;如果信道非空闲或空闲持续时

间小于DIFS时间,则随机选择一个退避时间之后执行随机退避;在退避的过程中如果信道非空闲则暂停

随机退避过程,而当信道转为空闲且持续时间超过DIFS时间之后再恢复随机退避过程,并在随机退避计

数器的数值递减为O时立即发送RTS分组。当RTS-CTS握手失败或DATA-ACK握手失败时,发射节点

则认为发生了分组接收冲突事件,进而执行冲突解决:增大随机退避窗口的数值,随机选择退避时间并执

行随机退避过程。如果RTS-CTS连续握手失败的次数达到一定的数值,则认为目标节点已不可达,此时

发射节点丢弃分组并向路由层报告链路失效。

本文标签: 节点分组信道检测空闲