一、介质访问控制到底解决什么问题?
在广播式网络中,多个节点往往共享同一条信道。
例如:
A ─┐ B ─┼────── 一条共享信道 C ─┤ D ─┘此时必须解决一个问题:
多个节点什么时候可以发送数据?
这就是介质访问控制 MAC(Medium Access Control)要解决的问题。
MAC 协议主要可以分为三类:
信道划分介质访问控制
随机访问介质访问控制
轮询访问介质访问控制
可以简单理解为:
信道划分:提前分好
随机访问:大家竞争
轮询访问:排队使用
二、频分复用 FDM
FDM(Frequency Division Multiplexing)将信道的总带宽划分成若干互不重叠的频带。
不同用户同时使用不同频率:
频率 → |---A---|---B---|---C---|---D---|特点:
多个用户可以同时传输
用户之间不会发生碰撞
用户无数据发送时,其频带可能被浪费
一句话:
FDM:同时传,不同频率。
三、时分复用 TDM
TDM(Time Division Multiplexing)将时间划分为固定时间片。
例如:
时间 → | A | B | C | A | B | C |A 只能使用属于 A 的时间片,B 只能使用 B 的时间片。
特点:
所有用户使用同一信道
不同用户在不同时间传输
固定分配时间片
某用户没有数据时,对应时间片仍可能被浪费
一句话:
TDM:同一个频率,轮流说话。
四、统计时分复用 STDM
统计时分复用是 TDM 的改进。
普通 TDM 固定分配时间片,而 STDM 根据用户实际需求动态分配。
例如 A 没有数据时:
普通 TDM:
| 空 | B | C |STDM:
| B | C | B |因此 STDM 可以提高信道利用率。
由于时间片不再固定属于某个用户,因此数据中通常需要携带地址信息。
一句话:
STDM:谁有数据就优先给谁时间片。
五、波分复用 WDM
WDM(Wavelength Division Multiplexing)主要应用于光纤通信。
它本质上可以理解为:
光的频分复用。
不同用户使用不同波长的光同时传输:
λ1 ── A λ2 ── B λ3 ── C λ4 ── D408 记忆:
WDM = 光纤版 FDM。
六、码分复用 CDM / CDMA
CDM 的特点是:
多个用户可以在相同时间、相同频率上同时发送数据。
不同用户通过不同的码片序列进行区分。
假设 A 站的码片序列为S。
发送 1:
S发送 0:
-S不同站的码片序列要求互相正交。
若 A 使用S,B 使用T,则:
S · T = 0三个非常重要的结论:
S · S = 1 S · (-S) = -1 S · T = 0因此,接收端使用 A 站的码片序列S与收到的信号做内积:
得到
1:A 发送 1得到
-1:A 发送 0得到
0:没有 A 的信号
这是 408 中 CDMA 计算题的核心。
七、ALOHA 协议
ALOHA 属于随机访问协议。
其基本思想是:
有数据就直接发送。
如果发生碰撞,则随机等待一段时间后重新发送。
1. 纯 ALOHA
任何时间都可以开始发送。
冲突危险期为:
2T其中T表示一个数据帧的发送时间。
最大信道利用率约为:
18.4%八、时隙 ALOHA
时隙 ALOHA 要求:
数据只能在时间槽的起点开始发送。
例如:
时间: 0 T 2T 3T 4T |-----|-----|-----|-----| ↑ ↑ ↑ ↑ 只能这些时刻开始发这样可以减少发生碰撞的概率。
冲突危险期变为:
T最大信道利用率约为:
36.8%因此:
时隙 ALOHA 的效率约为纯 ALOHA 的两倍。
九、CSMA:载波监听多路访问
CSMA 的核心思想:
先听后说。
发送数据之前首先监听信道。
若信道空闲,则考虑发送。
若信道忙,则等待。
十、1-坚持 CSMA
规则:
有数据 ↓ 监听信道 ↓ 空闲?── 是 → 立即发送 ↓否 一直监听 ↓ 一旦空闲 → 立即发送所谓“1-坚持”:
信道空闲时,发送概率为 1。
缺点:
多个等待节点可能在信道刚空闲时同时发送,产生碰撞。
十一、非坚持 CSMA
如果发现信道忙:
随机等待一段时间,再重新监听。
流程:
有数据 ↓ 监听 ↓ 忙 ↓ 随机等待 ↓ 重新监听优点:
减少多个节点同时发送的概率
缺点:
可能增加平均等待时间
十二、p-坚持 CSMA
主要用于时隙信道。
信道空闲时:
以概率
p立即发送以概率
1-p推迟到下一个时间槽
例如:
p = 0.5则:
50% 概率现在发 50% 概率再等等它在 1-坚持和非坚持之间进行折中。
十三、三种 CSMA 对比
| 类型 | 发现信道忙 | 发现信道空闲 |
|---|---|---|
| 1-坚持 | 一直监听 | 立即发送 |
| 非坚持 | 随机等待后再监听 | 立即发送 |
| p-坚持 | 持续监听 | 以概率 p 发送 |
408 速记:
1-坚持最急,非坚持最佛,p-坚持按概率来。
十四、为什么 CSMA 仍然会产生碰撞?
即使发送前监听信道,也不能彻底避免碰撞。
原因:
信号传播需要时间。
假设 A 和 B 距离很远:
A ------------------------------ BA 刚开始发送,但 A 的信号还没有传播到 B:
A >>>>>>>>> B这时 B 监听信道,仍然可能认为信道空闲,于是 B 也开始发送:
A >>>>>>> <<<<<<< B 碰撞所以:
传播时延是 CSMA 产生碰撞的重要原因。
十五、CSMA/CD
CSMA/CD:
Carrier Sense Multiple Access with Collision Detection
载波监听多路访问 / 碰撞检测
基本流程:
先监听 ↓ 空闲 ↓ 开始发送 ↓ 发送过程中继续监听 ↓ 有没有冲突? ┌─────┴─────┐ 没有 有 ↓ ↓ 继续发 立即停止 ↓ 发送强化碰撞信号 ↓ 随机退避 ↓ 重传一句话:
CSMA:先听后说。
CSMA/CD:先听后说,边说边听。
十六、CSMA/CD 最小帧长
发送方必须保证:
在发送整个帧结束以前,能够检测到最远端产生的碰撞。
因此:
T帧 ≥ 2τ其中τ为最大单向传播时延。
于是:
最小帧长 = 2τ × 数据传输速率这是 408 中非常重要的计算公式。
看到:
CSMA/CD + 最短帧长
基本就要想到:
2τ × 速率十七、二进制指数退避
发生碰撞后,各节点不能立即重新发送。
否则可能出现:
碰撞 ↓ 一起重传 ↓ 再次碰撞 ↓ 再次一起重传所以必须随机等待。
随着连续碰撞次数增加:
随机等待范围不断扩大。
这就是:
截断二进制指数退避算法。
十八、轮询访问
随机访问依靠竞争,而轮询访问通过控制机制避免碰撞。
1. 轮询
有一个主节点依次询问:
A,你要发吗? B,你要发吗? C,你要发吗? D,你要发吗?只有被允许的节点才能发送。
优点:
不发生碰撞
控制简单
缺点:
轮询存在额外开销
主节点出现故障会影响整个系统
十九、令牌传递
系统中存在一个特殊控制帧——令牌 Token。
令牌按照固定顺序在节点之间传递:
A → B → C → D → A ↑ 令牌只有获得令牌的节点才能发送数据。
发送完毕后,将令牌传递给下一个节点。
优点:
无碰撞
访问时间较确定
适合负载较重的共享网络
缺点:
令牌需要维护
令牌丢失需要恢复
节点故障可能影响令牌传递
二十、介质访问控制总图
介质访问控制 MAC │ ┌───────────────┼────────────────┐ ↓ ↓ ↓ 信道划分 随机访问 轮询访问 │ │ │ ┌─────┼────┐ ┌────┼─────┐ ┌───┴───┐ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ FDM TDM CDM ALOHA CSMA CSMA/CD 轮询 令牌 │ │ WDM STDM二十一、408 高频易错点
1. 信道划分、随机访问、轮询访问不要混
三句话:
信道划分:分 随机访问:抢 轮询访问:排2. CSMA 和 CSMA/CD 不一样
CSMA = 发送前监听 CSMA/CD = 发送前监听 + 发送过程中检测碰撞3. CDMA 不要一上来死磕复杂公式
先记:
S·S = 1 S·(-S) = -1 S·T = 0会用这三个结果,绝大多数 408 基础题就能做。
二十二、最后速记
FDM vs TDM
FDM:
同时不同频。
TDM:
同频不同时。
ALOHA vs CSMA
ALOHA:
不听就发。
CSMA:
先听再发。
CSMA vs CSMA/CD
CSMA:
先听后说。
CSMA/CD:
先听后说,边说边听。
三类 MAC 协议
信道划分:
分。
随机访问:
抢。
轮询访问:
排。
二十三、刷题优先级
这部分强化阶段建议优先掌握:
CDMA 码片序列计算
1-坚持、非坚持、p-坚持 CSMA 的区别
CSMA/CD 为什么仍可能发生碰撞
CSMA/CD 最小帧长计算
二进制指数退避
轮询和令牌传递的优缺点
其中最容易出计算题的是:
CDMA + CSMA/CD 最小帧长。