介质访问控制(全网最细)

Posted xinglongfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了介质访问控制(全网最细)相关的知识,希望对你有一定的参考价值。

「正文开始:」

1.介质访问控制综述

局域网的数据链路层分为逻辑链路层LLC和介质访问控制MAC两个子层。逻辑链路控制(Logical Link Control或简称LLC)是局域网中数据链路层的上层部分,IEEE 802.2中定义了逻辑链路控制协议。用户的数据链路服务通过LLC子层为网络层提供统一的接口。在LLC子层下面是MAC子层。MAC(medium access control)属于LLC(Logical Link Control)下的一个子层,提供介质访问控控制的功能。模型图如下: 技术图片

  1. 为什么需要介质访问控制? 因为局域网是一种广播式的网络(广域网是一种点对点的网络),所有联网计算机都共享一个公共信道,所以,需要一种方法能有效地分配传输介质的使用权,使得两对结点之间的通信不会发生相互干扰的情况,这种功能就叫介质访问控制。
  2. 介质访问控制的分类? 常见的介质访问控制方法有信道划分介质访问控制、随机访问介质访问控制和轮询访问介质访问控制。其中前者是静态划分信道的方法,而后两者是动态分配信道的方法。

2.信道划分介质访问控制

信道划分介质访问控制将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备。信道划分的实质就是通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为儿条用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道转变为点对点信道。 信道划分介质访问控制分为以下4 种:

频分多路复用(Frequency division multiplexing FDM)

  • 频分多路复用是一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。
  • 每个子信道分配的带宽可不相同,但它们的总和必须不超过信道的总带宽。在实际应用中,为了防止子信道之间的干扰,相邻信道之间需要加入“保护频带”。
  • 频分多路复用的优点在于充分利用了传输介质的带宽,系统效率较高;由于技术比较成熟,实现也较容易。缺点在于无法灵活地适应站点数及其通信量的变化。 技术图片

时分多路复用(Time division multiplexing TDM)

  • 时分多路复用是将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用。每个时间片由复用的一个信号占用。
  • 就某个时刻来看,时分多路复用信道上传送的仅是某一对设备之间的信号;就某段时间而言,传送的是按时间分割的多路复用信号。
  • 但由于计算机数据的突发性,一个用户对已经分配到的子信道的利用率一般不高。所以对TDM进行改进,有了统计时分多路复用(STDM),它采用STDM 帧, STDM 帧并不固定分配时隙,而按需动态地分配时隙,当终端有数据要传送时,才会分配到时间片,因此可以提高线路的利用率。 技术图片

波分多路复用(Wavelength division multiplexing WDM)

  • 波分多路复用即光的频分多路复用,它在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。由于光波处千频谱的高频段,有很高的带宽,因而可以实现多路的波分复用. 技术图片

码分多路复用(Code division multiplexing CDM)

  • 码分多路复用是采用不同的编码来区分各路原始信号的一种复用方式。与FDM 和TDM 不同,它既共享信道的频率,又共享时间。
  • 码分多址(Code Division Multiple Access, CDMA) 是码分复用的一种方式,其原理是每比特时间被分成m个更短的时间槽,称为码片(Chip), 通常情况下每比特有64 或128 个码片。每个站点被指定一个唯一的m 位代码或码片序列。发送1 时,站点发送码片序列;发送0 时,站点发送码片序列的反码。当两个或多个站点同时发送时,各路数据在信道中线性相加。为从信道中分离出各路信号,要求各个站点的码片序列相互正交。简单理解就是, A 站向C 站发出的信号用一个向量来表示, B 站向C 站发出的信号用另一个向量来表示,两个向量要求相互正交。向量中的分量,就是所谓的码片。(相关计算细节感兴趣的可自行百度)
  • 码分多路复用技术具有频谱利用率高、抗干扰能力强、保密性强、语音质量好等优点,还可以减少投资和降低运行成本,主要用千无线通信系统,特别是移动通信系统。
?

【一个生动形象的例子帮忙理解和总结】假设A 站要向C 站运输黄豆, B 站要向C 站运输绿豆, A 与C 、B 与C 之间有一条公共的道路,可以类比为广播信道。 在频分复用方式下,公共道路被划分为两个车道,分别提供给A 到C 的车和B 到C 的车行走,两类车可以同时行走,但只分到了公共车道的一半,因此频分复用(波分复用也一样)共享时间而不共享空间。 在时分复用方式下,先让A 到C 的车走一趟,再让B 到C 的车走一趟,两类车交替地占用公共车道。公共车道没有划分,因此两车共享了空间,但不共享时间。 码分复用与另外两种信道划分方式大为不同,在码分复用情况下,黄豆与绿豆放在同一辆车上运送,到达C 后,由C 站负责把车上的黄豆和绿豆分开。因此,黄豆和绿豆的运送,在码分复用的情况下,既共享了空间,也共享了时间。

?

3.随机访问介质访问控制

在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率。在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧的冲突(碰撞),导致所有冲突用户的发送均以失败告终。为了解决随机接入发生的碰撞,每个用户需要按照一定的规则反复地重传它的帧,直到该帧无碰撞地通过。这些规则就是随机访问介质访问控制协议,常用的协议有ALOHA 协议、CSMA协议、CSMA/CD 协议和CSMA/CA 协议等,它们的核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问介质访问控制协议又称争用型协议。随机介质访问控制实质上是一种将广播信道转化为点到点信道的行为。

ALOHA协议

  • 纯ALOHA 基本思想: 1.用户有数据要发送时,就让它们发送 2.然后监听信道是否产生冲突,若产生冲突,则等待一段随机的时间重发

  • 分槽(时隙)ALOHA 基本思想: 1.把时间分成离散的间隔,每个间隔对应于发送一帧所需时间 2.每个站点只能等到下一个时槽开始时才允许发送 3.其他过程与纯ALOHA相同

  • 分槽(时隙)ALOHA网络的吞吐量比纯ALOHA协议大了一倍。

CSMA协议(Carrier sense multiple access)

  • 时隙ALOHA 系统的效率虽然是纯ALOHA 系统的两倍,但每个站点都是随心所欲地发送数据的,即使其他站点正在发送也照发不误,因此发送碰撞的概率很大。若每个站点在发送前都先侦听一下共用信道,发现信道空闲后再发送,则就会大大降低冲突的可能,从而提高信道的利用率,载波侦听多路访问协议依据的正是这一思想。CSMA 协议是在ALOHA 协议基础上提出的一种改进协议,它与ALOHA协议的主要区别是多了一个载波侦听装置。(先听后发)

技术图片

CSMA/CD 协议

载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection, CSMA/CD)(这些单词大家背一背没有坏处)协议是CSMA 协议的改进方案,适用于总线形网络或半双工网络环境。”载波帧听”就是发送前先侦听,即每个站在发送数据之前先要检测一下总线上是否有其他站点正在发送数据,若有则暂时不发送数据,等待信道变为空闲时再发送。”碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。引入原因:当两个帧发生冲突时,两个被损坏帧继续传送毫无意义,而且信道无法被其他站点使用,对于有限的信道来讲,造成很大的浪费。如果站点边发送边监听,并在监听到冲突之后立即停止发送,可以提高信道的利用率。

?

CSMA/CD 的【工作流程】可简单概括为“先听后发,边听边发(区别于CSMA协议),冲突停发,随机重发”。1) 适配器从其父结点获得一个网络层数据报,准备一个以太网帧,并把该帧放到适配器缓 冲区中。2) 如果适配器侦听到信道空闲,那么它开始传输该帧。如果适配器侦听到信道忙,那么它 将等待直至侦听到没有信号能量,然后开始传输该帧。3) 在传输过程中,适配器检测来自其他适配器的信号能量。如果这个适配器传输了整个帧,而没有检测到来自其他适配器的信号能量,那么这个适配器完成该帧的传输。否则,适配器就须停止传输它的帧,取而代之传输一个48 比特的拥塞信号。4) 在中止(即传输拥塞信号)后,适配器采用截断二进制指数退避算法等待一段随机时间 后返回到步骤2)。

?
?

【何为截断二进制指数退避算法】1) 确定基本退避时间,一般取两倍的总线端到端传播时延(即争用期)。2) 定义参数k, 它等于重传次数,但k不超过10, 即k=min【重传次数, 10】。当重传次数不超过10 时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10(这个条件往往容易忽略,请注意)。3) 从离散的整数集合【0, 1, ···, 2^k-1】 中随机取出一个数r, 重传所需要退避的时间就是r倍的基本退避时间。4) 当重传达16 次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错(这个条件也容易忽略,请注意)。使用二进制指数退避算法可使重传需要推迟的平均时间随重传次数的增大而增大(这也称动态退避),因而能降低发生碰撞的概率,有利于整个系统的稳定。

?

技术图片

CSMA/CA协议(Collision Avoidance, 碰撞避免CA)

CSMA/CD 协议已成功应用于使用有线连接的局域网,但在无线局域网环境下,却不能简单地搬用CSMA/CD 协议,特别是碰撞检测部分。主要有两个原因:

  1. 接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度的动态变化范围很大,因此若要实现碰撞检测,则硬件上的花费就会过大。
  2. 在无线通信中,并非所有的站点都能够听见对方,即存在“隐蔽站”问题。

CSMA/CA使用预约信道、ACK 帧、RTS/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 协议的基本思想是发送前侦听,边发送边侦听,一旦出现碰撞马上停止发送。

?

4.轮询访问介质访问控制:令牌传递协议

在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。典型的轮询访问介质访问控制协议是令牌传递协议,它主要用在令牌环局域网中。在令牌传递协议中,一个令牌在各结点间以某个固定次序交换。令牌是由一组特殊的比特组合而成的帧。当环上的一个站希望传送帧时,必须等待令牌。一旦收到令牌,站点便可启动发送帧。帧中包括目的站的地址,以标识哪个站应接收此帧。帧在环上传送时,不管该帧是否是发给本站点的,所有站点都进行转发,直到该帧回到它的始发站,并由该始发站撤销该帧。帧的目的站除转发帧外,应针对该帧维持一个副本,并通过在帧的尾部设置“响应比特”来指示已收到此副本。站点在发送完一帧后,应释放令牌,以便让其他站使用。当计算机都不需要发送数据时,令牌就在环形网上游荡,而需要发送数据的计算机只有在拿到该令牌后才能发送数据帧,因此不会发送冲突(因为令牌只有一个)。 在令牌传递网络中,传输介质的物理拓扑不必是一个环,但是为了把对介质访问的许可从一个设备传递到另一个设备,令牌在设备间的传递通路逻辑上必须是一个环。轮询介质访问控制既不共享时同,也不共享空间,它实际上是在随机介质访问控制的基础仁限定了有权力发送数据的结点只能有一个。

 

我在复习过程中整理的面试系列文章,全部免费分享给大家,适合保研和考研,需要的请移步我的个人原创公众号:程序员宝藏(号如其名,诚不欺你),回复关键字:复试上岸,即可获取!
技术图片

以上是关于介质访问控制(全网最细)的主要内容,如果未能解决你的问题,请参考以下文章

s4-介质访问控制子层-1 MAC子层

数据链路层子层(介质访问控制)

数据链路层-第五节3:轮询访问介质控制之令牌传递协议

计算机网络-介质访问控制子层-以太网

计算机网络-介质访问控制子层-无线LAN

详解数据链路层-介质访问控制王道计算机网络笔记