多址接入协议
链路的两种类型
点到点链路:
- 仅连接了一个发送方和一个接收方的链路
- 一条全双工链路可以看成是由两条单工链路组成
广播链路:
- 连接了许多节点的单一共享链路,任何一个节点发送的数据可被链路上的其它节点接收到
多址接入(Multiple Access)
冲突(collision)
- 在广播链路上,若两个或多个节点同时发送,发送的信号会发生干扰,导致接收失败
多址接入协议
- 规定节点共享信道(谁可以发送)的方法
- 多址接入协议也称媒体接入控制(Medium Access Control,MAC)协议
理想的多址接入协议
在速率为R bps的广播信道上
- 当只有一个节点发送时,它应能以速率R发送(信道利用率高)
- 当有M个节点发送时,每个节点应能以 R/M的平均速率发送(公平性好、信道利用率高)
- 协议是无中心的(分散式):
- 不需要一个特殊的节点来协调发送(健壮性好)
- 不需要时钟或时隙同步(不需要额外的机制)
- 简单(实现和运行开销小)
MAC协议的分类
信道划分
-
将信道划分为若干子信道,每个节点固定分配一个子信道,不会发生冲突
-
关注公平性,轻负载时信道利用率不高
随机接入(竞争)
- 不划分信道,每个节点自行决定何时发送,出现冲突后设法解决
- 轻负载时信道利用率高,重负载时冲突严重
轮流使用信道
- 不划分信道,有数据的节点轮流发送,不会出现冲突
- 信道利用率高,公平性好,但需引入额外机制
信道划分的MAC协议
TDMA: 时分多址
- 将信道的使用时间划分成帧,每个节点在帧中被分配一个固定长度的时间片,每个时间片可以发送一个分组
- 节点只能在分配给自己的时间片内发送
- 若节点不发送,其时间片轮空
FDMA: 频分多址
- 将信道频谱划分为若干子频带
- 每个节点被分配一个固定的子频带
- 若节点不发送,其子频带空闲
CDMA: 码分多址
- 将每个比特时间进一步划分为m个微时隙(称chip)
- 每个节点被分配一个惟一的m比特码序列(称chip code)
- 发送方编码:发送“1”=发送chip code;发送“0”=发送chip code的反码
- 信号叠加:多个节点发送的信号在信道中线性相加
- 接收方解码:用发送方的chip code与信道中收到的混合信号计算内积,恢复出原数据
- 前提条件:任意两个chip code必须是相互正交的
CDMA允许所有节点同时使用整个信道!
随机接入的MAC协议
随机接入的基本思想:
- 当节点有数据要发送时,以信道速率R发送,发送前不需要协调
- 随机接入MAC协议规定如何检测冲突,以及如何从冲突中恢复
随机接入MAC协议的例子:
- 发送前不监听信道:ALOHA家族
- 发送前监听信道:CSMA家族
时分(Slotted) ALOHA
假设:
- 所有帧长度相同
- 时间被划分为等长的时隙,每个时隙传一帧
- 节点只能在时隙开始时发送
- 节点是时钟同步的(知道时隙何时开始)
- 所有节点可在时隙结束前检测到是否有冲突发生
操作:
- 节点从上层收到数据后,在下一个时隙发送
- 若时隙结束前未检测到冲突,节点可在下一个时隙发送新的帧
- 若检测到冲突,节点在随后的每一个时隙中以概率P重传,直至发送成功
优点
- 单个活跃节点可以信道速率连续发送
- 分散式:节点自行决定什么时候发送
- 简单
缺点
- 发生冲突的时隙被浪费了
- 由于概率重传,有些时隙被闲置
- 需要时钟同步
时分Aloha的效率
效率:当网络中存在大量活跃节点时,长期运行过程中成功时隙所占的比例
假设: 有N个活跃节点,每个节点在每个时隙开始时以概率P发送
给定节点在一个时隙中发送成功的概率 = p ( 1 − p ) N − 1 p(1-p)^{N-1} p(1−p)N−1
给定时隙中有节点发送成功的概率 = N p ( 1 − p ) N − 1 Np(1-p)^{N-1} Np(1−