概述
介质访问控制
介质访问控制是数据链路层的子层,通过采取一定的措施,使共享信道的节点之间通信不会发生相互干扰。常用的介质访问控制方法有:信道划分介质访问控制、随机访问介质访问控制和轮询访问介质访问控制。
一、信道划分介质访问控制
信道划分介质访问控制通过多路复用技术实现,当传输介质的带宽超过传输单个信号所需的带宽时,通过在一条介质上同时携带多个传输信号的方式提高传输系统利用率。信道划分方式可以分为:频分多路复用(FDM)、时分多路复用(TDM)、波分多路复用(WDM)和码分多路复用(CDM)。
1. 频分多路复用
将多路基带信号调制到不同频带载波上,再进行叠加形成一个复合信号的多路复用技术。每个子信道分配的带宽可以不相同,但是总和不能超过信道总带宽。优点是充分利用了传输介质的带宽,系统效率高;技术成熟,实现容易。
2. 时分多路复用
将一条物理信道按照时间分成若干个时间片,轮流分配给多个信号使用。在某一特定时刻,信道上只传送某一对设备之间的信号,但对于某一时间段而言,传送着按照时间分割的多路复用信号。但由于计算机数据的突发性,用户对已经分配的子信道利用率一般不高。统计时分多路复用(STDM, 又称异步时分多路复用)是TDM的一种改进,按需动态分配时隙,当终端数据要传送时,才会分配到时间片,可以提高线路利用率。
3. 波分多路复用
波分多路复用就是指光的频分多路复用,在光纤中传输多种不同波长(频率)的光信号,光信号之间互不干扰。最后利用波长分解复用器将各路波长分解出来。光波处于频谱的高频段,有很高的带宽,因此可以实现和多路的波分复用。
4. 码分多路复用
码分多路复用技术利用不同的编码来区分各路原始信号的一种复用方式。既可以共享时间,又可以共享空间。
码分多址是码分复用中采用的一种技术,其原理为将每比特时间分成m个更短的时间槽,称为芯片(clip),通常情况下每比特有64或128个芯片。每个站点被指定唯一的m为芯片序列。当站点要发送二进制数据1时,就发送分配的原芯片序列。当要发送二进制0时,便发送芯片序列的反码。当两个或多个站点同时发送时,各路数据在信道中被线性相加。为了从原信道中分离出各路信号,各个站点发送的芯片序列应是相互正交的。
通俗的讲,A站向C站发送的数据用一个向量来表示,B站向C站发送的数据用另一个向量来表示,两个向量要求相互正交。码分多路复用技术具有频谱利用率高、抗干扰能力强、保密性强、语音质量好等优点。还可以减少投资和降低运营成本,主要用于无线通信系统,特别是移动通信系统。
二、随机访问介质访问控制
在随机访问协议中,所有用户可以根据自己意愿随机发送信息,占用信道全部速率。为了解决随机接入产生的碰撞,每个用户需按照一定的规则反复重传他们的帧,直道该帧无碰撞的通过。常用协议有:ALOHA协议、CSMA协议、CSMA/CD协议和CSMA/CA协议。他们的核心思想为:胜利者通过争用获得信道,从而获得信息的发送权。因此也称争用型协议。
1. ALOHA协议
(1)纯ALOHA协议:
基本思想是当网络中任何一个站点需要发送数据时,可以不进行检测就发送数据。如果在一段时间内没有收到确认,该站点就认为传输过程发生了冲突。发送站点随机等待一段时间后重新发送数据,直至发送成功。
(2)时隙ALOHA协议:
时隙ALOHA协议把所有站点在时间上同步起来,并将时间划分为一段段等长的时隙(Slot),规定只能在每个时隙的开始才能发送帧。从而避免用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率。时隙ALOHA的信道利用率是纯ALOHA的一倍。
2. CSMA协议
ALOHA协议中,每个站点随心所欲的发送数据,即使其他站点正在发送数据也照发不误,因此数据碰撞的概率大。载波监听多路访问协议CSMA在每个站点发送数据前,都先侦听一下信道,发现信道空闲后再发送数据,可以大大减少冲突可能性,从而提高信道利用率。根据监听方式和监听到信道忙后的处理方式不同,有三种不同的CSMA协议:1-坚持CSMA、非坚持CSMA和p-坚持CSMA。
信道状态 | 1-坚持 | 非坚持 | p-坚持 |
---|---|---|---|
空闲 | 立即发送数据 | 立即发送数据 | 以概率 p p p发送数据,以概率 1 − p 1-p 1−p推迟到下一个时隙 |
忙 | 继续坚持监听信道 | 放弃监听,等待一个随机的时间后再监听 | 放弃监听,等待一个随机的时间后再监听 |
3. CSMA/CD协议
载波监听多路访问/碰撞检测协议是CSMA的改进方案,适用于总线型或半双工网络环境。“载波监听”就是发送前先监听,等待信道变为空闲再发送。“碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上的电压变化,以便判断自己在发送数据时其他站点是否也在发送数据。CSMA/CD的工作流程可以简单概括为:“先听后发,边听边发,冲突停发,随机重发”。
为了确保发送站在发送数据的同时能检测到可能存在的冲突,需要在发送完帧之前就能收到自己发送出去的数据,即帧的传输时延至少两倍于信号在总线中的传播时延,所以CSMA/CD总线网络中的所有数据帧必须要大于一个最小帧长。任何站点收到帧长小于最小帧长的帧就将其丢弃。最小帧长计算公式为:
除了冲突检测,CSMA/CD还能从冲突中恢复。一旦发生了冲突,参与冲突的两个站点紧接着再次发送数据是没有意义的,如果这样做将无休止的引发冲突。CSMA/CD采用二进制指数退避算法来解决碰撞问题。步骤如下:
(1)确定基本退避时间,一般取两倍的总线端到端传播时延2
τ
tau
τ(即争用期)。
(2)定义参数
k
k
k,他等于重传次数,但是
k
k
k不超过10,即
k
=
m
i
n
[
重
传
次
数
,
10
]
k=min[重传次数,10]
k=min[重传次数,10]。
(3)从离散的整数集合
[
0
,
1
,
.
.
.
,
2
k
−
1
]
[0,1,...,2^{k}-1]
[0,1,...,2k−1]中随机取出一个数
r
r
r,重传所需的基本退避时间就是
r
r
r倍的基本退避时间,即
2
r
τ
2rtau
2rτ。
(4)当重传达到16次不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层汇报错误。
使用二进制指数退避算法可使重传推迟的平均时间随重传次数的增大而增大(动态退避),因而减小发生碰撞的概率,有利于整个系统稳定。
4. CSMA/CA协议
载波监听多路访问,碰撞避免协议使用预约信道、ACK帧、RST/CTS帧三种机制来实现碰撞避免。
(1)预约信道。发送方在发送数据的同时向其他站点通知自己传输数据需要的时间长度,以便让其他站点在这段时间不发送数据,从而避免碰撞。
(2)ACK帧。所有站点在正确接收到发给自己的数据帧后(除广播和组播),都需要向发送方发回一个ACK帧,如果接收失败则不采取行动。发送方在发送完一个数据帧后,若在指定时间内没有收到ACK帧,则认为发送失败,将进行该数据帧的重发,直道接收到ACK帧或者达到规定的重发次数为止。
(3)RTS/CTS帧。是可选的碰撞避免机制,主要用于解决无线网络中的“隐蔽站”问题。
CSMA/CD和CSMA/CA的主要区别如下:
(1)CSMA/CD可以检测冲突,但是无法避免。CSMA/CA发送包的同时不能检测信道上有无冲突,本节点处没有冲突不意味着在接收结点没有冲突,只能尽量避免。
(2)传输介质不同。CSMA/CD用于总线式以太网,而CSMA/CA用于无线局域网802.11a/b/g/n等。
(3)检测方式不同。CSMA/CD通过电缆中电压变化来检测;而CSMA/CA采用能量检测、载波检测和能量载波混合三种检测信道空闲的方式。
总结:CSMA/CA协议是在发送数据时先广播告诉其他结点,让其它节点在某时间段内不要发送数据,以避免发生碰撞。CSMA/CD协议的基本思想是发送前先侦听,边发送边侦听,一旦出现碰撞马上停止发送。
三、轮询访问介质访问控制:令牌传递协议
整理自王道论坛
最后
以上就是激情早晨为你收集整理的数据链路层介质访问控制——信道划分、随机访问和轮询访问的全部内容,希望文章能够帮你解决数据链路层介质访问控制——信道划分、随机访问和轮询访问所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复