计算机网络——数据链路层之介质访问控制

参考链接

  1. CSKAOYAN.COM

介质访问控制

介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况

传输数据使用的两种链路

  1. 点对点链路:两个相邻节点通过一个链路相连,没有第三者。应用:PPP协议,常用于广域网

  2. 广播式链路:所有主机共享通信介质。应用:早期的总线以太网、无线局域网,常用于局域网。典型的拓扑结构:总线型、星型(逻辑总线型)

静态划分信道(信道划分介质访问控制(MAC,Multiple Access Control))

将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备

多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道

频分多路复用FDM

用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。

充分利用传输介质带宽,系统效率较高;由于技术比较尝试,实现也比较容易

时分多路复用TDM

将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道

TDM帧是在物理层传送的比特流所划分的帧,标志一个周期。

频分复用——“并行”
时分复用——“并发”

统计时分复用STDM(改进的TDM)

每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入访问STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙

波分多路复用WDM

波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来

码分多路复用CDM

码分多址(CDMA)是码分复用的一种方式

1个比特分为多个码元/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列

发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)

如何不打架:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交

如何合并:各路数据在信道中被线性相加

如何分离:合并的数据和源站规格化内积

动态划分信道

信道并非在用户通信时固定分配给用户

轮询访问介质访问控制

轮询协议

主结点轮流“邀请”从属结点发送数据

问题:

  1. 轮询开销
  2. 等待延迟
  3. 单点故障
令牌传递协议

令牌:一个特殊格式的MAC控制帧,不含任何信息,控制信道的使用,确保同一时刻只有一个结点独占信道。令牌环网无碰撞

每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌

问题:

  1. 令牌开销
  2. 等待延迟
  3. 单点故障

采用令牌传送方式的网络常用于负载较重、通信量较大的网络中

随机访问介质访问控制

所有用户可随机发送信息,发送信息时占全部带宽

ALOHA协议
纯ALOHA协议

纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发

冲突如何检测:如果发生冲突,接收方就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发送冲突

冲突如何解决:超时后等一随机时间再重传

时隙ALOHA协议

时隙ALOHA协议:把时间分成若干个相同的时间片,所有用户在时间片开始时刻接入网络通信,若发生冲突,则必须等到下一个时间片开始时刻再发送。控制想发就发的随意性

CSMA协议

载波监听多路访问协议CSMA(carrier sense multiple access)

CS:载波侦听/监听:每一个站点在发送之前要检测一下总线上是否有其他计算机在发送数据

当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突

MA:多点接入,表明许多计算机以多点接入的方式连接在一根总线上

协议思想:发送帧之前,监听信道

监听结果:信道空闲:发送完整帧;信道忙:推迟发送

1-坚持CSMA

坚持指的是对于监听信道忙之后的坚持

1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待;忙则一直监听,直到空闲马上传输;如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程)

优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失

缺点:假设有两个或两个以上的站点有数据要发送,冲突就不可避免

非坚持CSMA

非坚持指的是对于监听信道忙之后就不继续监听

非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待;忙则等待一个随机的时间之后再进行监听

优点:采用随机的重发延迟时间可以减少冲突发送的可能性

缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低

p-坚持CSMA

p-坚持指的是对于监听信道空闲的处理

p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输;忙则等待一个随机的时间之后再进行监听

优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间

但是,发送冲突后还是要坚持把数据帧发送完,造成了浪费

CSMA/CD协议

载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection)

CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化,以便判断自己在发送数据时其他站是否也在发送数据

先听后发为什么还会冲突:因为电磁波在总线上总是以有限的速率传播的

最迟多久才能知道自己发送的数据没和别人碰撞:设单程端到端传播时延 τ \tau τ,只要经过 2 τ 2\tau 2τ时间还没有检测到碰撞,就能肯定这次发送不会发生碰撞

如何确定碰撞后的重传时机:截断二进制指数规避算法

截断二进制指数规避算法
  1. 确定基本退避(推迟)时间争用期 2 τ 2\tau 2τ

  2. 定义参数k,它等于重传次数,但k不超过时,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10

  3. 从离散的整数集合 [ 0 , 1 , ⋅ ⋅ ⋅ , 2 k − 1 ] \left [ 0,1,\cdot \cdot \cdot ,2^{k}-1\right ] [0,1,⋅⋅⋅,2k−1]中随机取一个数 r r r,重传所需要退避的时间就是r倍的基本退避时间,即 2 r τ 2r\tau 2rτ

  4. 当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错

最小帧长问题

帧的传输时延至少要两倍于信号在总线中的传播时延

帧 长 ( b i t ) 数 据 传 输 速 率 ⩾ 2 τ \frac{帧长\left ( bit\right )}{数据传输速率}\geqslant 2\tau 数据传输速率帧长(bit)​⩾2τ

最 小 帧 长 = 总 线 传 播 时 延 × 数 据 传 输 速 率 × 2 = 2 τ × 数 据 传 输 速 率 最小帧长=总线传播时延\times 数据传输速率\times 2=2\tau \times 数据传输速率 最小帧长=总线传播时延×数据传输速率×2=2τ×数据传输速率

以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧

CSMA/CA协议

载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)

为什么有CSMA/CA:

  1. 对于无线局域网,无法做到360度全面检测碰撞
  2. 隐藏站。当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突

CSMA/CA协议工作原理:

  1. 发送数据前,先检测信道是否空闲

  2. 空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;通信忙则等待

  3. 接收端收到CTS后,将响应CTS(clear to send)

  4. 发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)

  5. 接收端收到数据帧后,将用CRC来校验数据是否正确,正确则响应ACK帧

  6. 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)

CSMA/CD与CSMA/CA:
相同点:CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都需要进行监听。当发现信道空闲后,才能进行接入

不同点:

  1. 传输介质不同:CSMA/CD用于总线式以太网(有线),而CSMA/CA用于无线局域网(无线)
  2. 载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式
  3. CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传

总结

信道划分介质访问控制(MAC,Multiple Access Control)

基于多路复用技术划分资源

网络负载重:共享信道效率高,且公平
功率负载轻:共享信道效率低

随机访问MAC协议:

用户根据意愿随机发送信息,发送信息时可独占信道带宽

网络负载重:产生冲突开销
网络负载轻:共享信道效率高,单个结点可利用信道全部带宽

轮询访问MAC协议/轮流协议/轮转访问MAC协议

既要不产生冲突,又要发送时占全部带宽

上一篇:数据链路层(5) 动态分配信道


下一篇:CSMA/CD 详解 搬运