竞争类MAC协议

ALOHA协议

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

多信道CSMA协议

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

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

分为持续和非持续,对于持续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在小于 τ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值