竞争类MAC协议

您所在的位置:网站首页 TRAMA协议中的状态 竞争类MAC协议

竞争类MAC协议

2023-10-13 21:04| 来源: 网络整理| 查看: 265

竞争类MAC协议 ALOHA协议多信道CSMA协议MACA协议MACAW协议ACKDSRRTS FAMA协议IEEE 802.11 MAC协议MACA-BI协议DBTMA协议

ALOHA协议

这个比较简单,基本来说就是谁有消息要发就立刻发出去,因此碰撞问题十分严重,之后有了各种改进版本。

多信道CSMA协议

通常来说多信道使用FDMA技术分割为N个不重叠的信道。

载波监听,想发送信息包的节点要确保没有其他节点在使用共享介质,所以该节点首先要监听信道上的动静如果信道在一定时段内寂静无声(长帧间间隔时间,避免信道衰落等干扰),则该节点就开始传输,通常情况下,为了避免多个节点产生碰撞,传输前需要等待一段随机时间。节点偏好选择自己以前成功发送过信息的信道,如果该信道被占用,则随机选择一个剩下的信道。

分为持续和非持续,对于持续CSMA协议,每个节点连续不断的监听信道,一旦经过一段时间的空闲,就立刻发送信息。对于非持续CSMA协议,每次检测到信道忙,就随机等待一段时间以后传输出去。

MACA协议

个人认为延迟算法巧妙的规避了隐终端和暴露终端的问题。 假设A给B发消息,A首先给B发送RTS请求,B听到以后回送给ACTS请求,之后两个节点再收发消息。 旁听到RTS的节点推迟至CTS分组发送完为止,旁听到CTS的节点推迟至数据包(长度在CTS中)发送完为止。这样能有效减少隐终端和暴露终端的问题。举个栗子,对于隐终端来说 在这里插入图片描述 A发送RTS,B收到RTS后发送CTS,此时C也能旁听到CTS,C节点根据CTS中的分组长度推断B将要接收的数据包长度,C节点推迟数据发送。 对于暴露终端: 在这里插入图片描述 C旁听到B发出的RTS分组,一直推迟到B接收CTS分组以后再进行通信。此时只对于发送节点有可能产生碰撞。

MACAW协议

在MACA协议的基础上增加了三个检验分组。

ACK

ACK分组用来核对数据包信息。接收节点接收数据包后给发送节点回送ACK信息,如果发送节点没有收到ACK则安排分组重传。如果接收节点正确收到数据包但是发送的ACK丢失,那么当发送节点进行数据重传时发送RTS分组,接收节点回答ACK分组而不是CTS分组。

DS

在这里插入图片描述 假设出现上图中的情况,P1给B1发送RTS分组,对于P2来说,他不能确定B1回送给P1的分组是CTS还是ACK,因而无法确定上一个数据分组是否传输成功。为了解决这个问题,P1在传输数据包之前还要传输DS分组,用来提醒P2。 RTS-CTS-DS-DATA-ACK

RRTS

在这里插入图片描述 假设出现上图的情况此时B1竞争失败准备重传,根据MACA协议,当P1侦听到P2节点发送CTS分组时,静默至数据传输完成,当P1静默的时候又接收到B1发送的RTS请求,对于P1来说,它无法进行回送应答,对于B1来说,他接收不到P1的回送,因而不断进行BEB退避。事实上,由于P2-B2对的存在,B1很难做到恰好在P1的静默期结束发送分组。此时,最好的做法是在P1静默期结束以后,发送给B1一个RRTS分组,告诉他“我收到了你的RTS分组,但是我刚才在静默期无法回应”,B1收到RRTS分组以后立刻发送RTS分组,之后进行正常的数据传输。 RTS-RRTS-RTS-CTS-DB-DATA-ACK

FAMA协议

在这里插入图片描述 FAMA协议在MACA协议上有一个重要改动,即CTS分组的长度要大于最大传输时延 τ \tau τ,RTS分组长度,发送接收转换时间 ϵ \epsilon ϵ之和。对于a图,节点A在小于 τ \tau τ时刻就要广播自己的RTS分组(如果在 τ \tau τ时刻还没有广播RTS分组,就会收到B发来的CTS分组,从而开始避退),只有这样才有可能发生分组碰撞,在经过RTS和 ϵ \epsilon ϵ以后A点由发送转换为接收状态,收到了一堆噪音,因而A点认为自己和CTS分组发生碰撞,A点需要等待足够长的时间(通常是最大长度数据分组)以至于不影响数据分组的收发。 对于b图来说,B点最晚在 τ \tau τ时刻发送CTS分组(如果B点在 τ \tau τ仍然没有发送CTS分组,就会接受到RTS分组,从而进行退避)。在A节点转换为接收信号以后收到一堆噪音,因而A点认为是自己发送的RTS分组干扰了相邻节点接收数据,因此A点退避。 在FAMA协议中有几个状态,PASSIVE一般用于默认状态,REMOTE用于远端接收状态,BACKOFF用于退避。

IEEE 802.11 MAC协议

选自《计算机网络——自顶而下方法》,第三张图用于解释退避算法。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

MACA-BI协议

将MACA协议反过来。接收节点发送RTR分组(含有发送节点的ID)示意可以接受信息,之后发送节点直接发送数据分组。接收节点需要有流量预测算法,用来确定何时向发送节点发送RTR分组,因此可以用数据分组携带有关发送节点的流量信息。当发送节点缓存溢出时,发送节点直接发送RTS分组,此时MACA-BI协议退化为MACA协议。 MACA-BI协议不能防止分组碰撞。下图中C点会炸。 在这里插入图片描述

DBTMA协议

在RTS-DATA的基础上增加两个忙音,其中 B T t BT_t BTt​为发送方设置,保护RTS分组, B T r BT_r BTr​为接收方设置,保护RTS和DATA分组。在发送节点A将要发送RTS之前,先监听信道,检测 B T t BT_t BTt​和 B T r BT_r BTr​信号,如果检测到,进入竞争状态,当竞争状态结束以后再检测一遍,如果仍然检测到忙音进入空闲状态。如果A没有检测到忙音,自身设置 B T t BT_t BTt​忙音,发送RTS分组,发送完以后关闭忙音。当接收节点B接收到A的RTS分组,自身设置 B T r BT_r BTr​忙音,接收RTS分组。如果此时A侦听到了 B T r BT_r BTr​忙音,说明自己发送成功,因此等待最大传输时延的两倍(用于使B点附近的节点全部听到B发出的 B T r BT_r BTr​忙音,因而停止发信息干扰信道),之后发送DATA。B点接收DATA分组以后关闭 B T r BT_r BTr​忙音。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3