CH12 Multiple Access
文章目录
CH11中的链路访问是假定发送方和接收方之间有专门的专用链路的。
实际上:非专用链路,数据链路层需要提供 data link control && media access control
数
据
链
路
层
分
成
两
个
自
层
{
data link control
Multiple-access resolution
{
随
机
访
问
协
议
受
控
协
议
通
道
化
协
议
数据链路层分成两个自层\begin{cases}\text{data link control}\\\text{Multiple-access resolution}\begin{cases}随机访问协议\\受控协议\\通道化协议\end{cases}\end{cases}
数据链路层分成两个自层⎩⎪⎪⎪⎨⎪⎪⎪⎧data link controlMultiple-access resolution⎩⎪⎨⎪⎧随机访问协议受控协议通道化协议
12.1 Random Access Protocal
in random access or contention:没有任何站点是优于其他站点的,没有站点能控制其他站点。
当一个站点要发送数据时,都使用协议来决定要不要发送。
Random Access Protocal的特点:
- 站点没有规定特定的时间表
- 没有规则来规定下一个将要发送的站点是哪一个
但是一个以上的站点发送时就会产生冲突---->帧损坏
12.1.1 ALOHA
(1)Pure ALOHA
概念:一个站点有帧要发送,那么发送这个帧。存在冲突---->帧损坏---->重发
纯ALOHA依赖于接收方的确认。发送后等待接收方的确认,如果超时后还未到达,站点就认为帧被损坏了。
【Resend】
- back-off time:如果超时后都重发帧,那么可能再次冲突collide again,超时后随机等待一定时间wait a random amount of time。称这个时间为back-off time T B T_B TB
- 一个站点在经过最大次数 K m a x K_{max} Kmax之后,必须放弃尝试,并且等待以后尝试
其中超时时间 W a i t t i m e o u t t i m e = 2 × T p Wait\ time\ out\ time = 2\times T_p Wait time out time=2×Tp,为两倍的传输时间
T B T_B TB的公式取决于实现,其中一种方法是二进制回退binary exponential back-off:
- 每次传输随机选择0~ 2 k − 1 2^k-1 2k−1范围内的一个数,该数乘以 T p T_p Tp(最长传播时间),或者乘以 T f T_f Tf,得到 T B T_B TB的值。
- 每一次冲突后,k的值变大,随机等待的时间变长
- K m a x K_{max} Kmax的常用值是15
【脆弱时间 vulnerable time】
vulnerable time:可能发生冲突的时间
纯ALOHA的 v u l n e r a b l e t i m e = 2 × T t f vulnerable\ time =2\times T_{tf} vulnerable time=2×Ttf
【吞吐量Throughput】
吞吐量是指每秒实际发送的,与带宽不同。
G:1个帧传输时间 T t f T_{tf} Ttf内,系统产生帧的平均数
S:纯ALOHA成功传输帧的平均数量
S
=
G
×
e
−
2
G
S = G\times e^{-2G}
S=G×e−2G
当
G
=
1
2
G = \frac{1}{2}
G=21时,
S
m
a
x
=
0.184
S_{max}=0.184
Smax=0.184.
(2)Slotted ALOHA
在时隙ALOHA中,将时间分隔成 T t f T_{tf} Ttf秒的时隙,并强制站点只有在时隙开始的时候才能发送。
冲突发生在同时在一个时隙中发送的情况:
脆弱时间 v u l n e r a b l e t i m e = T t f vulnerable \ \ time = T_{tf} vulnerable time=Ttf
【throughput】
S = G × e − G S = G\times e^{-G} S=G×e−G,当G=1时, S m a x = 0.368 S_{max} = 0.368 Smax=0.368
12.1.2 Carrier Sense Multiple Access (CSMA)
载波侦听多路访问CSMA(Carrier Sense Multiple Access)要求每一个站点在发送前先要监听介质,以减少冲突发生的概率。但是它不能消除冲突,冲突概依然存在的原因是传播的延迟。
v u l n e r a b l e t i m e = T p vulnerable\ \ time = Tp vulnerable time=Tp
(1)Persistence Methods
通道繁忙,站点应该如何做:
- 1-persistence
- 传输前监听
- 空闲直接传输
- 非空闲一直监听等待
发现信道繁忙,一直监听。空闲后马上传输。——多个站点同时发,再次冲突。
信道的利用率高
- non-persistence
- 传输前监听
- 空闲直接传输
- 非空闲等待一个随机时间后监听
信道繁忙时,等待一个随机时间,再次监听:
降低了冲突,信道利用率也降低了。
- p-persistence
- 传输前监听
- 空闲
- p概率发送帧
- 1-p概率不发送帧,并进入步骤1
- 等待一个随机时间【补偿程序】,等待发送
12.1.3 Carrier Sense Multiple Access with Collision Detection(CSMA/CD)
CSMA/CD给出了检测到冲突之后的做法:
是
否
成
功
:
监
控
介
质
观
察
{
成
功
,
完
成
发
送
失
败
,
重
发
是否成功:监控介质观察\begin{cases}成功,完成发送\\失败,重发\end{cases}
是否成功:监控介质观察{成功,完成发送失败,重发
任意站点都可以发送帧,之后监控介质查看传送是否成功。如果成功,站点完成发送;如果不成功,说明存在冲突,需要重新发送此帧。
同时,要想监测到异常,那么要满足条件:
T
f
r
≥
2
T
p
T_{fr} ≥ 2T_p
Tfr≥2Tp
(1)Minimum Frame Size
满足 T f r = 2 T p T_{fr} = 2T_p Tfr=2Tp的,即是最小帧长。
叙述CSMA/CD的流程——
- 在开始发送帧之前,增加了持续程序
- 传输和冲突检测同时进行,持续监测两个过程:传输完成或者是监测到冲突,这两个事件都能使传输停止
- 同时,若是有检测到冲突发生,那么发送一个短小的干扰信号。
与纯ALOHA相比:
- 增加了持续程序
- 传输与冲突检测是一个过程,ALOHA的冲突检测是等待ACK
- 增加干扰
(2)Energy Level
{ 0 : 通 道 空 闲 正 常 : 一 个 站 点 占 用 了 通 道 并 且 正 在 发 送 一 个 帧 不 正 常 : 发 生 了 冲 突 , 且 能 量 级 别 是 正 常 的 二 倍 \begin{cases}0:通道空闲\\正常:一个站点占用了通道并且正在发送一个帧\\不正常:发生了冲突,且能量级别是正常的二倍\end{cases} ⎩⎪⎨⎪⎧0:通道空闲正常:一个站点占用了通道并且正在发送一个帧不正常:发生了冲突,且能量级别是正常的二倍
12.1.4 Carrier Sense Multiple Access with Collision Avoidance(CSMA/CA)
避免冲突的办法:
- 帧间间隔 interframe space,IFS
监听到空闲时,并不马上发送,等待一段时间后再发送【使得源端的信号能传输到】,这段时间等于竞争时间。
IFS能定义一个站点/帧的优先权:IFS时间越短,优先级越高
- 竞争窗口 Contention Window
竞争窗口将时间分隔成时隙,选择一个随机时隙作为等待时间。
时隙个数:补偿策略中的二元指数变化。(IFS后不空闲则时隙数量加倍。)
在CSMA/CA中如果站点发现通道忙,那么不重启竞争窗口的计时器,而是停止计时器发现通道空闲时再启动计时器。
- 确认 acknowledgment
ACK+定时器
(3)Procedure
12.2 Controlled Access Protocal
受控访问的方式:
- reservation
- polling
- token-passing
12.2.1 reservation
时间划分为时隙:N个站点,N个预约子时隙,每个时隙均属于一个站点。
每个时隙内先发送一个预约帧reservation station,预约完的站点可以在预约后发送数据帧。
12.2.2 Polling
Polling一个设备作为主站primary station;另一些设备作为从站secondary station;
所有的数据交换都要通过主站点进行,即使最终的目的站点是从站点。
主设备决定那个设备允许使用通道,主设备始终是一个会话的发起者。
polling:主设备希望接收数据,叫做轮询
select:主设备希望发送数据
12.2.3 token-passing
网络中的站点被组织在逻辑环中,每个站点有前驱后后继。
当前正在使用令牌的节点:令牌从前驱来,不用时往后继去
12.3 CHANNELIZATION
不同的站点在时域、频域、码域上正交化来共享信道
{
F
D
M
A
T
D
M
A
C
D
M
A
\begin{cases}FDMA\\TDMA\\CDMA\end{cases}
⎩⎪⎨⎪⎧FDMATDMACDMA
12.3.1 FDMA
可用带宽被划分为频带,每个站点都是用分配的频带来通信。
guard bands:保护频带
12.3.2 TDMA
所有站点在时间上共享带宽。
每个站点被划分时隙,只有在该时隙才能发送数据。
12.3.3 CDMA
CDMA:
- 一个通道占用所有的带宽
- 所有节点可以同时发送,无时间限制
思想:
n个站点分配n个编码:c1,c2,…,cn
编码特性:
- 两个不同的编码相乘为0
- 自身相乘为4
=“https://gitee.com/sun-yunqi/img/raw/master/pictureStore/image-20211223214511495.png” alt=“image-20211223214511495” style=“zoom:50%;” />
12.3.3 CDMA
CDMA:
- 一个通道占用所有的带宽
- 所有节点可以同时发送,无时间限制
思想:
n个站点分配n个编码:c1,c2,…,cn
编码特性:
- 两个不同的编码相乘为0
- 自身相乘为4