介质访问控制是解决当局域网中共用信道的使用产生竞争时,如何分配信道的使用权问题。它定义了数据帧怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是“先来先服务”的。
介质访问控制(medium access control)简称 MAC。 是解决当局域网中共用信道的使用产生竞争时,如何分配信道的使用权问题。
它定义了数据帧怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是“先来先服务”的。物理寻址在此处被定义,逻辑拓扑(信号通过物理拓扑的路径)也在此处被定义。线路控制、出错通知(不纠正)、帧的传递顺序和可选择的流量控制也在这一子层实现。
简介
局域网的数据链路层分为逻辑链路层 LLC 和介质访问控制 MAC 两个子层。
逻辑链路控制(Logical Link Control或简称LLC)是局域网中数据链路层的上层部分,IEEE 802.2 中定义了逻辑链路控制协议。用户的数据链路服务通过 LLC 子层为网络层提供统一的接口。在 LLC 子层下面是 MAC 子层。
MAC(medium access control)属于LLC(Logical Link Control)下的一个子层。局域网中广泛采用的两种介质访问控制方法,分别是:
1、争用型介质访问控制,又称随机型的介质访问控制协议,如 CSMA/CD 方式。
2、确定型介质访问控制,又称有序的访问控制协议,如 Token(令牌)方式。
CSMA/CD 工作原理
在 CSMA 中,由于信道传播时延的存在,即使通信双方的站点都没有侦听到载波信号,在发送数据时仍可能会发生冲突,因为他们可能会在检测到介质空闲时同时发送数据,致使冲突发生。尽管 CSMA 可以发现冲突,但它并没有先知的冲突检测和阻止功能,致使冲突发生频繁。
一种 CSMA 的改进方案是使发送站点在传输过程中仍继续侦听介质,以检测是否存在冲突。如果两个站点都在某一时间检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。如果发生冲突,信道上可以检测到超过发送站点本身发送的载波信号幅度的电磁波,由此判断出冲突的存在。一旦检测到冲突,发送站点就立即停止发送,并向总线上发一串阻塞信号,用以通知总线上通信的对方站点,快速地终止被破坏的帧,可以节省时间和带宽。这种方案就是本节要介绍的 CSMA/CD(Carrier Sense Multiple Access with Collision Detection,载波侦听多路访问/冲突检测协议),已广泛应用于局域网中。
所谓载波侦听(Carrier Sense),意思是网络上各个工作站在发送数据前都要确认总线上有没有数据传输。若有数据传输(称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。
所谓多路访问(Multiple Access),意思是网络上所有工作站收发数据共同使用同一条总线,且发送数据是广播式的。
所谓冲突(Collision),意思是若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合,这样哪个工作站都辨别不出真正的数据是什么。这种情况称为数据冲突,又称为碰撞。
为了减少冲突发生后的影响,工作站在发送数据过程中还要不停地检测自己发送的数据,看有没有在传输过程中与其他工作站的数据发生冲突,这就是冲突检测(Collision Detected)。
1、CSMA/CD 冲突检测原理
CSMA/CD 是标准以太网、快速以太网和千兆以太网中统一采用的介质争用处理协议(但在万兆以太网中,由于采用的是全双工通信,所以不再采用这一协议)。之所以称之为”载波侦听”(”载波”就是承载信号的电磁波),而不是称之为”介质侦听”,那是因为如果介质上正在有载波存在,则证明介质处于忙的状态(因为信号或者数据不是直接传输的,而是通过电磁载波进行的);如果没有载波存在,则介质是空闲状态。也就是通过载波的检测,可以得知介质的状态,而不能直接来侦听介质本身得出其空闲状态。
【说明】其实这里侦听的应该是”信道”,而不是”介质”本身,因为在一条传输介质中,可能包含有多条信道,用于不同的传输链路。
前面说了,CSMA/CD 相对 CSMA 来说的进步就是具有冲突检测功能,随之问题就来了,CSMA/CD 是如何检测冲突呢?
CSMA/CD 的工作原理可以用以下几句话来概括:
先听后说,边听边说。
一旦冲突,立即停说。
等待时机,然后再说。
这里的”听”即监听、检测之意;”说”即发送数据之意。具体的检测原理描述如下:
(1)当一个站点想要发送数据的时候,它检测网络查看是否有其他站点正在传输,即侦听信道是否空闲。
(2)如果信道忙,则等待,直到信道空闲;如果信道空闲,站点就准备好要发送的数据。
(3)在发送数据的同时,站点继续侦听网络,确信没有其他站点在同时传输数据才继续传输数据。因为有可能两个或多个站点都同时检测到网络空闲然后几乎在同一时刻开始传输数据。如果两个或多个站点同时发送数据,就会产生冲突。若无冲突则继续发送,直到发完全部数据。
(4)若有冲突,则立即停止发送数据,但是要发送一个加强冲突的 JAM(阻塞)信号,以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,且在总线为空闲时,再重新发送未发完的数据。
CSMA/CD 控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降
2、令牌访问控制工作原理
令牌访问控制方法可分为令牌环访问控制和令牌总线访问控制两类。已较少采用令牌总线访问控制。
应用
不管是在传统的有线局域网(LAN)中还是在流行的无线局域网(WLAN)中,MAC 协议都被广泛地应用。在传统局域网中,各种传输介质的物理层对应到相应的 MAC 层,普遍使用的网络采用的是 IEEE802.3 的 MAC 层标准,采用 CSMA/CD 访问控制方式;而在无线局域网中,MAC 所对应的标准为 IEEE802.11,其工作方式采用 DCF(分布控制)和 PCF(中心控制)。
令牌环介质访问控制
IEEE 802.5 令牌环介质访问控制使用一个令牌沿着环循环,且应确保令牌在环中为唯一的。令牌环工作原理:
网上站点要求发送帧,必须等待空令牌。
当获取空令牌,则将它改为忙令牌,后随数据帧;环内其它站点不能发送数据。
环上站点接收、移位数据,并进行检测。如果与本站地址相同,则同时接收数据,接收完成后,设置相应标记。
该帧在环上循环一周后,回到发送站,发送站检测相应标记后,将此帧移去。
将忙令牌改成空令牌,继续传送,供后续站发送帧。 环的长度用位计算:
由于电磁波的传播速度有限,传输介质中可能同时存在多个数据位。
环上每个中继器引入至少 1 bit 延迟
环上保留的位数:
传播延迟(us /km)×介质长度×数据速率 + 中继器延迟
例:介质长度 L = 1 km ,数据速率 C = 4 Mbit/s ,站点数 N = 50。
解:传播延迟 tp = L / v
v = 2 ×105km / s tp = 5 us 环上保留的位数 = 5 × 1 ×4 + 50 = 70 bit