3.3 介质访问控制
信道划分(FDM、TDM、WDM、CDMA),随机访问(ALOHA、CSMA、CSMA/CD、CSMA/CA),轮询访问与令牌传递。重点是 CSMA/CD 的争用期、最短帧长与二进制指数退避。
介质访问控制(MAC)所要完成的主要任务是,为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。广播信道上多个结点同时发送会互相干扰(冲突),MAC 协议就是用来决定”谁在什么时候发送”的。
信道划分介质访问控制
将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。核心思想是多路复用:把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高信道的利用率。
- 频分多路复用(FDM):将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号。每个子信道分配的带宽可不相同,但它们的总和必须不超过信道的总带宽。为了防止子信道之间的干扰,相邻信道之间需要加入”保护频带”;
- 时分多路复用(TDM):将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用。每个时间片由复用的一个信号占用。若某用户在分配给它的时隙没有数据,该时隙就空闲浪费;
- 统计时分多路复用(STDM):又称异步时分多路复用,它采用 STDM 帧,按需动态分配时隙,提高了线路利用率;
- 波分多路复用(WDM):即光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号;
- 码分多路复用(CDM / CDMA):采用不同的编码来区分各路原始信号的一种复用方式,既共享信道的频率,又共享时间。每个站被分配一个唯一的 位码片序列,发送 1 时发送码片序列,发送 0 时发送码片序列的反码。各站的码片序列相互正交(规格化内积为 0)。
| 站点 | 码片序列 | 第 1 个比特时间 | 第 2 个比特时间 | 第 3 个比特时间 |
|---|---|---|---|---|
| A | (1,1,1,1) | (1,1,1,1) | (-1,-1,-1,-1) | (1,1,1,1) |
| B | (1,-1,1,-1) | (1,-1,1,-1) | (1,-1,1,-1) | (-1,1,-1,1) |
| C | (1,1,-1,-1) | (0,0,0,0) | (0,0,0,0) | (0,0,0,0) |
| 信道上的叠加信号 | (2,0,2,0) | (0,-2,0,-2) | (0,2,0,2) | |
| 与 A 的码片做内积 / 4 | 1 ⇒ 1 | -1 ⇒ 0 | 1 ⇒ 1 | |
| 与 B 的码片做内积 / 4 | 1 ⇒ 1 | 1 ⇒ 1 | -1 ⇒ 0 | |
| 与 C 的码片做内积 / 4 | 0 ⇒ 未发送 | 0 ⇒ 未发送 | 0 ⇒ 未发送 | |
随机访问介质访问控制
在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率。在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧的冲突(碰撞),导致所有冲突用户的发送均以失败告终。
ALOHA 协议
- 纯 ALOHA:当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内未收到确认,那么该站点就认为传输过程中发生了冲突,等待一段随机时间后再发送数据,直至发送成功。吞吐量最大约 18.4%;
- 时隙 ALOHA:把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧。吞吐量最大约 36.8%。
CSMA 协议
载波监听多路访问:每个站点在发送前都先侦听一下共用信道,发现信道空闲后再发送。
| 类型 | 信道空闲 | 信道忙 |
|---|---|---|
| 1-坚持 CSMA | 马上发送 | 继续坚持监听,直到空闲马上发送 |
| 非坚持 CSMA | 马上发送 | 放弃监听,等待一个随机时间后再重新监听 |
| p-坚持 CSMA | 以概率 发送,以 推迟到下一个时隙 | 等待下一个时隙再监听 |
CSMA/CD 协议
载波监听多路访问/碰撞检测,适用于总线形网络或半双工网络环境(以太网)。工作流程可以概括为”先听后发,边听边发,冲突停发,随机重发”:
- 适配器从网络层获得一个分组,封装成以太网帧,放入适配器的缓存,准备发送;
- 如果适配器侦听到信道空闲,那么它开始发送该帧;如果信道忙,那么它持续侦听直至信道上没有信号能量,然后开始发送该帧;
- 在发送过程中,适配器持续检测信道。若一直未检测到碰撞,就顺利地把这个帧发送完毕;若检测到碰撞,则中止数据的发送,并发送一个 32 bit 的拥塞信号(强化碰撞);
- 在中止发送后,适配器就执行二进制指数退避算法,等待一段随机时间后返回到步骤 2。
为什么监听到空闲还会碰撞?因为电磁波在总线上总是以有限的速率传播的。设总线两端的单程传播时延为 :
二进制指数退避算法:
- 确定基本退避时间,一般取为争用期 ;
- 定义参数 ;
- 从离散的整数集合 中随机取出一个数 ,重传所需要退避的时间就是 倍的基本退避时间,即 ;
- 当重传达 16 次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
使用二进制指数退避算法可使重传需要推迟的平均时间随重传次数的增大而增大(也称动态退避),因而能降低发生碰撞的概率,有利于整个系统的稳定。
CSMA/CA 协议
CSMA/CD 已成功应用于使用有线连接的局域网,但在无线局域网环境下,却不能简单地搬用 CSMA/CD 协议,原因有二:一是接收信号的强度往往远小于发送信号的强度,且在无线介质上信号强度的动态变化范围很大,要实现碰撞检测,硬件上的花费就会过大;二是在无线通信中,并非所有站点都能够听见对方,即存在”隐蔽站”问题。因此 802.11 无线局域网使用 CSMA/CA(碰撞避免):
- 预约信道:发送方在发送数据的同时向其他站点广播自己传输数据需要的时长(NAV);
- ACK 帧:所有站点在正确接收到发给自己的数据帧(不是广播或组播帧)后,都需要向发送方回发一个 ACK 帧——这是 CSMA/CA 与 CSMA/CD 的重要区别之一;
- RTS/CTS 帧:可选的碰撞避免机制,主要用于解决无线网中的隐蔽站问题;
- 帧间间隔 IFS:SIFS(最短,用于 ACK、CTS 等)< PIFS < DIFS(最长,用于发送数据帧之前)。
轮询访问介质访问控制:令牌传递协议
在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。典型的轮询访问控制协议是令牌传递协议,主要用于令牌环局域网:
- 一个令牌(Token,一个特殊的 MAC 控制帧)沿着环形总线在各结点计算机间依次传递,令牌本身不包含信息,仅控制信道的使用,确保同一时刻只有一个结点独占信道;
- 当环上结点都不需要发送数据时,令牌就在环上流动;需要发送数据的结点只有在拿到令牌后才能发送数据帧,因此令牌环网络不会发生冲突;
- 适合负载很高的广播信道(多个结点在同一时刻发送数据概率很大的信道)。
即时练习
- 1(408 真题 2009)在一个采用 CSMA/CD 协议的网络中,传输介质是一根完整的电缆,传输速率为 1 Gb/s,电缆中的信号传播速度是 200 000 km/s。若最小数据帧长度减少 800 比特,则最远的两个站点之间的距离至少需要( )。
- 2(408 真题 2014)站点 A、B、C 通过 CDMA 共享链路,A、B、C 的码片序列分别是 (1,1,1,1)、(1,−1,1,−1) 和 (1,1,−1,−1)。若 C 从链路上收到的序列是 (2,0,2,0,0,−2,0,−2,0,2,0,2),则 C 收到 A 发送的数据是( )。
- 3(408 真题 2011)下列选项中,对正确接收到的数据帧进行确认的 MAC 协议是( )。
- 4(408 真题 2015)下列关于 CSMA/CD 协议的叙述中,错误的是( )。
- 5以太网中某站点第 3 次重传时,按二进制指数退避算法,它从( )中随机选取 r。
标记完成后,侧栏会显示进度。进度仅保存在本浏览器中。