什么是介质访问控制方法?常用的介质访问控制方法有几种?
计算机局域网一般采用共享介质,这样可以节约局域网的造价。对于共享介质,关键问题是当多个站点要同时访问介质时,如何进行控制,这就涉及到局域网的介质访问控制(medium access control,mac)协议。 在网络中服务器和计算机众多,每台设备随时都有发送数据的需求,这就需要有某些方法来控制对传输媒体的访问,以便两个特定的设备在需要时可以交换数据。传输媒体的访问控制方式与局域网的拓扑结构、工作过程有密切关系。 目前,计算机局域网常用的访问控制方式有3种,分别是载波多路访问/冲突检测(csma/cd)、令牌环访问控制法(token ring)和令牌总线访问控制法(toking bu...全部
计算机局域网一般采用共享介质,这样可以节约局域网的造价。对于共享介质,关键问题是当多个站点要同时访问介质时,如何进行控制,这就涉及到局域网的介质访问控制(medium access control,mac)协议。
在网络中服务器和计算机众多,每台设备随时都有发送数据的需求,这就需要有某些方法来控制对传输媒体的访问,以便两个特定的设备在需要时可以交换数据。传输媒体的访问控制方式与局域网的拓扑结构、工作过程有密切关系。
目前,计算机局域网常用的访问控制方式有3种,分别是载波多路访问/冲突检测(csma/cd)、令牌环访问控制法(token ring)和令牌总线访问控制法(toking bus)。其中,载波多路访问/冲突检测(csma/cd)是由aloha随机访问控制技术发展而来的,在此,对aloha随机访问控制技术简要介绍一下。
1.aloha协议aloha协议是20世纪70年代在夏威夷大学由norman abramson及其同事发明的,目的是为了解决地面无线电广播信道的争用问题。aloha协议分为纯aloha和分槽aloha两种。
(1)纯alohaaloha协议的思想很简单,只要用户有数据要发送,就尽管让他们发送。当然,这样会产生冲突从而造成帧的破坏。但是,由于广播信道具有反馈性,因此发送方可以在发送数据的过程中进行冲突检测,将接收到的数据与缓冲区的数据进行比较就可以知道数据帧是否遭到破坏。
同样的道理,其他用户也是按照此过程工作。如果发送方知道数据帧遭到破坏(检测到冲突),那么它可以等待一段随机长的时间后重发该帧。对于局域网lan,反馈信息很快就可以得到;而对于卫星网,发送方要在270ms后才能确认数据发送是否成功。
通过研究证明,纯aloha协议的信道利用率最大不超过18%(1/2e)。(2)分槽aloha1972年,roberts发明了一种能把信道利用率提高一倍的信道分配策略,即分槽aloha协议。其思想是用时钟来统一用户的数据发送。
办法是将时间分为离散的时间片,用户每次必须等到下一个时间片才能开始发送数据,从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率。在分槽aloha系统中,计算机并不是在用户按下回车键后就立即发送数据,而是要等到下一个时间片开始时才发送。
这样,连续的纯aloha就变成离散的分槽aloha。由于冲突的危险区平均减少为纯aloha的一半,因此分槽aloha的信道利用率可以达到36%(1/e),是纯aloha协议的两倍。对于分槽aloha,用户数据的平均传输时间要高于纯aloha系统。
2.载波侦听多路访问/冲突检测(csma/cd)csma/cd是carrier sense multiple access with collision detection的缩写,含有两方面的内容,即载波侦听(csma)和冲突检测(cd)。
csma/cd访问控制方式主要用于总线型和树状网络拓扑结构、基带传输系统。信息传输是以“包”为单位,简称信包,发展为ieee 802。3基带csma/cd局域网标准。(1)csma/cd介质访问控制方案先听后发,工作站在每次发送前,先侦听总线是否空闲,如发现已被占用,便推迟本次的发送,仅在总线空闲时才发送信息。
介质的最大利用率取决于帧的长度和传播时间,与帧长成正比,与传播时间成反比。载波监听多路访问csma的技术也称做先听后说lbt(listen before talk)。要传输数据的站点首先对媒体上有无载波进行监听,以确定是否有别的站点在传输数据。
如果媒体空闲,该站点便可传输数据;否则,该站点将避让一段时间后再做尝试。这就需要有一种退避算法来决定避让的时间,常用的退避算法有非坚持、1-坚持、p-坚持3种。① 非坚持算法。算法规则如下:如果媒本是空闲的,则可以立即发送。
如果媒体是忙的,则等待一个由概率分布决定的随机重发延迟后,再重复前一个步骤。采用随机的重发延迟时间可以减少冲突发生的可能性。非坚持算法的缺点是:即使有几个着眼点位都有数据要发送,但由于大家都在延迟等待过程中,致使媒体仍可能处于空闲状态,使利用率降低。
② 1-坚持算法。算法规则如下:如果媒体是空闲的,则可以立即发送。如果媒体是忙的,则继续监听,直至检测到媒体是空闲,立即发送。如果有冲突(在一段时间内未收到肯定的回复),则等待一个随机量的时间,重复前两步。
这种算法的优点是:只要媒体空闲,站点就可立即发送,避免了媒体利用率的损失。其缺点是:假若有两个或两个以上的站点有数据要发送,冲突就不可避免。③ p-坚持算法。算法规则如下:监听总线,如果媒体是空闲的,则以p的概率发送,而以(1–p)的概率延迟一个时间单位。
一个时间单位通常等于最大传播时延的2倍。延迟一个时间单位后,再重复第一步。如果媒体是忙的,继续监听直至媒体空闲并重复第一步。p-坚持算法是一种既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的折中方案。
问题在于如何选择p的值,这要考虑到避免重负载下系统处于的不稳定状态。假如媒体忙时,有n个站有数据等待发送,一旦当前的发送完成,将要试图传输的站的总期望数为np。如果选择p过大,使np>1,表明有多个站点试图发送,冲突就不可避免。
最坏的情况是,随着冲突概率的不断增大,而使吞吐量降低到零。所以必须选择适当p值使np(2)二进制指数退避算法重发时间均匀分布在0~tbeb之间,tbeb=2i–1(2a),a为端-端的传输延迟,i为重发次数。
该式表明,重发延迟将随着重发次数的增加而按指数规律迅速地延长。(3)csma/cd载波监听多路访问/冲突检测方法是提高总线利用率的一种csma改进方案。该方法为:使各站点在发送信息时继续监听介质,一旦检测到冲突,就立即停止发送,并向总线发送一串阻塞信号,通知总线上的各站点冲突已发生。
采用csma/cd介质访问控制方法的总线型局域网中,每一个结点在利用总线发送数据时,首先要侦听总线的忙、闲状态。如果总线上已经有数据信号传输,则为总线忙;如果总线上没有数据信号传输,则为总线空闲。
由于ethernet的数据信号是按差分曼彻斯特方法编码,因此如果总线上存在电平跳变,则判断为总线忙;否则判断为总线空。如果一个结点准备好发送的数据帧,并且此时总线空闲,它就可以启动发送。同时也存在着这种可能,那就是在几乎相同的时刻,有两个或两个以上结点发送了数据帧,那么就会产生冲突,所以结点在发送数据的同时应该进行冲突检测。
(4)csma/cd方式的主要特点原理比较简单,技术上较易实现,网络中各工作站处于同等地位,不要集中控制,但这种方式不能提供优先级控制,各结点争用总线,不能满足远程控制所需要的确定延时和绝对可靠性的要求。
此方式效率高,但当负载增大时,发送信息的等待时间较长。3.令牌环(token ring)访问控制token ring是令牌传输环(token passing ring)的简写。令牌环介质访问控制方法是通过在环状网上传输令牌的方式来实现对介质的访问控制。
只有当令牌传输至环中某站点时,它才能利用环路发送或接收信息。当环线上各站点都没有帧发送时,令牌标记为01111111,称为空标记。当一个站点要发送帧时,需等待令牌通过,并将空标记置换为忙标记01111110,紧跟着令牌,用户站点把数据帧发送至环上。
由于是忙标记,所以其他站点不能发送帧,必须等待。发送出去的帧将随令牌沿环路传输下去。在循环一周又回到原发送站点时,由发送站点将该帧从环上移去,同时将忙标记换为空标记,令牌传至后面站点,使之获得发送的许可权。
发送站点在从环中移去数据帧的同时还要检查接收站载入该帧的应答信息,若为肯定应答,说明发送的帧已被正确接收,完成发送任务。若为否定应答,说明对方未能正确收到所发送的帧,原发送站点需要在带空标记的令牌第二次到来时,重发此帧。
采用发送站从环上收回帧的策略,不仅具有对发送站点自动应答的功能,而且还具有广播特性,即可有多个站点接收同一个数据帧。接收帧的过程与发送帧不同,当令牌及数据帧通过环上站点时,该站将帧携带的目标地址与本站地址相比较。
若地址符合,则将该帧复制下来放入接收缓冲器中,待接收站正确接收后,即在该帧上载入肯定应答信号;若不能正确接收则载入否定应答信号,之后再将该帧送入环上,让其继续向下传输。若地址不符合,则简单地将数据帧重新送入环中。
所以当令牌经过某站点而它既不发送信息,又无处接收时,会稍经延迟,继续向前传输。在系统负载较轻时,由于站点需等待令牌到达才能发送或接收数据,因此效率不高。但若系统负载较重,则各站点可公平共享介质,效率较高。
为避免所传输数据与标记形式相同而造成混淆,可采用位填入技术,以区别数据和标记。使用令牌环介质访问控制方法的网络,需要有维护数据帧和令牌的功能。例如,可能会出现因数据帧未被正确移去而始终在环上传输的情况;也可能出现令牌丢失或只允许一个令牌的网络中出现了多个令牌等异常情况。
解决这类问题的办法是在环中设置监控器,对异常情况进行检测并消除。令牌环网上的各个站点可以设置成不同的优先级,允许具有较高优先权的站申请获得下一个令牌权。归纳起来,在令牌环中主要有下面3种操作。
截获令牌并且发送数据帧。如果没有结点需要发送数据,令牌就由各个结点沿固定的顺序逐个传递;如果某个结点需要发送数据,它要等待令牌的到来,当空闲令牌传到这个结点时,该结点修改令牌帧中的标志,使其变为“忙”的状态,然后去掉令牌的尾部,加上数据,成为数据帧,发送到下一个结点。
接收与转发数据。数据帧每经过一个结点,该结点就比较数据帧中的目的地址,如果不属于本结点,则转发出去;如果属于本结点,则复制到本结点的计算机中,同时在帧中设置已经复制的标志,然后向下一个结点转发。
取消数据帧并且重发令牌。由于环网在物理上是个闭环,一个帧可能在环中不停地流动,所以必须清除。当数据帧通过闭环重新传到发送结点时,发送结点不再转发,而是检查发送是否成功。如果发现数据帧没有被复制(传输失败),则重发该数据帧;如果发现传输成功,则清除该数据帧,并且产生一个新的空闲令牌发送到环上。
4.令牌总线访问控制法(token bus)token bus是令牌通行总线(token passing bus)的简写。这种方式主要用于总线型或树状网络结构中。1976年美国data point公司研制成功的arcnet(attached resource computer)网络,它综合了令牌传递方式和总线网络的优点,在物理总线结构中实现令牌传递控制方法,从而构成一个逻辑环路。
此方式也是目前微机局域中的主流介质访问控制方式。arcnet网络把总线或树状传输介质上的各工作站形成一个逻辑上的环,即将各工作站置于一个顺序的序列内(例如可按照接口地址的大小排列)。方法可以是在每个站点中设一个网络结点标识寄存器nid,初始地址为本站点地址。
网络工作前,要对系统初始化,以形成逻辑环路,其过程主要是:网中最大站号n开始向其后继站发送“令牌”信包,目的站号为n 1,若在规定时间内收到肯定的信号ack,则n 1站连入环路,否则在n 1继续向下询问(该网中最大站号为n=255,n 1后变为0,然后1、2、3、…递增),凡是给予肯定回答的站都可连入环路并将给予肯定回答的后继站号放入本站的nid中,从而形成一个封闭逻辑环路,经过一遍轮询过程,网络各站标识寄存器nid中存放的都是其相邻的下游站地址。
逻辑环形成后,令牌的逻辑中的控制方法类似于token ring。在token bus中,信息是按双向传送的,每个站点都可以“听到”其他站点发出的信息,所以令牌传递时都要加上目的地址,明确指出下一个将到控制的站点。
这种方式与csma/cd方式的不同在于除了当时得到令牌的工作站之外,所有的工作站只收不发,只有收到令牌后才能开始发送,所以拓扑结构虽是总线型但可以避免冲突。token bus方式的最大优点是具有极好的吞吐能力,且吞吐量随数据传输速率的增高而增加,并随介质的饱和而稳定下来但并不下降;各工作站不需要检测冲突,故信号电压容许较大的动态范围,联网距离较远;有一定实时性,在工业控制中得到了广泛应用,如map网就是用的宽带令牌总线。
其主要缺点在于其复杂性和时间开销较大,工作站可能必须等待多次无效的令牌传送后才能获得令牌。应该指出,arcnet网实际上采用称为集中器的硬件联网,物理拓扑上有星状和总线型两种连接方式。收起