在广播式链路中,两台主机不能同时进行通信。介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
介质访问控制通常由两种方式:
静态划分信道:
信道划分介质访问控制(四种方法)
动态分配信道
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
多路复用技术:
- 把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。
把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。多个主机信息通过复用后,在共享信道上进行通信。最后通过分用分别将多个主机的信息发送到接受端。
下面学习四种划分方式
频分多路复用FDM:
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
优点:
时分多路复用TDM:
将时间划分为一段段等长的时分复用帧(TDM帧)。
每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
注意:TDM帧是在物理层传送的比特流所划分的帧,标志一个周期。需要和数据链路层的帧做区分
但是这样的话如果信道上只有一台主机在通信,而这个主机只占了TDM帧的一部分,无法充分的发挥通信链路的效率。
在此基础上引出了改进版的时分复用的协议,称为统计时分复用STDM
将链路上分散的数据通过集中器整理后再放到链路上进行通信
这些在通信链路上的数据被分成一个一个的STDM帧(物理层传送的比特流所划分的帧)每一个STDM帧中的时隙数小于连接在集中器上的用户数。
各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。
STDM帧不是固定分配时隙,而是按需动态分配时隙。
波分多路复用WDM:
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
码分多路复用CDM:
码分多址(CDMA)是码分复用的一种方式。
这里涉及到线性代数的知识,原理类似波分复用技术。这里我自己也没看懂原理,就先不写了。
题目常考CDMA和CSMA的区别
CDMA:是静态划分信道方式
CSMA:是动态分配信道的方式
动态划分信道特点:信道并非在用户通信时固定分配给用户。
随机访问介质访问控制的特点:所有用户可随机发送信息。发送信息时占全部带宽。
针对这个特点,随机访问介质访问控制非常容易导致发送信息冲突,所以引出了下面四种协议。
ALOHA协议:
1. 普通ALOHA协议:不监听信道,不按时间槽发送,随机重发。所有主机在任意时间段都可以发送信息。如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到确认就判断发生冲突。等待超时后就会重发数据帧。2. 时隙ALOHA协议:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道。大体思路和ALOHA协议相同,若发生冲突,则必须等到下一个时间片开始时刻再发送。
注意:
CSMA协议:
CSMA协议:在发送帧前先监听信道
- CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
[ 检测方法:当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。]
- MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。(广播通信,是总线型)监听结果有两种情况 1. 信道忙 2. 信道空闲(发送完整帧) 针对这两种情况的处理CSMA又分为三种形式
1. 1-坚持CSMA: 如果一个主机要发送消息,那么它先监听信道。信道空闲时直接发送数据帧。不需要等待信道繁忙时一直监听这个信道,直到这个信道空闲则马上传输如果有冲突(一段时间内未收到回复),则等待一个随机长的时间再监听,重复上述过程优点:- 信道利用率高,信道一旦空闲就可以直接发送。缺点:- 假如有两个或两个以上的站点有数据要发送,冲突就不可避免。2. 非坚持CSMA: 如果一个主机要发送消息,那么它先监听信道。信道空闲时数据直接发送不需要等待。信道繁忙时等待一个随机的时间之后再进行监听。发生冲突的处理和上述类似。优点:- 采用随机的重发延迟时间可以减少冲突发生的可能性。缺点:- 可能存在所有的主机都在延迟等待中,使得信道可能处于空闲状态,信道使用率降低。3. p-坚持CSMA: p-坚持CSMA主要是对于监听信道空闲的处理。信道空闲时,以概率p发送数据帧,不必等待。(1-p)概率等待到下一个时间片发送忙则持续监听直到信道空闲再以p概率发送。若冲突则等到下一个时间片开始再监听并重复上述过程。优点:- 既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
注意:上述三种方式如果发生冲突,都需要将已经出错的数据帧发送给接受方,造成资源的浪费。
CSMA/CD协议(信息冲突检测):
针对CSMA在传输冲突时,还需要继续发送数据帧导致资源浪费,这里又提出了CSMA/CD协议。
CSMA/CD协议:
- CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
- MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
- CD:碰撞检测(冲突检测),边发送边监听,通过适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。
(半双工网络)因为电磁波在传输的过程中需要时间,所以发送方在监听到信道空闲时发送数据后,可能其他的数据帧正在传输的路上。所以还是可能冲突的。数据发送方最长需要一个往返传播时延的时间(2t)才可以了解自己的数据有没有和其他的数据帧冲突。
只要经过2t时间还没有检测到碰撞,就能肯定这次发送不会发生碰撞。这段时间称为争用期
如果确认数据发送冲突,就需要确认碰撞后的重传机制。在CSMA/CD协议中使用截断二进制指数规避算法
截断二进制指数规避算法:1. 确定基本退避(推迟)时间为争用期2t2. 定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数
当重传次数大于10时,k就不再增大而一直等于10。3. 从离散的整数集合[0,1,2^k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间即2r×t 。4. 当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。特点:若连续多次发生冲突,就表明可能有较多的站参与争用信道。
使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大、因而减小发生碰撞的概率,有利于整个系统的稳定。此外还有一个场景,当这个帧长度特别小时,发送方检测到碰撞时已经将这个帧发送完毕,所以在这个场景下CSMA/CD协议就没有办法发挥出它本身的作用。这里引出最小帧长的概念:很容易得出 帧的传输时延至少要 ≥ 两倍于信号在总线中的传播时延。帧长/数据传输速率 ≥ 2*t(t是单向传输时延)最小帧长 = 总线传播时延×数据传输速率×2以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧。
CSMA/CA协议(信息冲突避免):
CSMA/CA协议:主要应用于无限局域网中,而CSMA/CD协议适用于总线以太网(有线网络)CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。不同的传输介质需要使用不同的网络。1. 在发送数据前,先检查信道是否空闲如果信道空闲:发出RTS(RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息)。接受端收到RTS后会发出响应CTS。信道忙:等待信道空闲当接受方接收到其他发送方发送RTS后,因为已经建立过通信了,所以就不会响应其他发送方的RTS,这样就可以避免信号发生干扰。发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)2. 接受方使用CRC循环检验码判断接受的数据是否出错。没有出错返回ACK响应.3. 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。CSMA/CA采用了预约信道,ACK机制,RTS和CTS来避免信息传输的冲突.
轮询访问介质访问控制结合了信道划分介质访问控制的优点(不会发生传输冲突)和随机访问介质访问控制的优点(数据帧可以占据全部带宽)
轮询访问介质访问控制:既要不产生冲突,发送时又占全部带宽。
轮询访问介质访问控制主要有两类
轮询协议:主结点轮流"邀请"从属结点发送数据。
缺点:
令牌传递协议(令牌环网)
令牌:特殊格式的MAC帧,不含任何信息。令牌控制信道的使用,确保同一时刻只有一个结点独占信道。
每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
缺点:
令牌转递协议主要应用于令牌环网(物理星型拓扑,逻辑环形拓扑)
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。