Alex_McAvoy

想要成为渔夫的猎手

无线自组织网络的 MAC 层

【概述】

在 Ad-Hoc 网络中,节点移动、无线信道脆弱、缺乏中心协调机制这三个问题是在设计 MAC 协议时要仔细考虑的问题。

针对上述三种问题,有三种不同的解决方案,也就有了以下三类协议:

  • 竞争协议(Contention Protocol):使用直接竞争来决定信道访问权,通过重传机制解决碰撞问题
  • 分配协议(Allocation Protocol):分配结点传输时间,分为动态分配协议和静态分配协议
  • 混合协议(Hybrid Protocol)

【竞争协议】

概述

常见的竞争协议有以下四种:

  • ALOHA 协议
  • 载波侦听多址访问协议(CSMA)
  • 基于控制分组握手的访问控制协议
  • 忙音类多址访问协议

关于 ALOHA 协议和 CSMA 协议,详见:随机访问介质控制

基于控制分组握手的访问控制协议

基于控制分组握手的访问控制协议有三种:

  • 多址访问与碰撞回避协议(MACA 协议)
  • IEEE 802.11 MAC 协议
  • 准许式多址访问与碰撞回避协议(MACA-BI 协议)

1.MACA 协议

多址访问与碰撞回避协议,会发送数据前先向接收者发送 RTS 帧,帧中包含将要发送的分组的长度,接收者收到 RTS 后,回送 CTS 帧,并将长度消息捎回,收到 CTS 后,发送者开始发送数据

收到 RTS/CTS 的其它节点在传输时间内不发送任何消息,冲突后会遵循指数退避

该协议提高了无线信道的利用率,仅会发生长度比数据帧小得多的 RTS/CTS 帧的冲突,冲突几率降低,部分解决了隐藏终端问题,但不能解决控制分组之间 RTS/CTS 的冲突问题,在链路层上无确认机制,发生冲突时,需要上层超时重发,效率低

2.IEEE 802.11 MAC 协议

IEEE 802.11 MAC 协议是 IEEE 802.11 标准中的 MAC 协议,其即结合了各种时隙的 CSMA/CA 的协议

关于该协议的详细介绍,见:随机访问介质控制 中的 CSMA 协议

3.MACA-BI 协议

准许式多址访问与碰撞回避协议是基于 MACA 的收方主动的信道接入协议

接收方轮询其他节点是否有数据要发送,只有接到 RTR(Ready To Receive)邀请的节点才能发送数据

MACA-BI 减少了握手次数,从而在高速、短距离的 Ad-Hoc 网络中提高了吞吐量

忙音类多址访问协议

忙音多址访问协议(BTMA 协议),将带宽划分为两个独立的信道, 数据信道用于传输数据分组,控制信道用于传输特殊的忙音信号

忙音信号用于表示数据信道上出现数据发送,节点发送数据前先收听控制信道上的忙音信号

若无忙音信号,则发送数据,同时其他节点检测到数据信道上的数据发送后,立即开始往控制信道上发送忙音信号,直到数据信道上的发送停止。若有忙音信号,则随机时间后再发送

该协议虽然防止了隐藏节点的干扰,降低了 RTS/CTS 碰撞率,但暴露节点问题增多,同时降低了信道利用率

【分配协议】

概述

分配类协议分为两类:

  • 静态分配协议:集中式传输时间安排算法,事先为每个节点静态地分配一个固定的传输时间安排
  • 动态分配协议:使用分布式传输时间安排算法,按需计算传输时间安排

常见的协议有:

  • 时分多址访问协议(TDMA 协议)
  • 五步预留协议(FPRP 协议)
  • 跳频预留多址访问协议(HRMA 协议)

时分多址访问协议

TDMA 协议可分为固定分配类 TDMA 协议动态分配类 TDMA 协议两种

固定分配类 TDMA 协议按照网络中的最大节点数量来做出其传输时间安排,对于一个有N个节点的网络,TDMA协议使用的帧的长度划分时隙,每个节点分得唯一的一个时隙,有效避免各种冲突,但点越多时延越大

该协议的问题在于:在移动 Ad-Hoc 网络中,节点可以没有任何事先告警就被激活,或者被关闭,自由移动导致网络拓扑的易变

为解决上述问题,有了动态分配 TDMA 协议,该协议使用本地参数指定网络内的有限范围(x-跳内),据此为节点确定分配传输时隙

本地参数很可能随时间而变化,所以传输时间安排算法按照分布式方式工作,并且周期性地重复执行,以便适应网络变化

移动 Ad-Hoc 网络的多跳网络拓扑允许带宽的空间复用,不同的节点只要相距得足够远,就可以同时使用相同的带宽,距离一般必须至少等于三跳

五步预留协议

概述

五步预留协议 FPRP 是一个单信道、基于 TDMA 的广播传输时间安排协议

该协议使用竞争机制,使得网络节点相互竞争以获取 TDMA 广播时隙,它通过很小的控制分组的 5 次广播式的握手过程完成两跳范围内的节点间低冲突概率的 TDMA 时隙的分配

节点有业务要传送时,在预约信道通过控制分组的竞争预约信息信道的信息时隙进行业务传送。

在每个预约帧 RF 后可跟有不同数目的信息帧 IF,在 RF 和 IF 中都包含有同等数目的时隙,预约时隙 RS 和信息时隙 IS 一一对应。每 RS 中又划分 M 个预约周期 RC,每个 RC 是一个预约过程,RC 中节点通过 5 次握手过程实现 IS 的预约

过程

该协议的过程分为五个阶段:

1)预约请求阶段(RR,Reservation Request Phase):需要预约资源的节点以概率 $p$ 发送预约请求分组(RR)。发送 RR 分组的节点称为 RN(Reservation Node),不需要进行资源预约的节点在该段里进行监听

2)冲突报告阶段(CR,Collision Report Phase):节点如果在阶段 1) 收到多个 RR,在该阶段它将发送一个 CR,否则保持沉默。若未接收到 CR,RN 认为它所发送的 RR 没有和别的节点发送的 RR 冲突。这样一个 RN 节点就变成了一个传递节点 TN,在状态 3) 里就可以预约,通过 RR/CR 交互消除了隐藏终端问题

3)预约证实阶段(RC,Reservation Confirmation Phase, RC):TN 在该阶发送 RC,每一个一跳邻节点都能正确地接收到这个 RC,都知道该时隙已被预约。它们将在信息时隙里从 TN 接收信息,并且将不再竞争该时隙

4)预约确认阶段(RA,Reservation Acknowledgement Phase,):在该阶段,TN 的一跳邻节点把当前的预约信息通知给 TN 的两跳邻节点。如果 TN 没有一跳邻节点,它将接收不到 RA,因此就可以明确地知道本节点是孤立的,TN 就没必要进行信息的发送。如果没有该阶段,孤立 RN 就因从来没有收到过 CR 而总成为 TN,从而产生孤立死锁

5)填充/消除阶段(P/E,Packing/Elimination Phase,P/E):该阶段以两种类型的分组进行传送

  • 填充分组(PP,Packing Packet):,由 TN 的两跳邻节点发送。节点 K 接收到 PP 分组后,知道三跳的某个节点预约了资源并且节点 K 的某些邻节点将不能与其竞争当前的时隙资源。 K 提高发送 RR 分组的概率 p,加快预约收敛速度,增加距 TN 三跳远的节点的预约成功率
  • 消除分组(EP,Elimination Packet):由 TN 节点按照 0.5 的概率发送。由于节点发送的同时不能进行接收,当两个节点同时发送预约分组 RR 时就会造成非孤立死锁现象,如果 TN 节点在该阶段没有发送 EP 反而收到一个 EP 分组,那么就知道存在有非孤立死锁问题,收到 EP 分组的节点的状态由发送改为接收状态,这样,协议通过发送 EP 分组可以消除可能存在的非孤立死锁问题

非孤立死锁的消除

非孤立死锁的解决是在 5)阶段通过发送 EP 完成的

在 5)阶段中,假设 4)阶段以的 0.5 概率发送了 EP,而同时 5)阶段以 0.5 的概率未发送

此时,5)阶段将接收到 4)阶段发送的 EP,从而知道有非孤立死锁存在。这种情况下,5)阶段将放弃该时隙的使用权,将自己的节点状态标为接收状态,在这个时隙里它将接收而不发送

跳频预留多址访问协议

跳频预留多址访问协议 HRMA 使用一个公共跳频序列,即使用简单的半双工慢速跳频电台来实现而不使用载波帧听

该协议允许一对节点预留一个跳频频率,以便该节点对能够在该预留频率上无干扰地进行通信。其能够保证在出现隐含终端干扰的情况下不会在源节点或者接收节点上发生数据分组或者应答分组与任何其他分组的碰撞

同时,HRMA 协议允许多个系统合并在一起,也允许节点加入已有的系统

【混合协议】

混合协议是竞争协议和分配协议的混合,常见的协议有:HTDMA 协议、ADAPT 协议、ABROAD 协议、AGENT 协议、Meta-协议等,这里仅简单介绍 HTDMA 协议

混合时分多址访问协议

混合时分多址访问协议 HTDMA 是一种动态、按需分配的媒介访问控制协议,其是竞争协议的 CSMA/CA 协议、RTS/CTS 协议和分配协议的 TDMA 协议的混合协议

该协议将时间划分成若干个时隙,其中第一个时隙为公共竞争时隙,全网在该时隙内竞争其他时隙的使用权,竞争采用 CSMA 和 RTS/CTS 方式相结合进行,竞争时隙结束后各个节点按照竞争的结果在各个时隙进行发送、接收或者相应的退避

在通信结束之后,通信双方将占用时隙进行释放

感谢您对我的支持,让我继续努力分享有用的技术与知识点!